Commit Graph

3475 Commits

Author SHA1 Message Date
9e5e007003 Proxy ItemStack to CraftItemStack 2024-05-14 11:57:51 -07:00
fcc777a0a8 Introduce registry entry and builders
Co-authored-by: kokiriglade <git@kokirigla.de>
2024-06-13 22:35:05 +02:00
146cd1a015 Registry Modification API 2022-03-02 13:36:21 -08:00
ada45eba8a Deprecate InvAction#HOTBAR_MOVE_AND_READD 2024-05-25 09:51:07 -07:00
4491c7e2ac Add missing fishing event state 2024-05-01 07:44:50 +03:00
f09feba0f4 General ItemMeta fixes 2024-05-28 19:59:01 -07:00
236fa2126f Allow Bukkit plugin to use Paper PluginLoader API 2024-05-21 13:18:00 -07:00
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
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
69edd6d91f Brigadier based command API
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2022-08-01 22:50:29 -04:00
fd8df6aeed More Chest Block API 2024-05-01 08:22:13 +03:00
daebdc24e7 Added API to get player ha proxy address 2024-04-08 23:24:38 +08:00
5e1dc7cf47 Expose #hasColor to leather armor 2024-05-01 10:58:50 +03:00
925c5a6760 Add GameMode#isInvulnerable 2024-05-01 06:56:21 +03:00
cbb0d28ebe Add hook to remap library jars 2024-04-28 13:51:08 -07:00
d9e51980e6 Allow modifying library loader jars bytecode 2024-04-28 11:11:26 -07:00
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
6fedaecd54 Fix SpawnerEntry$Equipment API 2024-04-26 17:00:00 -07:00
6f0bb7dc5f More Raid API 2022-03-04 09:46:40 -08:00
92b812ddc0 Add CartographyItemEvent
Similar to SmithItemEvent, but for cartography tables.
2024-04-07 16:51:04 -04:00
c6e1625d87 API for checking sent chunks 2024-04-08 16:22:07 +02:00
53c5e5da09 Item Mutation Fixes 2024-03-20 20:42:31 -04:00
4092b60fa0 Deprecate ItemStack#setType 2024-02-29 17:54:26 -05:00
1c53b54fd9 Add BlockBreakProgressUpdateEvent 2024-03-04 22:18:33 -05:00
96f6033450 Clone mutables to prevent unexpected issues
There are lots of locations in the API where mutable
types are not cloned, either on return or when passed
as a parameter and assigned to a field, which can cause
unexpected behaviors. Let this be a lesson to use
immutable types for simple things Location, Vector, and
others.
2024-03-16 11:10:48 -07:00
d19f69b3eb Expanded Hopper API 2024-03-15 17:35:18 +01:00
e18f6c6b55 Fix DamageSource API 2024-03-16 11:21:14 -07:00
1725de0232 Suspicious Effect Entry API
Exposes a new suspicious effect entry type that properly represents
storable effects in the context of suspicious effects as they only
define the potion effect type and duration.

This differentiates them from the existing PotionEffect API found in
bukkit and hence clarifies that storable values in the parts of the API
in which it replaces PotionEffect.

Co-authored-by: Yannick Lamprecht <yannicklamprecht@live.de>
2024-03-03 19:45:52 +01:00
3073742fd7 improve BanList types 2024-02-10 20:49:47 +01:00
3ebc5bb92c add number format api
Signed-off-by: David Mayr <davidliebtkekse@gmail.com>
2023-12-16 10:40:29 +01:00
8363e77ad2 Add FluidState API 2023-11-17 20:21:47 +01:00
b9e525c8ec Add getChunkSnapshot includeLightData parameter 2024-02-10 10:05:59 +01:00
de70580ea9 ItemStack Tooltip API 2024-01-22 13:27:18 +01:00
eb68d0e1b5 Add Lifecycle Event system
This event system is separate from Bukkit's event system and is
meant for managing resources across reloads and from points in the
PluginBootstrap.
2023-07-18 14:47:02 -07:00
cf77104dbc Add api for spawn egg texture colors 2024-01-11 19:58:17 +01:00
bfe60b97f9 Add ShulkerDuplicateEvent 2024-01-05 03:50:10 -05:00
94c7a67620 Expose LootTable of DecoratedPot 2024-01-20 16:20:07 +01:00
17df649613 Add BlockStateMeta#clearBlockState 2024-01-11 12:41:54 -08:00
607a4b2bdf Return null for empty String in NamespacedKey.fromString 2024-01-06 14:18:58 +01:00
bafc86226b Add PlayerShieldDisableEvent
Called whenever a players shield is disabled. This is mainly caused by
attacking players or monsters that carry axes.

The event, while similar to the PlayerItemCooldownEvent, offers other
behaviour and can hence not be implemented as a childtype of said event.
Specifically, cancelling the event prevents the game events from being
sent to the player.

Plugins listening to just the PlayerItemCooldownEvent may not want said
sideeffects, meaning the disable event cannot share a handlerlist with
the cooldown event.
2023-05-01 16:22:43 -05:00
0a1e7d6d0f Add HiddenPotionEffect API 2023-11-05 09:50:48 +01:00
27a62b6b53 Add drops to shear events 2021-05-18 12:31:54 -07:00
a933298032 Add missing InventoryType
Upstream did not add a DECORATED_POT inventory type
2023-12-27 16:46:13 -08:00
26ad0bb45b Add experience points API 2023-09-05 20:33:52 +02:00
d513222b59 Improve Registry
Adds Registry#getKey(Object) which should be the
primary way people get the key for an object. Registry
items need to exist without having a key and so
getKey() methods on Keyed objects that have a registry
are marked as Deprecated or Obsolete.
2023-12-20 02:03:10 -08:00
9a78d17d8e Add more scoreboard API 2023-12-16 14:45:46 -08:00
1ab1d0f10a Experimental annotations change 2023-12-09 11:47:53 -08:00
94e488f80d Add Structure check API 2023-03-27 10:20:06 -07:00
41ca517939 Remove unnecessary durability check in "ItemStack#isSimilar(...)"
By removing this check we avoid unnecessarily allocating useless `ItemMeta` objects if we are comparing two items, or one of the two items, that don't have any durability. Don't worry, the durability of the item is checked when it checks if both item metas are equal.

This is a leftover from when checking for the item's durability was "free" because the durability was stored in the `ItemStack` itself, this [was changed in Minecraft 1.13](f8b2086d60 (src)/main/java/org/bukkit/inventory/ItemStack.java).
2023-11-26 20:00:50 -03:00
450a42a3fe Expand LingeringPotion API 2023-11-04 23:56:23 +01:00