Commit Graph

3467 Commits

Author SHA1 Message Date
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
Owen1212055
4092b60fa0 Deprecate ItemStack#setType 2024-02-29 17:54:26 -05:00
Badbird5907
1c53b54fd9 Add BlockBreakProgressUpdateEvent 2024-03-04 22:18:33 -05:00
Jake Potrebic
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
vicisacat
d19f69b3eb Expanded Hopper API 2024-03-15 17:35:18 +01:00
Jake Potrebic
e18f6c6b55 Fix DamageSource API 2024-03-16 11:21:14 -07:00
Owen1212055
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
Yannick Lamprecht
3073742fd7 improve BanList types 2024-02-10 20:49:47 +01:00
David Mayr
3ebc5bb92c add number format api
Signed-off-by: David Mayr <davidliebtkekse@gmail.com>
2023-12-16 10:40:29 +01:00
vicisacat
8363e77ad2 Add FluidState API 2023-11-17 20:21:47 +01:00
Warrior
b9e525c8ec Add getChunkSnapshot includeLightData parameter 2024-02-10 10:05:59 +01:00
Yannick Lamprecht
de70580ea9 ItemStack Tooltip API 2024-01-22 13:27:18 +01:00
Jake Potrebic
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
Luis
cf77104dbc Add api for spawn egg texture colors 2024-01-11 19:58:17 +01:00
Chase Henderson
bfe60b97f9 Add ShulkerDuplicateEvent 2024-01-05 03:50:10 -05:00
FireInstall
94c7a67620 Expose LootTable of DecoratedPot 2024-01-20 16:20:07 +01:00
Jake Potrebic
17df649613 Add BlockStateMeta#clearBlockState 2024-01-11 12:41:54 -08:00
Nassim Jahnke
607a4b2bdf Return null for empty String in NamespacedKey.fromString 2024-01-06 14:18:58 +01:00
Cryptite
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
Tamion
0a1e7d6d0f Add HiddenPotionEffect API 2023-11-05 09:50:48 +01:00
Jake Potrebic
27a62b6b53 Add drops to shear events 2021-05-18 12:31:54 -07:00
Jake Potrebic
a933298032 Add missing InventoryType
Upstream did not add a DECORATED_POT inventory type
2023-12-27 16:46:13 -08:00
Lukas Planz
26ad0bb45b Add experience points API 2023-09-05 20:33:52 +02:00
Jake Potrebic
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
Jake Potrebic
9a78d17d8e Add more scoreboard API 2023-12-16 14:45:46 -08:00
Jake Potrebic
1ab1d0f10a Experimental annotations change 2023-12-09 11:47:53 -08:00
Jake Potrebic
94e488f80d Add Structure check API 2023-03-27 10:20:06 -07:00
MrPowerGamerBR
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
Tamion
450a42a3fe Expand LingeringPotion API 2023-11-04 23:56:23 +01:00
TonytheMacaroni
a7e97b62c9 Attribute Modifier API improvements
Co-authored-by: Malfrador <malfrador@gmail.com>
2023-11-09 20:35:35 -05:00
booky10
4e6ceb54bb Add hand to fish event for all player interactions 2023-07-03 01:55:32 +02:00
TonytheMacaroni
ac1c641fee Add predicate for blocks when raytracing 2023-09-06 19:24:53 -04:00
TrollyLoki
159f98e5a7 Add API to get the collision shape of a block before it's placed 2023-10-11 00:45:54 -04:00
booky10
2fccf1c185 Add player idle duration API
Implements API for getting and resetting a player's idle duration.
2023-10-14 03:11:11 +02:00
Tamion
3c50e35f30 Fix PlayerSwapHandItemsEvent throwing exception when mainhand or offhand set to null 2023-09-25 19:55:51 +02:00
Aeltumn
b7bb062734 Allow proper checking of empty item stacks
This adds a method to check if an item stack is empty or not. This mirrors vanilla's implementation of the same method.
2023-08-28 13:41:09 +02:00
Jake Potrebic
1c0b535949 Add titleOverride to InventoryOpenEvent 2022-03-04 12:45:21 -08:00