From db3e7e0a4d893c156e354568eb1ed724a30f8379 Mon Sep 17 00:00:00 2001 From: oilboi <47129783+oilboi@users.noreply.github.com> Date: Thu, 2 Jul 2020 13:09:22 -0400 Subject: [PATCH] Revert redstone back to 9 states --- mods/redstone/button.lua | 8 +++---- mods/redstone/detector.lua | 6 ++--- mods/redstone/init.lua | 37 ++++++++++++++----------------- mods/redstone/inverter.lua | 8 +++---- mods/redstone/lever.lua | 8 +++---- mods/redstone/player_detector.lua | 2 +- mods/redstone/repeater.lua | 10 ++++----- mods/redstone/torch.lua | 6 ++--- 8 files changed, 41 insertions(+), 44 deletions(-) diff --git a/mods/redstone/button.lua b/mods/redstone/button.lua index 42d50e6..d1b96f8 100644 --- a/mods/redstone/button.lua +++ b/mods/redstone/button.lua @@ -53,9 +53,9 @@ minetest.register_node("redstone:button_off", { local dir = minetest.wallmounted_to_dir(node.param2) - redstone.inject(pos,{torch=16}) + redstone.inject(pos,{torch=9}) local pos2 = vector.add(dir,pos) - redstone.inject(pos2,{torch=16}) + redstone.inject(pos2,{torch=9}) redstone.update(pos) redstone.update(pos2) @@ -123,9 +123,9 @@ minetest.register_lbm({ local param2 = minetest.get_node(pos).param2 local dir = minetest.wallmounted_to_dir(param2) - redstone.inject(pos,{torch=16}) + redstone.inject(pos,{torch=9}) local pos2 = vector.add(dir,pos) - redstone.inject(pos2,{torch=16}) + redstone.inject(pos2,{torch=9}) minetest.after(0,function() redstone.update(pos) diff --git a/mods/redstone/detector.lua b/mods/redstone/detector.lua index b2c8f27..2dc3c8e 100644 --- a/mods/redstone/detector.lua +++ b/mods/redstone/detector.lua @@ -23,7 +23,7 @@ minetest.register_node("redstone:detector_off", { redstone.inject(pos,{ name = "redstone:detector_on", - torch = 16, + torch = 9, }) minetest.after(0,function() redstone.update(pos) @@ -118,7 +118,7 @@ minetest.register_node("redstone:detector_on", { on_construct = function(pos) redstone.inject(pos,{ name = "redstone:detector_on", - torch = 16, + torch = 9, }) local timer = minetest.get_node_timer(pos) if not timer:is_started() then @@ -140,7 +140,7 @@ minetest.register_lbm({ action = function(pos) redstone.inject(pos,{ name = "redstone:detector_on", - torch = 16, + torch = 9, }) local timer = minetest.get_node_timer(pos) diff --git a/mods/redstone/init.lua b/mods/redstone/init.lua index 05d3082..b903046 100644 --- a/mods/redstone/init.lua +++ b/mods/redstone/init.lua @@ -156,19 +156,19 @@ local table_3d local temp_pool local function create_boundary_box(pos) table_3d = {} - for x = pos.x-16,pos.x+16 do + for x = pos.x-9,pos.x+9 do if pool[x] then - for y = pos.y-16,pos.y+16 do + for y = pos.y-9,pos.y+9 do if pool[x][y] then - for z = pos.z-16,pos.z+16 do + for z = pos.z-9,pos.z+9 do temp_pool = pool[x][y][z] if temp_pool then if not table_3d[x] then table_3d[x] = {} end if not table_3d[x][y] then table_3d[x][y] = {} end - if (x == pos.x-16 or x == pos.x+16 or - y == pos.y-16 or y == pos.y+16 or - z == pos.z-16 or z == pos.z+16) and + if (x == pos.x-9 or x == pos.x+9 or + y == pos.y-9 or y == pos.y+9 or + z == pos.z-9 or z == pos.z+9) and temp_pool.dust and temp_pool.dust > 1 then table_3d[x][y][z] = {torch=temp_pool.dust} else @@ -652,9 +652,9 @@ local function player_detector_calculation() max = 0 for _,player in ipairs(minetest.get_connected_players()) do pos2 = player:get_pos() - power = floor(17-vector_distance(pos2,pos)) - if power > 16 then - power = 16 + power = floor(11-vector_distance(pos2,pos)) + if power > 9 then + power = 9 elseif power < 0 then power = 0 end @@ -681,8 +681,6 @@ local bad_node local queue = {} function redstone.update(pos,is_capacitor) local count = table.getn(queue) - queue[count+1] = {pos=pos,is_capacitor=is_capacitor} - --[[ local s_pos = minetest.serialize(pos) if not recursion_check[s_pos] then recursion_check[s_pos] = 0 @@ -702,34 +700,33 @@ function redstone.update(pos,is_capacitor) end) return end - ]]-- - - --calculate(pos,is_capacitor) + calculate(pos,is_capacitor) end local dtime_goal = 0.02 local sleep = 0 minetest.register_globalstep(function(dtime) - - + player_detector_calculation() + recursion_check = {} + --[[ if dtime > dtime_goal then sleep = dtime - dtime_goal end if sleep == 0 then - player_detector_calculation() for index,element in pairs(queue) do calculate(element.pos,element.is_capacitor) end queue = {} - --recursion_check = {} + else sleep = sleep - dtime if sleep <= 0 then sleep = 0 end end + ]]-- end) @@ -793,9 +790,9 @@ minetest.register_craftitem("redstone:dust", { }) --15 power levels 15 being the highest -for i = 0,15 do +for i = 0,8 do - local color = floor(255 * (i/15)) + local color = floor(255 * (i/8)) minetest.register_node("redstone:dust_"..i,{ description = "Redstone Dust", diff --git a/mods/redstone/inverter.lua b/mods/redstone/inverter.lua index e50a31b..cca87cd 100644 --- a/mods/redstone/inverter.lua +++ b/mods/redstone/inverter.lua @@ -62,7 +62,7 @@ redstone.register_activator({ local dir = minetest.facedir_to_dir(param2) redstone.inject(pos,{ name = "redstone:inverter_off", - torch = 16, + torch = 9, torch_directional = true, directional_activator = true, input = vector.subtract(pos,dir), @@ -107,7 +107,7 @@ minetest.register_lbm({ minetest.register_node("redstone:inverter_off", { description = "Redstone Inverter", tiles = {"repeater_off.png"}, - groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1,torch_directional=1,redstone_power=16}, + groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1,torch_directional=1,redstone_power=9}, sounds = main.stoneSound(), paramtype = "light", paramtype2 = "facedir", @@ -127,7 +127,7 @@ minetest.register_node("redstone:inverter_off", { local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2) redstone.inject(pos,{ name = "redstone:inverter_off", - torch = 16, + torch = 9, torch_directional = true, directional_activator = true, input = vector.subtract(pos,dir), @@ -174,7 +174,7 @@ minetest.register_lbm({ local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2) redstone.inject(pos,{ name = "redstone:inverter_off", - torch = 16, + torch = 9, torch_directional = true, directional_activator = true, input = vector.subtract(pos,dir), diff --git a/mods/redstone/lever.lua b/mods/redstone/lever.lua index 39d8ec3..8498c80 100644 --- a/mods/redstone/lever.lua +++ b/mods/redstone/lever.lua @@ -64,9 +64,9 @@ minetest.register_lbm({ action = function(pos) local param2 = minetest.get_node(pos).param2 local dir = minetest.wallmounted_to_dir(param2) - redstone.inject(pos,{torch=16}) + redstone.inject(pos,{torch=9}) local pos2 = vector.add(dir,pos) - redstone.inject(pos2,{torch=16}) + redstone.inject(pos2,{torch=9}) minetest.after(0,function() redstone.update(pos) redstone.update(pos2) @@ -115,9 +115,9 @@ minetest.register_node("redstone:lever_off", { local dir = minetest.wallmounted_to_dir(node.param2) - redstone.inject(pos,{torch=16}) + redstone.inject(pos,{torch=9}) local pos2 = vector.add(dir,pos) - redstone.inject(pos2,{torch=16}) + redstone.inject(pos2,{torch=9}) redstone.update(pos) redstone.update(pos2) diff --git a/mods/redstone/player_detector.lua b/mods/redstone/player_detector.lua index 7ece35d..bef44ab 100644 --- a/mods/redstone/player_detector.lua +++ b/mods/redstone/player_detector.lua @@ -4,7 +4,7 @@ minetest,ipairs,math minetest,ipairs,math --detects players and outputs accordingly -for i = 0,16 do +for i = 0,9 do minetest.register_node("redstone:player_detector_"..i, { description = "Redstone Player Detector", diff --git a/mods/redstone/repeater.lua b/mods/redstone/repeater.lua index eb7134e..18b5920 100644 --- a/mods/redstone/repeater.lua +++ b/mods/redstone/repeater.lua @@ -18,7 +18,7 @@ for level = 0,max_timer do minetest.register_node("redstone:repeater_on_"..level, { description = "Redstone Repeater", tiles = {"repeater_on.png"}, - groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1,repeater_on=1,repeater=1,torch_directional=1,redstone_power=16,repeater_level=level}, + groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1,repeater_on=1,repeater=1,torch_directional=1,redstone_power=9,repeater_level=level}, sounds = main.stoneSound(), paramtype = "light", paramtype2 = "facedir", @@ -48,7 +48,7 @@ minetest.register_node("redstone:repeater_on_"..level, { minetest.sound_play("lever", {pos=pos}) redstone.inject(pos,{ name = "redstone:repeater_on_"..newlevel, - torch = 16, + torch = 9, torch_directional = true, directional_activator = true, input = vector.subtract(pos,dir), @@ -84,7 +84,7 @@ minetest.register_node("redstone:repeater_on_"..level, { local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2) redstone.inject(pos,{ name = "redstone:repeater_on_"..level, - torch = 16, + torch = 9, torch_directional = true, directional_activator = true, input = vector.subtract(pos,dir), @@ -115,7 +115,7 @@ minetest.register_lbm({ local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2) redstone.inject(pos,{ name = "redstone:repeater_on_"..level, - torch = 16, + torch = 9, torch_directional = true, directional_activator = true, input = vector.subtract(pos,dir), @@ -175,7 +175,7 @@ minetest.register_node("redstone:repeater_off_"..level, { local dir = minetest.facedir_to_dir(param2) redstone.inject(pos,{ name = "redstone:repeater_on_"..level, - torch = 16, + torch = 9, torch_directional = true, directional_activator = true, input = vector.subtract(pos,dir), diff --git a/mods/redstone/torch.lua b/mods/redstone/torch.lua index 31fb4d2..b808d09 100644 --- a/mods/redstone/torch.lua +++ b/mods/redstone/torch.lua @@ -58,7 +58,7 @@ minetest.register_node("redstone:torch_floor", { }, on_construct = function(pos) - redstone.inject(pos,{torch=16}) + redstone.inject(pos,{torch=9}) redstone.update(pos) end, after_destruct = function(pos, oldnode) @@ -89,7 +89,7 @@ minetest.register_node("redstone:torch_wall", { wall_side = {-0.5, -0.3, -0.1, -0.2, 0.3, 0.1}, }, on_construct = function(pos) - redstone.inject(pos,{torch=16}) + redstone.inject(pos,{torch=9}) redstone.update(pos) end, after_destruct = function(pos, oldnode) @@ -105,6 +105,6 @@ minetest.register_lbm({ nodenames = {"redstone:torch_wall","redstone:torch_floor"}, run_at_every_load = true, action = function(pos) - redstone.inject(pos,{torch=16}) + redstone.inject(pos,{torch=9}) end, }) \ No newline at end of file -- 2.44.0