How do I detect with a procedure when water or lava have been placed and immediately replace them with another block?

Started by _Ice_Lord_ on

Topic category: Help with MCreator software

Last seen on 20:35, 12. Feb 2023
Joined Jul 2022
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
How do I detect with a procedure when water or lava have been placed and immediately replace them with another block?

When water and lava are placed in my custom dimension, they should immediately become ice and lava respectively (which also means the result for water and the result for lava are different).

I've been trying with the global trigger "on block placed", now I feel like this isn't the right trigger to detect if water/lava have been placed.

I tried everything, I tried "is [get block at x y z] the same block as [water]", "is [get block at x y z] the same blockstate as [water]", "is [get fluid as block at x y z] the same block as [water]…

I tried "place block at x y z", I tried "replace block at x y z with [block]"…

All my procedures test for both water and water_still, both lava and lava_still with the "or" procedure block.

The very same procedures work perfectly fine to replace fire by air when it's placed regardless of the item used to place it, for some reason procedures just can't replace liquids or test for them.

Last seen on 20:35, 12. Feb 2023
Joined Jul 2022
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
I can't use "on player…
Tue, 07/12/2022 - 01:22

I can't use "on player clicks on block" and check if the item is water_bucket or lava_bucket because…

Detecting the face on which the player clicked can be done, as well as having two different parts of the procedure for the main-hand and for the off-hand, but dispensers can also place water and lava, and waterlogged blocks will be my doom. And also if the block the player clicked is a replaceable block then the entire procedure has to be different in order to place the block in the repleaceable block and not at its sides/above/below.