net.minecraft.world.level.block.grower

This commit is contained in:
Jake Potrebic
2024-12-14 13:03:13 -08:00
parent 636e4ccaf2
commit 8ec3dedfbd
2 changed files with 70 additions and 126 deletions

View File

@@ -0,0 +1,70 @@
--- a/net/minecraft/world/level/block/grower/TreeGrower.java
+++ b/net/minecraft/world/level/block/grower/TreeGrower.java
@@ -164,6 +_,7 @@
if (holder1 == null) {
return false;
} else {
+ this.setTreeType(holder1); // CraftBukkit
ConfiguredFeature<?, ?> configuredFeature2 = holder1.value();
BlockState blockState1 = level.getFluidState(pos).createLegacyBlock();
level.setBlock(pos, blockState1, 4);
@@ -198,4 +_,59 @@
return false;
}
+
+ // CraftBukkit start
+ private void setTreeType(Holder<ConfiguredFeature<?, ?>> holder) {
+ ResourceKey<ConfiguredFeature<?, ?>> treeFeature = holder.unwrapKey().get();
+ if (treeFeature == TreeFeatures.OAK || treeFeature == TreeFeatures.OAK_BEES_005) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.TREE;
+ } else if (treeFeature == TreeFeatures.HUGE_RED_MUSHROOM) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.RED_MUSHROOM;
+ } else if (treeFeature == TreeFeatures.HUGE_BROWN_MUSHROOM) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.BROWN_MUSHROOM;
+ } else if (treeFeature == TreeFeatures.JUNGLE_TREE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.COCOA_TREE;
+ } else if (treeFeature == TreeFeatures.JUNGLE_TREE_NO_VINE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.SMALL_JUNGLE;
+ } else if (treeFeature == TreeFeatures.PINE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.TALL_REDWOOD;
+ } else if (treeFeature == TreeFeatures.SPRUCE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.REDWOOD;
+ } else if (treeFeature == TreeFeatures.ACACIA) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.ACACIA;
+ } else if (treeFeature == TreeFeatures.BIRCH || treeFeature == TreeFeatures.BIRCH_BEES_005) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.BIRCH;
+ } else if (treeFeature == TreeFeatures.SUPER_BIRCH_BEES_0002) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.TALL_BIRCH;
+ } else if (treeFeature == TreeFeatures.SWAMP_OAK) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.SWAMP;
+ } else if (treeFeature == TreeFeatures.FANCY_OAK || treeFeature == TreeFeatures.FANCY_OAK_BEES_005) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.BIG_TREE;
+ } else if (treeFeature == TreeFeatures.JUNGLE_BUSH) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.JUNGLE_BUSH;
+ } else if (treeFeature == TreeFeatures.DARK_OAK) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.DARK_OAK;
+ } else if (treeFeature == TreeFeatures.MEGA_SPRUCE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.MEGA_REDWOOD;
+ } else if (treeFeature == TreeFeatures.MEGA_PINE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.MEGA_PINE;
+ } else if (treeFeature == TreeFeatures.MEGA_JUNGLE_TREE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.JUNGLE;
+ } else if (treeFeature == TreeFeatures.AZALEA_TREE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.AZALEA;
+ } else if (treeFeature == TreeFeatures.MANGROVE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.MANGROVE;
+ } else if (treeFeature == TreeFeatures.TALL_MANGROVE) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.TALL_MANGROVE;
+ } else if (treeFeature == TreeFeatures.CHERRY || treeFeature == TreeFeatures.CHERRY_BEES_005) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.CHERRY;
+ } else if (treeFeature == TreeFeatures.PALE_OAK || treeFeature == TreeFeatures.PALE_OAK_BONEMEAL) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.PALE_OAK;
+ } else if (treeFeature == TreeFeatures.PALE_OAK_CREAKING) {
+ net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.PALE_OAK_CREAKING;
+ } else {
+ throw new IllegalArgumentException("Unknown tree generator " + treeFeature);
+ }
+ }
+ // CraftBukkit end
}