9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-23 17:09:26 +00:00
Files
LeavesMC/patches/server/0107-Zero-tick-plants.patch
2023-12-10 21:15:29 +08:00

95 lines
4.7 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: violetc <58360096+s-yh-china@users.noreply.github.com>
Date: Sun, 30 Jul 2023 12:20:16 +0800
Subject: [PATCH] Zero tick plants
diff --git a/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java b/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java
index 1dd85da8da9e2040d740c5f573e7438380f9a7a8..a7fd8a4a6eb252bac8641547cef3a76e47118fcc 100644
--- a/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java
@@ -122,8 +122,11 @@ public class BambooStalkBlock extends Block implements BonemealableBlock {
public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
if (!state.canSurvive(world, pos)) {
world.destroyBlock(pos, true);
+ // Leaves start - zero tick plants
+ } else if (top.leavesmc.leaves.LeavesConfig.zeroTickPlants) {
+ this.randomTick(state, world, pos, random);
+ // Leaves end - zero tick plants
}
-
}
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
index a9629a102c4fa4e5720e63fcf4590e9231426c62..b630f9c84e736bcc5d28e5ffd90bc47b2502d3de 100644
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
@@ -46,8 +46,11 @@ public class CactusBlock extends Block {
public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
if (!state.canSurvive(world, pos)) {
world.destroyBlock(pos, true);
+ // Leaves start - zero tick plants
+ } else if (top.leavesmc.leaves.LeavesConfig.zeroTickPlants) {
+ this.randomTick(state, world, pos, random);
+ // Leaves end - zero tick plants
}
-
}
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/ChorusFlowerBlock.java b/src/main/java/net/minecraft/world/level/block/ChorusFlowerBlock.java
index 0ab1bbd7c8dc8e45f754434357898d8fc990a021..107a3df31a77ff7d13e18691dc2c96024456a0d6 100644
--- a/src/main/java/net/minecraft/world/level/block/ChorusFlowerBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/ChorusFlowerBlock.java
@@ -51,8 +51,11 @@ public class ChorusFlowerBlock extends Block {
public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
if (!state.canSurvive(world, pos)) {
world.destroyBlock(pos, true);
+ // Leaves start - zero tick plants
+ } else if (top.leavesmc.leaves.LeavesConfig.zeroTickPlants) {
+ this.randomTick(state, world, pos, random);
+ // Leaves end - zero tick plants
}
-
}
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
index 4ebdc4918131a15a1c91b45e8ceb1392bca20a81..b7941eb8819592adb003adc2c6acb49c5f2709dc 100644
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
@@ -142,4 +142,15 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
protected GrowingPlantHeadBlock getHeadBlock() {
return this;
}
+
+ // Leaves start - zero tick plants
+ @Override
+ public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
+ if (!state.canSurvive(world, pos)) {
+ world.destroyBlock(pos, true);
+ } else if (top.leavesmc.leaves.LeavesConfig.zeroTickPlants) {
+ this.randomTick(state, world, pos, random);
+ }
+ }
+ // Leaves end - zero tick plants
}
diff --git a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
index ceaec1776067b7635c3952025f00f13f4ea86c88..81f8519b8d21d871ff3ddabb4a3674e8f35af82c 100644
--- a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
@@ -46,8 +46,11 @@ public class SugarCaneBlock extends Block {
public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) {
if (!state.canSurvive(world, pos)) {
world.destroyBlock(pos, true);
+ // Leaves start - zero tick plants
+ } else if (top.leavesmc.leaves.LeavesConfig.zeroTickPlants) {
+ this.randomTick(state, world, pos, random);
+ // Leaves end - zero tick plants
}
-
}
@Override