[Mod] Mesecons (= redstone) [GitHub] [minetest-mod-mesecons]
1. I connect the plug and the inverter with a mesecon.
Loop
{
2. Power from the inverter is conducted to the plug.
3. The plug sends an "off" signal to the inverter
4. The inverter turns the mesecon off
5. The plug gets a "signal_off" and sends an "on" signal to the inverter
6. The inverter turns the mesecon on
}
--> The server is caught in this infinite loop.
The configure looks like this:
X Plug
| Mesecon
O Inverter
It would be great if you fixed this problem... I will publish a new version of my mod today, with your part disabled by default. I will enable it as soon as it does not make the server crash,
Thanks for your contribution again!
Loop
{
2. Power from the inverter is conducted to the plug.
3. The plug sends an "off" signal to the inverter
4. The inverter turns the mesecon off
5. The plug gets a "signal_off" and sends an "on" signal to the inverter
6. The inverter turns the mesecon on
}
--> The server is caught in this infinite loop.
The configure looks like this:
X Plug
| Mesecon
O Inverter
It would be great if you fixed this problem... I will publish a new version of my mod today, with your part disabled by default. I will enable it as soon as it does not make the server crash,
Thanks for your contribution again!
Unfortunately, Jeija, you didn't help. Let me show my problem in other way:
switch1----T
R----- out
switch2----T
,where switch1/2 are switches, Ts are transmitters, R are receivers, - is cable.
Both transmitters and receivers are on the same channel - node under them is the same, for example cobble. This 'circuit' should give out signal, unless both switches are off.
Assume, both switches are off. When I change switch1 to on, I have out signal. Now I change switch1 back to off and switch2 to on. Receiver doesn't get any signal on out.
If I change switch2 as first, problem still exists for switch1.
I hope now you understand what I mean.
switch1----T
R----- out
switch2----T
,where switch1/2 are switches, Ts are transmitters, R are receivers, - is cable.
Both transmitters and receivers are on the same channel - node under them is the same, for example cobble. This 'circuit' should give out signal, unless both switches are off.
Assume, both switches are off. When I change switch1 to on, I have out signal. Now I change switch1 back to off and switch2 to on. Receiver doesn't get any signal on out.
If I change switch2 as first, problem still exists for switch1.
I hope now you understand what I mean.
Update to V 0.4
This new version doesn't really add new features but mainly bugfixes.
- Chests, Locked Chests and Furnaces can't be moved by pistons or movestones
- The near range/object detector only detects players (may be changed... tell me your oppinion)
- Temperest's code added, but turned off by default. You can turn it on by setting ENABLE_TEMPEREST in the init.lua to 1
- Some other bugfixes... I don't remember them all. One of them is that sticky movestones don't turn to normal ones when stopping.
Download link is in the first post above.
Do you have any feature requests? It would be nice if someone drew new textures for wireless_receivers/wireless_inverters/wireless_transmitters
Next Version, 0.41, will maybe add support for conduction through a wall and if it finally works, Temperest's code enabled by default.
This new version doesn't really add new features but mainly bugfixes.
- Chests, Locked Chests and Furnaces can't be moved by pistons or movestones
- The near range/object detector only detects players (may be changed... tell me your oppinion)
- Temperest's code added, but turned off by default. You can turn it on by setting ENABLE_TEMPEREST in the init.lua to 1
- Some other bugfixes... I don't remember them all. One of them is that sticky movestones don't turn to normal ones when stopping.
Download link is in the first post above.
Do you have any feature requests? It would be nice if someone drew new textures for wireless_receivers/wireless_inverters/wireless_transmitters
Next Version, 0.41, will maybe add support for conduction through a wall and if it finally works, Temperest's code enabled by default.
-
- Moderator
- Posts: 4095
- Joined: Wed Aug 24, 2011 09:44
- GitHub: sfan5
- IRC: sfan5
- Location: Germany
I'm working on Mese Torches.
Here is my Problem:
If I power the Mese Torch, the Mese Torch turns off
But if I don't power the Mese Torch, the Mese Torch blinks
My Code:
Textures: http://www.mediafire.com/?kqhf1j547b5fv53
Here is my Problem:
If I power the Mese Torch, the Mese Torch turns off
But if I don't power the Mese Torch, the Mese Torch blinks
My Code:
Code: Select all
minetest.register_craft({
output = 'node "jeija_torches:mesecon_torch_off" 4',
recipe = {
{'node "jeija:mesecon_off"'},
{'craft "default:stick"'},
}
})
minetest.register_node("jeija_torches:mesecon_torch_off", {
drawtype = "torchlike",
tile_images = {"jeija_torches_off.png", "jeija_torches_off_ceiling.png", "jeija_torches_off_side.png"},
inventory_image = "jeija_torches_off.png",
sunlight_propagates = true,
walkable = false,
wall_mounted = true,
material = minetest.digprop_constanttime(0.5),
})
minetest.register_node("jeija_torches:mesecon_torch_on", {
drawtype = "torchlike",
tile_images = {"jeija_torches_on.png", "jeija_torches_on_ceiling.png", "jeija_torches_on_side.png"},
inventory_image = "jeija_torches_on.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
wall_mounted = true,
material = minetest.digprop_constanttime(0.5),
light_source = LIGHT_MAX-5,
dug_item = 'node "jeija_torches:mesecon_torch_off" 1',
})
mesecon:add_receptor_node("jeija_torches:mesecon_torch_on")
mesecon:add_receptor_node_off("jeija_torches:mesecon_torch_off")
minetest.register_abm({
nodenames = {"jeija_torches:mesecon_torch_off","jeija_torches:mesecon_torch_on"},
interval = 0.2,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
pa = {}
pa.x = 0
pa.y = 0
pa.z = 0
if node.param2 == 32 then
pa.z = -1
end
if node.param2 == 2 then
pa.x = -1
end
if node.param2 == 8 then
pa.y = -1
end
if node.param2 == 16 then
pa.z = 1
end
if node.param2 == 1 then
pa.x = 1
end
if node.param2 == 4 then
pa.y = 1
end
--print(node.param2 .. "," .. dump(pa))
local lp = {}
lp.x = pos.x + pa.x
lp.y = pos.y + pa.y
lp.z = pos.z + pa.z
if mesecon:check_if_turnon(lp) then
if node.name ~= "jeija_torches:mesecon_torch_off" then
minetest.env:add_node(pos, {name="jeija_torches:mesecon_torch_off",param2=node.param2})
mesecon:receptor_off(pos)
end
else
if node.name ~= "jeija_torches:mesecon_torch_on" then
minetest.env:add_node(pos, {name="jeija_torches:mesecon_torch_on",param2=node.param2})
mesecon:receptor_on(pos)
end
end
end
})
-- Param2 Table (Block Attached To)
-- 32 = z-1
-- 2 = x-1
-- 16 = z+1
-- 1 = x+1
-- 4 = y+1
-- 8 = y-1
Last edited by sfan5 on Wed Jan 04, 2012 20:43, edited 1 time in total.
Code: Select all
00:49:39: ERROR[main]: Failed to load and run script from /home/minetest/minetest/bin/../data/mods/jeija/init.lua:
00:49:39: ERROR[main]: [LUA]
00:49:39: ERROR[main]: [LUA] cannot open ../data/mods/jeija/movestone.lua: No such file or directory
00:49:39: ERROR[main]: stack traceback:
00:49:39: ERROR[main]: [C]: in function 'dofile'
00:49:39: ERROR[main]: ...me/minetest/minetest/bin/../data/mods/jeija/init.lua:1618: in main chunk
00:49:39: ERROR[main]: [LUA]
00:49:39: ERROR[main]: Server: Failed to load and run /home/minetest/minetest/bin/../data/mods/jeija/init.lua
s3tuPDfUv2IyvXHzPmE31MQvnWULv1zj
This version is supposed to work with a run-in-place installed minetest. Change the paths in the init.lua at dofile() to fit your movestone.lua and temperest.lua. Is there any better way to get the right path by default? I don't want seperate mods for each of the files.
Last edited by Jeija on Wed Jan 04, 2012 21:08, edited 1 time in total.
Unfortunately, I have no idea how to fix this one...Jeija wrote:The configure looks like this:
X Plug
| Mesecon
O Inverter
It would be great if you fixed this problem... I will publish a new version of my mod today, with your part disabled by default. I will enable it as soon as it does not make the server crash,
Thanks for your contribution again!
So far I've just avoided putting mesecon between the two connectors and it seems to work fine.
I think I'll verify the block between the two is air, and if it isn't the script won't transmit the power. Here's the updated version (this is the entirety of temperest.lua):
Code: Select all
--TEMPEREST-PLUG
minetest.register_node("jeija:mesecon_plug", {
drawtype = "raillike",
paramtype = "light",
is_ground_content = true,
tile_images = {"jeija_mesecon_plug.png"},
inventory_image = "jeija_mesecon_plug.png",
material = minetest.digprop_constanttime(0.1),
walkable = false,
selection_box = {
type = "fixed",
},
})
mesecon:register_on_signal_on(function(pos, node)
if node.name=="jeija:mesecon_plug" then
for x = -1,1 do
for z = -1,1 do
lpos = {x=pos.x+(x*2), y=pos.y, z=pos.z+(z*2)} --a node two nodes away from this one
lnode = minetest.env:get_node(lpos)
lnode1 = minetest.env:get_node({x=pos.x+x, y=pos.y, z=pos.z+z}) --a node between this node and the one two nodes away
if lnode1.name=="air" then --the node between the two is empty
if lnode.name=="jeija:mesecon_socket_off" then
minetest.env:add_node(lpos, {name="jeija:mesecon_socket_on"})
nodeupdate(lpos)
mesecon:receptor_on(lpos)
elseif lnode.name=="jeija:mesecon_inverter_on" then
minetest.env:add_node(lpos, {name="jeija:mesecon_inverter_off"})
nodeupdate(lpos)
mesecon:receptor_off(lpos)
end
end
end
end
end
end)
mesecon:register_on_signal_off(function(pos, node)
if node.name=="jeija:mesecon_plug" then
for x = -1,1 do
for z = -1,1 do
lpos = {x=pos.x+(x*2), y=pos.y, z=pos.z+(z*2)} --a node two nodes away from this one
lnode = minetest.env:get_node(lpos)
lnode1 = minetest.env:get_node({x=pos.x+x, y=pos.y, z=pos.z+z}) --a node between this node and the one two nodes away
if lnode1.name=="air" then --the node between the two is empty
if lnode.name=="jeija:mesecon_socket_on" then
minetest.env:add_node(lpos, {name="jeija:mesecon_socket_off"})
nodeupdate(lpos)
mesecon:receptor_off(lpos)
elseif lnode.name=="jeija:mesecon_inverter_off" then
minetest.env:add_node(lpos, {name="jeija:mesecon_inverter_on"})
nodeupdate(lpos)
mesecon:receptor_on(lpos)
end
end
end
end
end
end)
minetest.register_on_dignode(function(pos, oldnode, digger)
if oldnode.name == "jeija:mesecon_plug" then
for x = -1,1 do
for z = -1,1 do
lpos = {x=pos.x+(x*2), y=pos.y, z=pos.z+(z*2)} --a node two nodes away from this one
lnode = minetest.env:get_node(lpos)
lnode1 = minetest.env:get_node({x=pos.x+x, y=pos.y, z=pos.z+z}) --a node between this node and the one two nodes away
if lnode1.name=="air" then --the node between the two is empty
if lnode.name=="jeija:mesecon_socket_on" then
minetest.env:add_node(lpos, {name="jeija:mesecon_socket_off"})
nodeupdate(lpos)
mesecon:receptor_off(lpos)
elseif lnode.name=="jeija:mesecon_inverter_on" then
minetest.env:add_node(lpos, {name="jeija:mesecon_inverter_off"})
nodeupdate(lpos)
mesecon:receptor_off(lpos)
end
end
end
end
end
end)
minetest.register_craft({
output = 'node "jeija:mesecon_plug" 2',
recipe = {
{'', 'node "jeija:mesecon_off"', ''},
{'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'},
{'', 'node "jeija:mesecon_off"', ''},
}
})
--TEMPEREST-SOCKET
minetest.register_node("jeija:mesecon_socket_off", {
drawtype = "raillike",
paramtype = "light",
is_ground_content = true,
tile_images = {"jeija_mesecon_socket_off.png"},
inventory_image = "jeija_mesecon_socket_off.png",
material = minetest.digprop_constanttime(0.1),
walkable = false,
selection_box = {
type = "fixed",
},
})
minetest.register_node("jeija:mesecon_socket_on", {
drawtype = "raillike",
paramtype = "light",
is_ground_content = true,
tile_images = {"jeija_mesecon_socket_on.png"},
inventory_image = "jeija_mesecon_socket_on.png",
material = minetest.digprop_constanttime(0.1),
walkable = false,
selection_box = {
type = "fixed",
},
dug_item='node "jeija:mesecon_socket_off" 1',
})
minetest.register_on_dignode(
function(pos, oldnode, digger)
if oldnode.name == "jeija:mesecon_socket_on" then
mesecon:receptor_off(pos)
end
end
)
mesecon:add_receptor_node("jeija:mesecon_socket_on")
mesecon:add_receptor_node_off("jeija:mesecon_socket_off")
minetest.register_craft({
output = 'node "jeija:mesecon_socket_off" 2',
recipe = {
{'', 'craft "default:steel_ingot"', ''},
{'craft "default:steel_ingot"', 'node "jeija:mesecon_off"', 'craft "default:steel_ingot"'},
{'', 'craft "default:steel_ingot"', ''},
}
})
--TEMPEREST-INVERTER
minetest.register_node("jeija:mesecon_inverter_off", {
drawtype = "raillike",
paramtype = "light",
is_ground_content = true,
tile_images = {"jeija_mesecon_inverter_off.png"},
inventory_image = "jeija_mesecon_inverter_off.png",
material = minetest.digprop_constanttime(0.1),
walkable = false,
selection_box = {
type = "fixed",
},
})
minetest.register_node("jeija:mesecon_inverter_on", {
drawtype = "raillike",
paramtype = "light",
is_ground_content = true,
tile_images = {"jeija_mesecon_inverter_on.png"},
inventory_image = "jeija_mesecon_inverter_on.png",
material = minetest.digprop_constanttime(0.1),
walkable = false,
selection_box = {
type = "fixed",
},
dug_item='node "jeija:mesecon_inverter_off" 1',
})
minetest.register_on_dignode(
function(pos, oldnode, digger)
if oldnode.name == "jeija:mesecon_inverter_on" then
mesecon:receptor_off(pos)
end
end
)
mesecon:add_receptor_node("jeija:mesecon_inverter_on")
mesecon:add_receptor_node_off("jeija:mesecon_inverter_off")
minetest.register_craft({
output = 'node "jeija:mesecon_inverter_off" 2',
recipe = {
{'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'},
{'craft "default:steel_ingot"', '', 'craft "default:steel_ingot"'},
{'node "jeija:mesecon_off"', 'craft "default:steel_ingot"', 'node "jeija:mesecon_off"'},
}
})
I've also updated the instructions in one of my previous posts here:
http://c55.me/minetest/forum/viewtopic. ... 6290#p6290
WorldEdit 1.0 released
The Mesecons Laboratory - the art of Mesecons circuitry
Latest article: Mesecons Basics.
The Mesecons Laboratory - the art of Mesecons circuitry
Latest article: Mesecons Basics.
Great work!Jeija wrote:Update to V 0.4
This new version doesn't really add new features but mainly bugfixes.
- Chests, Locked Chests and Furnaces can't be moved by pistons or movestones
- The near range/object detector only detects players (may be changed... tell me your oppinion)
- Temperest's code added, but turned off by default. You can turn it on by setting ENABLE_TEMPEREST in the init.lua to 1
- Some other bugfixes... I don't remember them all. One of them is that sticky movestones don't turn to normal ones when stopping.
Download link is in the first post above.
Do you have any feature requests? It would be nice if someone drew new textures for wireless_receivers/wireless_inverters/wireless_transmitters
Next Version, 0.41, will maybe add support for conduction through a wall and if it finally works, Temperest's code enabled by default.
Feature request: pressure plate support for mobs - I can just imagine the rat traps already . Maybe only for the wooden pressure plate? I think the others should stay as they are.
WorldEdit 1.0 released
The Mesecons Laboratory - the art of Mesecons circuitry
Latest article: Mesecons Basics.
The Mesecons Laboratory - the art of Mesecons circuitry
Latest article: Mesecons Basics.
This won't work. What happens if you dont directly connect plug and receiver? Like this:
X__
|
O__|
In my oppinion a delay still is the best solution.
Pressure plates should already work for mobs.
X__
|
O__|
In my oppinion a delay still is the best solution.
Pressure plates should already work for mobs.
Last edited by Jeija on Wed Jan 04, 2012 22:09, edited 1 time in total.
hmm... I didn't think of that.Jeija wrote:This won't work. What happens if you dont directly connect plug and receiver? Like this:
X__
|
O__|
Do you have any suggestions? I can't think of another way to make it work.
Edit: sorry, didn't read your entire post. How do you use delays?
Last edited by Temperest on Wed Jan 04, 2012 22:09, edited 1 time in total.
WorldEdit 1.0 released
The Mesecons Laboratory - the art of Mesecons circuitry
Latest article: Mesecons Basics.
The Mesecons Laboratory - the art of Mesecons circuitry
Latest article: Mesecons Basics.
You should create a global timer and set a requested state and a request time for each of these blocks. After a certain time the action is performed.
I guess a short delay will also do it, like 0.2 seconds or so. Use the on_globalstep function for timer.
I guess a short delay will also do it, like 0.2 seconds or so. Use the on_globalstep function for timer.
Last edited by Jeija on Wed Jan 04, 2012 22:14, edited 1 time in total.
@Sfan5:
This code should work:
Unfortunately, it only checks for the block it is connected to, so this has to be a mesecon or a receptor. It would be amazing if you changed that. I will include this in my mod if you agree.
This code should work:
Code: Select all
minetest.register_craft({
output = 'node "jeija:mesecon_torch_off" 4',
recipe = {
{'node "jeija:mesecon_off"'},
{'craft "default:stick"'},
}
})
minetest.register_node("jeija:mesecon_torch_off", {
drawtype = "torchlike",
tile_images = {"jeija_torches_off.png", "jeija_torches_off_ceiling.png", "jeija_torches_off_side.png"},
inventory_image = "jeija_torches_off.png",
sunlight_propagates = true,
walkable = false,
wall_mounted = true,
material = minetest.digprop_constanttime(0.5),
})
minetest.register_node("jeija:mesecon_torch_on", {
drawtype = "torchlike",
tile_images = {"jeija_torches_on.png", "jeija_torches_on_ceiling.png", "jeija_torches_on_side.png"},
inventory_image = "jeija_torches_on.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
wall_mounted = true,
material = minetest.digprop_constanttime(0.5),
light_source = LIGHT_MAX-5,
dug_item = 'node "jeija:mesecon_torch_off" 1',
})
mesecon:add_receptor_node("jeija:mesecon_torch_on")
mesecon:add_receptor_node_off("jeija:mesecon_torch_off")
minetest.register_abm({
nodenames = {"jeija:mesecon_torch_off","jeija:mesecon_torch_on"},
interval = 0.2,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
pa = {x=0, y=0, z=0}
if node.param2 == 32 then
pa.z = -1
end
if node.param2 == 2 then
pa.x = -1
end
if node.param2 == 8 then
pa.y = -1
end
if node.param2 == 16 then
pa.z = 1
end
if node.param2 == 1 then
pa.x = 1
end
if node.param2 == 4 then
pa.y = 1
end
if mesecon:is_power_on(pos, pa.x, pa.y, pa.z)==1 then
if node.name ~= "jeija:mesecon_torch_off" then
minetest.env:add_node(pos, {name="jeija:mesecon_torch_off",param2=node.param2})
mesecon:receptor_off({x=pos.x-pa.x, y=pos.y-pa.y, z=pos.z-pa.z})
end
else
if node.name ~= "jeija:mesecon_torch_on" then
minetest.env:add_node(pos, {name="jeija:mesecon_torch_on",param2=node.param2})
mesecon:receptor_on({x=pos.x-pa.x, y=pos.y-pa.y, z=pos.z-pa.z})
end
end
end
})
Last edited by Jeija on Thu Jan 05, 2012 06:33, edited 1 time in total.
-
- Moderator
- Posts: 4095
- Joined: Wed Aug 24, 2011 09:44
- GitHub: sfan5
- IRC: sfan5
- Location: Germany
Thanks for helping, I'll change it and then you can include it.Jeija wrote:@Sfan5:
This code should work:Unfortunately, it only checks for the block it is connected to, so this has to be a mesecon or a receptor. It would be amazing if you changed that. I will include this in my mod if you agree.Code: Select all
minetest.register_craft({ output = 'node "jeija:mesecon_torch_off" 4', recipe = { {'node "jeija:mesecon_off"'}, {'craft "default:stick"'}, } }) minetest.register_node("jeija:mesecon_torch_off", { drawtype = "torchlike", tile_images = {"jeija_torches_off.png", "jeija_torches_off_ceiling.png", "jeija_torches_off_side.png"}, inventory_image = "jeija_torches_off.png", sunlight_propagates = true, walkable = false, wall_mounted = true, material = minetest.digprop_constanttime(0.5), }) minetest.register_node("jeija:mesecon_torch_on", { drawtype = "torchlike", tile_images = {"jeija_torches_on.png", "jeija_torches_on_ceiling.png", "jeija_torches_on_side.png"}, inventory_image = "jeija_torches_on.png", paramtype = "light", sunlight_propagates = true, walkable = false, wall_mounted = true, material = minetest.digprop_constanttime(0.5), light_source = LIGHT_MAX-5, dug_item = 'node "jeija:mesecon_torch_off" 1', }) mesecon:add_receptor_node("jeija:mesecon_torch_on") mesecon:add_receptor_node_off("jeija:mesecon_torch_off") minetest.register_abm({ nodenames = {"jeija:mesecon_torch_off","jeija:mesecon_torch_on"}, interval = 0.2, chance = 1, action = function(pos, node, active_object_count, active_object_count_wider) pa = {x=0, y=0, z=0} if node.param2 == 32 then pa.z = -1 end if node.param2 == 2 then pa.x = -1 end if node.param2 == 8 then pa.y = -1 end if node.param2 == 16 then pa.z = 1 end if node.param2 == 1 then pa.x = 1 end if node.param2 == 4 then pa.y = 1 end if mesecon:is_power_on(pos, pa.x, pa.y, pa.z)==1 then if node.name ~= "jeija:mesecon_torch_off" then minetest.env:add_node(pos, {name="jeija:mesecon_torch_off",param2=node.param2}) mesecon:receptor_off({x=pos.x-pa.x, y=pos.y-pa.y, z=pos.z-pa.z}) end else if node.name ~= "jeija:mesecon_torch_on" then minetest.env:add_node(pos, {name="jeija:mesecon_torch_on",param2=node.param2}) mesecon:receptor_on({x=pos.x-pa.x, y=pos.y-pa.y, z=pos.z-pa.z}) end end end })
(using minetest-0.4.dev-20120102 and mesecons V 0.4)
pistons are a bit "jumpy", sometimes they go inside of the pushed block (looks ugly but work), other times they go through the block without pushing it
in some cases it generates a "ghost piston" that cannot be removed
another thing I find strange is that it seems that water and lava can be pushed, if we put a sticky piston and a block in the water, we can push the block, but is not possible recover it, seems as if the water took his place, pistons works wierd in water
if something is misspelled, sorry I haven't slept yet, and google translator is not a great help
pistons are a bit "jumpy", sometimes they go inside of the pushed block (looks ugly but work), other times they go through the block without pushing it
in some cases it generates a "ghost piston" that cannot be removed
another thing I find strange is that it seems that water and lava can be pushed, if we put a sticky piston and a block in the water, we can push the block, but is not possible recover it, seems as if the water took his place, pistons works wierd in water
if something is misspelled, sorry I haven't slept yet, and google translator is not a great help
Last edited by Melkor on Thu Jan 05, 2012 08:32, edited 1 time in total.
I'm already using xyz's code, but I haven't published it yet. I will publish it today or tomorrow; I would like to include sfan5's buttons.
@Melkor: This may happen on slow PCs. This happens because minetest doesn't call the on_step of an entity that often, so that I cannot set a certain position for the pusher (maybe I will change that to another system, but I don't think so). You can just remove the animation if you want to.
I never had a piston that had an animation but doesn't push the block. This should only happen when trying to push a chest/a furnace.
@Melkor: This may happen on slow PCs. This happens because minetest doesn't call the on_step of an entity that often, so that I cannot set a certain position for the pusher (maybe I will change that to another system, but I don't think so). You can just remove the animation if you want to.
I never had a piston that had an animation but doesn't push the block. This should only happen when trying to push a chest/a furnace.
Who is online
Users browsing this forum: Ahrefs [Bot] and 38 guests