Closed ProgrammerDan closed 7 years ago
Oh interesting, so chests can be orebfuscated as well? (Provided they're fully enclosed.) Just curious because previously Aleksey-Terzi stated that block entities couldn't be hidden without proximity hider.
I believe that was enabled alongside the Sign obfuscation, although I could be mistaken. I added Chests to the Engine Obfuscation list on his advice, but until now hadn't gotten confirmation on behavior...
@ProgrammerDan
Ideal behavior is if a block if Orebfuscated due to full enclosure, it remains Orebfuscated unless revealed via block break / explosion / engine update, never via Proximity.
Yes, this is how it supposed to work. ProximityHider is consuming more resources than Engine Mode obfuscation, so Engine Mode definitely should have highest priority. I will check this issue later and then provide response.
@RoboMWM
Oh interesting, so chests can be orebfuscated as well? (Provided they're fully enclosed.) Just curious because previously Aleksey-Terzi stated that block entities couldn't be hidden without proximity hider.
If I really told this - then sorry for confusion, blocks-TileEntities could be obfuscated. There was bug related to signs previously but it is already fixed and sign obfuscation (both Engine Mode and proximity hider) is working ok.
@ProgrammerDan
I believe that was enabled alongside the Sign obfuscation, although I could be mistaken. I added Chests to the Engine Obfuscation list on his advice, but until now hadn't gotten confirmation on behavior...
This should work, if not - then this is probably bug. I will make sure it is working correctly.
@ProgrammerDan
I did the following test which is demonstrating that Engine Mode is winning competition: https://youtu.be/blmqBF7lUzg
Would be good if you could provide step by step description of how to reproduce problem. Also would be good to have config file and version of Orebf.
Draw attention that maybe chest covered by "transparent" blocks and therefore Engine Mode cannot obfuscate chest.
Can you repeat your experiment, but using a buried doublechest instead of a singlechest?
So ShadedJon repeated your test but with DoubleChest, and confirmed that it is deobfuscated with proximity and not orebfuscation update: https://www.reddit.com/r/Devoted/comments/5fz1bi/orefubscator_bug_being_fixed_please_read/
Yes you are right - this will not work double chest because of:
1) Each part of chest is considered as separate block
2) Chest is considered as transparent block and therefore neighbor chest block will be considered as not fully covered by solid blocks and therefore will not be obfuscated by Engine Mode
So this is not bug but feature :)
This could be fixed by marking chest as non-transparent block in the config file. But this is not very nice solution since could make "bad visual effects" especially with Engine Mode 2 because of chest is actually transparent.
Another option - we could introduce "chest" fix in obfuscation algorithm - if block's neighbor block has the same type and meta and this block is "block to obfuscate" then such neighbor block is considered as non-transparent.
This still could have bad visual effects when one part of the chest is covered by solid blocks and the second is not. So probably we could introduce new config option which allows to disable new function for those who don't like it, but maybe not.
Please let me know your thoughts.
We'll try the config option first, if it's not too bad then we'll just stick with it.
So the configuration based option appears to produce the desired effect; not sure total scope of secondary impacts but nothing observed so far. I'd recommend that adding chests at least to the non-transparent list might be a good candidate for default config.
I have CHEST and similar items in both Proximity Hider and Orebfuscation lists. Currently these chests and other similar items in both lists are revealed by Proximity, even if fully enclosed (e.g. they should still be hidden via Engine Mode obfuscation).
Ideal behavior is if a block if Orebfuscated due to full enclosure, it remains Orebfuscated unless revealed via block break / explosion / engine update, never via Proximity.