9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-30 20:39:21 +00:00

Clean up change max stack count

This commit is contained in:
Dreeam
2024-09-28 11:23:20 -04:00
parent 5e82c7c7fc
commit 1b8cb4f747

View File

@@ -68,10 +68,10 @@ index 1fe41abcdc28013e2dae4b5c3ee727759fc3890c..18773f975b70f4d871808aa0eb1f7313
targetEntity.setItem(itemstack2);
}
diff --git a/src/main/java/net/minecraft/world/item/ItemUtils.java b/src/main/java/net/minecraft/world/item/ItemUtils.java
index 4901f0d89ae2472bce7f242d9529236674f5d134..1a3af765b120cf6eab62ce53b06432c04476deb3 100644
index 4901f0d89ae2472bce7f242d9529236674f5d134..127f41511cdcaacc00e0f128c20339f38c7ce733 100644
--- a/src/main/java/net/minecraft/world/item/ItemUtils.java
+++ b/src/main/java/net/minecraft/world/item/ItemUtils.java
@@ -42,13 +42,29 @@ public class ItemUtils {
@@ -42,14 +42,32 @@ public class ItemUtils {
Level level = itemEntity.level();
if (!level.isClientSide) {
// Paper start - call EntityDropItemEvent
@@ -83,11 +83,7 @@ index 4901f0d89ae2472bce7f242d9529236674f5d134..1a3af765b120cf6eab62ce53b06432c0
+ // Leaf start - Change max stack count
+ if (org.dreeam.leaf.config.modules.gameplay.MaxItemsStackCount.maxContainerDestroyCount == 0) {
+ contents.forEach(stack -> {
+ ItemEntity droppedItem = new ItemEntity(level, itemEntity.getX(), itemEntity.getY(), itemEntity.getZ(), stack);
+ org.bukkit.event.entity.EntityDropItemEvent event = new org.bukkit.event.entity.EntityDropItemEvent(itemEntity.getBukkitEntity(), (org.bukkit.entity.Item) droppedItem.getBukkitEntity());
+ if (event.callEvent()) {
+ level.addFreshEntity(droppedItem);
+ }
+ addFreshEntityWithCallEvent(itemEntity, level, stack);
+ });
+ } else {
+ java.util.Iterator<ItemStack> iterator = contents.iterator();
@@ -95,11 +91,7 @@ index 4901f0d89ae2472bce7f242d9529236674f5d134..1a3af765b120cf6eab62ce53b06432c0
+ if (!iterator.hasNext()) break;
+
+ ItemStack stack = iterator.next();
+ ItemEntity droppedItem = new ItemEntity(level, itemEntity.getX(), itemEntity.getY(), itemEntity.getZ(), stack);
+ org.bukkit.event.entity.EntityDropItemEvent event = new org.bukkit.event.entity.EntityDropItemEvent(itemEntity.getBukkitEntity(), (org.bukkit.entity.Item) droppedItem.getBukkitEntity());
+ if (event.callEvent()) {
+ level.addFreshEntity(droppedItem);
+ }
+ addFreshEntityWithCallEvent(itemEntity, level, stack);
}
- });
+ }
@@ -107,6 +99,17 @@ index 4901f0d89ae2472bce7f242d9529236674f5d134..1a3af765b120cf6eab62ce53b06432c0
// Paper end - call EntityDropItemEvent
}
}
+
+ // Leaf start - Change max stack count
+ private static void addFreshEntityWithCallEvent(ItemEntity itemEntity, Level level, ItemStack stack) {
+ ItemEntity droppedItem = new ItemEntity(level, itemEntity.getX(), itemEntity.getY(), itemEntity.getZ(), stack);
+ org.bukkit.event.entity.EntityDropItemEvent event = new org.bukkit.event.entity.EntityDropItemEvent(itemEntity.getBukkitEntity(), (org.bukkit.entity.Item) droppedItem.getBukkitEntity());
+ if (event.callEvent()) {
+ level.addFreshEntity(droppedItem);
+ }
+ }
+ // Leaf end - Change max stack count
}
diff --git a/src/main/java/org/dreeam/leaf/config/modules/gameplay/MaxItemsStackCount.java b/src/main/java/org/dreeam/leaf/config/modules/gameplay/MaxItemsStackCount.java
new file mode 100644
index 0000000000000000000000000000000000000000..4a895897111454dc3558aa491b9d81cf610b5bbf