Commit Graph

206 Commits

Author SHA1 Message Date
CraftBukkit/Spigot b6c483ce92 Fix unit tests always seeing Mojang server as unavailable
By: md_5 <git@md-5.net>
2024-04-25 16:26:03 +10:00
CraftBukkit/Spigot 8da4819249 SPIGOT-7355: More field renames and fixes
- Rename MapCursor Types to match their Minecraft names
- SPIGOT-7355: Rename ItemFlag#HIDE_POTION_EFFECTS to better reflect its function
- Fix Attribute rename (CraftBukkit only)
- Add rename routing validation (CraftBukkit only)

By: DerFrZocker <derrieple@gmail.com>
2024-04-25 07:49:44 +10:00
CraftBukkit/Spigot 2c37043b7f #1384: Disable certain PlayerProfile tests, if Mojang's services or internet are not available
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 18:12:31 +10:00
CraftBukkit/Spigot 347f0eff78 #1380: Change wolf variant from enum to interface
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 04:22:03 +10:00
CraftBukkit/Spigot 760899464e SPIGOT-5336: Field name parity with Minecraft keys
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 01:15:00 +10:00
CraftBukkit/Spigot 1b0447274f #1357: Remove legacy Particle values
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 01:15:00 +10:00
CraftBukkit/Spigot 65bc2541a3 Update to Minecraft 1.20.5
By: md_5 <git@md-5.net>
2024-04-24 01:15:00 +10:00
CraftBukkit/Spigot 0ae1e62bfc SPIGOT-7608: Allow empty lists to morph to any PDT list
The minecraft serialisation logic for ListTag updates the type byte of
the list tag during writing to match either the first element in the
list or 0, if said list tag is empty.
As such, list content type information cannot be carried through a
write/read process, e.g. chunk load/unload or a creative client updating
the item.

The recently introduced persistent data type collections for lists hence
can also not enforce a specific list content type if the found list is
empty, which it currently attempts to do.
As such, a call to PersistentDataContainer#has would also yield false
for any empty list as the lists type byte would be 0.

The faulty behaviour has been fixed by considering an empty list in the
persistent data container to match any list type.
This change, while technically breaking the #has check, is needed and
reasonable as the #has check for this is currently broken in the first
place as described above.

By: Bjarne Koll <lynxplay101@gmail.com>
2024-03-30 10:46:03 +11:00
CraftBukkit/Spigot 64cd2b148a SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, #1008: Add EntityRemoveEvent
By: DerFrZocker <derrieple@gmail.com>
2024-02-21 20:55:34 +11:00
CraftBukkit/Spigot 49b5ee78bb SPIGOT-7300, #1180: Add new DamageSource API providing enhanced information about entity damage
By: Doc <nachito94@msn.com>
2024-02-11 09:54:25 +11:00
CraftBukkit/Spigot d7095f8578 #1340: Centralize the conversion from and to Minecraft / Bukkit registry items even more and add a test case for them
By: DerFrZocker <derrieple@gmail.com>
2024-01-22 20:36:36 +11:00
CraftBukkit/Spigot 8cd8851498 #1295: Define native persistent data types for lists
By: Bjarne Koll <lynxplay101@gmail.com>
2024-01-06 16:03:58 +11:00
CraftBukkit/Spigot d15575db91 #1325: Use CraftBlockType and CraftItemType instead of CraftMagicNumbers to convert between minecraft and bukkit block / item representation
By: DerFrZocker <derrieple@gmail.com>
2023-12-29 08:36:38 +11:00
CraftBukkit/Spigot c90e518928 #1306: Centralize Bukkit and Minecraft entity conversion
By: DerFrZocker <derrieple@gmail.com>
2023-12-10 10:46:06 +11:00
CraftBukkit/Spigot 336afd230d #1299: Add new PersistentDataContainer methods and clean up docs
By: Jishuna <joshl5324@gmail.com>
2023-12-08 19:29:38 +11:00
CraftBukkit/Spigot a5594be1c7 #1303: Create registry for banner pattern and cat type
By: Jishuna <joshl5324@gmail.com>
2023-12-08 19:26:30 +11:00
CraftBukkit/Spigot 5690a0ab1f #1309: Add tests for Bukkit Pose
By: Doc <nachito94@msn.com>
2023-12-07 08:21:33 +11:00
CraftBukkit/Spigot dd8ca5c2dc SPIGOT-6026: Pull PotionEffectType and Enchantment from registry
By: DerFrZocker <derrieple@gmail.com>
2023-12-06 03:40:00 +11:00
CraftBukkit/Spigot 8398e12b34 Update to Minecraft 1.20.3
By: md_5 <git@md-5.net>
2023-12-06 03:40:00 +11:00
CraftBukkit/Spigot e84271b31b #1279: Back Particle by a minecraft registry
By: DerFrZocker <derrieple@gmail.com>
2023-10-21 13:42:09 +11:00
CraftBukkit/Spigot 691d43eb42 SPIGOT-5753: Back PotionType by a minecraft registry
By: DerFrZocker <derrieple@gmail.com>
2023-10-09 20:22:53 +11:00
CraftBukkit/Spigot 0c90514858 SPIGOT-6400: Use Mockito instead of InvocationHandler
By: DerFrZocker <derrieple@gmail.com>
2023-10-07 15:42:18 +11:00
CraftBukkit/Spigot b3ac8604eb #1264: Load Bukkit class before creating Registry item
This fixes a registry load order issue, which could cause that two different instances of the same registry item could exist, when the Bukkit class was not loaded before an item was queried.

