[Bug]: '"dimension" in predicates not working correctly with Multiverse and Paper 1.20.1
Salsa24 opened this issue ยท 1 comments
/mv version -p
output
https://paste.gg/b6aa48967fd649d8b165bdf97a983704
Server logs
https://paste.gg/p/anonymous/6831bf7cf7e34c39a9d27d411d1e65c2
Server Version
[Server thread/INFO]: This server is running Paper version git-Paper-156 (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: 3716832)
You are running the latest version
Previous version: git-Paper-145 (MC: 1.20.1)
Bug Description
Expected behavior: When in a world created by Multiverse, running /execute if predicate should return "Test passed" if the appropriate conditions are met.
Actual behavior: "Test failed" is typically returned instead, even if the condition is passed. This behavior is NOT replicated in minecraft:overworld or datapack custom dimensions - dimension predicates will work appropriately there.
If your world is an overworld, nether, or end type world, the test will pass if the dimension property is "minecraft:overworld," etc. This does not match vanilla behavior or 1.20 Paper/Multiverse behavior.
Example datapack filepath and code, assuming a world named 'starwars' was created by Multiverse:
world\datapacks\test\data\test\predicates\in_starwars.json
{ "condition": "minecraft:entity_properties", "entity": "this", "predicate": { "location": { "dimension":"minecraft:starwars" } } }
example datapack with test dimension.zip
It is difficult for me to tell if this is a Multiverse, Paper, or vanilla Minecraft bug, unfortunately. This behavior was first noticed on our server after updating from Paper 1.20-10 to Paper-1.20.1-145.
Steps to reproduce
- Start a Paper server with only Multiverse installed (first tested on Paper-1.20.1-145)
- Create a new world using /mv create (example is
/mv create starwars normal
) - Set up the datapack as described, using an example predicate that checks if the player is in the relevant dimension (with appropriate pack.mcmeta/etc.)
- Teleport to the new Multiverse world
- Run the predicate (
/execute if predicate test:in_starwars
) - The game will return 'Test failed', despite the test conditions being met.
Agreements
- I have searched for and ensured there isn't already an open or resolved issue(s) regarding this.
- I was able to reproduce my issue on a freshly setup and up-to-date server with the latest version of Multiverse plugins with no other plugins and with no kinds of other server or client mods.