mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 17:07:43 +01:00
Upstream has released updates that appears to apply and compile correctly Paper Changes: b75eeca0 Boost light task priority to ensure it doesnt hold up chunk loads 3d2bc848 Ensure VillagerTrades doesn't load async - fixes #3495 e470f1ef Add more information to Timing Reports f4a47db6 Improve Thread Pool usage to allow single threads for single cpu servers a4fe910f Fix sounds when using worldedit regen command 70ad51a8 Updated Upstream (Bukkit/CraftBukkit) d7cfa4fa Improve legacy format serialization more
68 lines
2.9 KiB
Diff
68 lines
2.9 KiB
Diff
From 1897ed89852ab0037f27f345b3f908c8cfff0e3d Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Fri, 23 Aug 2019 21:56:31 -0500
|
|
Subject: [PATCH] Option for slimes not pushable
|
|
|
|
---
|
|
src/main/java/net/minecraft/server/BlockPiston.java | 10 ++++++++++
|
|
src/main/java/net/minecraft/server/BlockSlime.java | 7 +++++++
|
|
src/main/java/net/pl3x/purpur/PurpurConfig.java | 5 +++++
|
|
3 files changed, 22 insertions(+)
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java
|
|
index b29525c40d..1e72b3bbc5 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockPiston.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockPiston.java
|
|
@@ -332,6 +332,16 @@ public class BlockPiston extends BlockDirectional {
|
|
} else {
|
|
event = new BlockPistonRetractEvent(bblock, blocks, CraftBlock.notchToBlockFace(enumdirection1));
|
|
}
|
|
+ // Purpur start
|
|
+ if (net.pl3x.purpur.PurpurConfig.slimeBlocksNotPushable) {
|
|
+ for (org.bukkit.block.Block block : blocks) {
|
|
+ if (block.getType() == org.bukkit.Material.SLIME_BLOCK) {
|
|
+ event.setCancelled(true);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ // Purpur end
|
|
world.getServer().getPluginManager().callEvent(event);
|
|
|
|
if (event.isCancelled()) {
|
|
diff --git a/src/main/java/net/minecraft/server/BlockSlime.java b/src/main/java/net/minecraft/server/BlockSlime.java
|
|
index 01f32659d9..52ab86f0b1 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockSlime.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockSlime.java
|
|
@@ -49,4 +49,11 @@ public class BlockSlime extends BlockHalfTransparent {
|
|
|
|
super.stepOn(world, blockposition, entity);
|
|
}
|
|
+
|
|
+ // Purpur start
|
|
+ @Override
|
|
+ public EnumPistonReaction getPushReaction(IBlockData iblockdata) {
|
|
+ return net.pl3x.purpur.PurpurConfig.slimeBlocksNotPushable ? EnumPistonReaction.BLOCK : super.getPushReaction(iblockdata);
|
|
+ }
|
|
+ // Purpur end
|
|
}
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
index ab20fa2fae..72ad9dce7d 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
|
@@ -149,6 +149,11 @@ public class PurpurConfig {
|
|
dontSendUselessEntityPackets = getBoolean("settings.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
|
|
}
|
|
|
|
+ public static boolean slimeBlocksNotPushable = false;
|
|
+ private static void blockSettings() {
|
|
+ slimeBlocksNotPushable = getBoolean("settings.blocks.slime.not-movable-by-piston", slimeBlocksNotPushable);
|
|
+ }
|
|
+
|
|
private static void timingsSettings() {
|
|
getString("settings.timings.url", "https://timings.pl3x.net");
|
|
}
|
|
--
|
|
2.24.0
|
|
|