[ci skip] a couple more patch identifying comments

This commit is contained in:
granny
2024-12-16 04:36:59 -08:00
parent 998a4e6973
commit e44078487f
6 changed files with 69 additions and 64 deletions

View File

@@ -159,14 +159,14 @@ index 97b5d6ba2b19a7c730730c74175a29157aed1840..cc2f23613644126c3f7506b26db8e6a8
public void restart() { public void restart() {
org.spigotmc.RestartCommand.restart(); org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 1c2439ffc1e407ff69286817d22f127470ce07ba..c1478bc1d8fc12dcb2e7f3fd4154f1ab762b4d34 100644 index 1c2439ffc1e407ff69286817d22f127470ce07ba..4257352ca30c2bf6de2c2cc700f9799263ae7c7e 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -176,6 +176,14 @@ public class Main { @@ -176,6 +176,14 @@ public class Main {
.describedAs("Jar file"); .describedAs("Jar file");
// Paper end // Paper end
+ // Purpur Start - Purpur config files + // Purpur start - Purpur config files
+ acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings") + acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings")
+ .withRequiredArg() + .withRequiredArg()
+ .ofType(File.class) + .ofType(File.class)

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Component related conveniences
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index be20eed6e3bfab7a78228dfb42b50f80ad3d817c..a8c89328222f84dd69ee5dc69b07ddd5705d3259 100644 index be20eed6e3bfab7a78228dfb42b50f80ad3d817c..09a7809b89a4f302a1149850d4daeb471365d189 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2236,6 +2236,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -2236,6 +2236,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -39,7 +39,7 @@ index be20eed6e3bfab7a78228dfb42b50f80ad3d817c..a8c89328222f84dd69ee5dc69b07ddd5
return new CommandSourceStack(this.commandSource(), this.position(), this.getRotationVector(), this.serverLevel(), this.getPermissionLevel(), this.getName().getString(), this.getDisplayName(), this.server, this); return new CommandSourceStack(this.commandSource(), this.position(), this.getRotationVector(), this.serverLevel(), this.getPermissionLevel(), this.getName().getString(), this.getDisplayName(), this.server, this);
} }
+ // Purpur Start - Component related conveniences + // Purpur start - Component related conveniences
+ public void sendMiniMessage(@Nullable String message) { + public void sendMiniMessage(@Nullable String message) {
+ if (message != null && !message.isEmpty()) { + if (message != null && !message.isEmpty()) {
+ this.sendMessage(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(message)); + this.sendMessage(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(message));
@@ -57,14 +57,14 @@ index be20eed6e3bfab7a78228dfb42b50f80ad3d817c..a8c89328222f84dd69ee5dc69b07ddd5
this.sendSystemMessage(message, false); this.sendSystemMessage(message, false);
} }
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 9b71655a425356132afb786eff623f558e1e3498..211cb78d2f80a027d8efe49954cc7aa9de3cb321 100644 index 9b71655a425356132afb786eff623f558e1e3498..98e803eaf5ce4c773f35fd752c21c7176707427c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -991,6 +991,20 @@ public abstract class PlayerList { @@ -991,6 +991,20 @@ public abstract class PlayerList {
} }
// CraftBukkit end // CraftBukkit end
+ // Purpur Start - Component related conveniences + // Purpur start - Component related conveniences
+ public void broadcastMiniMessage(@Nullable String message, boolean overlay) { + public void broadcastMiniMessage(@Nullable String message, boolean overlay) {
+ if (message != null && !message.isEmpty()) { + if (message != null && !message.isEmpty()) {
+ this.broadcastMessage(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(message), overlay); + this.broadcastMessage(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(message), overlay);

View File

@@ -6,19 +6,19 @@ Subject: [PATCH] Dont run with scissors!
inspired by https://modrinth.com/mod/dont-run-with-scissors inspired by https://modrinth.com/mod/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 diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index b4cd58ae2c89cb3875cff2bcbe60511d94a926d4..c8cf05ac72a7b30e8d2239c4e07c9cc52d5990e2 100644 index 472e63b385319411e670e29fa4b4e3dfb497a317..b865bf1f8b41cf4f30b3529dd1ced54e784eefdd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1721,6 +1721,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1721,6 +1721,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.tryResetCurrentImpulseContext(); this.player.tryResetCurrentImpulseContext();
} }
+ // Purpur Start + // Purpur start - Dont run with scissors!
+ if (this.player.serverLevel().purpurConfig.dontRunWithScissors && this.player.isSprinting() && !(this.player.serverLevel().purpurConfig.ignoreScissorsInWater && this.player.isInWater()) && !(this.player.serverLevel().purpurConfig.ignoreScissorsInLava && this.player.isInLava()) && (isScissors(this.player.getItemInHand(InteractionHand.MAIN_HAND)) || isScissors(this.player.getItemInHand(InteractionHand.OFF_HAND))) && (int) (Math.random() * 10) == 0) { + if (this.player.serverLevel().purpurConfig.dontRunWithScissors && this.player.isSprinting() && !(this.player.serverLevel().purpurConfig.ignoreScissorsInWater && this.player.isInWater()) && !(this.player.serverLevel().purpurConfig.ignoreScissorsInLava && this.player.isInLava()) && (isScissors(this.player.getItemInHand(InteractionHand.MAIN_HAND)) || isScissors(this.player.getItemInHand(InteractionHand.OFF_HAND))) && (int) (Math.random() * 10) == 0) {
+ this.player.hurtServer(this.player.serverLevel(), this.player.damageSources().scissors(), (float) this.player.serverLevel().purpurConfig.scissorsRunningDamage); + this.player.hurtServer(this.player.serverLevel(), this.player.damageSources().scissors(), (float) this.player.serverLevel().purpurConfig.scissorsRunningDamage);
+ if (!org.purpurmc.purpur.PurpurConfig.dontRunWithScissors.isBlank()) this.player.sendActionBarMessage(org.purpurmc.purpur.PurpurConfig.dontRunWithScissors); + if (!org.purpurmc.purpur.PurpurConfig.dontRunWithScissors.isBlank()) this.player.sendActionBarMessage(org.purpurmc.purpur.PurpurConfig.dontRunWithScissors);
+ } + }
+ // Purpur End + // Purpur end - Dont run with scissors!
+ +
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5); this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
this.lastGoodX = this.player.getX(); this.lastGoodX = this.player.getX();
@@ -27,7 +27,7 @@ index b4cd58ae2c89cb3875cff2bcbe60511d94a926d4..c8cf05ac72a7b30e8d2239c4e07c9cc5
} }
} }
+ // Purpur start + // Purpur start - Dont run with scissors!
+ public boolean isScissors(ItemStack stack) { + public boolean isScissors(ItemStack stack) {
+ if (!stack.is(Items.SHEARS)) return false; + if (!stack.is(Items.SHEARS)) return false;
+ +
@@ -36,36 +36,36 @@ index b4cd58ae2c89cb3875cff2bcbe60511d94a926d4..c8cf05ac72a7b30e8d2239c4e07c9cc5
+ +
+ return stack.getOrDefault(DataComponents.CUSTOM_MODEL_DATA, net.minecraft.world.item.component.CustomModelData.EMPTY).equals(net.minecraft.world.item.component.CustomModelData.EMPTY); + return stack.getOrDefault(DataComponents.CUSTOM_MODEL_DATA, net.minecraft.world.item.component.CustomModelData.EMPTY).equals(net.minecraft.world.item.component.CustomModelData.EMPTY);
+ } + }
+ // Purpur end + // Purpur end - Dont run with scissors!
+ +
// Paper start - optimise out extra getCubes // Paper start - optimise out extra getCubes
private boolean hasNewCollision(final ServerLevel world, final Entity entity, final AABB oldBox, final AABB newBox) { private boolean hasNewCollision(final ServerLevel world, final Entity entity, final AABB oldBox, final AABB newBox) {
final List<AABB> collisionsBB = new java.util.ArrayList<>(); final List<AABB> collisionsBB = new java.util.ArrayList<>();
diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
index 99a7e9eb75231c15bd8bb24fbb4e296bc9fdedff..a375d40ec6365ba8704ba3ece22dd5b2de9857b5 100644 index 99a7e9eb75231c15bd8bb24fbb4e296bc9fdedff..254aea4138afa1009a3c949a24c1a0fb8edbbd1d 100644
--- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java --- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
+++ b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java +++ b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
@@ -98,6 +98,11 @@ public class CombatTracker { @@ -98,6 +98,11 @@ public class CombatTracker {
Component component = ComponentUtils.wrapInSquareBrackets(Component.translatable(string + ".link")).withStyle(INTENTIONAL_GAME_DESIGN_STYLE); Component component = ComponentUtils.wrapInSquareBrackets(Component.translatable(string + ".link")).withStyle(INTENTIONAL_GAME_DESIGN_STYLE);
return Component.translatable(string + ".message", this.mob.getDisplayName(), component); return Component.translatable(string + ".message", this.mob.getDisplayName(), component);
} else { } else {
+ // Purpur start + // Purpur start - Dont run with scissors!
+ if (damageSource.isScissors()) { + if (damageSource.isScissors()) {
+ return damageSource.getLocalizedDeathMessage(org.purpurmc.purpur.PurpurConfig.deathMsgRunWithScissors, this.mob); + return damageSource.getLocalizedDeathMessage(org.purpurmc.purpur.PurpurConfig.deathMsgRunWithScissors, this.mob);
+ } + }
+ // Purpur end + // Purpur end - Dont run with scissors!
return damageSource.getLocalizedDeathMessage(this.mob); return damageSource.getLocalizedDeathMessage(this.mob);
} }
} }
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index c83e80ebdbbfb2d0e08561a44486a308d16f50af..aa65f4bf60172a2629daf6e15f7f48d29b250ee0 100644 index ab0ba4406dcaa915435c3f53ac9ca06fb21c673b..43985b4442145728c28bbeb9d18444a7c8f3a41f 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java --- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java +++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -29,6 +29,7 @@ public class DamageSource { @@ -29,6 +29,7 @@ public class DamageSource {
private boolean sweep = false; private boolean sweep = false;
private boolean melting = false; private boolean melting = false;
private boolean poison = false; private boolean poison = false;
+ private boolean scissors = false; // Purpur + private boolean scissors = false; // Purpur - Dont run with scissors!
@Nullable @Nullable
private Entity customEventDamager = null; // This field is a helper for when causing entity damage is not set by vanilla // Paper - fix DamageSource API private Entity customEventDamager = null; // This field is a helper for when causing entity damage is not set by vanilla // Paper - fix DamageSource API
@@ -73,7 +73,7 @@ index c83e80ebdbbfb2d0e08561a44486a308d16f50af..aa65f4bf60172a2629daf6e15f7f48d2
return this.poison; return this.poison;
} }
+ // Purpur start + // Purpur start - Dont run with scissors!
+ public DamageSource scissors() { + public DamageSource scissors() {
+ this.scissors = true; + this.scissors = true;
+ return this; + return this;
@@ -82,7 +82,7 @@ index c83e80ebdbbfb2d0e08561a44486a308d16f50af..aa65f4bf60172a2629daf6e15f7f48d2
+ public boolean isScissors() { + public boolean isScissors() {
+ return this.scissors; + return this.scissors;
+ } + }
+ // Purpur end + // Purpur end - Dont run with scissors!
+ +
// Paper start - fix DamageSource API // Paper start - fix DamageSource API
@Nullable @Nullable
@@ -91,25 +91,25 @@ index c83e80ebdbbfb2d0e08561a44486a308d16f50af..aa65f4bf60172a2629daf6e15f7f48d2
damageSource.sweep = this.isSweep(); damageSource.sweep = this.isSweep();
damageSource.poison = this.isPoison(); damageSource.poison = this.isPoison();
damageSource.melting = this.isMelting(); damageSource.melting = this.isMelting();
+ damageSource.scissors = this.isScissors(); // Purpur + damageSource.scissors = this.isScissors(); // Purpur - Dont run with scissors!
return damageSource; return damageSource;
} }
// CraftBukkit end // CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSources.java b/src/main/java/net/minecraft/world/damagesource/DamageSources.java diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSources.java b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
index be87cb3cfa15a7d889118cdc4b87232e30749023..61e906fb47b242e86789dca1a210473c76863166 100644 index be87cb3cfa15a7d889118cdc4b87232e30749023..a4f710ad1aecd8265cde8d71d55eea952cd3c03b 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSources.java --- a/src/main/java/net/minecraft/world/damagesource/DamageSources.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSources.java +++ b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
@@ -46,11 +46,13 @@ public class DamageSources { @@ -46,11 +46,13 @@ public class DamageSources {
// CraftBukkit start // CraftBukkit start
private final DamageSource melting; private final DamageSource melting;
private final DamageSource poison; private final DamageSource poison;
+ private final DamageSource scissors; // Purpur + private final DamageSource scissors; // Purpur - Dont run with scissors!
public DamageSources(RegistryAccess registryManager) { public DamageSources(RegistryAccess registryManager) {
this.damageTypes = registryManager.lookupOrThrow(Registries.DAMAGE_TYPE); this.damageTypes = registryManager.lookupOrThrow(Registries.DAMAGE_TYPE);
this.melting = this.source(DamageTypes.ON_FIRE).melting(); this.melting = this.source(DamageTypes.ON_FIRE).melting();
this.poison = this.source(DamageTypes.MAGIC).poison(); this.poison = this.source(DamageTypes.MAGIC).poison();
+ this.scissors = this.source(DamageTypes.MAGIC).scissors(); // Purpur + this.scissors = this.source(DamageTypes.MAGIC).scissors(); // Purpur - Dont run with scissors!
// CraftBukkit end // CraftBukkit end
this.inFire = this.source(DamageTypes.IN_FIRE); this.inFire = this.source(DamageTypes.IN_FIRE);
this.campfire = this.source(DamageTypes.CAMPFIRE); this.campfire = this.source(DamageTypes.CAMPFIRE);
@@ -117,17 +117,17 @@ index be87cb3cfa15a7d889118cdc4b87232e30749023..61e906fb47b242e86789dca1a210473c
} }
// CraftBukkit end // CraftBukkit end
+ // Purpur start + // Purpur start - Dont run with scissors!
+ public DamageSource scissors() { + public DamageSource scissors() {
+ return this.scissors; + return this.scissors;
+ } + }
+ // Purpur end + // Purpur end - Dont run with scissors!
+ +
public DamageSource inFire() { public DamageSource inFire() {
return this.inFire; return this.inFire;
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 64c84cb6cc647ca37a0664b83eb24e7202aeb1e2..28800c519ab8a6648d632a577ffbecae175f3844 100644 index 6c7b7d6c6aff3dfd4bcc307c004513cf23f44a4d..693b9f04a35f055ea21a1b6be5ac27a04f1d80ad 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -186,6 +186,7 @@ public class PurpurConfig { @@ -186,6 +186,7 @@ public class PurpurConfig {

View File

@@ -5,14 +5,14 @@ Subject: [PATCH] Beacon Activation Range Configurable
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
index 0e0d178f2793ab014358f534c8dc53218b89f083..fbc6b0099af34b0247f6144a9cef020f9ccddeef 100644 index 0e0d178f2793ab014358f534c8dc53218b89f083..15a24cad5700cc1fe7430e425909869be84fe928 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
@@ -92,6 +92,16 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name @@ -92,6 +92,16 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
public double getEffectRange() { public double getEffectRange() {
if (this.effectRange < 0) { if (this.effectRange < 0) {
+ // Purpur Start + // Purpur start - Beacon Activation Range Configurable
+ if (this.level != null) { + if (this.level != null) {
+ switch (this.levels) { + switch (this.levels) {
+ case 1: return this.level.purpurConfig.beaconLevelOne; + case 1: return this.level.purpurConfig.beaconLevelOne;
@@ -21,7 +21,7 @@ index 0e0d178f2793ab014358f534c8dc53218b89f083..fbc6b0099af34b0247f6144a9cef020f
+ case 4: return this.level.purpurConfig.beaconLevelFour; + case 4: return this.level.purpurConfig.beaconLevelFour;
+ } + }
+ } + }
+ // Purpur End + // Purpur end - Beacon Activation Range Configurable
return this.levels * 10 + 10; return this.levels * 10 + 10;
} else { } else {
return effectRange; return effectRange;

View File

@@ -5,35 +5,37 @@ Subject: [PATCH] Stonecutter damage
diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
index a375d40ec6365ba8704ba3ece22dd5b2de9857b5..357a79d72a2de02a019595e457fe432bf409e516 100644 index 254aea4138afa1009a3c949a24c1a0fb8edbbd1d..10afc08930d7fe27ffa396ec5a10afb7769a3f0b 100644
--- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java --- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
+++ b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java +++ b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
@@ -101,6 +101,8 @@ public class CombatTracker { @@ -101,6 +101,10 @@ public class CombatTracker {
// Purpur start // Purpur start - Dont run with scissors!
if (damageSource.isScissors()) { if (damageSource.isScissors()) {
return damageSource.getLocalizedDeathMessage(org.purpurmc.purpur.PurpurConfig.deathMsgRunWithScissors, this.mob); return damageSource.getLocalizedDeathMessage(org.purpurmc.purpur.PurpurConfig.deathMsgRunWithScissors, this.mob);
+ // Purpur start - Stonecutter damage
+ } else if (damageSource.isStonecutter()) { + } else if (damageSource.isStonecutter()) {
+ return damageSource.getLocalizedDeathMessage(org.purpurmc.purpur.PurpurConfig.deathMsgStonecutter, this.mob); + return damageSource.getLocalizedDeathMessage(org.purpurmc.purpur.PurpurConfig.deathMsgStonecutter, this.mob);
+ // Purpur end - Stonecutter damage
} }
// Purpur end // Purpur end - Dont run with scissors!
return damageSource.getLocalizedDeathMessage(this.mob); return damageSource.getLocalizedDeathMessage(this.mob);
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index aa65f4bf60172a2629daf6e15f7f48d29b250ee0..d95d122601dd47a27e8d82a13b071919c360fe68 100644 index 43985b4442145728c28bbeb9d18444a7c8f3a41f..ccdf9d40b767115e0e6db2c29af42f5ec4c40f85 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java --- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java +++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -30,6 +30,7 @@ public class DamageSource { @@ -30,6 +30,7 @@ public class DamageSource {
private boolean melting = false; private boolean melting = false;
private boolean poison = false; private boolean poison = false;
private boolean scissors = false; // Purpur private boolean scissors = false; // Purpur - Dont run with scissors!
+ private boolean stonecutter = false; // Purpur + private boolean stonecutter = false; // Purpur - Stonecutter damage
@Nullable @Nullable
private Entity customEventDamager = null; // This field is a helper for when causing entity damage is not set by vanilla // Paper - fix DamageSource API private Entity customEventDamager = null; // This field is a helper for when causing entity damage is not set by vanilla // Paper - fix DamageSource API
@@ -69,6 +70,15 @@ public class DamageSource { @@ -70,6 +71,16 @@ public class DamageSource {
public boolean isScissors() {
return this.scissors; return this.scissors;
} }
+ // Purpur end - Dont run with scissors!
+ // Purpur start - - Stonecutter damage
+ public DamageSource stonecutter() { + public DamageSource stonecutter() {
+ this.stonecutter = true; + this.stonecutter = true;
+ return this; + return this;
@@ -42,48 +44,51 @@ index aa65f4bf60172a2629daf6e15f7f48d29b250ee0..d95d122601dd47a27e8d82a13b071919
+ public boolean isStonecutter() { + public boolean isStonecutter() {
+ return this.stonecutter; + return this.stonecutter;
+ } + }
// Purpur end + // Purpur end - Stonecutter damage
// Paper start - fix DamageSource API // Paper start - fix DamageSource API
@@ -130,6 +140,7 @@ public class DamageSource { @Nullable
@@ -130,6 +141,7 @@ public class DamageSource {
damageSource.poison = this.isPoison(); damageSource.poison = this.isPoison();
damageSource.melting = this.isMelting(); damageSource.melting = this.isMelting();
damageSource.scissors = this.isScissors(); // Purpur damageSource.scissors = this.isScissors(); // Purpur - Dont run with scissors!
+ damageSource.stonecutter = this.isStonecutter(); // Purpur + damageSource.stonecutter = this.isStonecutter(); // Purpur - Stonecutter damage
return damageSource; return damageSource;
} }
// CraftBukkit end // CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSources.java b/src/main/java/net/minecraft/world/damagesource/DamageSources.java diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSources.java b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
index 61e906fb47b242e86789dca1a210473c76863166..d343fd5c9f31073f1b3a0f91b8ea61a67077cc12 100644 index a4f710ad1aecd8265cde8d71d55eea952cd3c03b..820533b6a13b1f8abbfe378de6b5d66ce2b79835 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSources.java --- a/src/main/java/net/minecraft/world/damagesource/DamageSources.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSources.java +++ b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
@@ -47,12 +47,14 @@ public class DamageSources { @@ -47,12 +47,14 @@ public class DamageSources {
private final DamageSource melting; private final DamageSource melting;
private final DamageSource poison; private final DamageSource poison;
private final DamageSource scissors; // Purpur private final DamageSource scissors; // Purpur - Dont run with scissors!
+ private final DamageSource stonecutter; // Purpur + private final DamageSource stonecutter; // Purpur - Stonecutter damage
public DamageSources(RegistryAccess registryManager) { public DamageSources(RegistryAccess registryManager) {
this.damageTypes = registryManager.lookupOrThrow(Registries.DAMAGE_TYPE); this.damageTypes = registryManager.lookupOrThrow(Registries.DAMAGE_TYPE);
this.melting = this.source(DamageTypes.ON_FIRE).melting(); this.melting = this.source(DamageTypes.ON_FIRE).melting();
this.poison = this.source(DamageTypes.MAGIC).poison(); this.poison = this.source(DamageTypes.MAGIC).poison();
this.scissors = this.source(DamageTypes.MAGIC).scissors(); // Purpur this.scissors = this.source(DamageTypes.MAGIC).scissors(); // Purpur - Dont run with scissors!
+ this.stonecutter = this.source(DamageTypes.MAGIC).stonecutter(); // Purpur + this.stonecutter = this.source(DamageTypes.MAGIC).stonecutter(); // Purpur - Stonecutter damage
// CraftBukkit end // CraftBukkit end
this.inFire = this.source(DamageTypes.IN_FIRE); this.inFire = this.source(DamageTypes.IN_FIRE);
this.campfire = this.source(DamageTypes.CAMPFIRE); this.campfire = this.source(DamageTypes.CAMPFIRE);
@@ -107,6 +109,9 @@ public class DamageSources { @@ -109,6 +111,11 @@ public class DamageSources {
public DamageSource scissors() {
return this.scissors;
} }
// Purpur end - Dont run with scissors!
+ // Purpur start - Stonecutter damage
+ public DamageSource stonecutter() { + public DamageSource stonecutter() {
+ return this.stonecutter; + return this.stonecutter;
+ } + }
// Purpur end + // Purpur end - Stonecutter damage
public DamageSource inFire() { public DamageSource inFire() {
return this.inFire;
}
diff --git a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
index f1366aea49206afcd64bf058ee673d6a562315c5..ff655401c7aecba5acd8d241e844d77364f09f35 100644 index f1366aea49206afcd64bf058ee673d6a562315c5..e93d1eba4fcd02e15287a1a66da94e695806a470 100644
--- a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java --- a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java +++ b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
@@ -93,4 +93,14 @@ public class StonecutterBlock extends Block { @@ -93,4 +93,14 @@ public class StonecutterBlock extends Block {
@@ -91,18 +96,18 @@ index f1366aea49206afcd64bf058ee673d6a562315c5..ff655401c7aecba5acd8d241e844d773
return false; return false;
} }
+ +
+ // Purpur start + // Purpur start - Stonecutter damage
+ @Override + @Override
+ public void stepOn(Level level, BlockPos pos, BlockState state, net.minecraft.world.entity.Entity entity) { + public void stepOn(Level level, BlockPos pos, BlockState state, net.minecraft.world.entity.Entity entity) {
+ if (level.purpurConfig.stonecutterDamage > 0.0F && entity instanceof net.minecraft.world.entity.LivingEntity) { + if (level.purpurConfig.stonecutterDamage > 0.0F && entity instanceof net.minecraft.world.entity.LivingEntity) {
+ entity.hurt(entity.damageSources().stonecutter().directBlock(level, pos), level.purpurConfig.stonecutterDamage); + entity.hurtServer((net.minecraft.server.level.ServerLevel) level, entity.damageSources().stonecutter().directBlock(level, pos), level.purpurConfig.stonecutterDamage);
+ } + }
+ super.stepOn(level, pos, state, entity); + super.stepOn(level, pos, state, entity);
+ } + }
+ // Purpur end + // Purpur end - Stonecutter damage
} }
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
index f6291ff377b38cb84692a9fd564b4b1a9780cf4f..224896124706764412033c8726c822e116f2c0f1 100644 index e295fe4aac742ff8942b23456fdce8d7ff944e90..b65512f65e06865cc4d2964bd4ca2806784be738 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
+++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
@@ -491,7 +491,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { @@ -491,7 +491,7 @@ public class WalkNodeEvaluator extends NodeEvaluator {
@@ -110,12 +115,12 @@ index f6291ff377b38cb84692a9fd564b4b1a9780cf4f..224896124706764412033c8726c822e1
} else if (blockState.is(Blocks.POWDER_SNOW)) { } else if (blockState.is(Blocks.POWDER_SNOW)) {
return PathType.POWDER_SNOW; return PathType.POWDER_SNOW;
- } else if (blockState.is(Blocks.CACTUS) || blockState.is(Blocks.SWEET_BERRY_BUSH)) { - } else if (blockState.is(Blocks.CACTUS) || blockState.is(Blocks.SWEET_BERRY_BUSH)) {
+ } else if (blockState.is(Blocks.CACTUS) || blockState.is(Blocks.SWEET_BERRY_BUSH) || blockState.is(Blocks.STONECUTTER)) { // Purpur + } else if (blockState.is(Blocks.CACTUS) || blockState.is(Blocks.SWEET_BERRY_BUSH) || blockState.is(Blocks.STONECUTTER)) { // Purpur - Stonecutter damage
return PathType.DAMAGE_OTHER; return PathType.DAMAGE_OTHER;
} else if (blockState.is(Blocks.HONEY_BLOCK)) { } else if (blockState.is(Blocks.HONEY_BLOCK)) {
return PathType.STICKY_HONEY; return PathType.STICKY_HONEY;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index e3013916952012e69a23ac2efe9fc5e31a2b3d87..763d06265c7d0000e4c641c3aaba785bb0efb23e 100644 index eb2f9bfdaf3ed8a684337a15365e70174d1533b3..d52d41d8c56e017f95914da19b05c3d79f8f1640 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1140,7 +1140,7 @@ public class CraftEventFactory { @@ -1140,7 +1140,7 @@ public class CraftEventFactory {
@@ -123,7 +128,7 @@ index e3013916952012e69a23ac2efe9fc5e31a2b3d87..763d06265c7d0000e4c641c3aaba785b
} else if (source.getDirectBlock() != null) { } else if (source.getDirectBlock() != null) {
DamageCause cause; DamageCause cause;
- if (source.is(DamageTypes.CACTUS) || source.is(DamageTypes.SWEET_BERRY_BUSH) || source.is(DamageTypes.STALAGMITE) || source.is(DamageTypes.FALLING_STALACTITE) || source.is(DamageTypes.FALLING_ANVIL)) { - if (source.is(DamageTypes.CACTUS) || source.is(DamageTypes.SWEET_BERRY_BUSH) || source.is(DamageTypes.STALAGMITE) || source.is(DamageTypes.FALLING_STALACTITE) || source.is(DamageTypes.FALLING_ANVIL)) {
+ if (source.is(DamageTypes.CACTUS) || source.is(DamageTypes.SWEET_BERRY_BUSH) || source.is(DamageTypes.STALAGMITE) || source.is(DamageTypes.FALLING_STALACTITE) || source.is(DamageTypes.FALLING_ANVIL) || source.isStonecutter()) { // Purpur + if (source.is(DamageTypes.CACTUS) || source.is(DamageTypes.SWEET_BERRY_BUSH) || source.is(DamageTypes.STALAGMITE) || source.is(DamageTypes.FALLING_STALACTITE) || source.is(DamageTypes.FALLING_ANVIL) || source.isStonecutter()) { // Purpur - Stonecutter damage
cause = DamageCause.CONTACT; cause = DamageCause.CONTACT;
} else if (source.is(DamageTypes.HOT_FLOOR)) { } else if (source.is(DamageTypes.HOT_FLOOR)) {
cause = DamageCause.HOT_FLOOR; cause = DamageCause.HOT_FLOOR;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option for always showing item in player death messages
diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java diff --git a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
index 357a79d72a2de02a019595e457fe432bf409e516..4fb025a63628eb60509d90b680922a0220104bcb 100644 index 10afc08930d7fe27ffa396ec5a10afb7769a3f0b..6853b91e047b92ae4042a26d6aad84874be11709 100644
--- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java --- a/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
+++ b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java +++ b/src/main/java/net/minecraft/world/damagesource/CombatTracker.java
@@ -54,7 +54,7 @@ public class CombatTracker { @@ -54,7 +54,7 @@ public class CombatTracker {
@@ -18,10 +18,10 @@ index 357a79d72a2de02a019595e457fe432bf409e516..4fb025a63628eb60509d90b680922a02
: Component.translatable(deathTranslationKey, this.mob.getDisplayName(), attackerDisplayName); : Component.translatable(deathTranslationKey, this.mob.getDisplayName(), attackerDisplayName);
} }
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index d95d122601dd47a27e8d82a13b071919c360fe68..4a96d914f8aa6f0c5f13fc85369a311f25835ac2 100644 index ccdf9d40b767115e0e6db2c29af42f5ec4c40f85..3781bca61379516d537650c79c614933454fdcd8 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java --- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java +++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -218,7 +218,7 @@ public class DamageSource { @@ -219,7 +219,7 @@ public class DamageSource {
ItemStack itemstack1 = itemstack; ItemStack itemstack1 = itemstack;
@@ -31,7 +31,7 @@ index d95d122601dd47a27e8d82a13b071919c360fe68..4a96d914f8aa6f0c5f13fc85369a311f
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 334bcf9f24c6b658664424fd960dad6fb9e28c7d..e2b2eb66907f3a35792a59d68509abda1dd34ccb 100644 index 535c7d6298ca62ea1bf808ac8deec1d2381b3831..ab672b9041ae40ba3e78bc5f9f465ee70e420993 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -577,4 +577,9 @@ public class PurpurConfig { @@ -577,4 +577,9 @@ public class PurpurConfig {