Commit Graph

3254 Commits

Author SHA1 Message Date
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
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](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/f8b2086d60942eb2cd7ac25a2a1408cb790c222c#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