mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Ignore CustomModelData when running with scissors
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors!
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 3d73f44edca1b13a98f858ae0c1fd0bc79055a12..a015afdc3fedb0c86a1bc2a59ee37fd41d74b8fd 100644
|
||||
index 3d73f44edca1b13a98f858ae0c1fd0bc79055a12..eebca9b362b8747aaec3708d4f233d398ba22ad1 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1555,6 +1555,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -13,7 +13,7 @@ index 3d73f44edca1b13a98f858ae0c1fd0bc79055a12..a015afdc3fedb0c86a1bc2a59ee37fd4
|
||||
}
|
||||
|
||||
+ // Purpur Start
|
||||
+ if (this.player.isSprinting() && this.player.level.purpurConfig.dontRunWithScissors && (this.player.getItemInHand(InteractionHand.MAIN_HAND).getItem() == Items.SHEARS || this.player.getItemInHand(InteractionHand.OFF_HAND).getItem() == Items.SHEARS) && (int) (Math.random() * 10) == 0) {
|
||||
+ if (this.player.level.purpurConfig.dontRunWithScissors && this.player.isSprinting() && (isScissor(this.player.getItemInHand(InteractionHand.MAIN_HAND)) || isScissor(this.player.getItemInHand(InteractionHand.OFF_HAND))) && (int) (Math.random() * 10) == 0) {
|
||||
+ this.player.hurt(net.minecraft.world.damagesource.DamageSource.MAGIC, (float) this.player.level.purpurConfig.scissorsRunningDamage);
|
||||
+ if (!net.pl3x.purpur.PurpurConfig.dontRunWithScissors.isBlank()) this.player.sendActionBarMessage(net.pl3x.purpur.PurpurConfig.dontRunWithScissors);
|
||||
+ }
|
||||
@@ -22,6 +22,26 @@ index 3d73f44edca1b13a98f858ae0c1fd0bc79055a12..a015afdc3fedb0c86a1bc2a59ee37fd4
|
||||
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
|
||||
this.lastGoodX = this.player.getX();
|
||||
this.lastGoodY = this.player.getY();
|
||||
@@ -1567,6 +1574,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
}
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ public boolean isScissor(ItemStack stack) {
|
||||
+ boolean hasCustomModelData = false;
|
||||
+ if (stack.getTag() != null) {
|
||||
+ if (stack.getTag().contains("CustomModelData") && stack.getTag().getInt("CustomModelData") != 0) {
|
||||
+ hasCustomModelData = true;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return stack.is(Items.SHEARS) && !hasCustomModelData;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
// Paper start - optimise out extra getCubes
|
||||
private boolean hasNewCollision(final ServerLevel world, final Entity entity, final AABB oldBox, final AABB newBox) {
|
||||
final List<AABB> collisions = io.papermc.paper.util.CachedLists.getTempCollisionList();
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index a51de18eee2caf87b710e3ab863b7157d093859c..d8ec1c94b018ce566ed81a41023b4192557dc06d 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
|
||||
@@ -36,10 +36,10 @@ index 693c6cbd90cde4d605931c6d80ae8056e260bf34..645c76e6dd50d915263db576650c7a62
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index a015afdc3fedb0c86a1bc2a59ee37fd41d74b8fd..852f7efbd2c60d51d50bf19df3acb6efdb5833ee 100644
|
||||
index eebca9b362b8747aaec3708d4f233d398ba22ad1..6b3aaaf7f2cbd72de2ad8834bea28c096ab1c7ba 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1902,6 +1902,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1915,6 +1915,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
boolean cancelled;
|
||||
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
|
||||
|
||||
Reference in New Issue
Block a user