Improve handeling of missplaced moving piston entities

This commit is contained in:
tr7zw 2020-03-31 18:39:54 +02:00
parent 4958e9327f
commit 057ecf1f49

View File

@ -1,4 +1,4 @@
From a58ce9d4f63fddd1921064ed79c5d3f7b9db72f2 Mon Sep 17 00:00:00 2001 From 861a02afb0c96a9876c2a742d6ea37b16e47c34e Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de> From: tr7zw <tr7zw@live.de>
Date: Sun, 29 Mar 2020 01:59:27 +0100 Date: Sun, 29 Mar 2020 01:59:27 +0100
Subject: [PATCH] Add option for pushable TileEntities Subject: [PATCH] Add option for pushable TileEntities
@ -10,7 +10,8 @@ Subject: [PATCH] Add option for pushable TileEntities
.../server/PistonExtendsChecker.java | 96 ++++- .../server/PistonExtendsChecker.java | 96 ++++-
.../java/net/minecraft/server/TileEntity.java | 6 + .../java/net/minecraft/server/TileEntity.java | 6 +
.../minecraft/server/TileEntityPiston.java | 369 ++++++++++++++++++ .../minecraft/server/TileEntityPiston.java | 369 ++++++++++++++++++
5 files changed, 524 insertions(+), 5 deletions(-) .../net/minecraft/server/WorldServer.java | 7 +
6 files changed, 531 insertions(+), 5 deletions(-)
create mode 100644 src/main/java/net/minecraft/server/TileEntityPiston.java create mode 100644 src/main/java/net/minecraft/server/TileEntityPiston.java
diff --git a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java diff --git a/src/main/java/de/tr7zw/yapfa/YapfaConfig.java b/src/main/java/de/tr7zw/yapfa/YapfaConfig.java
@ -667,6 +668,24 @@ index 000000000..b32f23198
+ +
+} +}
\ No newline at end of file \ No newline at end of file
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 90b9e7feb..37241e999 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -612,6 +612,13 @@ public class WorldServer extends World {
if (type instanceof ITileEntity) {
TileEntity replacement = ((ITileEntity) type).createTile(this);
+ // YAPFA start - Better handeling of missplaced tiles, moving_piston returns null!
+ if(type instanceof BlockPistonMoving) {
+ this.setAir(pos);
+ this.removeTileEntity(pos);
+ return null;
+ }
+ // YAPFA end
replacement.world = this;
this.setTileEntity(pos, replacement);
return replacement;
-- --
2.25.1.windows.1 2.25.1.windows.1