Commit Graph

3503 Commits

Author SHA1 Message Date
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
SoSeDiK
fd8df6aeed More Chest Block API 2024-05-01 08:22:13 +03:00
nostalfinals
daebdc24e7 Added API to get player ha proxy address 2024-04-08 23:24:38 +08:00
SoSeDiK
5e1dc7cf47 Expose #hasColor to leather armor 2024-05-01 10:58:50 +03:00
SoSeDiK
925c5a6760 Add GameMode#isInvulnerable 2024-05-01 06:56:21 +03:00
Jason Penilla
cbb0d28ebe Add hook to remap library jars 2024-04-28 13:51:08 -07:00
Jason Penilla
d9e51980e6 Allow modifying library loader jars bytecode 2024-04-28 11:11:26 -07:00
Jake Potrebic
b0a676ba62 Fix ItemFlags
Adds new flag in HIDE_STORED_ENCHANTS which was split
from HIDE_ADDITIONAL_INFO. Adds a migration to account for
this, adding the new flag if the itemstack is old and had the
old flag.
2024-04-27 13:28:17 -07:00
Jake Potrebic
6fedaecd54 Fix SpawnerEntry$Equipment API 2024-04-26 17:00:00 -07:00
Jake Potrebic
6f0bb7dc5f More Raid API 2022-03-04 09:46:40 -08:00
Janet Blackquill
92b812ddc0 Add CartographyItemEvent
Similar to SmithItemEvent, but for cartography tables.
2024-04-07 16:51:04 -04:00
Flo0
c6e1625d87 API for checking sent chunks 2024-04-08 16:22:07 +02:00
Owen1212055
53c5e5da09 Item Mutation Fixes 2024-03-20 20:42:31 -04:00