240 Commits

Author SHA1 Message Date
Mikołaj Nowak
fa10c5029f
SPIGOT-5784, SPIGOT-6858, #1527: Add villager reputation API 2024-12-31 11:31:44 +11:00
DerFrZocker
d628417978
SPIGOT-7648, SPIGOT-7927: Allow creating of not registered Instruments 2024-12-10 20:33:03 +11:00
md_5
ff9a8bf828
Update to Minecraft 1.21.4 2024-12-04 03:20:00 +11:00
DerFrZocker
f2822317cb
#1515: Add a Class reader and Class node argument provider 2024-11-25 07:35:28 +11:00
DerFrZocker
07abf68520
#1514: Add a test case for ClassTraverser 2024-11-25 07:35:18 +11:00
DerFrZocker
4a1df30e43
#1512: Test Art class based on specific values instead of the implementation, to better catch implementation changes 2024-11-23 21:14:14 +11:00
DerFrZocker
52b99158ad
#1504: Make Art an interface 2024-11-02 11:00:13 +11:00
DerFrZocker
e18ae35f1d
#1502: Make Sound an interface 2024-11-02 11:00:08 +11:00
DerFrZocker
7235ad7b04
#1501: Make Biome an interface 2024-11-01 08:05:35 +11:00
DerFrZocker
75f26f79fa
#1499: Make Fluid an interface and add missing entry 2024-10-29 06:43:20 +11:00
DerFrZocker
4cfd87adc3
#1498: Make Attribute an interface and align names with the new minecraft ones 2024-10-29 06:43:14 +11:00
md_5
459c38af30
Update to Minecraft 1.21.2 2024-10-23 02:15:00 +11:00
DerFrZocker
0a7bd6c81a
#1493: Improve reroute performance and add some tests 2024-10-15 21:05:19 +11:00
DerFrZocker
6b71a7322d
#1475: Add tests for Minecraft registry <-> Bukkit fields 2024-09-27 08:15:18 +10:00
DerFrZocker
e4c92ef65b
#1473: Change tests to use suites, to run tests in different environments and feature flags 2024-09-26 20:01:56 +10:00
DerFrZocker
d69a05362e
#1480: Fix PerMaterialTest#isEdible test running for legacy materials 2024-09-20 07:23:06 +10:00
Miles Holder
45c206f2c5
#1458: Add MenuType API 2024-09-07 18:52:00 +10:00
Doc
8d52226914
SPIGOT-7882, #1467: Fix conversion of name in Profile Component to empty if it is missing 2024-08-31 08:40:57 +10:00
Doc
93480d5d61
SPIGOT-7868, #1463: Fix default and max power in FireworkMeta 2024-08-17 08:37:46 +10:00
Doc
fccf5243ad
SPIGOT-7837: Support data pack banner patterns 2024-07-27 10:14:41 +10:00
Doc
2c12b2187e
SPIGOT-7809: Add ShieldMeta and fix setting shield base colours
Co-authored-by: md_5 <git@md-5.net>
2024-07-20 10:15:22 +10:00
md_5
2444c8b235
SPIGOT-7823: Suspicious sand and gravel material are not marked as having gravity correctly 2024-07-10 18:50:13 +10:00
antiPerson
a4ee40b749
SPIGOT-7799, #1436: Expose explosion world interaction in EntityExplodeEvent and BlockExplodeEvent 2024-07-06 17:19:45 +10:00
DerFrZocker
082aa51c50
#1424: Trial changing a small number of inner enums to classes/interfaces to better support custom values
This PR is a subset of the enum PR #931 and is designed as a low impact
trial run of the design and backwards compatibility to inform
subsequent development.

