Guest User

Untitled

a guest
Mar 21st, 2024
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.08 KB | None | 0 0
  1. Subject: [PATCH] Example
  2. ---
  3. Index: net/minecraft/world/item/Item.java
  4. IDEA additional info:
  5. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  6. <+>UTF-8
  7. ===================================================================
  8. diff --git a/net/minecraft/world/item/Item.java b/net/minecraft/world/item/Item.java
  9. --- a/net/minecraft/world/item/Item.java    (revision 558a1a2ed8f73bdf1fe4c92601441fedff1b812c)
  10. +++ b/net/minecraft/world/item/Item.java    (revision 45fd9ba0a88769b3d696c31d1bdcb6741cef9b75)
  11. @@ -18,6 +18,7 @@
  12.  import net.minecraft.core.component.DataComponentMap;
  13.  import net.minecraft.core.component.DataComponentType;
  14.  import net.minecraft.core.component.DataComponents;
  15. +import net.minecraft.core.component.PatchedDataComponentMap;
  16.  import net.minecraft.core.registries.BuiltInRegistries;
  17.  import net.minecraft.network.chat.Component;
  18.  import net.minecraft.sounds.SoundEvent;
  19. @@ -64,7 +65,7 @@
  20.      public static final int ABSOLUTE_MAX_STACK_SIZE = 99;
  21.      public static final int MAX_BAR_WIDTH = 13;
  22.      private final Holder.Reference<Item> builtInRegistryHolder = BuiltInRegistries.ITEM.createIntrusiveHolder(this);
  23. -    private final DataComponentMap components;
  24. +    private final PatchedDataComponentMap components; // Paper - default component api
  25.      @Nullable
  26.      private final Item craftingRemainingItem;
  27.      @Nullable
  28. @@ -85,7 +86,11 @@
  29.      }
  30.  
  31.      public Item(Item.Properties properties) {
  32. -        this.components = properties.buildAndValidateComponents();
  33. +        //Paper start - default component api
  34. +        PatchedDataComponentMap components = new PatchedDataComponentMap(properties.buildAndValidateComponents());
  35. +        // Call event
  36. +        this.components = components;
  37. +        //Paper end - default component api
  38.          this.craftingRemainingItem = properties.craftingRemainingItem;
  39.          this.requiredFeatures = properties.requiredFeatures;
  40.          if (SharedConstants.IS_RUNNING_IN_IDE) {
  41. @@ -104,6 +109,10 @@
  42.      public DataComponentMap components() {
  43.          return this.components;
  44.      }
  45. +    
  46. +    public PatchedDataComponentMap patchedComponents() {
  47. +        return this.components.copy(); // Paper - default component api
  48. +    }
  49.  
  50.      public int getDefaultMaxStackSize() {
  51.          return this.components.getOrDefault(DataComponents.MAX_STACK_SIZE, 1);
  52. Index: net/minecraft/world/item/ItemStack.java
  53. IDEA additional info:
  54. Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
  55. <+>UTF-8
  56. ===================================================================
  57. diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
  58. --- a/net/minecraft/world/item/ItemStack.java   (revision 558a1a2ed8f73bdf1fe4c92601441fedff1b812c)
  59. +++ b/net/minecraft/world/item/ItemStack.java   (revision 45fd9ba0a88769b3d696c31d1bdcb6741cef9b75)
  60. @@ -216,16 +216,27 @@
  61.          this(tag.value(), 1);
  62.      }
  63.  
  64. +    // Paper start - default component api
  65. +    // Ensure that item stacks from packets and other sources are based on our defaults
  66.      public ItemStack(Holder<Item> holder, int i, DataComponentPatch dataComponentPatch) {
  67. -        this(holder.value(), i, PatchedDataComponentMap.fromPatch(holder.value().components(), dataComponentPatch));
  68. +        this(holder.value(), i, createComponentMap(holder.value(), dataComponentPatch));
  69.      }
  70. +    private static PatchedDataComponentMap createComponentMap(Item item, DataComponentPatch patch) {
  71. +        PatchedDataComponentMap copy = item.patchedComponents();
  72. +        if (patch.isEmpty()) {
  73. +            return copy;
  74. +        }
  75. +        copy.applyPatch(patch);
  76. +        return copy;
  77. +    }
  78. +    // Paper end - default component api
  79.  
  80.      public ItemStack(Holder<Item> item, int count) {
  81.          this(item.value(), count);
  82.      }
  83.  
  84.      public ItemStack(ItemLike item, int count) {
  85. -        this(item, count, new PatchedDataComponentMap(item.asItem().components()));
  86. +        this(item, count, item.asItem().patchedComponents()); // Paper - default component api
  87.      }
  88.  
  89.      private ItemStack(ItemLike itemLike, int i, PatchedDataComponentMap patchedDataComponentMap) {
  90.  
Advertisement
Add Comment
Please, Sign In to add comment