forked from minetest-mods/mapfix
		
	Compare commits
	
		
			10 Commits
		
	
	
		
			nalc-1.0
			...
			d4ae58d650
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| d4ae58d650 | |||
|  | 0a7f80b681 | ||
| a1a6b44db0 | |||
| bc6c5c1b9b | |||
| 618fff5c19 | |||
|  | 16ef3878ae | ||
|  | 85aac3c262 | ||
|  | a7109318ca | ||
|  | a5fd28affd | ||
|  | 932e12410a | 
							
								
								
									
										17
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| name: build | ||||
|  | ||||
| on: [push, pull_request] | ||||
|  | ||||
| jobs: | ||||
|   build: | ||||
|  | ||||
|     runs-on: ubuntu-latest | ||||
|  | ||||
|     steps: | ||||
|     - uses: actions/checkout@v1 | ||||
|     - name: apt | ||||
|       run: sudo apt-get install -y luarocks | ||||
|     - name: luacheck install | ||||
|       run: luarocks install --local luacheck | ||||
|     - name: luacheck run | ||||
|       run: $HOME/.luarocks/bin/luacheck ./ | ||||
							
								
								
									
										21
									
								
								.luacheckrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								.luacheckrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| unused_args = false | ||||
| allow_defined_top = true | ||||
| exclude_files = {".luacheckrc"} | ||||
|  | ||||
| globals = { | ||||
|     "minetest", | ||||
| } | ||||
|  | ||||
| read_globals = { | ||||
|     string = {fields = {"split"}}, | ||||
|     table = {fields = {"copy", "getn"}}, | ||||
|  | ||||
|     -- Builtin | ||||
|     "vector", "ItemStack", | ||||
|     "dump", "DIR_DELIM", "VoxelArea", "Settings", | ||||
|  | ||||
|     -- MTG | ||||
|     "default", "sfinv", "creative", "carts", | ||||
|  | ||||
|     --depends | ||||
| } | ||||
| @@ -11,3 +11,4 @@ Look at the water and the jungle trunk at the center. | ||||
| * mapfix_default_size (by default 24) : size used when omitted | ||||
| * mapfix_max_size (by default 32) : maximum size allowed for players | ||||
| * mapfix_delay (by default 15) : minimal delay in seconds between 2 `/mapfix` (to avoid server freezing) | ||||
| * mapfix_priv (by default server) : priv that allows use of `/mapfix` without restrictions | ||||
|   | ||||
| @@ -1 +0,0 @@ | ||||
| Fix some map errors (flow and light problems) | ||||
							
								
								
									
										21
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								init.lua
									
									
									
									
									
								
							| @@ -13,6 +13,16 @@ local default_size = tonumber(minetest.settings:get("mapfix_default_size")) or 2 | ||||
| local max_size = tonumber(minetest.settings:get("mapfix_max_size")) or 32 | ||||
| local delay = tonumber(minetest.settings:get("mapfix_delay")) or 15 | ||||
|  | ||||
| local function mapfix_priv() | ||||
|     local priv = minetest.settings:get("mapfix_priv") | ||||
|  | ||||
|     if not minetest.registered_privileges[priv] then | ||||
|         return "server" | ||||
|     else | ||||
|         return priv | ||||
|     end | ||||
| end | ||||
|  | ||||
| minetest.register_chatcommand("mapfix", { | ||||
| 	params = "<size>", | ||||
| 	description = "Recalculate the flowing liquids and the light of a chunk", | ||||
| @@ -23,21 +33,24 @@ minetest.register_chatcommand("mapfix", { | ||||
| 		if size >= 121 then | ||||
| 			return false, "Radius is too big" | ||||
| 		end | ||||
| 		local privs = minetest.check_player_privs(name, {server=true}) | ||||
| 		local privs = minetest.check_player_privs(name, mapfix_priv()) | ||||
| 		local time = os.time() | ||||
|  | ||||
| 		if not privs then | ||||
| 			if size > max_size then | ||||
| 				return false, "You need the server privilege to exceed the radius of " .. max_size .. " blocks" | ||||
| 				return false, "You need the " .. mapfix_priv() .. " privilege to exceed the radius of " .. max_size .. " blocks" | ||||
| 			elseif time - previous < delay then | ||||
| 				return false, "Wait at least " .. delay .. " seconds from the previous \"/mapfix\"." | ||||
| 			end | ||||
| 			previous = time | ||||
| 		end | ||||
|  | ||||
| 		minetest.log("action", name .. " uses mapfix at " .. minetest.pos_to_string(vector.round(pos)) .. " with radius " .. size) | ||||
| 		minetest.log("action", | ||||
|         name .. " uses mapfix at " .. minetest.pos_to_string(vector.round(pos)) .. " with radius " .. size) | ||||
|  | ||||
| 		size = math.max(math.floor(size - 8), 0) -- When passed to get_voxel_manip, positions are rounded up, to a multiple of 16 nodes in each direction. By subtracting 8 it's rounded to the nearest chunk border. max is used to avoid negative radius. | ||||
|         -- When passed to get_voxel_manip, positions are rounded up, to a multiple of 16 nodes in each direction. | ||||
|         -- By subtracting 8 it's rounded to the nearest chunk border. max is used to avoid negative radius. | ||||
| 		size = math.max(math.floor(size - 8), 0) | ||||
|  | ||||
| 		local minp = vector.subtract(pos, size) | ||||
| 		local maxp = vector.add(pos, size) | ||||
|   | ||||
							
								
								
									
										1
									
								
								mod.conf
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								mod.conf
									
									
									
									
									
								
							| @@ -1 +1,2 @@ | ||||
| name = mapfix | ||||
| description = Fix some map errors (flow and light problems) | ||||
|   | ||||
							
								
								
									
										4
									
								
								settingtypes.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								settingtypes.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| mapfix_default_size (default size a mapfix range is) int 24 | ||||
| mapfix_max_size (max size a mapfix range can be) int 32 | ||||
| mapfix_delay (delay between issueing of /mapfix for players) int 15 | ||||
| mapfix_priv (priv for unrestricted /mapfix use) string server | ||||
		Reference in New Issue
	
	Block a user