Additional plugin compatibility features may be available by setting
`settings.compatibility.enum-compatibility-mode` to `true` in
`bukkit.yml`.
2024-07-06 17:14:22 +10:00
DerFrZocker
9ef69aa0b2
#1284: Move ItemType <-> ItemMeta linking to a centralized place 2024-06-15 06:53:46 +10:00
md_5
a4c2ee70db
Update to Minecraft 1.21 2024-06-14 01:05:00 +10:00
Doc
c6b4d5a87f
SPIGOT-7731: Spawn eggs cannot have damage 2024-06-10 14:06:34 +10:00
DerFrZocker
9003845569
SPIGOT-7676: Enforce locale parameter in toLowerCase and toUpperCase method calls and always use root locale 2024-06-03 07:18:17 +10:00
2008Choco
5d7d675b95
#1404: Add PotionEffectTypeCategory to distinguish between beneficial and harmful effects 2024-05-29 06:50:08 +10:00
DerFrZocker
9608279815
#1403, SPIGOT-4288, SPIGOT-6202: Add material rerouting in preparation for the switch to ItemType and BlockType
This also moves the conversion from and to legacy material to the method
calls of legacy plugins, and no longer allows them directly in the
server.

This has the side effect of fixing some legacy plugin issues, such as
SPIGOT-4288, SPIGOT-6161. Also fixes legacy items sometimes not stacking
in inventory when using addItem, a client disconnect when using legacy
items in recipes and probably some more.
2024-05-29 06:48:55 +10:00
Jishuna
afe5b5ee93
#1275: Add internal ItemType and BlockType, delegate Material methods to them
Co-authored-by: Bjarne Koll <lynxplay101@gmail.com>
Co-authored-by: DerFrZocker <derrieple@gmail.com>
Co-authored-by: md_5 <git@md-5.net>
2024-05-05 10:08:54 +10:00
DerFrZocker
2a6207fe15
#1393: Improve field rename handling and centralize conversion between bukkit and string more 2024-05-04 08:19:07 +10:00
Doc
5d84f48a40
SPIGOT-7653: Update ApiVersion.CURRENT with latest version and include tests 2024-05-02 07:00:16 +10:00
DerFrZocker
ad549847ee
Open a direct connection instead of pinging mojang server to check if it is reachable 2024-04-26 09:16:58 +02:00
md_5
590cf09a8e
Fix unit tests always seeing Mojang server as unavailable 2024-04-25 16:26:03 +10:00
DerFrZocker
0297f87bb0
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)
2024-04-25 07:49:44 +10:00
DerFrZocker
8c1e7c8410
#1384: Disable certain PlayerProfile tests, if Mojang's services or internet are not available 2024-04-24 18:12:31 +10:00
DerFrZocker
5d57527c2a
#1380: Change wolf variant from enum to interface 2024-04-24 04:22:03 +10:00
DerFrZocker
801767ed80
SPIGOT-5336: Field name parity with Minecraft keys 2024-04-24 01:15:00 +10:00
DerFrZocker
e05615dc78
#1357: Remove legacy Particle values 2024-04-24 01:15:00 +10:00
md_5
735b2d0d7f
Update to Minecraft 1.20.5 2024-04-24 01:15:00 +10:00
Bjarne Koll
ffd15611c7
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.
2024-03-30 10:46:03 +11:00
DerFrZocker
a2736ddb06
SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, #1008: Add EntityRemoveEvent 2024-02-21 20:55:34 +11:00
Doc
80f0ce4be6
SPIGOT-7300, #1180: Add new DamageSource API providing enhanced information about entity damage 2024-02-11 09:54:25 +11:00
DerFrZocker
161784713a
#1340: Centralize the conversion from and to Minecraft / Bukkit registry items even more and add a test case for them 2024-01-22 20:36:36 +11:00
Bjarne Koll
4e419c774c
#1295: Define native persistent data types for lists 2024-01-06 16:03:58 +11:00
DerFrZocker
2e88514ad3
#1325: Use CraftBlockType and CraftItemType instead of CraftMagicNumbers to convert between minecraft and bukkit block / item representation 2023-12-29 08:36:38 +11:00
DerFrZocker
60d16d7cac
#1306: Centralize Bukkit and Minecraft entity conversion 2023-12-10 10:46:06 +11:00
Jishuna
4fea66e448
#1299: Add new PersistentDataContainer methods and clean up docs 2023-12-08 19:29:38 +11:00
Jishuna
b483a20db0
#1303: Create registry for banner pattern and cat type 2023-12-08 19:26:30 +11:00