By: DerFrZocker <derrieple@gmail.com>
2023-10-03 07:15:37 +11:00
CraftBukkit/Spigot 6e2503b658 #1265: Ensure UTF-8 used in new test resource
By: Doc <nachito94@msn.com>
2023-10-01 15:27:41 +11:00
CraftBukkit/Spigot 5692b3f59a #1230: Move unstructured PDC NBT serialisation to SNBT
The initial implementation of the CraftNBTTagConfigSerialiser attempted
to represent the entire NBT tree in yaml. While the tree structure
itself is nicely represented, the values and their respective types
become increasingly difficult to properly store in the context of
snakeyml/yml in general.

This is mainly due to the fact that nbt offers a lot of different types
compared to yaml, specifically the primitive arrays and different
floating point values are troublesome as they require parsing via mojang
parsers due to their custom format.

To build a future proof system for unstructured nbt in spigot yml,
this commit moves the entire serialisation fully into SNBT,
producing a single string as output rather than a full yml tree.
SNBT remains easily readable and editable for server owners, which was
one of the main criteria during the initial implementation of the
serialiser (preventing the use of bas64ed gzipped nbt bytes), while also
completely using mojangs parsing, eliminating any need for custom
parsing logic in spigot.

Additionally, a string allows for very straight forward handling of
legacy data by simply parsing strings as SNBT and maps/yml trees as
legacy content, depending on what type snakeyml produces after parsing
the yml content, removing the need for a versioning schema.

