[Bug] Conceal Object makes the block interact oddly with player and attached items
KnightCa opened this issue · 5 comments
Is there an existing issue for this?
- I have searched the existing issues
Observed behaviour
After using Conceal Object on a block, the block interacts oddly with the player and items attached to it.
Examples:
- Used on a Crafting Table or Anvil, you cannot interact with the interface while it is "gone"
- Used on a Grass block under flowers/grass, the grass and flowers pop off the "gone" block.
On the other hand:
- Ladders connected to the "gone" block stay in place
- Vines stay on "gone" blocks.
Expected behaviour
I expected the block to become invisible, but continue to interact with the player and attached objects in the same way.
Steps to reproduce
- Join Server
- Cast Conceal Object on a Grass block under grass, notice what happens to grass.
- Cast Conceal Object on a Crafting Table or Anvil and try to interact with it
Crashlog
No response
Environment (Singleplayer/Server, etc.)
Issue present on both sides
Mod version
1.5.10
Forge version
1.12.2-forge-14.23.5.2860
Other mods
No response
Expected behaviour
I expected the block to become invisible, but continue to interact with the player and attached objects in the same way.
Sadly this isn't possible. You can't retain the original block and disable its rendering.
The concealed block is an invisible technical block that stores the data of the replaced block. I can make right-clicking it restore the original block, and therefore end the spell's effect, but that also means you need to cast the spell again after each interaction. Another possibility would be to render a more translucent variant of the replaced block, (perhaps only for the caster) when the caster steps close to its position.
Yet another possibility is to use a secondary block somewhere nearby that places an invisible tileentity that stores the info of "block xyz was revealed, hide it again once the caster is not within N blocks distance to it". I don't like this, it's too unpredictable where it could be placed.
Yet another possibility is to store this info in playerdata. E.g. if the player approaches a concealed block, said block's tileentity registers itself into the player's playerdata, then reverts to its usual block form. The playerdata would periodically check the registered blocks, and revert them based on proximity. I think this last option would make this spell quite useful
Interactions are not possible against the original block if with the facade block in place, so a translucent block cannot be used for anything