forked from mtcontrib/minetest-mod-snow
		
	Compare commits
	
		
			8 Commits
		
	
	
		
			73cf3790fa
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d1d6a701fb | |||
| e3164a1963 | |||
| 253c7b25a9 | |||
|  | ce0442fe25 | ||
| f236cd705d | |||
|  | 58ac474139 | ||
|  | 9dc9ab3a39 | ||
| 4f4489fc93 | 
							
								
								
									
										11
									
								
								.github/workflows/luacheck.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								.github/workflows/luacheck.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | on: [push, pull_request] | ||||||
|  | name: luacheck | ||||||
|  | jobs: | ||||||
|  |   lint: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@master | ||||||
|  |       - name: lint | ||||||
|  |         uses: Roang-zero1/factorio-mod-luacheck@master | ||||||
|  |         with: | ||||||
|  |           luacheckrc_url: "" | ||||||
							
								
								
									
										11
									
								
								.luacheckrc
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								.luacheckrc
									
									
									
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| read_globals = { | read_globals = { | ||||||
| 	"dump", "vector", "minetest", | 	"dump", "vector", | ||||||
| 	"table", "math", "PseudoRandom", "VoxelArea", | 	"table", "math", "PseudoRandom", "VoxelArea", | ||||||
| 	"stairs", "stairsplus", "skins", "treecapitator", | 	"stairs", "stairsplus", "skins", "treecapitator", | ||||||
| 	default = { | 	default = { | ||||||
| @@ -10,6 +10,15 @@ read_globals = { | |||||||
| 			} | 			} | ||||||
| 		}, | 		}, | ||||||
| 		other_fields = true | 		other_fields = true | ||||||
|  | 	}, | ||||||
|  | 	minetest = { | ||||||
|  | 		fields = { | ||||||
|  | 			registered_nodes = { | ||||||
|  | 				read_only = false, | ||||||
|  | 				other_fields = true | ||||||
|  | 			} | ||||||
|  | 		}, | ||||||
|  | 		other_fields = true | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| globals = {"snow"} | globals = {"snow"} | ||||||
|   | |||||||
| @@ -1,7 +0,0 @@ | |||||||
| default |  | ||||||
| christmas_craft? |  | ||||||
| flowers? |  | ||||||
| stairs? |  | ||||||
| moreblocks? |  | ||||||
| skins? |  | ||||||
| treecapitator? |  | ||||||
							
								
								
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								mod.conf
									
									
									
									
									
								
							| @@ -1 +1,5 @@ | |||||||
| name = snow | name = snow | ||||||
|  | title = Snow | ||||||
|  | description = Adds snow biomes and related nodes. | ||||||
|  | depends = default | ||||||
|  | optional_depends = christmas_craft,flowers,stairs,moreblocks,skins,treecapitator | ||||||
|   | |||||||
| @@ -137,7 +137,7 @@ function snow.make_pine(pos,snow,xmas) | |||||||
| 	if xmas then | 	if xmas then | ||||||
| 		try_node({x=pos.x,y=pos.y+7,z=pos.z},{name="snow:star_lit"}) -- Added lit star. ~ LazyJ | 		try_node({x=pos.x,y=pos.y+7,z=pos.z},{name="snow:star_lit"}) -- Added lit star. ~ LazyJ | ||||||
| 	elseif snow | 	elseif snow | ||||||
| 	and minetest.get_perlin(112,3, 0.5, perlin_scale):get2d({x=pos.x,y=pos.z}) > nosmooth_rarity then | 	and minetest.get_perlin(112,3, 0.5, perlin_scale):get_2d({x=pos.x,y=pos.z}) > nosmooth_rarity then | ||||||
| 		try_node({x=pos.x,y=pos.y+7,z=pos.z},{name="default:snow"}) | 		try_node({x=pos.x,y=pos.y+7,z=pos.z},{name="default:snow"}) | ||||||
| 	end | 	end | ||||||
| end | end | ||||||
| @@ -161,7 +161,7 @@ function snow.voxelmanip_pine(pos,a,data) | |||||||
| 				data[a:index(x,pos.y+i,z)] = c_pine_needles | 				data[a:index(x,pos.y+i,z)] = c_pine_needles | ||||||
| 				if x ~= 0 | 				if x ~= 0 | ||||||
| 				and z ~= 0 | 				and z ~= 0 | ||||||
| 				and perlin1:get2d({x=x,y=z}) > nosmooth_rarity then | 				and perlin1:get_2d({x=x,y=z}) > nosmooth_rarity then | ||||||
| 					local abovenode = a:index(x,pos.y+i+1,z) | 					local abovenode = a:index(x,pos.y+i+1,z) | ||||||
| 					data[abovenode] = c_snow | 					data[abovenode] = c_snow | ||||||
| 				end | 				end | ||||||
| @@ -176,16 +176,16 @@ function snow.voxelmanip_pine(pos,a,data) | |||||||
| 		data[a:index(x-1,y,z)] = c_pine_needles | 		data[a:index(x-1,y,z)] = c_pine_needles | ||||||
| 		data[a:index(x,y,z+1)] = c_pine_needles | 		data[a:index(x,y,z+1)] = c_pine_needles | ||||||
| 		data[a:index(x,y,z-1)] = c_pine_needles | 		data[a:index(x,y,z-1)] = c_pine_needles | ||||||
| 		if perlin1:get2d({x=x+1,y=z}) > nosmooth_rarity then | 		if perlin1:get_2d({x=x+1,y=z}) > nosmooth_rarity then | ||||||
| 			data[a:index(x+1,y+1,z)] = c_snow | 			data[a:index(x+1,y+1,z)] = c_snow | ||||||
| 		end | 		end | ||||||
| 		if perlin1:get2d({x=x+1,y=z}) > nosmooth_rarity then | 		if perlin1:get_2d({x=x+1,y=z}) > nosmooth_rarity then | ||||||
| 			data[a:index(x-1,y+1,z)] = c_snow | 			data[a:index(x-1,y+1,z)] = c_snow | ||||||
| 		end | 		end | ||||||
| 		if perlin1:get2d({x=x,y=z+1}) > nosmooth_rarity then | 		if perlin1:get_2d({x=x,y=z+1}) > nosmooth_rarity then | ||||||
| 			data[a:index(x,y+1,z+1)] = c_snow | 			data[a:index(x,y+1,z+1)] = c_snow | ||||||
| 		end | 		end | ||||||
| 		if perlin1:get2d({x=x,y=z-1}) > nosmooth_rarity then | 		if perlin1:get_2d({x=x,y=z-1}) > nosmooth_rarity then | ||||||
| 			data[a:index(x,y+1,z-1)] = c_snow | 			data[a:index(x,y+1,z-1)] = c_snow | ||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
| @@ -194,7 +194,7 @@ function snow.voxelmanip_pine(pos,a,data) | |||||||
| 	end | 	end | ||||||
| 	data[a:index(pos.x,pos.y+5,pos.z)] = c_pine_needles | 	data[a:index(pos.x,pos.y+5,pos.z)] = c_pine_needles | ||||||
| 	data[a:index(pos.x,pos.y+6,pos.z)] = c_pine_needles | 	data[a:index(pos.x,pos.y+6,pos.z)] = c_pine_needles | ||||||
| 	if perlin1:get2d({x=pos.x,y=pos.z}) > nosmooth_rarity then | 	if perlin1:get_2d({x=pos.x,y=pos.z}) > nosmooth_rarity then | ||||||
| 		data[a:index(pos.x,pos.y+7,pos.z)] = c_snow | 		data[a:index(pos.x,pos.y+7,pos.z)] = c_snow | ||||||
| 	end | 	end | ||||||
| end | end | ||||||
|   | |||||||
| @@ -212,7 +212,7 @@ minetest.register_on_generated(function(minp, maxp, seed) | |||||||
| 	local pines_tab,pnum = {},1 | 	local pines_tab,pnum = {},1 | ||||||
|  |  | ||||||
| 	get_perlins(x1 - x0 + 1) | 	get_perlins(x1 - x0 + 1) | ||||||
| 	local nvals_default = perlin_objs.default:get2dMap_flat({x=x0+150, y=z0+50}, nbuf_default) | 	local nvals_default = perlin_objs.default:get_2dMap_flat({x=x0+150, y=z0+50}, nbuf_default) | ||||||
| 	local nvals_cold, nvals_ice, ndia | 	local nvals_cold, nvals_ice, ndia | ||||||
|  |  | ||||||
| 	-- Choose biomes | 	-- Choose biomes | ||||||
| @@ -239,7 +239,7 @@ minetest.register_on_generated(function(minp, maxp, seed) | |||||||
| 		local in_biome = false | 		local in_biome = false | ||||||
| 		local test | 		local test | ||||||
| 		if nvals_default[ni] < 0.35 then | 		if nvals_default[ni] < 0.35 then | ||||||
| 			nvals_cold = nvals_cold or perlin_objs.cold:get2dMap_flat({x=x0, y=z0}, nbuf_cold) | 			nvals_cold = nvals_cold or perlin_objs.cold:get_2dMap_flat({x=x0, y=z0}, nbuf_cold) | ||||||
| 			test = math.min(nvals_cold[ni], 1) | 			test = math.min(nvals_cold[ni], 1) | ||||||
| 			if is_smooth then | 			if is_smooth then | ||||||
| 				if test >= smooth_rarity_max | 				if test >= smooth_rarity_max | ||||||
| @@ -291,7 +291,7 @@ minetest.register_on_generated(function(minp, maxp, seed) | |||||||
| 			end | 			end | ||||||
| 		else | 		else | ||||||
| 			if not nvals_ice then | 			if not nvals_ice then | ||||||
| 				nvals_ice = perlin_objs.ice:get2dMap_flat({x=x0, y=z0}, nbuf_ice) | 				nvals_ice = perlin_objs.ice:get_2dMap_flat({x=x0, y=z0}, nbuf_ice) | ||||||
|  |  | ||||||
| 				nodes_added = true | 				nodes_added = true | ||||||
| 				write_to_map = true | 				write_to_map = true | ||||||
|   | |||||||
| @@ -111,7 +111,7 @@ end) | |||||||
|  |  | ||||||
|  |  | ||||||
| -- Christmas egg | -- Christmas egg | ||||||
| if minetest.global_exists("skins") then | if minetest.get_modpath("skins") then | ||||||
| 	skins.add("character_snow_man") | 	skins.add("character_snow_man") | ||||||
| end | end | ||||||
|  |  | ||||||
| @@ -377,7 +377,8 @@ nodedef = { | |||||||
| 	-- by player position. ~ LazyJ | 	-- by player position. ~ LazyJ | ||||||
| 	 -- I made this a little harder to dig than snow blocks because | 	 -- I made this a little harder to dig than snow blocks because | ||||||
| 	 -- I imagine snow brick as being much more dense and solid than fluffy snow. ~ LazyJ | 	 -- I imagine snow brick as being much more dense and solid than fluffy snow. ~ LazyJ | ||||||
| 	groups = {cracky=2, crumbly=2, choppy=2, oddly_breakable_by_hand=2, melts=1, icemaker=1, cooks_into_ice=1, cools_lava = 1, snowy = 1}, | 	groups = {cracky=2, crumbly=2, choppy=2, oddly_breakable_by_hand=2, melts=1, | ||||||
|  | 		icemaker=1, cooks_into_ice=1, cools_lava = 1, snowy = 1}, | ||||||
| 	 --Let's use the new snow sounds instead of the old grass sounds. ~ LazyJ | 	 --Let's use the new snow sounds instead of the old grass sounds. ~ LazyJ | ||||||
| 	sounds = default.node_sound_snow_defaults(), | 	sounds = default.node_sound_snow_defaults(), | ||||||
| 	-- The "on_construct" part below, thinking in terms of layers, | 	-- The "on_construct" part below, thinking in terms of layers, | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								src/sled.lua
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								src/sled.lua
									
									
									
									
									
								
							| @@ -81,7 +81,7 @@ local sled = { | |||||||
|  |  | ||||||
| local players_sled = {} | local players_sled = {} | ||||||
| local function join_sled(self, player) | local function join_sled(self, player) | ||||||
| 	local pos = self.object:getpos() | 	local pos = self.object:get_pos() | ||||||
| 	player:setpos(pos) | 	player:setpos(pos) | ||||||
| 	local name = player:get_player_name() | 	local name = player:get_player_name() | ||||||
| 	players_sled[name] = true | 	players_sled[name] = true | ||||||
| @@ -89,7 +89,7 @@ local function join_sled(self, player) | |||||||
| 	default.player_set_animation(player, "sit" , 30) | 	default.player_set_animation(player, "sit" , 30) | ||||||
| 	self.driver = name | 	self.driver = name | ||||||
| 	self.object:set_attach(player, "", {x=0,y=-9,z=0}, {x=0,y=90,z=0}) | 	self.object:set_attach(player, "", {x=0,y=-9,z=0}, {x=0,y=90,z=0}) | ||||||
| 	self.object:setyaw(player:get_look_yaw())-- - math.pi/2) | 	self.object:set_yaw(player:get_look_yaw())-- - math.pi/2) | ||||||
| end | end | ||||||
|  |  | ||||||
| local function leave_sled(self, player) | local function leave_sled(self, player) | ||||||
| @@ -156,7 +156,7 @@ end | |||||||
|  |  | ||||||
| function sled:on_activate(staticdata) | function sled:on_activate(staticdata) | ||||||
| 	self.object:set_armor_groups({immortal=1}) | 	self.object:set_armor_groups({immortal=1}) | ||||||
| 	self.object:setacceleration({x=0, y=-10, z=0}) | 	self.object:set_acceleration({x=0, y=-10, z=0}) | ||||||
| 	if staticdata then | 	if staticdata then | ||||||
| 		self.v = tonumber(staticdata) | 		self.v = tonumber(staticdata) | ||||||
| 	end | 	end | ||||||
| @@ -200,7 +200,7 @@ function sled:on_step(dtime) | |||||||
| 		return | 		return | ||||||
| 	end | 	end | ||||||
| 	if player:get_player_control().sneak | 	if player:get_player_control().sneak | ||||||
| 	or not accelerating_possible(vector.round(self.object:getpos())) then | 	or not accelerating_possible(vector.round(self.object:get_pos())) then | ||||||
| 		leave_sled(self, player) | 		leave_sled(self, player) | ||||||
| 	end | 	end | ||||||
| end | end | ||||||
| @@ -220,7 +220,7 @@ minetest.register_craftitem("snow:sled", { | |||||||
| 		if players_sled[placer:get_player_name()] then | 		if players_sled[placer:get_player_name()] then | ||||||
| 			return | 			return | ||||||
| 		end | 		end | ||||||
| 		local pos = placer:getpos() | 		local pos = placer:get_pos() | ||||||
| 		if accelerating_possible(vector.round(pos)) then | 		if accelerating_possible(vector.round(pos)) then | ||||||
| 			pos.y = pos.y+0.5 | 			pos.y = pos.y+0.5 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -40,10 +40,10 @@ function snow.shoot_snowball(item, player) | |||||||
| 	local dif = 2*math.sqrt(dir.z*dir.z+dir.x*dir.x) | 	local dif = 2*math.sqrt(dir.z*dir.z+dir.x*dir.x) | ||||||
| 	addp.x = dir.z/dif -- + (math.random()-0.5)/5 | 	addp.x = dir.z/dif -- + (math.random()-0.5)/5 | ||||||
| 	addp.z = -dir.x/dif -- + (math.random()-0.5)/5 | 	addp.z = -dir.x/dif -- + (math.random()-0.5)/5 | ||||||
| 	local pos = vector.add(player:getpos(), addp) | 	local pos = vector.add(player:get_pos(), addp) | ||||||
| 	local obj = minetest.add_entity(pos, "snow:snowball_entity") | 	local obj = minetest.add_entity(pos, "snow:snowball_entity") | ||||||
| 	obj:setvelocity(vector.multiply(dir, snowball_velocity)) | 	obj:set_velocity(vector.multiply(dir, snowball_velocity)) | ||||||
| 	obj:setacceleration({x=dir.x*-3, y=-get_gravity(), z=dir.z*-3}) | 	obj:set_acceleration({x=dir.x*-3, y=-get_gravity(), z=dir.z*-3}) | ||||||
| 	obj:get_luaentity().thrower = player:get_player_name() | 	obj:get_luaentity().thrower = player:get_player_name() | ||||||
| 	if creative_mode then | 	if creative_mode then | ||||||
| 		if not someone_throwing then | 		if not someone_throwing then | ||||||
| @@ -103,13 +103,13 @@ local snow_snowball_ENTITY = { | |||||||
|  |  | ||||||
| function snow_snowball_ENTITY.on_activate(self) | function snow_snowball_ENTITY.on_activate(self) | ||||||
| 	self.object:set_properties({textures = {"default_snowball.png^[transform"..math.random(0,7)}}) | 	self.object:set_properties({textures = {"default_snowball.png^[transform"..math.random(0,7)}}) | ||||||
| 	self.object:setacceleration({x=0, y=-get_gravity(), z=0}) | 	self.object:set_acceleration({x=0, y=-get_gravity(), z=0}) | ||||||
| 	self.lastpos = self.object:getpos() | 	self.lastpos = self.object:get_pos() | ||||||
| 	minetest.after(0.1, function(obj) | 	minetest.after(0.1, function(obj) | ||||||
| 		if not obj then | 		if not obj then | ||||||
| 			return | 			return | ||||||
| 		end | 		end | ||||||
| 		local vel = obj:getvelocity() | 		local vel = obj:get_velocity() | ||||||
| 		if vel | 		if vel | ||||||
| 		and vel.y ~= 0 then | 		and vel.y ~= 0 then | ||||||
| 			return | 			return | ||||||
| @@ -118,7 +118,7 @@ function snow_snowball_ENTITY.on_activate(self) | |||||||
| 			if not object then | 			if not object then | ||||||
| 				return | 				return | ||||||
| 			end | 			end | ||||||
| 			local vel_obj = object:getvelocity() | 			local vel_obj = object:get_velocity() | ||||||
| 			if not vel_obj | 			if not vel_obj | ||||||
| 			or vel_obj.y == 0 then | 			or vel_obj.y == 0 then | ||||||
| 				object:remove() | 				object:remove() | ||||||
| @@ -137,7 +137,7 @@ function snow_snowball_ENTITY.on_step(self, dtime) | |||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	if self.physical then | 	if self.physical then | ||||||
| 		local vel = self.object:getvelocity() | 		local vel = self.object:get_velocity() | ||||||
| 		local fell = vel.y == 0 | 		local fell = vel.y == 0 | ||||||
| 		if not fell then | 		if not fell then | ||||||
| 			if self.probably_stuck then | 			if self.probably_stuck then | ||||||
| @@ -155,7 +155,7 @@ function snow_snowball_ENTITY.on_step(self, dtime) | |||||||
| 			self.probably_stuck = nil | 			self.probably_stuck = nil | ||||||
| 			return | 			return | ||||||
| 		end | 		end | ||||||
| 		local pos = vector.round(self.object:getpos()) | 		local pos = vector.round(self.object:get_pos()) | ||||||
| 		if minetest.get_node(pos).name == "air" then | 		if minetest.get_node(pos).name == "air" then | ||||||
| 			pos.y = pos.y-1 | 			pos.y = pos.y-1 | ||||||
| 			if minetest.get_node(pos).name == "air" then | 			if minetest.get_node(pos).name == "air" then | ||||||
| @@ -171,16 +171,16 @@ function snow_snowball_ENTITY.on_step(self, dtime) | |||||||
| 		return | 		return | ||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	local pos = vector.round(self.object:getpos()) | 	local pos = vector.round(self.object:get_pos()) | ||||||
| 	if vector.equals(pos, self.lastpos) then | 	if vector.equals(pos, self.lastpos) then | ||||||
| 		return | 		return | ||||||
| 	end | 	end | ||||||
| 	if minetest.get_node(pos).name ~= "air" then | 	if minetest.get_node(pos).name ~= "air" then | ||||||
| 		self.object:setacceleration({x=0, y=-get_gravity(), z=0}) | 		self.object:set_acceleration({x=0, y=-get_gravity(), z=0}) | ||||||
| 		--self.object:setvelocity({x=0, y=0, z=0}) | 		--self.object:set_velocity({x=0, y=0, z=0}) | ||||||
| 		pos = self.lastpos | 		pos = self.lastpos | ||||||
| 		self.object:setpos(pos) | 		self.object:setpos(pos) | ||||||
| 		minetest.sound_play("default_snow_footstep", {pos=pos, gain=vector.length(self.object:getvelocity())/30}) | 		minetest.sound_play("default_snow_footstep", {pos=pos, gain=vector.length(self.object:get_velocity())/30}) | ||||||
| 		self.object:set_properties({physical = true}) | 		self.object:set_properties({physical = true}) | ||||||
| 		self.physical = true | 		self.physical = true | ||||||
| 		return | 		return | ||||||
| @@ -199,8 +199,8 @@ function snow_snowball_ENTITY.on_step(self, dtime) | |||||||
| 			or (entity_name ~= "snow:snowball_entity" | 			or (entity_name ~= "snow:snowball_entity" | ||||||
| 			and entity_name ~= "__builtin:item" | 			and entity_name ~= "__builtin:item" | ||||||
| 			and entity_name ~= "gauges:hp_bar") then | 			and entity_name ~= "gauges:hp_bar") then | ||||||
| 				local vvel = v:getvelocity() or v:get_player_velocity() | 				local vvel = v:get_velocity() or v:get_player_velocity() | ||||||
| 				local veldif = self.object:getvelocity() | 				local veldif = self.object:get_velocity() | ||||||
| 				if vvel then | 				if vvel then | ||||||
| 					veldif = vector.subtract(veldif, vvel) | 					veldif = vector.subtract(veldif, vvel) | ||||||
| 				end | 				end | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user