diff options
| -rwxr-xr-x | depends.txt | 2 | ||||
| -rwxr-xr-x | init.lua | 166 | ||||
| -rw-r--r-- | models/advtrains_engine_diesel.b3d | bin | 0 -> 60019 bytes | |||
| -rw-r--r-- | models/advtrains_wagon_gravel.b3d | bin | 0 -> 45409 bytes | |||
| -rw-r--r-- | models/advtrains_wagon_lava.b3d | bin | 0 -> 67363 bytes | |||
| -rw-r--r-- | models/advtrains_wagon_stick.b3d | bin | 0 -> 52558 bytes | |||
| -rw-r--r-- | models/advtrains_wagon_tree.b3d | bin | 0 -> 33705 bytes | |||
| -rw-r--r-- | textures/advtrains_engine_diesel.png | bin | 0 -> 13378 bytes | |||
| -rw-r--r-- | textures/advtrains_wagon_gravel.png | bin | 0 -> 8557 bytes | |||
| -rw-r--r-- | textures/advtrains_wagon_gravel_inv.png | bin | 0 -> 642 bytes | |||
| -rw-r--r-- | textures/advtrains_wagon_lava.png | bin | 0 -> 13591 bytes | |||
| -rw-r--r-- | textures/advtrains_wagon_lava_inv.png | bin | 0 -> 755 bytes | |||
| -rw-r--r-- | textures/advtrains_wagon_stick.png | bin | 0 -> 8513 bytes | |||
| -rw-r--r-- | textures/advtrains_wagon_track_inv.png | bin | 0 -> 647 bytes | |||
| -rw-r--r-- | textures/advtrains_wagon_tree.png | bin | 0 -> 14049 bytes | |||
| -rw-r--r-- | textures/advtrains_wagon_tree_inv.png | bin | 0 -> 731 bytes | 
16 files changed, 168 insertions, 0 deletions
diff --git a/depends.txt b/depends.txt new file mode 100755 index 0000000..1fb6665 --- /dev/null +++ b/depends.txt @@ -0,0 +1,2 @@ +advtrains +intllib?
\ No newline at end of file diff --git a/init.lua b/init.lua new file mode 100755 index 0000000..f9d79da --- /dev/null +++ b/init.lua @@ -0,0 +1,166 @@ +local S +if minetest.get_modpath("intllib") then +    S = intllib.Getter() +else +    S = function(s,a,...)a={a,...}return s:gsub("@(%d+)",function(n)return a[tonumber(n)]end)end +end + + +advtrains.register_wagon("diesel_lokomotive", { +	mesh="advtrains_engine_diesel.b3d", +	textures = {"advtrains_engine_diesel.png"}, +	is_locomotive=true, +	drives_on={default=true}, +	max_speed=10, +	seats = { +		{ +			name=S("Driver Stand (left)"), +			attach_offset={x=-3, y=12, z=-2}, +			view_offset={x=0, y=3, z=0}, +			driving_ctrl_access=true, +			group = "dstand", +		}, +-- 		{ +-- 			name=S("Driver Stand (right)"), +-- 			attach_offset={x=5, y=10, z=-10}, +-- 			view_offset={x=0, y=6, z=0}, +-- 			driving_ctrl_access=true, +-- 			group = "dstand", +-- 		}, +	}, +	seat_groups = { +		dstand={ +			name = "Driver Stand", +			access_to = {}, +		}, +	}, +	assign_to_seat_group = {"dstand"}, +	visual_size = {x=1, y=1}, +	wagon_span=1.85, +	collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, +	update_animation=function(self, velocity) +		if self.old_anim_velocity~=advtrains.abs_ceil(velocity) then +			self.object:set_animation({x=1,y=80}, advtrains.abs_ceil(velocity)*15, 0, true) +			self.old_anim_velocity=advtrains.abs_ceil(velocity) +		end +	end, +	custom_on_activate = function(self, staticdata_table, dtime_s) +		minetest.add_particlespawner({ +			amount = 10, +			time = 0, +		--  ^ If time is 0 has infinite lifespan and spawns the amount on a per-second base +			minpos = {x=0, y=2, z=1.2}, +			maxpos = {x=0, y=2, z=1.2}, +			minvel = {x=-0.2, y=1.8, z=-0.2}, +			maxvel = {x=0.2, y=2, z=0.2}, +			minacc = {x=0, y=-0.1, z=0}, +			maxacc = {x=0, y=-0.3, z=0}, +			minexptime = 2, +			maxexptime = 4, +			minsize = 1, +			maxsize = 4, +		--  ^ The particle's properties are random values in between the bounds: +		--  ^ minpos/maxpos, minvel/maxvel (velocity), minacc/maxacc (acceleration), +		--  ^ minsize/maxsize, minexptime/maxexptime (expirationtime) +			collisiondetection = true, +		--  ^ collisiondetection: if true uses collision detection +			vertical = false, +		--  ^ vertical: if true faces player using y axis only +			texture = "smoke_puff.png", +		--  ^ Uses texture (string) +			attached = self.object, +		}) +	end, +	drops={"advtrains:engine_diesel"}, +}, S("diesel Engine"), "advtrains_engine_diesel_inv.png") + +advtrains.register_wagon("wagon_gravel", { +	mesh="advtrains_wagon_gravel.b3d", +	textures = {"advtrains_wagon_gravel.png"}, +	drives_on={default=true}, +	max_speed=10, +	seats = {}, +	visual_size = {x=1, y=1}, +	wagon_span=1.6, +	collisionbox = {-1.0,-0.5,-1.0, 1.0,1.5,1.0}, +	drops={"advtrains:wagon_gravel"}, +	has_inventory = true, +	get_inventory_formspec = function(self) +		return "size[8,11]".. +			"list[detached:advtrains_wgn_"..self.unique_id..";box;0,0;8,6;]".. +			"list[current_player;main;0,7;8,4;]".. +			"listring[]" +	end, +	inventory_list_sizes = { +		box=8*6, +	}, +}, S("gravel Wagon"), "advtrains_wagon_gravel_inv.png") + +advtrains.register_wagon("wagon_track", { +	mesh="advtrains_wagon_stick.b3d", +	textures = {"advtrains_wagon_stick.png"}, +	drives_on={default=true}, +	max_speed=10, +	seats = {}, +	visual_size = {x=1, y=1}, +	wagon_span=1.6, +	collisionbox = {-1.0,-0.5,-1.0, 1.0,1.5,1.0}, +	drops={"advtrains:wagon_track"}, +	has_inventory = true, +	get_inventory_formspec = function(self) +		return "size[8,11]".. +			"list[detached:advtrains_wgn_"..self.unique_id..";box;0,0;8,6;]".. +			"list[current_player;main;0,7;8,4;]".. +			"listring[]" +	end, +	inventory_list_sizes = { +		box=8*6, +	}, +}, S("track wagon"), "advtrains_wagon_track_inv.png") + + + +advtrains.register_wagon("wagon_lava", { +	mesh="advtrains_wagon_lava.b3d", +	textures = {"advtrains_wagon_lava.png"}, +	drives_on={default=true}, +	max_speed=10, +	seats = {}, +	visual_size = {x=1, y=1}, +	wagon_span=1.6, +	collisionbox = {-1.0,-0.5,-1.0, 1.0,1.5,1.0}, +	drops={"advtrains:wagon_lava"}, +	has_inventory = true, +	get_inventory_formspec = function(self) +		return "size[8,11]".. +			"list[detached:advtrains_wgn_"..self.unique_id..";box;0,0;8,6;]".. +			"list[current_player;main;0,7;8,4;]".. +			"listring[]" +	end, +	inventory_list_sizes = { +		box=8*6, +	}, +}, S("lava wagon"), "advtrains_wagon_lava_inv.png") + + +advtrains.register_wagon("wagon_tree", { +	mesh="advtrains_wagon_tree.b3d", +	textures = {"advtrains_wagon_tree.png"}, +	drives_on={default=true}, +	max_speed=10, +	seats = {}, +	visual_size = {x=1, y=1}, +	wagon_span=1.6, +	collisionbox = {-1.0,-0.5,-1.0, 1.0,1.5,1.0}, +	drops={"advtrains:wagon_tree"}, +	has_inventory = true, +	get_inventory_formspec = function(self) +		return "size[8,11]".. +			"list[detached:advtrains_wgn_"..self.unique_id..";box;0,0;8,6;]".. +			"list[current_player;main;0,7;8,4;]".. +			"listring[]" +	end, +	inventory_list_sizes = { +		box=8*6, +	}, +}, S("tree wagon"), "advtrains_wagon_tree_inv.png") diff --git a/models/advtrains_engine_diesel.b3d b/models/advtrains_engine_diesel.b3d Binary files differnew file mode 100644 index 0000000..b938a54 --- /dev/null +++ b/models/advtrains_engine_diesel.b3d diff --git a/models/advtrains_wagon_gravel.b3d b/models/advtrains_wagon_gravel.b3d Binary files differnew file mode 100644 index 0000000..c288c37 --- /dev/null +++ b/models/advtrains_wagon_gravel.b3d diff --git a/models/advtrains_wagon_lava.b3d b/models/advtrains_wagon_lava.b3d Binary files differnew file mode 100644 index 0000000..81530c4 --- /dev/null +++ b/models/advtrains_wagon_lava.b3d diff --git a/models/advtrains_wagon_stick.b3d b/models/advtrains_wagon_stick.b3d Binary files differnew file mode 100644 index 0000000..3a945fe --- /dev/null +++ b/models/advtrains_wagon_stick.b3d diff --git a/models/advtrains_wagon_tree.b3d b/models/advtrains_wagon_tree.b3d Binary files differnew file mode 100644 index 0000000..1e5a76d --- /dev/null +++ b/models/advtrains_wagon_tree.b3d diff --git a/textures/advtrains_engine_diesel.png b/textures/advtrains_engine_diesel.png Binary files differnew file mode 100644 index 0000000..5d547e0 --- /dev/null +++ b/textures/advtrains_engine_diesel.png diff --git a/textures/advtrains_wagon_gravel.png b/textures/advtrains_wagon_gravel.png Binary files differnew file mode 100644 index 0000000..a6b996e --- /dev/null +++ b/textures/advtrains_wagon_gravel.png diff --git a/textures/advtrains_wagon_gravel_inv.png b/textures/advtrains_wagon_gravel_inv.png Binary files differnew file mode 100644 index 0000000..e452e13 --- /dev/null +++ b/textures/advtrains_wagon_gravel_inv.png diff --git a/textures/advtrains_wagon_lava.png b/textures/advtrains_wagon_lava.png Binary files differnew file mode 100644 index 0000000..6c9c4ab --- /dev/null +++ b/textures/advtrains_wagon_lava.png diff --git a/textures/advtrains_wagon_lava_inv.png b/textures/advtrains_wagon_lava_inv.png Binary files differnew file mode 100644 index 0000000..f190424 --- /dev/null +++ b/textures/advtrains_wagon_lava_inv.png diff --git a/textures/advtrains_wagon_stick.png b/textures/advtrains_wagon_stick.png Binary files differnew file mode 100644 index 0000000..24d704e --- /dev/null +++ b/textures/advtrains_wagon_stick.png diff --git a/textures/advtrains_wagon_track_inv.png b/textures/advtrains_wagon_track_inv.png Binary files differnew file mode 100644 index 0000000..89d26b4 --- /dev/null +++ b/textures/advtrains_wagon_track_inv.png diff --git a/textures/advtrains_wagon_tree.png b/textures/advtrains_wagon_tree.png Binary files differnew file mode 100644 index 0000000..e0a1eda --- /dev/null +++ b/textures/advtrains_wagon_tree.png diff --git a/textures/advtrains_wagon_tree_inv.png b/textures/advtrains_wagon_tree_inv.png Binary files differnew file mode 100644 index 0000000..000b9bd --- /dev/null +++ b/textures/advtrains_wagon_tree_inv.png  | 