By: Bjarne Koll <lynxplay101@gmail.com>
2023-09-24 10:12:19 +10:00
CraftBukkit/Spigot 07002cbfcd #1256: Update tests to JUnit 5
By: DerFrZocker <derrieple@gmail.com>
2023-09-23 18:10:23 +10:00
CraftBukkit/Spigot 3ff2a7bc12 SPIGOT-7486: Alternate approach to null profile names
By: md_5 <git@md-5.net>
2023-09-22 07:36:30 +10:00
CraftBukkit/Spigot 4248b8a4d8 #1250: Standardize and centralize Bukkit / Minecraft registry conversion
By: DerFrZocker <derrieple@gmail.com>
2023-09-22 03:02:16 +10:00
CraftBukkit/Spigot 8a3c8cfcd4 Update to Minecraft 1.20.2
By: md_5 <git@md-5.net>
2023-09-22 02:40:00 +10:00
CraftBukkit/Spigot c8a9b8d25c #1248: Load GameEvent and MusicInstrument from registry
By: DerFrZocker <derrieple@gmail.com>
2023-09-02 12:55:23 +10:00
CraftBukkit/Spigot 6fdc83ddd9 #1246: Add missing AbstractTestingBase to tests which need them
By: DerFrZocker <derrieple@gmail.com>
2023-08-25 19:33:11 +10:00
CraftBukkit/Spigot 5ff68bfbcb #1203: Test TrimMaterial and TrimPattern constants
By: Parker Hawke <hawkeboyz2@hotmail.com>
2023-06-12 10:06:51 +10:00
CraftBukkit/Spigot 9d740b84b0 Update to Minecraft 1.20
By: md_5 <git@md-5.net>
2023-06-08 01:30:00 +10:00
CraftBukkit/Spigot 355e9daf30 #1196: Test Registry instances more thoroughly
By: Parker Hawke <hawkeboyz2@hotmail.com>
2023-06-04 11:28:33 +10:00
CraftBukkit/Spigot d58f895450 Add test for Chunk.LoadLevel mirroring
By: md_5 <git@md-5.net>
2023-04-29 17:44:42 +10:00
CraftBukkit/Spigot 6c852e65e7 #1147: Add experimental armor trim API
By: Parker Hawke <hawkeboyz2@hotmail.com>
2023-04-07 16:51:00 +10:00
CraftBukkit/Spigot 85db37be1b Fix availability of experimental datapack features in unit tests
By: md_5 <git@md-5.net>
2023-03-15 20:41:42 +11:00
CraftBukkit/Spigot 40076782ed Update to Minecraft 1.19.4
By: md_5 <git@md-5.net>
2023-03-15 03:30:00 +11:00
CraftBukkit/Spigot 412e157d39 SPIGOT-7267: Fix EntityType#getTranslationKey() and add unit test
By: Doc <nachito94@msn.com>
2023-02-20 19:35:39 +11:00
CraftBukkit/Spigot d310f63995 SPIGOT-7034: Add methods for set/get instrument in Goat Horn
By: byquanton <32410361+byquanton@users.noreply.github.com>
2023-01-08 20:36:10 +11:00
CraftBukkit/Spigot 37d4b08ff4 #1121: Add unit test for spawn egg meta
By: Doc <nachito94@msn.com>
2022-12-13 19:04:30 +11:00
CraftBukkit/Spigot 8b26bb8f3e Update to Minecraft 1.19.3
By: md_5 <git@md-5.net>
2022-12-08 03:00:00 +11:00
CraftBukkit/Spigot 2f0d31aa17 SPIGOT-7083: Add Boat.WoodenType, Boat.Status; deprecate TreeSpecies
By: Doc <nachito94@msn.com>
2022-07-05 20:40:35 +10:00
CraftBukkit/Spigot 230282ea44 SPIGOT-7011, SPIGOT-7065: Overhaul of structures
By: DerFrZocker <derrieple@gmail.com>
2022-07-01 20:41:04 +10:00
CraftBukkit/Spigot 100bb8f120 #1052: Add option to use cached map color palette
This reduces the conversion time drastically with the cost of slightly more memory usage.

By: DerFrZocker <derrieple@gmail.com>
2022-06-18 21:13:42 +10:00
CraftBukkit/Spigot 25f3b50f6b Update to Minecraft 1.19
By: md_5 <git@md-5.net>
2022-06-08 02:00:00 +10:00
CraftBukkit/Spigot 43ec2cdacc #1055: Use correct tile entity for trapped chest in CraftBlockStates
By: DerFrZocker <derrieple@gmail.com>
2022-06-06 08:30:54 +10:00
CraftBukkit/Spigot 5fce26aed5 Add tests for material creative categories
By: md_5 <git@md-5.net>
2022-03-19 09:59:55 +11:00
CraftBukkit/Spigot 9ee989ea81 Update to Minecraft 1.18.2
By: md_5 <git@md-5.net>
2022-03-01 02:00:00 +11:00
CraftBukkit/Spigot 314b83ffae SPIGOT-6918: Add SpawnCategory API and configurations for Axolotls
By: Doc <nachito94@msn.com>
2022-02-07 18:47:27 +11:00