mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
Configurable item damage check and good shear behavior (#559)
This commit is contained in:
@@ -5,15 +5,15 @@ Subject: [PATCH] Make shears in dispenser can unlimited use
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java b/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
diff --git a/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java b/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||||
index c1bd6d91cf9828ccc7275efe0f5c959c0f457c13..34eef95855032655a97f246cc56eb3006eebae19 100644
|
index c1bd6d91cf9828ccc7275efe0f5c959c0f457c13..310e4bd5bd0c447adc70cff6d414f88be1966d04 100644
|
||||||
--- a/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
--- a/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||||
+++ b/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
+++ b/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||||
@@ -44,7 +44,7 @@ public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
|
@@ -45,7 +45,7 @@ public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
|
||||||
if (!serverLevel.isClientSide()) {
|
|
||||||
BlockPos blockPos = blockSource.pos().relative(blockSource.state().getValue(DispenserBlock.FACING));
|
BlockPos blockPos = blockSource.pos().relative(blockSource.state().getValue(DispenserBlock.FACING));
|
||||||
this.setSuccess(tryShearBeehive(serverLevel, blockPos) || tryShearLivingEntity(serverLevel, blockPos, item, bukkitBlock, craftItem)); // CraftBukkit
|
this.setSuccess(tryShearBeehive(serverLevel, blockPos) || tryShearLivingEntity(serverLevel, blockPos, item, bukkitBlock, craftItem)); // CraftBukkit
|
||||||
- if (this.isSuccess()) {
|
if (this.isSuccess()) {
|
||||||
+ if (this.isSuccess() && !org.leavesmc.leaves.LeavesConfig.modify.oldMC.shearsInDispenserCanZeroAmount) { // Leaves - Make shears in dispenser can unlimited use
|
- item.hurtAndBreak(1, serverLevel, null, item1 -> {});
|
||||||
item.hurtAndBreak(1, serverLevel, null, item1 -> {});
|
+ item.hurtAndBreak(1, serverLevel, null, item1 -> { if (org.leavesmc.leaves.LeavesConfig.modify.oldMC.shearsInDispenserCanZeroAmount) item.grow(1); }); // Leaves - Make shears in dispenser can unlimited use
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||||
|
Date: Tue, 1 Jul 2025 00:19:23 +0800
|
||||||
|
Subject: [PATCH] Configurable item damage check
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
|
||||||
|
index 649d17dcd7856e3b1344192d8ea4b2e9f73fc03b..cd3fbccad765a37f034977e44896fbd73e308b91 100644
|
||||||
|
--- a/net/minecraft/world/item/ItemStack.java
|
||||||
|
+++ b/net/minecraft/world/item/ItemStack.java
|
||||||
|
@@ -621,11 +621,11 @@ public final class ItemStack implements DataComponentHolder {
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getDamageValue() {
|
||||||
|
- return Mth.clamp(this.getOrDefault(DataComponents.DAMAGE, 0), 0, this.getMaxDamage());
|
||||||
|
+ return org.leavesmc.leaves.LeavesConfig.modify.oldMC.disableItemDamageCheck ? this.getOrDefault(DataComponents.DAMAGE, 0) : Mth.clamp(this.getOrDefault(DataComponents.DAMAGE, 0), 0, this.getMaxDamage()); // Leaves - disable check
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDamageValue(int damage) {
|
||||||
|
- this.set(DataComponents.DAMAGE, Mth.clamp(damage, 0, this.getMaxDamage()));
|
||||||
|
+ this.set(DataComponents.DAMAGE, org.leavesmc.leaves.LeavesConfig.modify.oldMC.disableItemDamageCheck ? damage : Mth.clamp(damage, 0, this.getMaxDamage())); // Leaves - disable check
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getMaxDamage() {
|
||||||
@@ -348,6 +348,9 @@ public final class LeavesConfig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GlobalConfig("disable-item-damage-check")
|
||||||
|
public boolean disableItemDamageCheck = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ElytraAeronauticsConfig elytraAeronautics = new ElytraAeronauticsConfig();
|
public ElytraAeronauticsConfig elytraAeronautics = new ElytraAeronauticsConfig();
|
||||||
|
|||||||
Reference in New Issue
Block a user