mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 08:57:44 +01:00
Upstream has released updates that appears to apply and compile correctly Paper Changes: 9dfe1321 Delay Chunk Unloads based on Player Movement f0409edc Drop Close region files patch, doesn't add any value. 700070c5 Fix undesirable behavior around world level changes due to priority
63 lines
2.9 KiB
Diff
63 lines
2.9 KiB
Diff
From a2e4cc2b1c6edb9a05f4ae40490c228442f6293c Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Thu, 6 Jun 2019 22:15:46 -0500
|
|
Subject: [PATCH] MC-168772 Fix - Add turtle egg block options
|
|
|
|
---
|
|
.../net/minecraft/server/BlockTurtleEgg.java | 19 ++++++++++++++++++-
|
|
.../net/pl3x/purpur/PurpurWorldConfig.java | 9 +++++++++
|
|
2 files changed, 27 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/BlockTurtleEgg.java b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
|
|
index cb36334e41..aa83ef1699 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockTurtleEgg.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
|
|
@@ -157,6 +157,23 @@ public class BlockTurtleEgg extends Block {
|
|
}
|
|
|
|
private boolean a(World world, Entity entity) {
|
|
- return entity instanceof EntityTurtle ? false : (entity instanceof EntityLiving && !(entity instanceof EntityHuman) ? world.getGameRules().getBoolean(GameRules.MOB_GRIEFING) : true);
|
|
+ // Purpur start - fix MC-168772
|
|
+ if (entity instanceof EntityTurtle) {
|
|
+ return false;
|
|
+ }
|
|
+ if (!world.purpurConfig.turtleEggsBreakFromExpOrbs && entity instanceof EntityExperienceOrb) {
|
|
+ return false;
|
|
+ }
|
|
+ if (!world.purpurConfig.turtleEggsBreakFromItems && entity instanceof EntityItem) {
|
|
+ return false;
|
|
+ }
|
|
+ if (!world.purpurConfig.turtleEggsBreakFromMinecarts && entity instanceof EntityMinecartAbstract) {
|
|
+ return false;
|
|
+ }
|
|
+ if (entity instanceof EntityLiving && !(entity instanceof EntityHuman)) {
|
|
+ return world.getGameRules().getBoolean(GameRules.MOB_GRIEFING);
|
|
+ }
|
|
+ return true;
|
|
+ // Purpur end
|
|
}
|
|
}
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
index 81969d2dc9..296274896e 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
@@ -191,6 +191,15 @@ public class PurpurWorldConfig {
|
|
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
|
|
}
|
|
|
|
+ public boolean turtleEggsBreakFromExpOrbs = true;
|
|
+ public boolean turtleEggsBreakFromItems = true;
|
|
+ public boolean turtleEggsBreakFromMinecarts = true;
|
|
+ private void turtleEggSettings() {
|
|
+ turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
|
|
+ turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
|
|
+ turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
|
|
+ }
|
|
+
|
|
public boolean boatEjectPlayersOnLand = false;
|
|
public float armorstandStepHeight = 0.0F;
|
|
public boolean controllableMinecarts = false;
|
|
--
|
|
2.26.2
|
|
|