Commit Graph

3515 Commits

Author SHA1 Message Date
Jake Potrebic
b71ad2ebb3
Add datapack registration lifecycle event 2024-12-23 18:47:30 -08:00
Jake Potrebic
d0d0efee02
Partially revert 083c083188 for Transformation (#11798)
* Partially revert 083c083188 for Transformation

The type is used in a way that requires mutability

* keep copy in ctors
2024-12-23 15:46:17 -08:00
masmc05
62d4130bba
[ci skip] Fix Inventory#addItem javadoc mismatch with behaviour (#11782) 2024-12-23 16:20:12 +01:00
Nassim Jahnke
63c94c90d9
[ci skip] Comment out update tasks, update comments 2024-12-23 12:29:27 +01:00
Jake Potrebic
eb793c3131
[ci skip] more cleanup from repo reorg 2024-12-22 19:07:17 -08:00
Jake Potrebic
083c083188
Fix a bunch more issues arising from mutable types (#11769) 2024-12-22 22:50:00 +01:00
Jake Potrebic
4c6ea8416b
move junit platform dep to -server and -api 2024-12-21 15:10:08 -08:00
Jason Penilla
a18b1b7ef1
Add capabilities for old API coordinates
This will cause Gradle to throw a selection error when for example paper-api and spigot-api are on the classpath. Users will need to add selection rules or excludes for certain transitive deps to solve this rather than build with a broken classpath.
2024-12-20 15:07:43 -08:00
Jake
413751ae2d
Update Mob.java (#11757) 2024-12-19 23:14:21 +01:00
Jake Potrebic
49f715fdda
update brig in the API and patch cleanup 2024-12-18 18:30:29 -08:00
Lulu13022002
5922e6334b
fix allowPermanentBlockBreakExploits config 2024-12-18 23:35:47 +01:00
Jason Penilla
ff75689b08
Adjust build for config cache compat 2024-12-12 11:36:57 +01:00
Nassim Jahnke
0280fbb374 Disable deprecated annotation test 2024-12-03 15:33:45 +01:00
kokiriglade
ed6663d2b9 Expanded Art API 2024-11-23 18:08:13 +00:00
Abel
b9a4e9a745 API to allow/disallow tick sleeping 2024-11-12 22:25:35 +01:00
Abel
7c0d854ed3 API to check if the server is sleeping 2024-11-10 16:32:51 +01:00
Bjarne Koll
a47a008ce1 Fix incorrect invulnerability damage reduction
Fixes incorrect spigot handling of the invulnerability damage
reduction applied when an already invulnerable entity is damaged with a
larger damage amount than the initial damage.
Vanilla still damages entities even if invulnerable if the damage to be
applied is larger than the previous damage taken. In that case, vanilla
applies the difference between the previous damage taken and the
proposed damage.

Spigot's damage modifier API takes over the computation of damage
reducing effects, however spigot invokes this handling with the initial
damage before computing the difference to the previous damage amount.
This leads to the reduction values to generally be larger than expected,
as they are computed on the not-yet-reduced value.
Spigot applies these reductions after calling the EntityDamageEvent and
*then* subtracts the previous damage point, leading to the final damage
amount being smaller than expected.

This patch cannot simply call the EntityDamageEvent with the reduced
damage, as that would lead to EntityDamageEvent#getDamage() returning
the already reduced damage, which breaks its method contract.
Instead, this patch makes use of the DamageModifier API, implementing
the last-damage-reduction as a DamageModifier.
2024-11-11 21:35:22 +01:00
Barnaby
14832a70e9 Optimise color distance check in MapPalette by removing floating point math 2024-06-29 12:04:48 +01:00
Owen1212055
30b4dedabb DataComponent API
Exposes the data component logic used by vanilla ItemStack to API
consumers as a version-specific API.
The types and methods introduced by this patch do not follow the general
API deprecation contracts and will be adapted to each new minecraft
release without backwards compatibility measures.
2024-04-28 19:53:06 -04:00
Doc
65f5b7a4b7 Add AnvilView#bypassEnchantmentLevelRestriction
Anvils, by default, limit applied enchantment levels to their respective
maximum level. The added API enables plugins to disable this behaviour,
allowing enchantments that are overleveled to be applied via the anvil.
2024-10-06 16:45:20 -03:00
Lulu13022002
6dfba7e0c7 Add Offline PDC API 2022-07-09 17:17:04 +02:00
Axionize
11f0f5a80a Void damage configuration API 2024-09-25 04:43:26 -04:00
Mariell Hoversholm
2f8f0f1f81 Add PlayerInsertLecternBookEvent 2020-08-29 21:55:41 +02:00
Tamion
7b11ab058b Add recipeBrewTime 2024-09-20 17:39:22 +02:00
Jake Potrebic
4cd3060ff8 Improve entity effect API 2024-09-27 17:12:50 -07:00
masmc05
4a86a6e4ee Add enchantWithLevels with enchantment registry set 2024-09-25 16:26:04 +03:00
Jake Potrebic
4fb38d1c36 create TileStateInventoryHolder
a missing interface to centralize getSnapshotInventory methods
2024-09-20 21:40:23 -07:00
masmc05
cd6fb23fab Item serialization as json 2024-08-11 03:01:52 +03:00
Jake Potrebic
e05d628610 Tag Lifecycle Events 2024-06-20 09:40:53 -07:00
Jake Potrebic
0f47ed5252 Add FeatureFlag API 2023-03-09 11:24:43 -08:00
Jake Potrebic
3fc7f9269a Deprecate for removal all OldEnum-related methods 2024-09-07 11:14:31 -07:00
okx-code
c3bccfb1d6 Add enchantment seed update API 2024-08-17 13:02:56 +01:00
Lulu13022002
4641e233e7 Leashable API 2024-06-22 21:11:58 +02:00
Jake Potrebic
d4da32994f Add even more Enchantment API
In a separate patch because it uses RegistryKeySet which
is after the previous "more enchant api" patch.
2024-07-19 08:43:01 -07:00
Nassim Jahnke
8769723fb3 Improve StandardMessenger exception messages 2024-08-12 18:38:19 +02:00
Mark Vainomaa
f14d6e62da Add an API for CanPlaceOn and CanDestroy NBT values 2018-09-12 18:53:35 +03:00
Tamion
5dc2ca5b62 Fix PickupStatus getting reset 2024-07-23 18:37:12 +02:00
powercas_gamer
e8e8c4f7c2 add Plugin#getDataPath 2024-07-15 02:07:49 +00:00
Tamion
7507d0f1ef Fix HelpCommand searching
Prevent index out of bounds exception when finding possible matches in
the help topics.
A general empty string is caught and directed to the defaultTopic by
getHelpTopic(). #findPossibleMatches hence should not concern itself
with possible empty strings anymore.
2024-07-13 18:00:37 +02:00
Jake Potrebic
cb339661cc Make a PDC view accessible directly from ItemStack 2024-06-12 10:29:30 -07:00
Jake Potrebic
9e5e007003 Proxy ItemStack to CraftItemStack 2024-05-14 11:57:51 -07:00
Bjarne Koll
fcc777a0a8 Introduce registry entry and builders
Co-authored-by: kokiriglade <git@kokirigla.de>
2024-06-13 22:35:05 +02:00
Jake Potrebic
146cd1a015 Registry Modification API 2022-03-02 13:36:21 -08:00
Jake Potrebic
ada45eba8a Deprecate InvAction#HOTBAR_MOVE_AND_READD 2024-05-25 09:51:07 -07:00
SoSeDiK
4491c7e2ac Add missing fishing event state 2024-05-01 07:44:50 +03:00
Jake Potrebic
f09feba0f4 General ItemMeta fixes 2024-05-28 19:59:01 -07:00
Jason Penilla
236fa2126f Allow Bukkit plugin to use Paper PluginLoader API 2024-05-21 13:18:00 -07:00
Jake Potrebic
962554a0de Fix equipment slot and group API
Adds the following:
- Add missing 'body' slot group
- Expose LivingEntity#canUseSlot

Co-authored-by: SoSeDiK <mrsosedik@gmail.com>
2024-05-22 10:00:19 -07:00
Jake Potrebic
953ba33fc1 Fix issues with recipe API
Improves the validation when creating recipes
and RecipeChoices to closer match what is
allowed by the Codecs and StreamCodecs internally.

Adds RecipeChoice#empty which is allowed in specific
recipes and ingredient slots.

Also fixes some issues regarding mutability of both ItemStack
and implementations of RecipeChoice.

Also adds some validation regarding Materials passed to RecipeChoice
being items.
2024-05-12 10:42:42 -07:00
Owen1212055
69edd6d91f Brigadier based command API
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2022-08-01 22:50:29 -04:00