mirror of
https://github.com/LeavesMC/Leaves.git
synced 2026-01-04 15:41:31 +00:00
Make shears in dispenser can unlimited use
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||
Date: Sun, 27 Feb 2022 14:07:57 +0800
|
||||
Subject: [PATCH] Make shears in dispenser can unlimited use
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||
index c861505325efecfb53069ce44c14bc20fb851c59..ce97355a14defbe6457f00f5d99fecebe8306396 100644
|
||||
--- a/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||
+++ b/src/main/java/net/minecraft/core/dispenser/ShearsDispenseItemBehavior.java
|
||||
@@ -1,7 +1,5 @@
|
||||
package net.minecraft.core.dispenser;
|
||||
|
||||
-import java.util.Iterator;
|
||||
-import java.util.List;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.BlockSource;
|
||||
import net.minecraft.core.Direction;
|
||||
@@ -23,10 +21,12 @@ import net.minecraft.world.level.block.entity.BeehiveBlockEntity;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.gameevent.GameEvent;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
-// CraftBukkit start
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
import org.bukkit.craftbukkit.inventory.CraftItemStack;
|
||||
import org.bukkit.event.block.BlockDispenseEvent;
|
||||
+
|
||||
+import java.util.Iterator;
|
||||
+import java.util.List;
|
||||
// CraftBukkit end
|
||||
|
||||
public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
|
||||
@@ -64,7 +64,7 @@ public class ShearsDispenseItemBehavior extends OptionalDispenseItemBehavior {
|
||||
BlockPos blockposition = pointer.getPos().relative((Direction) pointer.getBlockState().getValue(DispenserBlock.FACING));
|
||||
|
||||
this.setSuccess(ShearsDispenseItemBehavior.tryShearBeehive((ServerLevel) worldserver, blockposition) || ShearsDispenseItemBehavior.tryShearLivingEntity((ServerLevel) worldserver, blockposition, bukkitBlock, craftItem)); // CraftBukkit
|
||||
- if (this.isSuccess() && stack.hurt(1, worldserver.getRandom(), (ServerPlayer) null)) {
|
||||
+ if (this.isSuccess() && stack.hurt(1, worldserver.getRandom(), (ServerPlayer) null) && !top.leavesmc.leaves.LeavesConfig.shearsInDispenserCanZeroAmount) { // Leaves - Make shears in dispenser can unlimited use
|
||||
stack.setCount(0);
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||
index def8ab8bf0537e648751b200de01607191426d56..1cfe6ab144d11e36b9a4c982f05077ebc2c653a7 100644
|
||||
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||
+++ b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
|
||||
@@ -93,27 +93,6 @@ public final class LeavesConfig {
|
||||
LeavesConfig.config.set(path, value);
|
||||
}
|
||||
|
||||
- public static boolean playerCanEditSign = true;
|
||||
- private static void playerCanEditSign() {
|
||||
- playerCanEditSign = getBoolean("settings.player-can-edit-sign", playerCanEditSign);
|
||||
- }
|
||||
-
|
||||
- public static boolean snowballAndEggCanKnockback = true;
|
||||
- private static void snowballAndEggCanKnockback() {
|
||||
- snowballAndEggCanKnockback = getBoolean("settings.snowball-and-egg-can-knockback-player", snowballAndEggCanKnockback);
|
||||
- }
|
||||
-
|
||||
- public static boolean fakeplayerSupport = true;
|
||||
- private static void fakeplayerSupport() {
|
||||
- fakeplayerSupport = getBoolean("settings.fakeplayer-support", fakeplayerSupport);
|
||||
- }
|
||||
-
|
||||
- public static void registerCommands() {
|
||||
- for (Map.Entry<String, Command> entry : commands.entrySet()) {
|
||||
- MinecraftServer.getServer().server.getCommandMap().register(entry.getKey(), "Leaves", entry.getValue());
|
||||
- }
|
||||
- }
|
||||
-
|
||||
static boolean getBoolean(final String path, final boolean dfl) {
|
||||
LeavesConfig.config.addDefault(path, Boolean.valueOf(dfl));
|
||||
return LeavesConfig.config.getBoolean(path, dfl);
|
||||
@@ -139,6 +118,32 @@ public final class LeavesConfig {
|
||||
return LeavesConfig.config.getString(path, dfl);
|
||||
}
|
||||
|
||||
+ public static boolean playerCanEditSign = true;
|
||||
+ private static void playerCanEditSign() {
|
||||
+ playerCanEditSign = getBoolean("settings.player-can-edit-sign", playerCanEditSign);
|
||||
+ }
|
||||
+
|
||||
+ public static boolean snowballAndEggCanKnockback = true;
|
||||
+ private static void snowballAndEggCanKnockback() {
|
||||
+ snowballAndEggCanKnockback = getBoolean("settings.snowball-and-egg-can-knockback-player", snowballAndEggCanKnockback);
|
||||
+ }
|
||||
+
|
||||
+ public static boolean fakeplayerSupport = true;
|
||||
+ private static void fakeplayerSupport() {
|
||||
+ fakeplayerSupport = getBoolean("settings.fakeplayer-support", fakeplayerSupport);
|
||||
+ }
|
||||
+
|
||||
+ public static boolean shearsInDispenserCanZeroAmount = false;
|
||||
+ private static void shearsInDispenserCanZeroAmount() {
|
||||
+ shearsInDispenserCanZeroAmount = getBoolean("settings.shears-in-dispenser-can-zero-amount", shearsInDispenserCanZeroAmount);
|
||||
+ }
|
||||
+
|
||||
+ public static void registerCommands() {
|
||||
+ for (Map.Entry<String, Command> entry : commands.entrySet()) {
|
||||
+ MinecraftServer.getServer().server.getCommandMap().register(entry.getKey(), "Leaves", entry.getValue());
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
public static final class WorldConfig {
|
||||
|
||||
public final String worldName;
|
||||
Reference in New Issue
Block a user