Commit Graph

340 Commits

Author SHA1 Message Date
Lulu13022002
d4a957849c Experimental annotation changes (#12028) 2025-01-30 20:02:14 +01:00
masmc05
e82f7e6bb6 [ci skip] Fix Inventory#setMaxStackSize jd (#11968) 2025-01-14 13:43:28 +01:00
Miles
c94922514a MenuType API addition InventoryView Builders (#11816) 2025-01-11 20:21:24 +01:00
Jake Potrebic
ac3aaa248b Don't use delayed registries in impl anywhere (#11918) 2025-01-11 20:02:28 +01:00
Jake Potrebic
ca8709b30f Fix more incorrect array nullability annotations (#11836) 2024-12-27 22:24:16 +01:00
masmc05
a07cec16f8 Add effective name to ItemStack (#11770) 2024-12-25 21:56:24 +01:00
masmc05
62d4130bba [ci skip] Fix Inventory#addItem javadoc mismatch with behaviour (#11782) 2024-12-23 16:20:12 +01:00
Lulu13022002
5922e6334b fix allowPermanentBlockBreakExploits config 2024-12-18 23:35:47 +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
Tamion
7b11ab058b Add recipeBrewTime 2024-09-20 17:39:22 +02:00
masmc05
4a86a6e4ee Add enchantWithLevels with enchantment registry set 2024-09-25 16:26:04 +03:00
Jake Potrebic
0f47ed5252 Add FeatureFlag API 2023-03-09 11:24:43 -08:00
okx-code
c3bccfb1d6 Add enchantment seed update API 2024-08-17 13:02:56 +01:00
Mark Vainomaa
f14d6e62da Add an API for CanPlaceOn and CanDestroy NBT values 2018-09-12 18:53:35 +03: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
f09feba0f4 General ItemMeta fixes 2024-05-28 19:59:01 -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
SoSeDiK
5e1dc7cf47 Expose #hasColor to leather armor 2024-05-01 10:58:50 +03: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
Owen1212055
4092b60fa0 Deprecate ItemStack#setType 2024-02-29 17:54:26 -05: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
de70580ea9 ItemStack Tooltip API 2024-01-22 13:27:18 +01:00
Jake Potrebic
17df649613 Add BlockStateMeta#clearBlockState 2024-01-11 12:41:54 -08: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
1ab1d0f10a Experimental annotations change 2023-12-09 11:47:53 -08: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
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
Joo200
8fb0d8f90a MerchantRecipe: add copy constructor 2022-12-20 15:26:36 +01:00
Jake Potrebic
26780d3ac6 Fix SpawnEggMeta#get/setSpawnedType 2023-02-26 07:14:19 -08:00
Nassim Jahnke
e03e924177 Replace ItemFlag.HIDE_POTION_EFFECTS 2023-01-05 10:45:20 +01:00
Jake Potrebic
c189c3ba5b ItemStack damage API
Adds methods notify clients about item breaks and
to simulate damage done to an itemstack and all
the logic associated with damaging them
2022-05-08 13:35:58 -07:00
SoSeDiK
d533ea2226 Add EquipmentSlot convenience methods 2022-10-16 15:28:49 +03:00
Jason Penilla
a0b5bad27f Add enchantWithLevels API
Deprecate upstream's newer and poorly implemented similar
API.
2022-03-16 20:35:13 -07:00
BillyGalbreath
1fa51dd469 Expose isFuel and canSmelt methods to FurnaceInventory 2021-12-23 15:32:40 -06:00
Jake Potrebic
c8e36cb205 Option to prevent data components copy in smithing recipes 2021-09-26 12:57:35 -07:00
Jake Potrebic
00ebe90031 Improve item default attribute API 2021-05-08 15:02:00 -07:00
Riley Park
482d7e4984 ItemStack#editMeta 2021-05-23 05:04:28 -07:00
Jake Potrebic
fce24f3b52 ItemStack repair check API 2021-05-15 22:10:50 -07:00
Jake Potrebic
07e76ccd5b Inventory#close 2021-05-11 14:54:20 -07:00
Jake Potrebic
411f1ddea7 add get-set drop chance to EntityEquipment 2021-04-22 00:28:20 -07:00
Jake Potrebic
83c4827433 Improve Item Rarity API 2021-03-12 17:09:40 -08:00
Mariell Hoversholm
9c8829553b Add ignore discounts API 2020-11-09 20:33:38 +01:00
ysl3000
124e1f8619 Create HoverEvent from ItemStack Entity 2020-07-06 22:17:37 +02:00
Jake Potrebic
f610d0b477 Add methods to get translation keys
Co-authored-by: MeFisto94 <MeFisto94@users.noreply.github.com>
2020-08-11 19:17:46 +02:00
MiniDigger | Martin
53d5aca783 Support components in ItemMeta 2020-06-06 18:13:16 +02:00
Phoenix616
78acda62f2 Inventory getHolder method without block snapshot 2020-06-10 23:55:16 +01:00