mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
135 lines
8.3 KiB
Diff
135 lines
8.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
|
Date: Wed, 5 Feb 2025 23:42:22 +0800
|
|
Subject: [PATCH] Renewable coral
|
|
|
|
|
|
diff --git a/net/minecraft/world/level/block/CoralFanBlock.java b/net/minecraft/world/level/block/CoralFanBlock.java
|
|
index a10af527340d26b9cfd59f73a2518ce31ea5c464..5beaa24e96f3057cfd38df691306c78fcedf669c 100644
|
|
--- a/net/minecraft/world/level/block/CoralFanBlock.java
|
|
+++ b/net/minecraft/world/level/block/CoralFanBlock.java
|
|
@@ -13,7 +13,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour;
|
|
import net.minecraft.world.level.block.state.BlockState;
|
|
import net.minecraft.world.level.material.Fluids;
|
|
|
|
-public class CoralFanBlock extends BaseCoralFanBlock {
|
|
+public class CoralFanBlock extends BaseCoralFanBlock implements org.leavesmc.leaves.util.FertilizableCoral { // Leaves - renewable coral
|
|
public static final MapCodec<CoralFanBlock> CODEC = RecordCodecBuilder.mapCodec(
|
|
instance -> instance.group(CoralBlock.DEAD_CORAL_FIELD.forGetter(coralFanBlock -> coralFanBlock.deadBlock), propertiesCodec())
|
|
.apply(instance, CoralFanBlock::new)
|
|
@@ -69,4 +69,11 @@ public class CoralFanBlock extends BaseCoralFanBlock {
|
|
return super.updateShape(state, level, scheduledTickAccess, pos, direction, neighborPos, neighborState, random);
|
|
}
|
|
}
|
|
+
|
|
+ // Leaves start - renewable coral
|
|
+ @Override
|
|
+ public boolean isEnabled() {
|
|
+ return org.leavesmc.leaves.LeavesConfig.modify.renewableCoral == org.leavesmc.leaves.LeavesConfig.ModifyConfig.RenewableCoralType.EXPANDED;
|
|
+ }
|
|
+ // Leaves end - renewable coral
|
|
}
|
|
diff --git a/net/minecraft/world/level/block/CoralPlantBlock.java b/net/minecraft/world/level/block/CoralPlantBlock.java
|
|
index 20396db7afb93bc8ea5b7ae28a76ca82bd1a4535..9fc66adcb3ffdbfee5ad6b76a01e396634a6f4e5 100644
|
|
--- a/net/minecraft/world/level/block/CoralPlantBlock.java
|
|
+++ b/net/minecraft/world/level/block/CoralPlantBlock.java
|
|
@@ -16,7 +16,7 @@ import net.minecraft.world.level.material.Fluids;
|
|
import net.minecraft.world.phys.shapes.CollisionContext;
|
|
import net.minecraft.world.phys.shapes.VoxelShape;
|
|
|
|
-public class CoralPlantBlock extends BaseCoralPlantTypeBlock {
|
|
+public class CoralPlantBlock extends BaseCoralPlantTypeBlock implements org.leavesmc.leaves.util.FertilizableCoral { // Leaves - renewable coral
|
|
public static final MapCodec<CoralPlantBlock> CODEC = RecordCodecBuilder.mapCodec(
|
|
instance -> instance.group(CoralBlock.DEAD_CORAL_FIELD.forGetter(coralPlantBlock -> coralPlantBlock.deadBlock), propertiesCodec())
|
|
.apply(instance, CoralPlantBlock::new)
|
|
@@ -78,4 +78,12 @@ public class CoralPlantBlock extends BaseCoralPlantTypeBlock {
|
|
protected VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) {
|
|
return SHAPE;
|
|
}
|
|
+
|
|
+ // Leaves start - renewable coral
|
|
+ @Override
|
|
+ public boolean isEnabled() {
|
|
+ return org.leavesmc.leaves.LeavesConfig.modify.renewableCoral == org.leavesmc.leaves.LeavesConfig.ModifyConfig.RenewableCoralType.EXPANDED
|
|
+ || org.leavesmc.leaves.LeavesConfig.modify.renewableCoral == org.leavesmc.leaves.LeavesConfig.ModifyConfig.RenewableCoralType.TRUE;
|
|
+ }
|
|
+ // Leaves end - renewable coral
|
|
}
|
|
diff --git a/net/minecraft/world/level/block/CoralWallFanBlock.java b/net/minecraft/world/level/block/CoralWallFanBlock.java
|
|
index af0cc07404032032211ca4e377e8af681af2d7ab..7a0033ebce5f5058f331b32bb57e5f586a3d9d21 100644
|
|
--- a/net/minecraft/world/level/block/CoralWallFanBlock.java
|
|
+++ b/net/minecraft/world/level/block/CoralWallFanBlock.java
|
|
@@ -13,7 +13,7 @@ import net.minecraft.world.level.block.state.BlockBehaviour;
|
|
import net.minecraft.world.level.block.state.BlockState;
|
|
import net.minecraft.world.level.material.Fluids;
|
|
|
|
-public class CoralWallFanBlock extends BaseCoralWallFanBlock {
|
|
+public class CoralWallFanBlock extends BaseCoralWallFanBlock implements org.leavesmc.leaves.util.FertilizableCoral { // Leaves - renewable coral
|
|
public static final MapCodec<CoralWallFanBlock> CODEC = RecordCodecBuilder.mapCodec(
|
|
instance -> instance.group(CoralBlock.DEAD_CORAL_FIELD.forGetter(coralWallFanBlock -> coralWallFanBlock.deadBlock), propertiesCodec())
|
|
.apply(instance, CoralWallFanBlock::new)
|
|
@@ -69,4 +69,11 @@ public class CoralWallFanBlock extends BaseCoralWallFanBlock {
|
|
return super.updateShape(state, level, scheduledTickAccess, pos, direction, neighborPos, neighborState, random);
|
|
}
|
|
}
|
|
+
|
|
+ // Leaves start - renewable coral
|
|
+ @Override
|
|
+ public boolean isEnabled() {
|
|
+ return org.leavesmc.leaves.LeavesConfig.modify.renewableCoral == org.leavesmc.leaves.LeavesConfig.ModifyConfig.RenewableCoralType.EXPANDED;
|
|
+ }
|
|
+ // Leaves end - renewable coral
|
|
}
|
|
diff --git a/net/minecraft/world/level/levelgen/feature/CoralClawFeature.java b/net/minecraft/world/level/levelgen/feature/CoralClawFeature.java
|
|
index abb8519ede1c2271c98497a8e3336f0ad89c340d..f5009d112b32ce91296ed84310bb9bf48bc0e408 100644
|
|
--- a/net/minecraft/world/level/levelgen/feature/CoralClawFeature.java
|
|
+++ b/net/minecraft/world/level/levelgen/feature/CoralClawFeature.java
|
|
@@ -17,7 +17,7 @@ public class CoralClawFeature extends CoralFeature {
|
|
}
|
|
|
|
@Override
|
|
- protected boolean placeFeature(LevelAccessor level, RandomSource random, BlockPos pos, BlockState state) {
|
|
+ public boolean placeFeature(LevelAccessor level, RandomSource random, BlockPos pos, BlockState state) { // Leaves - protected -> public
|
|
if (!this.placeCoralBlock(level, random, pos, state)) {
|
|
return false;
|
|
} else {
|
|
diff --git a/net/minecraft/world/level/levelgen/feature/CoralFeature.java b/net/minecraft/world/level/levelgen/feature/CoralFeature.java
|
|
index 2569754d96694edbc1fe64e6048d6ec26cbe243e..88d38433ffb78fbdd04d9adf53d584c492dc8ec7 100644
|
|
--- a/net/minecraft/world/level/levelgen/feature/CoralFeature.java
|
|
+++ b/net/minecraft/world/level/levelgen/feature/CoralFeature.java
|
|
@@ -31,7 +31,7 @@ public abstract class CoralFeature extends Feature<NoneFeatureConfiguration> {
|
|
return !optional.isEmpty() && this.placeFeature(worldGenLevel, randomSource, blockPos, optional.get().defaultBlockState());
|
|
}
|
|
|
|
- protected abstract boolean placeFeature(LevelAccessor level, RandomSource random, BlockPos pos, BlockState state);
|
|
+ public abstract boolean placeFeature(LevelAccessor level, RandomSource random, BlockPos pos, BlockState state); // Leaves - protected -> public
|
|
|
|
protected boolean placeCoralBlock(LevelAccessor level, RandomSource random, BlockPos pos, BlockState state) {
|
|
BlockPos blockPos = pos.above();
|
|
diff --git a/net/minecraft/world/level/levelgen/feature/CoralMushroomFeature.java b/net/minecraft/world/level/levelgen/feature/CoralMushroomFeature.java
|
|
index cd550c704cbe46727caf965d7910d2a1d55f5697..29c5c8ed793834dd5bbafb89e48670a30dc8184d 100644
|
|
--- a/net/minecraft/world/level/levelgen/feature/CoralMushroomFeature.java
|
|
+++ b/net/minecraft/world/level/levelgen/feature/CoralMushroomFeature.java
|
|
@@ -14,7 +14,7 @@ public class CoralMushroomFeature extends CoralFeature {
|
|
}
|
|
|
|
@Override
|
|
- protected boolean placeFeature(LevelAccessor level, RandomSource random, BlockPos pos, BlockState state) {
|
|
+ public boolean placeFeature(LevelAccessor level, RandomSource random, BlockPos pos, BlockState state) { // Leaves - protected -> public
|
|
int i = random.nextInt(3) + 3;
|
|
int i1 = random.nextInt(3) + 3;
|
|
int i2 = random.nextInt(3) + 3;
|
|
diff --git a/net/minecraft/world/level/levelgen/feature/CoralTreeFeature.java b/net/minecraft/world/level/levelgen/feature/CoralTreeFeature.java
|
|
index 521dbd30e9fb7a366d534fe6a952b0e3a8ec8449..13a0c047c86563d0f28866d513c52999bfce6fd1 100644
|
|
--- a/net/minecraft/world/level/levelgen/feature/CoralTreeFeature.java
|
|
+++ b/net/minecraft/world/level/levelgen/feature/CoralTreeFeature.java
|
|
@@ -15,7 +15,7 @@ public class CoralTreeFeature extends CoralFeature {
|
|
}
|
|
|
|
@Override
|
|
- protected boolean placeFeature(LevelAccessor level, RandomSource random, BlockPos pos, BlockState state) {
|
|
+ public boolean placeFeature(LevelAccessor level, RandomSource random, BlockPos pos, BlockState state) { // Leaves - protected -> public
|
|
BlockPos.MutableBlockPos mutableBlockPos = pos.mutable();
|
|
int i = random.nextInt(3) + 1;
|
|
|