mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
* fix: fix grindstone curse book overstacking * fix: remove unused import
This commit is contained in:
@@ -227,7 +227,7 @@ index 02d2efef2dc0f0e12eac0c71fa290af706f7694d..99f109e2653eff10c011f380694bd77a
|
|||||||
|
|
||||||
default SlotAccess getChestVehicleSlot(final int index) {
|
default SlotAccess getChestVehicleSlot(final int index) {
|
||||||
diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
index e1783ad0adbb791b2ff7441243c9f0aeaf37c7f6..ffd723a424940a421e396a6ca07c952165705825 100644
|
index e1783ad0adbb791b2ff7441243c9f0aeaf37c7f6..47963968763cbee60016853d617f159c0761d282 100644
|
||||||
--- a/net/minecraft/world/inventory/AbstractContainerMenu.java
|
--- a/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
+++ b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
+++ b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
@@ -295,6 +295,13 @@ public abstract class AbstractContainerMenu {
|
@@ -295,6 +295,13 @@ public abstract class AbstractContainerMenu {
|
||||||
@@ -322,7 +322,7 @@ index e1783ad0adbb791b2ff7441243c9f0aeaf37c7f6..ffd723a424940a421e396a6ca07c9521
|
|||||||
ItemStack item = container.getItem(i);
|
ItemStack item = container.getItem(i);
|
||||||
if (!item.isEmpty()) {
|
if (!item.isEmpty()) {
|
||||||
- f += (float)item.getCount() / container.getMaxStackSize(item);
|
- f += (float)item.getCount() / container.getMaxStackSize(item);
|
||||||
+ f += Math.clamp((float) item.getCount() / container.getMaxStackSize(item), 0f, 1f); // Leaves - item over-stack util
|
+ f += org.leavesmc.leaves.util.ItemOverstackUtils.getItemStackSignalStrength(container.getMaxStackSize(), item); // Leaves - item over-stack util
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ public class LithiumStackList extends NonNullList<ItemStack> implements LithiumD
|
|||||||
for (int j = 0; j < inventorySize; ++j) {
|
for (int j = 0; j < inventorySize; ++j) {
|
||||||
ItemStack itemStack = this.get(j);
|
ItemStack itemStack = this.get(j);
|
||||||
if (!itemStack.isEmpty()) {
|
if (!itemStack.isEmpty()) {
|
||||||
f += (float) itemStack.getCount() / (float) Math.min(this.maxCountPerStack, itemStack.getMaxStackSize());
|
f += org.leavesmc.leaves.util.ItemOverstackUtils.getItemStackSignalStrength(this.maxCountPerStack, itemStack);
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package org.leavesmc.leaves.util;
|
package org.leavesmc.leaves.util;
|
||||||
|
|
||||||
|
import io.papermc.paper.datacomponent.DataComponentTypes;
|
||||||
|
import io.papermc.paper.datacomponent.item.ItemEnchantments;
|
||||||
import net.minecraft.core.component.DataComponents;
|
import net.minecraft.core.component.DataComponents;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.world.entity.item.ItemEntity;
|
import net.minecraft.world.entity.item.ItemEntity;
|
||||||
@@ -7,8 +9,8 @@ import net.minecraft.world.item.BlockItem;
|
|||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.item.component.CustomData;
|
import net.minecraft.world.item.component.CustomData;
|
||||||
import net.minecraft.world.item.component.ItemContainerContents;
|
import net.minecraft.world.item.component.ItemContainerContents;
|
||||||
import net.minecraft.world.item.enchantment.ItemEnchantments;
|
|
||||||
import net.minecraft.world.level.block.ShulkerBoxBlock;
|
import net.minecraft.world.level.block.ShulkerBoxBlock;
|
||||||
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.leavesmc.leaves.LeavesConfig;
|
import org.leavesmc.leaves.LeavesConfig;
|
||||||
|
|
||||||
@@ -88,6 +90,14 @@ public class ItemOverstackUtils {
|
|||||||
return itemStack;
|
return itemStack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static float getItemStackSignalStrength(int maxStackSize, ItemStack itemStack) {
|
||||||
|
float result = (float) itemStack.getCount() / Math.min(maxStackSize, itemStack.getMaxStackSize());
|
||||||
|
if (LeavesConfig.modify.oldMC.allowGrindstoneOverstacking && CurseEnchantedBook.isCursedEnchantedBook(itemStack)) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
return Math.clamp(result, 0f, 1f);
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isStackable(ItemStack itemStack) {
|
public static boolean isStackable(ItemStack itemStack) {
|
||||||
return getItemStackMaxCount(itemStack) > 1 && (!itemStack.isDamageableItem() || !itemStack.isDamaged());
|
return getItemStackMaxCount(itemStack) > 1 && (!itemStack.isDamageableItem() || !itemStack.isDamaged());
|
||||||
}
|
}
|
||||||
@@ -169,12 +179,12 @@ public class ItemOverstackUtils {
|
|||||||
|
|
||||||
public static class CurseEnchantedBook implements ItemUtil {
|
public static class CurseEnchantedBook implements ItemUtil {
|
||||||
public static boolean isCursedEnchantedBook(ItemStack stack) {
|
public static boolean isCursedEnchantedBook(ItemStack stack) {
|
||||||
ItemEnchantments enchantments = stack.getOrDefault(DataComponents.STORED_ENCHANTMENTS, ItemEnchantments.EMPTY);
|
ItemEnchantments enchantments = stack.getBukkitStack().getData(DataComponentTypes.STORED_ENCHANTMENTS);
|
||||||
if (enchantments.size() != 1) {
|
if (enchantments == null || enchantments.enchantments().size() != 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return stack.getBukkitStack().getEnchantmentLevel(org.bukkit.enchantments.Enchantment.BINDING_CURSE) == 1 ||
|
return enchantments.enchantments().containsKey(Enchantment.BINDING_CURSE) ||
|
||||||
stack.getBukkitStack().getEnchantmentLevel(org.bukkit.enchantments.Enchantment.BINDING_CURSE) == 1;
|
enchantments.enchantments().containsKey(Enchantment.VANISHING_CURSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user