Multiverse-Core

Multiverse-Core

6M Downloads

[Bug]: '"dimension" in predicates not working correctly with Multiverse and Paper 1.20.1

Salsa24 opened this issue ยท 1 comments

commented

/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

  1. Start a Paper server with only Multiverse installed (first tested on Paper-1.20.1-145)
  2. Create a new world using /mv create (example is /mv create starwars normal)
  3. 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.)
  4. Teleport to the new Multiverse world
  5. Run the predicate (/execute if predicate test:in_starwars)
  6. 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.
commented

Plugins and datapacks where never designed to be mixed. This is out of scope for Multiverse currently