Stonecutter damage

This commit is contained in:
William Blake Galbreath
2020-10-05 12:54:22 -05:00
parent 8295d22ee3
commit 129484a641
2 changed files with 44 additions and 1 deletions

View File

@@ -1 +1 @@
1.16.3--1ab7b4eb563f1025700ccba92b574ed7b450062e
1.16.3--bfe85e2507e6b326b22182b30415805d94ec620f

View File

@@ -0,0 +1,43 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Mon, 5 Oct 2020 12:15:14 -0500
Subject: [PATCH] Stonecutter damage
diff --git a/src/main/java/net/minecraft/server/BlockStonecutter.java b/src/main/java/net/minecraft/server/BlockStonecutter.java
index 3e57abd33e..08ba9e1c4e 100644
--- a/src/main/java/net/minecraft/server/BlockStonecutter.java
+++ b/src/main/java/net/minecraft/server/BlockStonecutter.java
@@ -71,4 +71,16 @@ public class BlockStonecutter extends Block {
public boolean a(IBlockData iblockdata, IBlockAccess iblockaccess, BlockPosition blockposition, PathMode pathmode) {
return false;
}
+
+ // Purpur start
+ @Override
+ public void stepOn(World world, BlockPosition pos, Entity entity) {
+ if (world.purpurConfig.stonecutterDamage > 0.0F && entity instanceof EntityLiving) {
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = world.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ());
+ entity.damageEntity(DamageSource.CACTUS, world.purpurConfig.stonecutterDamage);
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null;
+ }
+ super.stepOn(world, pos, entity);
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 39e40e1573..595a64aee5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -375,6 +375,11 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}
+ public float stonecutterDamage = 0.0F;
+ private void stonecutterSettings() {
+ stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
+ }
+
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;