ignore item_model component for don't run with scissors feature alongside custom_model_data component

by default, the "don't run with scissors" feature will not activate for shears that have an `item_model` component or `custom_model_data` component.

adds a new world config option at `gameplay-mechanics.item.shears.damage-if-sprinting-item-model` that allows specifying a custom item model ResourceLocation (`purpurmc:scissors` by default) for use with this feature.
This commit is contained in:
granny
2024-12-06 06:05:14 -08:00
parent 2af2e717b3
commit ffeb49da1e
96 changed files with 429 additions and 424 deletions

View File

@@ -42,10 +42,10 @@ index eaee34054233c8f0296b65a09f1287ba515496f2..83bd9b1eff5b7f581c3f0af6f0f15bdf
// Paper end - PlayerLaunchProjectileEvent
if (user instanceof net.minecraft.server.level.ServerPlayer) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6a4f411c723a1b0a5a05af66807f330a878377e1..35b0f46278c2c536c1b8738aea1b900e6f7065cf 100644
index e6c9b43eea433abb1a01d4bf591541b754beeebf..e196d391b4c1a02211f221ef10dda9df05c5ab5c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -195,6 +195,10 @@ public class PurpurWorldConfig {
@@ -196,6 +196,10 @@ public class PurpurWorldConfig {
public boolean ignoreScissorsInWater = false;
public boolean ignoreScissorsInLava = false;
public double scissorsRunningDamage = 1D;
@@ -56,7 +56,7 @@ index 6a4f411c723a1b0a5a05af66807f330a878377e1..35b0f46278c2c536c1b8738aea1b900e
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -236,6 +240,10 @@ public class PurpurWorldConfig {
@@ -238,6 +242,10 @@ public class PurpurWorldConfig {
ignoreScissorsInWater = getBoolean("gameplay-mechanics.item.shears.ignore-in-water", ignoreScissorsInWater);
ignoreScissorsInLava = getBoolean("gameplay-mechanics.item.shears.ignore-in-lava", ignoreScissorsInLava);
scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);