mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Only grow cactus/chorus fruit on random tick (MC-113809)
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
From 8d9d3cfcfde5a50364e88253afe35a82af735edb Mon Sep 17 00:00:00 2001
|
||||
From: Phoenix616 <mail@moep.tv>
|
||||
Date: Thu, 16 May 2019 01:33:46 +0100
|
||||
Subject: [PATCH] Only grow cactus/chorus fruit on random tick (MC-113809)
|
||||
|
||||
---
|
||||
src/main/java/net/minecraft/server/Block.java | 1 +
|
||||
src/main/java/net/minecraft/server/BlockCactus.java | 1 +
|
||||
src/main/java/net/minecraft/server/BlockChorusFlower.java | 1 +
|
||||
src/main/java/net/minecraft/server/WorldServer.java | 2 ++
|
||||
4 files changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
|
||||
index 8e16162a7..9b17269e6 100644
|
||||
--- a/src/main/java/net/minecraft/server/Block.java
|
||||
+++ b/src/main/java/net/minecraft/server/Block.java
|
||||
@@ -31,6 +31,7 @@ public class Block implements IMaterial {
|
||||
protected final boolean q;
|
||||
protected final SoundEffectType stepSound;
|
||||
protected final Material material;
|
||||
+ public boolean randomTick = false; // Purpur - fix MC-113809
|
||||
// Paper start
|
||||
public co.aikar.timings.Timing timing;
|
||||
public co.aikar.timings.Timing getTiming() {
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java
|
||||
index 29f9ff6c1..375ada5a4 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockCactus.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockCactus.java
|
||||
@@ -21,6 +21,7 @@ public class BlockCactus extends Block {
|
||||
if (!iblockdata.canPlace(world, blockposition)) {
|
||||
world.b(blockposition, true);
|
||||
} else {
|
||||
+ if (!randomTick) return; // Purpur - fix MC-113809
|
||||
BlockPosition blockposition1 = blockposition.up();
|
||||
|
||||
if (world.isEmpty(blockposition1)) {
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockChorusFlower.java b/src/main/java/net/minecraft/server/BlockChorusFlower.java
|
||||
index 74fa4889f..bbda083f6 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockChorusFlower.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockChorusFlower.java
|
||||
@@ -22,6 +22,7 @@ public class BlockChorusFlower extends Block {
|
||||
if (!iblockdata.canPlace(world, blockposition)) {
|
||||
world.b(blockposition, true);
|
||||
} else {
|
||||
+ if (!randomTick) return; // Purpur - fix MC-113809
|
||||
BlockPosition blockposition1 = blockposition.up();
|
||||
|
||||
if (world.isEmpty(blockposition1) && blockposition1.getY() < 256) {
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 548e4e02d..17c8f9ff8 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -447,7 +447,9 @@ public class WorldServer extends World {
|
||||
IBlockData iblockdata = chunksection.getType(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
|
||||
|
||||
if (iblockdata.q()&& (!purpurConfig.blockTickEvent || new net.pl3x.purpur.event.block.BlockTickEvent(getWorld(), blockposition2.x, blockposition2.y, blockposition2.z, true).callEvent())) { // Purpur
|
||||
+ iblockdata.getBlock().randomTick = true; // Purpur - fix MC-113809
|
||||
iblockdata.b((World) this, blockposition2, this.random);
|
||||
+ iblockdata.getBlock().randomTick = false; // Purpur - fix MC-113809
|
||||
}
|
||||
|
||||
Fluid fluid = chunksection.b(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
|
||||
--
|
||||
2.20.1
|
||||
|
||||
Reference in New Issue
Block a user