mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-28 03:19:21 +00:00
62 lines
3.5 KiB
Diff
62 lines
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: HaHaWTH <fsjk947@gmail.com>
|
|
Date: Sun, 12 May 2024 16:04:13 +0800
|
|
Subject: [PATCH] Configurable-bamboo-collision
|
|
|
|
|
|
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 a5d391af2c6b733d653188f4aeeec2afffd96adf..5413c59c50f8cf60eaddbb0dce62b5e72f90e4fd 100644
|
|
--- a/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java
|
|
+++ b/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java
|
|
@@ -33,7 +33,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock {
|
|
protected static final float COLLISION_AABB_OFFSET = 1.5F;
|
|
protected static final VoxelShape SMALL_SHAPE = Block.box(5.0D, 0.0D, 5.0D, 11.0D, 16.0D, 11.0D);
|
|
protected static final VoxelShape LARGE_SHAPE = Block.box(3.0D, 0.0D, 3.0D, 13.0D, 16.0D, 13.0D);
|
|
- protected static final VoxelShape COLLISION_SHAPE = Block.box(6.5D, 0.0D, 6.5D, 9.5D, 16.0D, 9.5D);
|
|
+ protected static final VoxelShape COLLISION_SHAPE = org.dreeam.leaf.config.modules.gameplay.ConfigurableBambooCollision.enableCollision ? Block.box(6.5D, 0.0D, 6.5D, 9.5D, 16.0D, 9.5D) : Block.box(0.0D, 15.9D, 0.0D, 16.0D, 16.0D, 16.0D); // Leaf - Configurable bamboo collision
|
|
public static final IntegerProperty AGE = BlockStateProperties.AGE_1;
|
|
public static final EnumProperty<BambooLeaves> LEAVES = BlockStateProperties.BAMBOO_LEAVES;
|
|
public static final IntegerProperty STAGE = BlockStateProperties.STAGE;
|
|
@@ -73,9 +73,17 @@ public class BambooStalkBlock extends Block implements BonemealableBlock {
|
|
|
|
@Override
|
|
public VoxelShape getCollisionShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
|
|
- Vec3 vec3d = state.getOffset(world, pos);
|
|
+ // Leaf start - Configurable bamboo collision
|
|
+ if (org.dreeam.leaf.config.modules.gameplay.ConfigurableBambooCollision.enableCollision) {
|
|
+ Vec3 vec3d = state.getOffset(world, pos);
|
|
|
|
- return BambooStalkBlock.COLLISION_SHAPE.move(vec3d.x, vec3d.y, vec3d.z);
|
|
+ return BambooStalkBlock.COLLISION_SHAPE.move(vec3d.x, vec3d.y, vec3d.z);
|
|
+ } else {
|
|
+ return context.isAbove(net.minecraft.world.phys.shapes.Shapes.block(), pos, true)
|
|
+ ? COLLISION_SHAPE // Prevent desync
|
|
+ : net.minecraft.world.phys.shapes.Shapes.empty();
|
|
+ }
|
|
+ // Leaf end
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/org/dreeam/leaf/LeafConfig.java b/src/main/java/org/dreeam/leaf/LeafConfig.java
|
|
index e25b4f2ad080d0fbd6782cee305a7c5f4f206a2a..4eadad401c642ec28845f60ed7485bd35bc6b488 100644
|
|
--- a/src/main/java/org/dreeam/leaf/LeafConfig.java
|
|
+++ b/src/main/java/org/dreeam/leaf/LeafConfig.java
|
|
@@ -1,5 +1,6 @@
|
|
package org.dreeam.leaf;
|
|
|
|
+import com.electronwill.nightconfig.core.file.CommentedFileConfig;
|
|
import com.google.common.collect.ImmutableMap;
|
|
import net.minecraft.core.registries.BuiltInRegistries;
|
|
import java.util.concurrent.ThreadLocalRandom;
|
|
@@ -295,7 +296,9 @@ public class LeafConfig {
|
|
}
|
|
|
|
public static boolean fixTripwireDupe = true;
|
|
- private static void tripwireDupe() {
|
|
+ public static boolean configurableBambooCollision = true;
|
|
+ private static void gameplay() {
|
|
fixTripwireDupe = getBoolean("gameplay.fix-tripwire-dupe", fixTripwireDupe);
|
|
+ configurableBambooCollision = getBoolean("gameplay.configurable_bamboo_collision", configurableBambooCollision);
|
|
}
|
|
}
|