9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2026-01-04 15:41:31 +00:00
Files
LeavesMC/patches/server/0102-Zero-tick-plants.patch
2024-02-11 14:30:44 +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 e8dc4ea90d74036dacb0785fcb9125df192a4c22..80284b01b7dc08659b4daf631ba820a4fc12411b 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 232a3a0332d8d2c1ec625f3f2155316c69d95153..82dc22271ff425b228086e1e0da52404dc7cbb74 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 30300ef3ec839dfa944c992ab50db4d3859bb02e..0012973aafb19413d228119271c57cb620007292 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 04957d461d0e968d443737068aaeec1d0bce78b2..5fabb71d01aadfddd9ddd0db2f93d08a8ad7a900 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