Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Subject: [PATCH] Example
- ---
- Index: net/minecraft/world/item/Item.java
- IDEA additional info:
- Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
- <+>UTF-8
- ===================================================================
- diff --git a/net/minecraft/world/item/Item.java b/net/minecraft/world/item/Item.java
- --- a/net/minecraft/world/item/Item.java (revision 558a1a2ed8f73bdf1fe4c92601441fedff1b812c)
- +++ b/net/minecraft/world/item/Item.java (revision 45fd9ba0a88769b3d696c31d1bdcb6741cef9b75)
- @@ -18,6 +18,7 @@
- import net.minecraft.core.component.DataComponentMap;
- import net.minecraft.core.component.DataComponentType;
- import net.minecraft.core.component.DataComponents;
- +import net.minecraft.core.component.PatchedDataComponentMap;
- import net.minecraft.core.registries.BuiltInRegistries;
- import net.minecraft.network.chat.Component;
- import net.minecraft.sounds.SoundEvent;
- @@ -64,7 +65,7 @@
- public static final int ABSOLUTE_MAX_STACK_SIZE = 99;
- public static final int MAX_BAR_WIDTH = 13;
- private final Holder.Reference<Item> builtInRegistryHolder = BuiltInRegistries.ITEM.createIntrusiveHolder(this);
- - private final DataComponentMap components;
- + private final PatchedDataComponentMap components; // Paper - default component api
- @Nullable
- private final Item craftingRemainingItem;
- @Nullable
- @@ -85,7 +86,11 @@
- }
- public Item(Item.Properties properties) {
- - this.components = properties.buildAndValidateComponents();
- + //Paper start - default component api
- + PatchedDataComponentMap components = new PatchedDataComponentMap(properties.buildAndValidateComponents());
- + // Call event
- + this.components = components;
- + //Paper end - default component api
- this.craftingRemainingItem = properties.craftingRemainingItem;
- this.requiredFeatures = properties.requiredFeatures;
- if (SharedConstants.IS_RUNNING_IN_IDE) {
- @@ -104,6 +109,10 @@
- public DataComponentMap components() {
- return this.components;
- }
- +
- + public PatchedDataComponentMap patchedComponents() {
- + return this.components.copy(); // Paper - default component api
- + }
- public int getDefaultMaxStackSize() {
- return this.components.getOrDefault(DataComponents.MAX_STACK_SIZE, 1);
- Index: net/minecraft/world/item/ItemStack.java
- IDEA additional info:
- Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
- <+>UTF-8
- ===================================================================
- diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
- --- a/net/minecraft/world/item/ItemStack.java (revision 558a1a2ed8f73bdf1fe4c92601441fedff1b812c)
- +++ b/net/minecraft/world/item/ItemStack.java (revision 45fd9ba0a88769b3d696c31d1bdcb6741cef9b75)
- @@ -216,16 +216,27 @@
- this(tag.value(), 1);
- }
- + // Paper start - default component api
- + // Ensure that item stacks from packets and other sources are based on our defaults
- public ItemStack(Holder<Item> holder, int i, DataComponentPatch dataComponentPatch) {
- - this(holder.value(), i, PatchedDataComponentMap.fromPatch(holder.value().components(), dataComponentPatch));
- + this(holder.value(), i, createComponentMap(holder.value(), dataComponentPatch));
- }
- + private static PatchedDataComponentMap createComponentMap(Item item, DataComponentPatch patch) {
- + PatchedDataComponentMap copy = item.patchedComponents();
- + if (patch.isEmpty()) {
- + return copy;
- + }
- + copy.applyPatch(patch);
- + return copy;
- + }
- + // Paper end - default component api
- public ItemStack(Holder<Item> item, int count) {
- this(item.value(), count);
- }
- public ItemStack(ItemLike item, int count) {
- - this(item, count, new PatchedDataComponentMap(item.asItem().components()));
- + this(item, count, item.asItem().patchedComponents()); // Paper - default component api
- }
- private ItemStack(ItemLike itemLike, int i, PatchedDataComponentMap patchedDataComponentMap) {
Advertisement
Add Comment
Please, Sign In to add comment