mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Fix falling campfires not going out in water
This commit is contained in:
@@ -1,18 +1,18 @@
|
|||||||
From b734f40218f86431a0774e90e1e55b1c1dcc9401 Mon Sep 17 00:00:00 2001
|
From 5a2392efe7030ebb3b440b35bfacd312b16f16dd Mon Sep 17 00:00:00 2001
|
||||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||||
Date: Thu, 23 May 2019 16:20:21 -0500
|
Date: Thu, 23 May 2019 16:20:21 -0500
|
||||||
Subject: [PATCH] Campfires should fall with gravity
|
Subject: [PATCH] Campfires should fall with gravity
|
||||||
|
|
||||||
---
|
---
|
||||||
.../java/net/minecraft/server/BlockCampfire.java | 15 +++++++++++++++
|
.../net/minecraft/server/BlockCampfire.java | 20 ++++++++++++++++++-
|
||||||
.../java/net/pl3x/purpur/PurpurWorldConfig.java | 5 +++++
|
.../net/pl3x/purpur/PurpurWorldConfig.java | 5 +++++
|
||||||
2 files changed, 20 insertions(+)
|
2 files changed, 24 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/BlockCampfire.java b/src/main/java/net/minecraft/server/BlockCampfire.java
|
diff --git a/src/main/java/net/minecraft/server/BlockCampfire.java b/src/main/java/net/minecraft/server/BlockCampfire.java
|
||||||
index e77fed937..410532886 100644
|
index e77fed937..3eb7edd6e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/BlockCampfire.java
|
--- a/src/main/java/net/minecraft/server/BlockCampfire.java
|
||||||
+++ b/src/main/java/net/minecraft/server/BlockCampfire.java
|
+++ b/src/main/java/net/minecraft/server/BlockCampfire.java
|
||||||
@@ -72,8 +72,23 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
|
@@ -72,8 +72,26 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
|
||||||
return (IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) this.getBlockData().set(BlockCampfire.d, flag)).set(BlockCampfire.c, this.j(world.getType(blockposition.down())))).set(BlockCampfire.b, !flag)).set(BlockCampfire.e, blockactioncontext.f());
|
return (IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) this.getBlockData().set(BlockCampfire.d, flag)).set(BlockCampfire.c, this.j(world.getType(blockposition.down())))).set(BlockCampfire.b, !flag)).set(BlockCampfire.e, blockactioncontext.f());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,6 +27,9 @@ index e77fed937..410532886 100644
|
|||||||
+ if (world.purpurConfig.campfireObeysGravity && BlockFalling.canFallThrough(world.getType(pos.down())) && pos.getY() >= 0) {
|
+ if (world.purpurConfig.campfireObeysGravity && BlockFalling.canFallThrough(world.getType(pos.down())) && pos.getY() >= 0) {
|
||||||
+ world.addEntity(new EntityFallingBlock(world, pos.getX() + 0.5D, pos.getY(), pos.getZ() + 0.5D, world.getType(pos)));
|
+ world.addEntity(new EntityFallingBlock(world, pos.getX() + 0.5D, pos.getY(), pos.getZ() + 0.5D, world.getType(pos)));
|
||||||
+ }
|
+ }
|
||||||
|
+ if (iblockdata.get(BlockCampfire.d) && iblockdata.get(BlockCampfire.b)) {
|
||||||
|
+ world.setTypeAndData(pos, iblockdata.set(BlockCampfire.b, false), 3);
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
+
|
+
|
||||||
@@ -36,6 +39,15 @@ index e77fed937..410532886 100644
|
|||||||
if ((Boolean) iblockdata.get(BlockCampfire.d)) {
|
if ((Boolean) iblockdata.get(BlockCampfire.d)) {
|
||||||
generatoraccess.getFluidTickList().a(blockposition, FluidTypes.WATER, FluidTypes.WATER.a((IWorldReader) generatoraccess));
|
generatoraccess.getFluidTickList().a(blockposition, FluidTypes.WATER, FluidTypes.WATER.a((IWorldReader) generatoraccess));
|
||||||
}
|
}
|
||||||
|
@@ -107,7 +125,7 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean place(GeneratorAccess generatoraccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid) {
|
||||||
|
- if (!(Boolean) iblockdata.get(BlockProperties.C) && fluid.getType() == FluidTypes.WATER) {
|
||||||
|
+ if (!(Boolean) iblockdata.get(BlockCampfire.d) && fluid.getType() == FluidTypes.WATER) { // Purpur
|
||||||
|
boolean flag = (Boolean) iblockdata.get(BlockCampfire.b);
|
||||||
|
|
||||||
|
if (flag) {
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
index becb6f3b7..e598099dd 100644
|
index becb6f3b7..e598099dd 100644
|
||||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||||
|
|||||||
Reference in New Issue
Block a user