diff --git a/build.gradle b/build.gradle index 5815c42e12..dc75ae179d 100644 --- a/build.gradle +++ b/build.gradle @@ -29,6 +29,15 @@ ext { } } +allprojects { + // Allow 400 errors. + gradle.projectsEvaluated { + tasks.withType(JavaCompile) { + options.compilerArgs << "-Xmaxerrs" << "400" + } + } +} + subprojects { apply plugin: 'java' apply plugin: 'idea' diff --git a/forge/src/main/java/biomesoplenty/forge/api/BOPAPI.java b/common/src/main/java/biomesoplenty/api/BOPAPI.java similarity index 90% rename from forge/src/main/java/biomesoplenty/forge/api/BOPAPI.java rename to common/src/main/java/biomesoplenty/api/BOPAPI.java index 833537f914..97569db3eb 100644 --- a/forge/src/main/java/biomesoplenty/forge/api/BOPAPI.java +++ b/common/src/main/java/biomesoplenty/api/BOPAPI.java @@ -2,7 +2,7 @@ * Copyright 2023, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.api; +package biomesoplenty.api; public class BOPAPI { diff --git a/forge/src/main/java/biomesoplenty/forge/api/biome/BOPBiomes.java b/common/src/main/java/biomesoplenty/api/biome/BOPBiomes.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/api/biome/BOPBiomes.java rename to common/src/main/java/biomesoplenty/api/biome/BOPBiomes.java index 3114fda6fa..cecbb38189 100644 --- a/forge/src/main/java/biomesoplenty/forge/api/biome/BOPBiomes.java +++ b/common/src/main/java/biomesoplenty/api/biome/BOPBiomes.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.api.biome; +package biomesoplenty.api.biome; -import biomesoplenty.forge.api.BOPAPI; +import biomesoplenty.api.BOPAPI; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import net.minecraft.core.registries.Registries; diff --git a/forge/src/main/java/biomesoplenty/forge/api/block/BOPBlockEntities.java b/common/src/main/java/biomesoplenty/api/block/BOPBlockEntities.java similarity index 59% rename from forge/src/main/java/biomesoplenty/forge/api/block/BOPBlockEntities.java rename to common/src/main/java/biomesoplenty/api/block/BOPBlockEntities.java index d34e833ed0..4ab338b311 100644 --- a/forge/src/main/java/biomesoplenty/forge/api/block/BOPBlockEntities.java +++ b/common/src/main/java/biomesoplenty/api/block/BOPBlockEntities.java @@ -2,13 +2,12 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.api.block; +package biomesoplenty.api.block; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraftforge.registries.RegistryObject; public class BOPBlockEntities { - public static RegistryObject> SIGN; - public static RegistryObject> HANGING_SIGN; + public static BlockEntityType SIGN; + public static BlockEntityType HANGING_SIGN; } diff --git a/forge/src/main/java/biomesoplenty/forge/api/block/BOPBlockSetTypes.java b/common/src/main/java/biomesoplenty/api/block/BOPBlockSetTypes.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/api/block/BOPBlockSetTypes.java rename to common/src/main/java/biomesoplenty/api/block/BOPBlockSetTypes.java index 3196c3fb83..43f140ec10 100644 --- a/forge/src/main/java/biomesoplenty/forge/api/block/BOPBlockSetTypes.java +++ b/common/src/main/java/biomesoplenty/api/block/BOPBlockSetTypes.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.api.block; +package biomesoplenty.api.block; -import biomesoplenty.forge.api.BOPAPI; +import biomesoplenty.api.BOPAPI; import net.minecraft.world.level.block.state.properties.BlockSetType; import static net.minecraft.world.level.block.state.properties.BlockSetType.register; diff --git a/common/src/main/java/biomesoplenty/api/block/BOPBlocks.java b/common/src/main/java/biomesoplenty/api/block/BOPBlocks.java new file mode 100644 index 0000000000..773a1a9234 --- /dev/null +++ b/common/src/main/java/biomesoplenty/api/block/BOPBlocks.java @@ -0,0 +1,414 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.api.block; + +import net.minecraft.world.level.block.Block; + +public class BOPBlocks +{ + public static Block WHITE_SAND; + public static Block WHITE_SANDSTONE; + public static Block CUT_WHITE_SANDSTONE; + public static Block CUT_WHITE_SANDSTONE_SLAB; + public static Block CHISELED_WHITE_SANDSTONE; + public static Block SMOOTH_WHITE_SANDSTONE; + public static Block SMOOTH_WHITE_SANDSTONE_SLAB; + public static Block SMOOTH_WHITE_SANDSTONE_STAIRS; + public static Block WHITE_SANDSTONE_SLAB; + public static Block WHITE_SANDSTONE_STAIRS; + public static Block WHITE_SANDSTONE_WALL; + public static Block ORANGE_SAND; + public static Block ORANGE_SANDSTONE; + public static Block CUT_ORANGE_SANDSTONE; + public static Block CUT_ORANGE_SANDSTONE_SLAB; + public static Block CHISELED_ORANGE_SANDSTONE; + public static Block SMOOTH_ORANGE_SANDSTONE; + public static Block SMOOTH_ORANGE_SANDSTONE_SLAB; + public static Block SMOOTH_ORANGE_SANDSTONE_STAIRS; + public static Block ORANGE_SANDSTONE_SLAB; + public static Block ORANGE_SANDSTONE_STAIRS; + public static Block ORANGE_SANDSTONE_WALL; + public static Block MOSSY_BLACK_SAND; + public static Block BLACK_SAND; + public static Block BLACK_SANDSTONE; + public static Block CUT_BLACK_SANDSTONE; + public static Block CUT_BLACK_SANDSTONE_SLAB; + public static Block CHISELED_BLACK_SANDSTONE; + public static Block SMOOTH_BLACK_SANDSTONE; + public static Block SMOOTH_BLACK_SANDSTONE_SLAB; + public static Block SMOOTH_BLACK_SANDSTONE_STAIRS; + public static Block BLACK_SANDSTONE_SLAB; + public static Block BLACK_SANDSTONE_STAIRS; + public static Block BLACK_SANDSTONE_WALL; + + public static Block DRIED_SALT; + public static Block THERMAL_CALCITE; + public static Block THERMAL_CALCITE_VENT; + + public static Block FLESH; + public static Block POROUS_FLESH; + public static Block FLESH_TENDONS; + public static Block FLESH_TENDONS_STRAND; + public static Block EYEBULB; + public static Block HAIR; + public static Block PUS_BUBBLE; + + public static Block BRIMSTONE; + public static Block BRIMSTONE_BRICKS; + public static Block BRIMSTONE_BRICK_SLAB; + public static Block BRIMSTONE_BRICK_STAIRS; + public static Block BRIMSTONE_BRICK_WALL; + public static Block CHISELED_BRIMSTONE_BRICKS; + public static Block BRIMSTONE_FUMAROLE; + public static Block BRIMSTONE_CLUSTER; + public static Block BRIMSTONE_BUD; + public static Block BLACKSTONE_SPINES; + public static Block BLACKSTONE_BULB; + + public static Block ROSE_QUARTZ_BLOCK; + public static Block ROSE_QUARTZ_CLUSTER; + public static Block LARGE_ROSE_QUARTZ_BUD; + public static Block MEDIUM_ROSE_QUARTZ_BUD; + public static Block SMALL_ROSE_QUARTZ_BUD; + + public static Block TOADSTOOL; + public static Block TOADSTOOL_BLOCK; + public static Block GLOWSHROOM; + public static Block GLOWSHROOM_BLOCK; + public static Block GLOWING_MOSS_BLOCK; + public static Block GLOWING_MOSS_CARPET; + public static Block GLOWWORM_SILK; + public static Block GLOWWORM_SILK_STRAND; + + public static Block SPIDER_EGG; + public static Block HANGING_COBWEB; + public static Block HANGING_COBWEB_STRAND; + public static Block STRINGY_COBWEB; + public static Block WEBBING; + + public static Block ORIGIN_GRASS_BLOCK; + + public static Block ORIGIN_SAPLING; + public static Block ORIGIN_LEAVES; + public static Block FLOWERING_OAK_SAPLING; + public static Block FLOWERING_OAK_LEAVES; + public static Block SNOWBLOSSOM_SAPLING; + public static Block SNOWBLOSSOM_LEAVES; + public static Block RAINBOW_BIRCH_SAPLING; + public static Block RAINBOW_BIRCH_LEAVES; + public static Block FIR_SAPLING; + public static Block FIR_LEAVES; + public static Block FIR_LOG; + public static Block STRIPPED_FIR_LOG; + public static Block FIR_WOOD; + public static Block STRIPPED_FIR_WOOD; + public static Block FIR_PLANKS; + public static Block FIR_SLAB; + public static Block FIR_STAIRS; + public static Block FIR_FENCE; + public static Block FIR_FENCE_GATE; + public static Block FIR_DOOR; + public static Block FIR_TRAPDOOR; + public static Block FIR_PRESSURE_PLATE; + public static Block FIR_BUTTON; + public static Block FIR_SIGN; + public static Block FIR_WALL_SIGN; + public static Block FIR_HANGING_SIGN; + public static Block FIR_WALL_HANGING_SIGN; + public static Block PINE_SAPLING; + public static Block PINE_LEAVES; + public static Block PINE_LOG; + public static Block STRIPPED_PINE_LOG; + public static Block PINE_WOOD; + public static Block STRIPPED_PINE_WOOD; + public static Block PINE_PLANKS; + public static Block PINE_SLAB; + public static Block PINE_STAIRS; + public static Block PINE_FENCE; + public static Block PINE_FENCE_GATE; + public static Block PINE_DOOR; + public static Block PINE_TRAPDOOR; + public static Block PINE_PRESSURE_PLATE; + public static Block PINE_BUTTON; + public static Block PINE_SIGN; + public static Block PINE_WALL_SIGN; + public static Block PINE_HANGING_SIGN; + public static Block PINE_WALL_HANGING_SIGN; + public static Block RED_MAPLE_SAPLING; + public static Block RED_MAPLE_LEAF_PILE; + public static Block RED_MAPLE_LEAVES; + public static Block ORANGE_MAPLE_SAPLING; + public static Block ORANGE_MAPLE_LEAF_PILE; + public static Block ORANGE_MAPLE_LEAVES; + public static Block YELLOW_MAPLE_SAPLING; + public static Block YELLOW_MAPLE_LEAF_PILE; + public static Block YELLOW_MAPLE_LEAVES; + public static Block MAPLE_LOG; + public static Block STRIPPED_MAPLE_LOG; + public static Block MAPLE_WOOD; + public static Block STRIPPED_MAPLE_WOOD; + public static Block MAPLE_PLANKS; + public static Block MAPLE_SLAB; + public static Block MAPLE_STAIRS; + public static Block MAPLE_FENCE; + public static Block MAPLE_FENCE_GATE; + public static Block MAPLE_DOOR; + public static Block MAPLE_TRAPDOOR; + public static Block MAPLE_PRESSURE_PLATE; + public static Block MAPLE_BUTTON; + public static Block MAPLE_SIGN; + public static Block MAPLE_WALL_SIGN; + public static Block MAPLE_HANGING_SIGN; + public static Block MAPLE_WALL_HANGING_SIGN; + public static Block REDWOOD_SAPLING; + public static Block REDWOOD_LEAVES; + public static Block REDWOOD_LOG; + public static Block STRIPPED_REDWOOD_LOG; + public static Block REDWOOD_WOOD; + public static Block STRIPPED_REDWOOD_WOOD; + public static Block REDWOOD_PLANKS; + public static Block REDWOOD_SLAB; + public static Block REDWOOD_STAIRS; + public static Block REDWOOD_FENCE; + public static Block REDWOOD_FENCE_GATE; + public static Block REDWOOD_DOOR; + public static Block REDWOOD_TRAPDOOR; + public static Block REDWOOD_PRESSURE_PLATE; + public static Block REDWOOD_BUTTON; + public static Block REDWOOD_SIGN; + public static Block REDWOOD_WALL_SIGN; + public static Block REDWOOD_HANGING_SIGN; + public static Block REDWOOD_WALL_HANGING_SIGN; + public static Block MAHOGANY_SAPLING; + public static Block MAHOGANY_LEAVES; + public static Block MAHOGANY_LOG; + public static Block STRIPPED_MAHOGANY_LOG; + public static Block MAHOGANY_WOOD; + public static Block STRIPPED_MAHOGANY_WOOD; + public static Block MAHOGANY_PLANKS; + public static Block MAHOGANY_SLAB; + public static Block MAHOGANY_STAIRS; + public static Block MAHOGANY_FENCE; + public static Block MAHOGANY_FENCE_GATE; + public static Block MAHOGANY_DOOR; + public static Block MAHOGANY_TRAPDOOR; + public static Block MAHOGANY_PRESSURE_PLATE; + public static Block MAHOGANY_BUTTON; + public static Block MAHOGANY_SIGN; + public static Block MAHOGANY_WALL_SIGN; + public static Block MAHOGANY_HANGING_SIGN; + public static Block MAHOGANY_WALL_HANGING_SIGN; + public static Block JACARANDA_SAPLING; + public static Block JACARANDA_LEAVES; + public static Block JACARANDA_LOG; + public static Block STRIPPED_JACARANDA_LOG; + public static Block JACARANDA_WOOD; + public static Block STRIPPED_JACARANDA_WOOD; + public static Block JACARANDA_PLANKS; + public static Block JACARANDA_SLAB; + public static Block JACARANDA_STAIRS; + public static Block JACARANDA_FENCE; + public static Block JACARANDA_FENCE_GATE; + public static Block JACARANDA_DOOR; + public static Block JACARANDA_TRAPDOOR; + public static Block JACARANDA_PRESSURE_PLATE; + public static Block JACARANDA_BUTTON; + public static Block JACARANDA_SIGN; + public static Block JACARANDA_WALL_SIGN; + public static Block JACARANDA_HANGING_SIGN; + public static Block JACARANDA_WALL_HANGING_SIGN; + public static Block PALM_SAPLING; + public static Block PALM_LEAVES; + public static Block PALM_LOG; + public static Block STRIPPED_PALM_LOG; + public static Block PALM_WOOD; + public static Block STRIPPED_PALM_WOOD; + public static Block PALM_PLANKS; + public static Block PALM_SLAB; + public static Block PALM_STAIRS; + public static Block PALM_FENCE; + public static Block PALM_FENCE_GATE; + public static Block PALM_DOOR; + public static Block PALM_TRAPDOOR; + public static Block PALM_PRESSURE_PLATE; + public static Block PALM_BUTTON; + public static Block PALM_SIGN; + public static Block PALM_WALL_SIGN; + public static Block PALM_HANGING_SIGN; + public static Block PALM_WALL_HANGING_SIGN; + public static Block WILLOW_SAPLING; + public static Block WILLOW_VINE; + public static Block SPANISH_MOSS; + public static Block SPANISH_MOSS_PLANT; + public static Block WILLOW_LEAVES; + public static Block WILLOW_LOG; + public static Block STRIPPED_WILLOW_LOG; + public static Block WILLOW_WOOD; + public static Block STRIPPED_WILLOW_WOOD; + public static Block WILLOW_PLANKS; + public static Block WILLOW_SLAB; + public static Block WILLOW_STAIRS; + public static Block WILLOW_FENCE; + public static Block WILLOW_FENCE_GATE; + public static Block WILLOW_DOOR; + public static Block WILLOW_TRAPDOOR; + public static Block WILLOW_PRESSURE_PLATE; + public static Block WILLOW_BUTTON; + public static Block WILLOW_SIGN; + public static Block WILLOW_WALL_SIGN; + public static Block WILLOW_HANGING_SIGN; + public static Block WILLOW_WALL_HANGING_SIGN; + public static Block DEAD_SAPLING; + public static Block DEAD_BRANCH; + public static Block DEAD_LEAVES; + public static Block DEAD_LOG; + public static Block STRIPPED_DEAD_LOG; + public static Block DEAD_WOOD; + public static Block STRIPPED_DEAD_WOOD; + public static Block DEAD_PLANKS; + public static Block DEAD_SLAB; + public static Block DEAD_STAIRS; + public static Block DEAD_FENCE; + public static Block DEAD_FENCE_GATE; + public static Block DEAD_DOOR; + public static Block DEAD_TRAPDOOR; + public static Block DEAD_PRESSURE_PLATE; + public static Block DEAD_BUTTON; + public static Block DEAD_SIGN; + public static Block DEAD_WALL_SIGN; + public static Block DEAD_HANGING_SIGN; + public static Block DEAD_WALL_HANGING_SIGN; + public static Block MAGIC_SAPLING; + public static Block MAGIC_LEAVES; + public static Block MAGIC_LOG; + public static Block STRIPPED_MAGIC_LOG; + public static Block MAGIC_WOOD; + public static Block STRIPPED_MAGIC_WOOD; + public static Block MAGIC_PLANKS; + public static Block MAGIC_SLAB; + public static Block MAGIC_STAIRS; + public static Block MAGIC_FENCE; + public static Block MAGIC_FENCE_GATE; + public static Block MAGIC_DOOR; + public static Block MAGIC_TRAPDOOR; + public static Block MAGIC_PRESSURE_PLATE; + public static Block MAGIC_BUTTON; + public static Block MAGIC_SIGN; + public static Block MAGIC_WALL_SIGN; + public static Block MAGIC_HANGING_SIGN; + public static Block MAGIC_WALL_HANGING_SIGN; + public static Block UMBRAN_SAPLING; + public static Block UMBRAN_LEAVES; + public static Block UMBRAN_LOG; + public static Block STRIPPED_UMBRAN_LOG; + public static Block UMBRAN_WOOD; + public static Block STRIPPED_UMBRAN_WOOD; + public static Block UMBRAN_PLANKS; + public static Block UMBRAN_SLAB; + public static Block UMBRAN_STAIRS; + public static Block UMBRAN_FENCE; + public static Block UMBRAN_FENCE_GATE; + public static Block UMBRAN_DOOR; + public static Block UMBRAN_TRAPDOOR; + public static Block UMBRAN_PRESSURE_PLATE; + public static Block UMBRAN_BUTTON; + public static Block UMBRAN_SIGN; + public static Block UMBRAN_WALL_SIGN; + public static Block UMBRAN_HANGING_SIGN; + public static Block UMBRAN_WALL_HANGING_SIGN; + public static Block HELLBARK_SAPLING; + public static Block HELLBARK_LEAVES; + public static Block HELLBARK_LOG; + public static Block STRIPPED_HELLBARK_LOG; + public static Block HELLBARK_WOOD; + public static Block STRIPPED_HELLBARK_WOOD; + public static Block HELLBARK_PLANKS; + public static Block HELLBARK_SLAB; + public static Block HELLBARK_STAIRS; + public static Block HELLBARK_FENCE; + public static Block HELLBARK_FENCE_GATE; + public static Block HELLBARK_DOOR; + public static Block HELLBARK_TRAPDOOR; + public static Block HELLBARK_PRESSURE_PLATE; + public static Block HELLBARK_BUTTON; + public static Block HELLBARK_SIGN; + public static Block HELLBARK_WALL_SIGN; + public static Block HELLBARK_HANGING_SIGN; + public static Block HELLBARK_WALL_HANGING_SIGN; + + public static Block ROSE; + public static Block VIOLET; + public static Block LAVENDER; + public static Block TALL_LAVENDER; + public static Block BLUE_HYDRANGEA; + public static Block WILDFLOWER; + public static Block GOLDENROD; + public static Block ORANGE_COSMOS; + public static Block PINK_DAFFODIL; + public static Block PINK_HIBISCUS; + public static Block WHITE_PETALS; + public static Block ICY_IRIS; + public static Block GLOWFLOWER; + public static Block WILTED_LILY; + public static Block BURNING_BLOSSOM; + + public static Block SPROUT; + public static Block BUSH; + public static Block HIGH_GRASS; + public static Block HIGH_GRASS_PLANT; + public static Block CLOVER; + public static Block HUGE_CLOVER_PETAL; + public static Block HUGE_LILY_PAD; + public static Block WATERLILY; + + public static Block DUNE_GRASS; + public static Block DESERT_GRASS; + public static Block DEAD_GRASS; + public static Block TUNDRA_SHRUB; + public static Block BARLEY; + public static Block SEA_OATS; + public static Block CATTAIL; + public static Block REED; + public static Block WATERGRASS; + + public static Block TINY_CACTUS; + public static Block BRAMBLE; + public static Block BRAMBLE_LEAVES; + + public static Block BLOOD; + + public static Block POTTED_ORIGIN_SAPLING; + public static Block POTTED_FLOWERING_OAK_SAPLING; + public static Block POTTED_SNOWBLOSSOM_SAPLING; + public static Block POTTED_RAINBOW_BIRCH_SAPLING; + public static Block POTTED_FIR_SAPLING; + public static Block POTTED_PINE_SAPLING; + public static Block POTTED_RED_MAPLE_SAPLING; + public static Block POTTED_ORANGE_MAPLE_SAPLING; + public static Block POTTED_YELLOW_MAPLE_SAPLING; + public static Block POTTED_REDWOOD_SAPLING; + public static Block POTTED_MAHOGANY_SAPLING; + public static Block POTTED_JACARANDA_SAPLING; + public static Block POTTED_PALM_SAPLING; + public static Block POTTED_WILLOW_SAPLING; + public static Block POTTED_DEAD_SAPLING; + public static Block POTTED_MAGIC_SAPLING; + public static Block POTTED_UMBRAN_SAPLING; + public static Block POTTED_HELLBARK_SAPLING; + public static Block POTTED_ROSE; + public static Block POTTED_VIOLET; + public static Block POTTED_LAVENDER; + public static Block POTTED_WILDFLOWER; + public static Block POTTED_ORANGE_COSMOS; + public static Block POTTED_PINK_DAFFODIL; + public static Block POTTED_PINK_HIBISCUS; + public static Block POTTED_GLOWFLOWER; + public static Block POTTED_WILTED_LILY; + public static Block POTTED_BURNING_BLOSSOM; + public static Block POTTED_SPROUT; + public static Block POTTED_TINY_CACTUS; + public static Block POTTED_TOADSTOOL; + public static Block POTTED_GLOWSHROOM; +} diff --git a/forge/src/main/java/biomesoplenty/forge/api/block/BOPFluids.java b/common/src/main/java/biomesoplenty/api/block/BOPFluids.java similarity index 50% rename from forge/src/main/java/biomesoplenty/forge/api/block/BOPFluids.java rename to common/src/main/java/biomesoplenty/api/block/BOPFluids.java index b0dda940ed..9406429038 100644 --- a/forge/src/main/java/biomesoplenty/forge/api/block/BOPFluids.java +++ b/common/src/main/java/biomesoplenty/api/block/BOPFluids.java @@ -2,16 +2,13 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.api.block; +package biomesoplenty.api.block; +import net.minecraft.world.level.material.FlowingFluid; import net.minecraft.world.level.material.Fluid; -import net.minecraftforge.fluids.FluidType; -import net.minecraftforge.registries.RegistryObject; public class BOPFluids { - public static RegistryObject FLOWING_BLOOD; - public static RegistryObject BLOOD; - - public static RegistryObject BLOOD_TYPE; + public static FlowingFluid FLOWING_BLOOD; + public static Fluid BLOOD; } diff --git a/forge/src/main/java/biomesoplenty/forge/api/block/BOPWoodTypes.java b/common/src/main/java/biomesoplenty/api/block/BOPWoodTypes.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/api/block/BOPWoodTypes.java rename to common/src/main/java/biomesoplenty/api/block/BOPWoodTypes.java index d3fcfc7b70..a87be70e61 100644 --- a/forge/src/main/java/biomesoplenty/forge/api/block/BOPWoodTypes.java +++ b/common/src/main/java/biomesoplenty/api/block/BOPWoodTypes.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.api.block; +package biomesoplenty.api.block; -import biomesoplenty.forge.api.BOPAPI; +import biomesoplenty.api.BOPAPI; import net.minecraft.world.level.block.state.properties.WoodType; import static net.minecraft.world.level.block.state.properties.WoodType.register; diff --git a/forge/src/main/java/biomesoplenty/forge/api/damagesource/BOPDamageTypes.java b/common/src/main/java/biomesoplenty/api/damagesource/BOPDamageTypes.java similarity index 90% rename from forge/src/main/java/biomesoplenty/forge/api/damagesource/BOPDamageTypes.java rename to common/src/main/java/biomesoplenty/api/damagesource/BOPDamageTypes.java index 88f6e996be..b8384e92b0 100644 --- a/forge/src/main/java/biomesoplenty/forge/api/damagesource/BOPDamageTypes.java +++ b/common/src/main/java/biomesoplenty/api/damagesource/BOPDamageTypes.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.api.damagesource; +package biomesoplenty.api.damagesource; -import biomesoplenty.forge.api.BOPAPI; +import biomesoplenty.api.BOPAPI; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; diff --git a/forge/src/main/java/biomesoplenty/forge/api/entity/BOPEntities.java b/common/src/main/java/biomesoplenty/api/entity/BOPEntities.java similarity index 59% rename from forge/src/main/java/biomesoplenty/forge/api/entity/BOPEntities.java rename to common/src/main/java/biomesoplenty/api/entity/BOPEntities.java index ef4750e1a8..1206b1b78e 100644 --- a/forge/src/main/java/biomesoplenty/forge/api/entity/BOPEntities.java +++ b/common/src/main/java/biomesoplenty/api/entity/BOPEntities.java @@ -2,13 +2,12 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.api.entity; +package biomesoplenty.api.entity; import net.minecraft.world.entity.EntityType; -import net.minecraftforge.registries.RegistryObject; public class BOPEntities { - public static RegistryObject> BOAT; - public static RegistryObject> CHEST_BOAT; + public static EntityType BOAT; + public static EntityType CHEST_BOAT; } diff --git a/common/src/main/java/biomesoplenty/api/item/BOPItems.java b/common/src/main/java/biomesoplenty/api/item/BOPItems.java new file mode 100644 index 0000000000..d01aa1467e --- /dev/null +++ b/common/src/main/java/biomesoplenty/api/item/BOPItems.java @@ -0,0 +1,422 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.api.item; + +import net.minecraft.world.item.Item; + +public class BOPItems +{ + public static Item BOP_ICON; + + public static Item ROSE_QUARTZ_CHUNK; + public static Item BLOOD_BUCKET; + public static Item MUSIC_DISC_WANDERER; + public static Item FIR_SIGN; + public static Item FIR_HANGING_SIGN; + public static Item PINE_SIGN; + public static Item PINE_HANGING_SIGN; + public static Item MAPLE_SIGN; + public static Item MAPLE_HANGING_SIGN; + public static Item REDWOOD_SIGN; + public static Item REDWOOD_HANGING_SIGN; + public static Item MAHOGANY_SIGN; + public static Item MAHOGANY_HANGING_SIGN; + public static Item JACARANDA_SIGN; + public static Item JACARANDA_HANGING_SIGN; + public static Item PALM_SIGN; + public static Item PALM_HANGING_SIGN; + public static Item WILLOW_SIGN; + public static Item WILLOW_HANGING_SIGN; + public static Item DEAD_SIGN; + public static Item DEAD_HANGING_SIGN; + public static Item MAGIC_SIGN; + public static Item MAGIC_HANGING_SIGN; + public static Item UMBRAN_SIGN; + public static Item UMBRAN_HANGING_SIGN; + public static Item HELLBARK_SIGN; + public static Item HELLBARK_HANGING_SIGN; + + public static Item FIR_BOAT; + public static Item FIR_CHEST_BOAT; + public static Item PINE_BOAT; + public static Item PINE_CHEST_BOAT; + public static Item MAPLE_BOAT; + public static Item MAPLE_CHEST_BOAT; + public static Item REDWOOD_BOAT; + public static Item REDWOOD_CHEST_BOAT; + public static Item MAHOGANY_BOAT; + public static Item MAHOGANY_CHEST_BOAT; + public static Item JACARANDA_BOAT; + public static Item JACARANDA_CHEST_BOAT; + public static Item PALM_BOAT; + public static Item PALM_CHEST_BOAT; + public static Item WILLOW_BOAT; + public static Item WILLOW_CHEST_BOAT; + public static Item DEAD_BOAT; + public static Item DEAD_CHEST_BOAT; + public static Item MAGIC_BOAT; + public static Item MAGIC_CHEST_BOAT; + public static Item UMBRAN_BOAT; + public static Item UMBRAN_CHEST_BOAT; + public static Item HELLBARK_BOAT; + public static Item HELLBARK_CHEST_BOAT; + + // Block items + public static Item WHITE_SAND; + public static Item WHITE_SANDSTONE; + public static Item CUT_WHITE_SANDSTONE; + public static Item CUT_WHITE_SANDSTONE_SLAB; + public static Item CHISELED_WHITE_SANDSTONE; + public static Item SMOOTH_WHITE_SANDSTONE; + public static Item SMOOTH_WHITE_SANDSTONE_SLAB; + public static Item SMOOTH_WHITE_SANDSTONE_STAIRS; + public static Item WHITE_SANDSTONE_SLAB; + public static Item WHITE_SANDSTONE_STAIRS; + public static Item WHITE_SANDSTONE_WALL; + public static Item ORANGE_SAND; + public static Item ORANGE_SANDSTONE; + public static Item CUT_ORANGE_SANDSTONE; + public static Item CUT_ORANGE_SANDSTONE_SLAB; + public static Item CHISELED_ORANGE_SANDSTONE; + public static Item SMOOTH_ORANGE_SANDSTONE; + public static Item SMOOTH_ORANGE_SANDSTONE_SLAB; + public static Item SMOOTH_ORANGE_SANDSTONE_STAIRS; + public static Item ORANGE_SANDSTONE_SLAB; + public static Item ORANGE_SANDSTONE_STAIRS; + public static Item ORANGE_SANDSTONE_WALL; + public static Item MOSSY_BLACK_SAND; + public static Item BLACK_SAND; + public static Item BLACK_SANDSTONE; + public static Item CUT_BLACK_SANDSTONE; + public static Item CUT_BLACK_SANDSTONE_SLAB; + public static Item CHISELED_BLACK_SANDSTONE; + public static Item SMOOTH_BLACK_SANDSTONE; + public static Item SMOOTH_BLACK_SANDSTONE_SLAB; + public static Item SMOOTH_BLACK_SANDSTONE_STAIRS; + public static Item BLACK_SANDSTONE_SLAB; + public static Item BLACK_SANDSTONE_STAIRS; + public static Item BLACK_SANDSTONE_WALL; + + public static Item DRIED_SALT; + public static Item THERMAL_CALCITE; + public static Item THERMAL_CALCITE_VENT; + + public static Item FLESH; + public static Item POROUS_FLESH; + public static Item FLESH_TENDONS; + public static Item FLESH_TENDONS_STRAND; + public static Item EYEBULB; + public static Item HAIR; + public static Item PUS_BUBBLE; + + public static Item BRIMSTONE; + public static Item BRIMSTONE_BRICKS; + public static Item BRIMSTONE_BRICK_SLAB; + public static Item BRIMSTONE_BRICK_STAIRS; + public static Item BRIMSTONE_BRICK_WALL; + public static Item CHISELED_BRIMSTONE_BRICKS; + public static Item BRIMSTONE_FUMAROLE; + public static Item BRIMSTONE_CLUSTER; + public static Item BRIMSTONE_BUD; + public static Item BLACKSTONE_SPINES; + public static Item BLACKSTONE_BULB; + + public static Item ROSE_QUARTZ_BLOCK; + public static Item ROSE_QUARTZ_CLUSTER; + public static Item LARGE_ROSE_QUARTZ_BUD; + public static Item MEDIUM_ROSE_QUARTZ_BUD; + public static Item SMALL_ROSE_QUARTZ_BUD; + + public static Item TOADSTOOL; + public static Item TOADSTOOL_BLOCK; + public static Item GLOWSHROOM; + public static Item GLOWSHROOM_BLOCK; + public static Item GLOWING_MOSS_BLOCK; + public static Item GLOWING_MOSS_CARPET; + public static Item GLOWWORM_SILK; + public static Item GLOWWORM_SILK_STRAND; + + public static Item SPIDER_EGG; + public static Item HANGING_COBWEB; + public static Item HANGING_COBWEB_STRAND; + public static Item STRINGY_COBWEB; + public static Item WEBBING; + + public static Item ORIGIN_GRASS_BLOCK; + + public static Item ORIGIN_SAPLING; + public static Item ORIGIN_LEAVES; + public static Item FLOWERING_OAK_SAPLING; + public static Item FLOWERING_OAK_LEAVES; + public static Item SNOWBLOSSOM_SAPLING; + public static Item SNOWBLOSSOM_LEAVES; + public static Item RAINBOW_BIRCH_SAPLING; + public static Item RAINBOW_BIRCH_LEAVES; + public static Item FIR_SAPLING; + public static Item FIR_LEAVES; + public static Item FIR_LOG; + public static Item STRIPPED_FIR_LOG; + public static Item FIR_WOOD; + public static Item STRIPPED_FIR_WOOD; + public static Item FIR_PLANKS; + public static Item FIR_SLAB; + public static Item FIR_STAIRS; + public static Item FIR_FENCE; + public static Item FIR_FENCE_GATE; + public static Item FIR_DOOR; + public static Item FIR_TRAPDOOR; + public static Item FIR_PRESSURE_PLATE; + public static Item FIR_BUTTON; + public static Item PINE_SAPLING; + public static Item PINE_LEAVES; + public static Item PINE_LOG; + public static Item STRIPPED_PINE_LOG; + public static Item PINE_WOOD; + public static Item STRIPPED_PINE_WOOD; + public static Item PINE_PLANKS; + public static Item PINE_SLAB; + public static Item PINE_STAIRS; + public static Item PINE_FENCE; + public static Item PINE_FENCE_GATE; + public static Item PINE_DOOR; + public static Item PINE_TRAPDOOR; + public static Item PINE_PRESSURE_PLATE; + public static Item PINE_BUTTON; + public static Item RED_MAPLE_SAPLING; + public static Item RED_MAPLE_LEAF_PILE; + public static Item RED_MAPLE_LEAVES; + public static Item ORANGE_MAPLE_SAPLING; + public static Item ORANGE_MAPLE_LEAF_PILE; + public static Item ORANGE_MAPLE_LEAVES; + public static Item YELLOW_MAPLE_SAPLING; + public static Item YELLOW_MAPLE_LEAF_PILE; + public static Item YELLOW_MAPLE_LEAVES; + public static Item MAPLE_LOG; + public static Item STRIPPED_MAPLE_LOG; + public static Item MAPLE_WOOD; + public static Item STRIPPED_MAPLE_WOOD; + public static Item MAPLE_PLANKS; + public static Item MAPLE_SLAB; + public static Item MAPLE_STAIRS; + public static Item MAPLE_FENCE; + public static Item MAPLE_FENCE_GATE; + public static Item MAPLE_DOOR; + public static Item MAPLE_TRAPDOOR; + public static Item MAPLE_PRESSURE_PLATE; + public static Item MAPLE_BUTTON; + public static Item REDWOOD_SAPLING; + public static Item REDWOOD_LEAVES; + public static Item REDWOOD_LOG; + public static Item STRIPPED_REDWOOD_LOG; + public static Item REDWOOD_WOOD; + public static Item STRIPPED_REDWOOD_WOOD; + public static Item REDWOOD_PLANKS; + public static Item REDWOOD_SLAB; + public static Item REDWOOD_STAIRS; + public static Item REDWOOD_FENCE; + public static Item REDWOOD_FENCE_GATE; + public static Item REDWOOD_DOOR; + public static Item REDWOOD_TRAPDOOR; + public static Item REDWOOD_PRESSURE_PLATE; + public static Item REDWOOD_BUTTON; + public static Item MAHOGANY_SAPLING; + public static Item MAHOGANY_LEAVES; + public static Item MAHOGANY_LOG; + public static Item STRIPPED_MAHOGANY_LOG; + public static Item MAHOGANY_WOOD; + public static Item STRIPPED_MAHOGANY_WOOD; + public static Item MAHOGANY_PLANKS; + public static Item MAHOGANY_SLAB; + public static Item MAHOGANY_STAIRS; + public static Item MAHOGANY_FENCE; + public static Item MAHOGANY_FENCE_GATE; + public static Item MAHOGANY_DOOR; + public static Item MAHOGANY_TRAPDOOR; + public static Item MAHOGANY_PRESSURE_PLATE; + public static Item MAHOGANY_BUTTON; + public static Item JACARANDA_SAPLING; + public static Item JACARANDA_LEAVES; + public static Item JACARANDA_LOG; + public static Item STRIPPED_JACARANDA_LOG; + public static Item JACARANDA_WOOD; + public static Item STRIPPED_JACARANDA_WOOD; + public static Item JACARANDA_PLANKS; + public static Item JACARANDA_SLAB; + public static Item JACARANDA_STAIRS; + public static Item JACARANDA_FENCE; + public static Item JACARANDA_FENCE_GATE; + public static Item JACARANDA_DOOR; + public static Item JACARANDA_TRAPDOOR; + public static Item JACARANDA_PRESSURE_PLATE; + public static Item JACARANDA_BUTTON; + public static Item PALM_SAPLING; + public static Item PALM_LEAVES; + public static Item PALM_LOG; + public static Item STRIPPED_PALM_LOG; + public static Item PALM_WOOD; + public static Item STRIPPED_PALM_WOOD; + public static Item PALM_PLANKS; + public static Item PALM_SLAB; + public static Item PALM_STAIRS; + public static Item PALM_FENCE; + public static Item PALM_FENCE_GATE; + public static Item PALM_DOOR; + public static Item PALM_TRAPDOOR; + public static Item PALM_PRESSURE_PLATE; + public static Item PALM_BUTTON; + public static Item WILLOW_SAPLING; + public static Item WILLOW_VINE; + public static Item SPANISH_MOSS; + public static Item SPANISH_MOSS_PLANT; + public static Item WILLOW_LEAVES; + public static Item WILLOW_LOG; + public static Item STRIPPED_WILLOW_LOG; + public static Item WILLOW_WOOD; + public static Item STRIPPED_WILLOW_WOOD; + public static Item WILLOW_PLANKS; + public static Item WILLOW_SLAB; + public static Item WILLOW_STAIRS; + public static Item WILLOW_FENCE; + public static Item WILLOW_FENCE_GATE; + public static Item WILLOW_DOOR; + public static Item WILLOW_TRAPDOOR; + public static Item WILLOW_PRESSURE_PLATE; + public static Item WILLOW_BUTTON; + public static Item DEAD_SAPLING; + public static Item DEAD_BRANCH; + public static Item DEAD_LEAVES; + public static Item DEAD_LOG; + public static Item STRIPPED_DEAD_LOG; + public static Item DEAD_WOOD; + public static Item STRIPPED_DEAD_WOOD; + public static Item DEAD_PLANKS; + public static Item DEAD_SLAB; + public static Item DEAD_STAIRS; + public static Item DEAD_FENCE; + public static Item DEAD_FENCE_GATE; + public static Item DEAD_DOOR; + public static Item DEAD_TRAPDOOR; + public static Item DEAD_PRESSURE_PLATE; + public static Item DEAD_BUTTON; + public static Item MAGIC_SAPLING; + public static Item MAGIC_LEAVES; + public static Item MAGIC_LOG; + public static Item STRIPPED_MAGIC_LOG; + public static Item MAGIC_WOOD; + public static Item STRIPPED_MAGIC_WOOD; + public static Item MAGIC_PLANKS; + public static Item MAGIC_SLAB; + public static Item MAGIC_STAIRS; + public static Item MAGIC_FENCE; + public static Item MAGIC_FENCE_GATE; + public static Item MAGIC_DOOR; + public static Item MAGIC_TRAPDOOR; + public static Item MAGIC_PRESSURE_PLATE; + public static Item MAGIC_BUTTON; + public static Item UMBRAN_SAPLING; + public static Item UMBRAN_LEAVES; + public static Item UMBRAN_LOG; + public static Item STRIPPED_UMBRAN_LOG; + public static Item UMBRAN_WOOD; + public static Item STRIPPED_UMBRAN_WOOD; + public static Item UMBRAN_PLANKS; + public static Item UMBRAN_SLAB; + public static Item UMBRAN_STAIRS; + public static Item UMBRAN_FENCE; + public static Item UMBRAN_FENCE_GATE; + public static Item UMBRAN_DOOR; + public static Item UMBRAN_TRAPDOOR; + public static Item UMBRAN_PRESSURE_PLATE; + public static Item UMBRAN_BUTTON; + public static Item HELLBARK_SAPLING; + public static Item HELLBARK_LEAVES; + public static Item HELLBARK_LOG; + public static Item STRIPPED_HELLBARK_LOG; + public static Item HELLBARK_WOOD; + public static Item STRIPPED_HELLBARK_WOOD; + public static Item HELLBARK_PLANKS; + public static Item HELLBARK_SLAB; + public static Item HELLBARK_STAIRS; + public static Item HELLBARK_FENCE; + public static Item HELLBARK_FENCE_GATE; + public static Item HELLBARK_DOOR; + public static Item HELLBARK_TRAPDOOR; + public static Item HELLBARK_PRESSURE_PLATE; + public static Item HELLBARK_BUTTON; + + public static Item ROSE; + public static Item VIOLET; + public static Item LAVENDER; + public static Item TALL_LAVENDER; + public static Item BLUE_HYDRANGEA; + public static Item WILDFLOWER; + public static Item GOLDENROD; + public static Item ORANGE_COSMOS; + public static Item PINK_DAFFODIL; + public static Item PINK_HIBISCUS; + public static Item WHITE_PETALS; + public static Item ICY_IRIS; + public static Item GLOWFLOWER; + public static Item WILTED_LILY; + public static Item BURNING_BLOSSOM; + + public static Item SPROUT; + public static Item BUSH; + public static Item HIGH_GRASS; + public static Item HIGH_GRASS_PLANT; + public static Item CLOVER; + public static Item HUGE_CLOVER_PETAL; + public static Item HUGE_LILY_PAD; + public static Item WATERLILY; + + public static Item DUNE_GRASS; + public static Item DESERT_GRASS; + public static Item DEAD_GRASS; + public static Item TUNDRA_SHRUB; + public static Item BARLEY; + public static Item SEA_OATS; + public static Item CATTAIL; + public static Item REED; + public static Item WATERGRASS; + + public static Item TINY_CACTUS; + public static Item BRAMBLE; + public static Item BRAMBLE_LEAVES; + + public static Item BLOOD; + + public static Item POTTED_ORIGIN_SAPLING; + public static Item POTTED_FLOWERING_OAK_SAPLING; + public static Item POTTED_SNOWBLOSSOM_SAPLING; + public static Item POTTED_RAINBOW_BIRCH_SAPLING; + public static Item POTTED_FIR_SAPLING; + public static Item POTTED_PINE_SAPLING; + public static Item POTTED_RED_MAPLE_SAPLING; + public static Item POTTED_ORANGE_MAPLE_SAPLING; + public static Item POTTED_YELLOW_MAPLE_SAPLING; + public static Item POTTED_REDWOOD_SAPLING; + public static Item POTTED_MAHOGANY_SAPLING; + public static Item POTTED_JACARANDA_SAPLING; + public static Item POTTED_PALM_SAPLING; + public static Item POTTED_WILLOW_SAPLING; + public static Item POTTED_DEAD_SAPLING; + public static Item POTTED_MAGIC_SAPLING; + public static Item POTTED_UMBRAN_SAPLING; + public static Item POTTED_HELLBARK_SAPLING; + public static Item POTTED_ROSE; + public static Item POTTED_VIOLET; + public static Item POTTED_LAVENDER; + public static Item POTTED_WILDFLOWER; + public static Item POTTED_ORANGE_COSMOS; + public static Item POTTED_PINK_DAFFODIL; + public static Item POTTED_PINK_HIBISCUS; + public static Item POTTED_GLOWFLOWER; + public static Item POTTED_WILTED_LILY; + public static Item POTTED_BURNING_BLOSSOM; + public static Item POTTED_SPROUT; + public static Item POTTED_TINY_CACTUS; + public static Item POTTED_TOADSTOOL; + public static Item POTTED_GLOWSHROOM; +} diff --git a/common/src/main/java/biomesoplenty/api/sound/BOPSounds.java b/common/src/main/java/biomesoplenty/api/sound/BOPSounds.java new file mode 100644 index 0000000000..6196008b9c --- /dev/null +++ b/common/src/main/java/biomesoplenty/api/sound/BOPSounds.java @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.api.sound; + +import net.minecraft.core.Holder; +import net.minecraft.sounds.SoundEvent; + +public class BOPSounds +{ + public static Holder MUSIC_BIOME_ORIGIN_VALLEY; + public static Holder MUSIC_BIOME_CRYSTALLINE_CHASM; + public static Holder MUSIC_BIOME_ERUPTING_INFERNO; + public static Holder MUSIC_BIOME_UNDERGROWTH; + public static Holder MUSIC_BIOME_VISCERAL_HEAP; + public static Holder MUSIC_BIOME_WITHERED_ABYSS; + public static SoundEvent MUSIC_DISC_WANDERER; + public static SoundEvent FLESH_TENDON_DRIP; + public static SoundEvent PUS_BUBBLE_POP; + public static SoundEvent SPIDER_EGG_BREAK; +} diff --git a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPNetherBiomes.java b/common/src/main/java/biomesoplenty/biome/BOPNetherBiomes.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/biome/BOPNetherBiomes.java rename to common/src/main/java/biomesoplenty/biome/BOPNetherBiomes.java index 4219d4ea9a..d86046272e 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPNetherBiomes.java +++ b/common/src/main/java/biomesoplenty/biome/BOPNetherBiomes.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.biome; +package biomesoplenty.biome; -import biomesoplenty.forge.api.sound.BOPSounds; -import biomesoplenty.forge.common.worldgen.placement.BOPNetherPlacements; +import biomesoplenty.api.sound.BOPSounds; +import biomesoplenty.worldgen.placement.BOPNetherPlacements; import net.minecraft.core.HolderGetter; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.data.worldgen.BiomeDefaultFeatures; @@ -54,7 +54,7 @@ public static Biome crystallineChasm(HolderGetter placedFeatureGe return new Biome.BiomeBuilder() .hasPrecipitation(false).temperature(2.0F).downfall(0.0F) - .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x59002C).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).ambientParticle(new AmbientParticleSettings(ParticleTypes.ELECTRIC_SPARK, 0.0008925F)).ambientLoopSound(SoundEvents.AMBIENT_CRIMSON_FOREST_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_BASALT_DELTAS_MOOD, 6000, 8, 2.0D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_CRYSTALLINE_CHASM.getHolder().get())).build()) + .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x59002C).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).ambientParticle(new AmbientParticleSettings(ParticleTypes.ELECTRIC_SPARK, 0.0008925F)).ambientLoopSound(SoundEvents.AMBIENT_CRIMSON_FOREST_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_BASALT_DELTAS_MOOD, 6000, 8, 2.0D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_CRYSTALLINE_CHASM)).build()) .mobSpawnSettings(spawnBuilder.build()).generationSettings(biomeBuilder.build()).build(); } @@ -90,7 +90,7 @@ public static Biome eruptingInferno(HolderGetter placedFeatureGet return new Biome.BiomeBuilder() .hasPrecipitation(false).temperature(2.0F).downfall(0.0F) - .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x4F2B13).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).ambientParticle(new AmbientParticleSettings(ParticleTypes.SMOKE, 0.00023065104F)).ambientLoopSound(SoundEvents.AMBIENT_BASALT_DELTAS_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_BASALT_DELTAS_MOOD, 6000, 8, 2.0D)).ambientAdditionsSound(new AmbientAdditionsSettings(SoundEvents.AMBIENT_BASALT_DELTAS_ADDITIONS, 0.0111D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_ERUPTING_INFERNO.getHolder().get())).build()) + .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x4F2B13).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).ambientParticle(new AmbientParticleSettings(ParticleTypes.SMOKE, 0.00023065104F)).ambientLoopSound(SoundEvents.AMBIENT_BASALT_DELTAS_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_BASALT_DELTAS_MOOD, 6000, 8, 2.0D)).ambientAdditionsSound(new AmbientAdditionsSettings(SoundEvents.AMBIENT_BASALT_DELTAS_ADDITIONS, 0.0111D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_ERUPTING_INFERNO)).build()) .mobSpawnSettings(spawnBuilder.build()).generationSettings(biomeBuilder.build()).build(); } @@ -125,7 +125,7 @@ public static Biome undergrowth(HolderGetter placedFeatureGetter, return new Biome.BiomeBuilder() .hasPrecipitation(false).temperature(2.0F).downfall(0.0F) - .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x1C2109).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).ambientParticle(new AmbientParticleSettings(ParticleTypes.SPORE_BLOSSOM_AIR, 0.00357F)).ambientLoopSound(SoundEvents.AMBIENT_WARPED_FOREST_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_CRIMSON_FOREST_MOOD, 6000, 8, 2.0D)).ambientAdditionsSound(new AmbientAdditionsSettings(SoundEvents.AMBIENT_NETHER_WASTES_ADDITIONS, 0.0111D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_UNDERGROWTH.getHolder().get())).build()) + .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x1C2109).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).ambientParticle(new AmbientParticleSettings(ParticleTypes.SPORE_BLOSSOM_AIR, 0.00357F)).ambientLoopSound(SoundEvents.AMBIENT_WARPED_FOREST_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_CRIMSON_FOREST_MOOD, 6000, 8, 2.0D)).ambientAdditionsSound(new AmbientAdditionsSettings(SoundEvents.AMBIENT_NETHER_WASTES_ADDITIONS, 0.0111D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_UNDERGROWTH)).build()) .mobSpawnSettings(spawnBuilder.build()).generationSettings(biomeBuilder.build()).build(); } @@ -156,7 +156,7 @@ public static Biome visceralHeap(HolderGetter placedFeatureGetter return new Biome.BiomeBuilder() .hasPrecipitation(false).temperature(2.0F).downfall(0.0F) - .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x601F18).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).ambientLoopSound(SoundEvents.AMBIENT_NETHER_WASTES_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_SOUL_SAND_VALLEY_MOOD, 6000, 8, 2.0D)).ambientAdditionsSound(new AmbientAdditionsSettings(SoundEvents.AMBIENT_CRIMSON_FOREST_ADDITIONS, 0.0111D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_VISCERAL_HEAP.getHolder().get())).build()) + .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x601F18).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).ambientLoopSound(SoundEvents.AMBIENT_NETHER_WASTES_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_SOUL_SAND_VALLEY_MOOD, 6000, 8, 2.0D)).ambientAdditionsSound(new AmbientAdditionsSettings(SoundEvents.AMBIENT_CRIMSON_FOREST_ADDITIONS, 0.0111D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_VISCERAL_HEAP)).build()) .mobSpawnSettings(spawnBuilder.build()).generationSettings(biomeBuilder.build()).build(); } @@ -177,7 +177,7 @@ public static Biome witheredAbyss(HolderGetter placedFeatureGette return new Biome.BiomeBuilder() .hasPrecipitation(false).temperature(2.0F).downfall(0.0F) - .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x0A0711).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).grassColorOverride(0x312C36).foliageColorOverride(0x312C36).ambientLoopSound(SoundEvents.AMBIENT_SOUL_SAND_VALLEY_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_SOUL_SAND_VALLEY_MOOD, 6000, 8, 2.0D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_WITHERED_ABYSS.getHolder().get())).build()) + .specialEffects((new BiomeSpecialEffects.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(0x0A0711).skyColor(BOPOverworldBiomes.calculateSkyColor(2.0F)).grassColorOverride(0x312C36).foliageColorOverride(0x312C36).ambientLoopSound(SoundEvents.AMBIENT_SOUL_SAND_VALLEY_LOOP).ambientMoodSound(new AmbientMoodSettings(SoundEvents.AMBIENT_SOUL_SAND_VALLEY_MOOD, 6000, 8, 2.0D)).backgroundMusic(Musics.createGameMusic(BOPSounds.MUSIC_BIOME_WITHERED_ABYSS)).build()) .mobSpawnSettings(spawnBuilder.build()).generationSettings(biomeBuilder.build()).build(); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPOverworldBiomeBuilder.java b/common/src/main/java/biomesoplenty/biome/BOPOverworldBiomeBuilder.java similarity index 99% rename from forge/src/main/java/biomesoplenty/forge/common/biome/BOPOverworldBiomeBuilder.java rename to common/src/main/java/biomesoplenty/biome/BOPOverworldBiomeBuilder.java index dab827a0f0..106e52429a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPOverworldBiomeBuilder.java +++ b/common/src/main/java/biomesoplenty/biome/BOPOverworldBiomeBuilder.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.biome; +package biomesoplenty.biome; -import biomesoplenty.forge.api.biome.BOPBiomes; -import biomesoplenty.forge.common.util.biome.BiomeUtil; -import biomesoplenty.forge.init.ModConfig; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.init.ModConfig; +import biomesoplenty.util.biome.BiomeUtil; import com.mojang.datafixers.util.Pair; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; diff --git a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPOverworldBiomes.java b/common/src/main/java/biomesoplenty/biome/BOPOverworldBiomes.java similarity index 99% rename from forge/src/main/java/biomesoplenty/forge/common/biome/BOPOverworldBiomes.java rename to common/src/main/java/biomesoplenty/biome/BOPOverworldBiomes.java index 68fdc7a33e..593bf4f45d 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPOverworldBiomes.java +++ b/common/src/main/java/biomesoplenty/biome/BOPOverworldBiomes.java @@ -2,13 +2,13 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.biome; +package biomesoplenty.biome; -import biomesoplenty.forge.api.sound.BOPSounds; -import biomesoplenty.forge.common.worldgen.carver.BOPConfiguredCarvers; -import biomesoplenty.forge.common.worldgen.placement.BOPCavePlacements; -import biomesoplenty.forge.common.worldgen.placement.BOPMiscOverworldPlacements; -import biomesoplenty.forge.common.worldgen.placement.BOPVegetationPlacements; +import biomesoplenty.api.sound.BOPSounds; +import biomesoplenty.worldgen.carver.BOPConfiguredCarvers; +import biomesoplenty.worldgen.placement.BOPCavePlacements; +import biomesoplenty.worldgen.placement.BOPMiscOverworldPlacements; +import biomesoplenty.worldgen.placement.BOPVegetationPlacements; import net.minecraft.core.HolderGetter; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleTypes; @@ -1001,7 +1001,7 @@ public static Biome originValley(HolderGetter placedFeatureGetter addFeature(biomeBuilder, GenerationStep.Decoration.VEGETAL_DECORATION, BOPVegetationPlacements.TREES_ORIGIN_VALLEY); addFeature(biomeBuilder, GenerationStep.Decoration.VEGETAL_DECORATION, BOPVegetationPlacements.FLOWER_ORIGIN_VALLEY); - return biomeWithColorOverrides(true, snowy ? -0.25F : 0.6F, 0.6F, 0x2032FF, 0x050533, 0xC0D8FF, 0x9AFF5F, 0x3AFF00, 0x88BBFF, spawnBuilder, biomeBuilder, Musics.createGameMusic(BOPSounds.MUSIC_BIOME_ORIGIN_VALLEY.getHolder().orElseThrow())); + return biomeWithColorOverrides(true, snowy ? -0.25F : 0.6F, 0.6F, 0x2032FF, 0x050533, 0xC0D8FF, 0x9AFF5F, 0x3AFF00, 0x88BBFF, spawnBuilder, biomeBuilder, Musics.createGameMusic(BOPSounds.MUSIC_BIOME_ORIGIN_VALLEY)); } public static Biome pasture(HolderGetter placedFeatureGetter, HolderGetter> carverGetter) diff --git a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPRareOverworldBiomeBuilder.java b/common/src/main/java/biomesoplenty/biome/BOPRareOverworldBiomeBuilder.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/biome/BOPRareOverworldBiomeBuilder.java rename to common/src/main/java/biomesoplenty/biome/BOPRareOverworldBiomeBuilder.java index a8eeaaaf7c..029ba9ff39 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPRareOverworldBiomeBuilder.java +++ b/common/src/main/java/biomesoplenty/biome/BOPRareOverworldBiomeBuilder.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.biome; +package biomesoplenty.biome; -import biomesoplenty.forge.api.biome.BOPBiomes; -import biomesoplenty.forge.common.util.biome.BiomeUtil; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.util.biome.BiomeUtil; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.biome.Biome; diff --git a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPSecondaryOverworldBiomeBuilder.java b/common/src/main/java/biomesoplenty/biome/BOPSecondaryOverworldBiomeBuilder.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/biome/BOPSecondaryOverworldBiomeBuilder.java rename to common/src/main/java/biomesoplenty/biome/BOPSecondaryOverworldBiomeBuilder.java index 9330d31f9d..53c3b81bed 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/biome/BOPSecondaryOverworldBiomeBuilder.java +++ b/common/src/main/java/biomesoplenty/biome/BOPSecondaryOverworldBiomeBuilder.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.biome; +package biomesoplenty.biome; -import biomesoplenty.forge.api.biome.BOPBiomes; -import biomesoplenty.forge.common.util.biome.BiomeUtil; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.util.biome.BiomeUtil; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.biome.Biome; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/BlackstoneDecorationBlock.java b/common/src/main/java/biomesoplenty/block/BlackstoneDecorationBlock.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/block/BlackstoneDecorationBlock.java rename to common/src/main/java/biomesoplenty/block/BlackstoneDecorationBlock.java index 9cfb65ca8f..b5643b114f 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/BlackstoneDecorationBlock.java +++ b/common/src/main/java/biomesoplenty/block/BlackstoneDecorationBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.context.BlockPlaceContext; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/BloodBlock.java b/common/src/main/java/biomesoplenty/block/BloodBlock.java similarity index 77% rename from forge/src/main/java/biomesoplenty/forge/common/block/BloodBlock.java rename to common/src/main/java/biomesoplenty/block/BloodBlock.java index b0b7f86932..7ac07f573f 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/BloodBlock.java +++ b/common/src/main/java/biomesoplenty/block/BloodBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.world.level.block.BucketPickup; import net.minecraft.world.level.block.LiquidBlock; @@ -11,7 +11,7 @@ public class BloodBlock extends LiquidBlock implements BucketPickup { - public BloodBlock(java.util.function.Supplier p_54694_, BlockBehaviour.Properties p_54695_) { + public BloodBlock(FlowingFluid p_54694_, BlockBehaviour.Properties p_54695_) { super(p_54694_, p_54695_); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/BloodFluid.java b/common/src/main/java/biomesoplenty/block/BloodFluid.java similarity index 81% rename from forge/src/main/java/biomesoplenty/forge/common/block/BloodFluid.java rename to common/src/main/java/biomesoplenty/block/BloodFluid.java index f686ffd98a..86709fb443 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/BloodFluid.java +++ b/common/src/main/java/biomesoplenty/block/BloodFluid.java @@ -2,13 +2,13 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.api.block.BOPFluids; -import biomesoplenty.forge.api.item.BOPItems; -import biomesoplenty.forge.init.ModParticles; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPFluids; +import biomesoplenty.api.item.BOPItems; +import biomesoplenty.init.ModParticles; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleOptions; @@ -35,24 +35,24 @@ public abstract class BloodFluid extends FlowingFluid { @Override public Fluid getFlowing() { - return BOPFluids.FLOWING_BLOOD.get(); + return BOPFluids.FLOWING_BLOOD; } @Override public Fluid getSource() { - return BOPFluids.BLOOD.get(); + return BOPFluids.BLOOD; } @Override public Item getBucket() { - return BOPItems.BLOOD_BUCKET.get(); + return BOPItems.BLOOD_BUCKET; } @Nullable @Override public ParticleOptions getDripParticle() { - return ModParticles.DRIPPING_BLOOD.get(); + return ModParticles.DRIPPING_BLOOD; } @Override @@ -76,12 +76,12 @@ public int getSlopeFindDistance(LevelReader p_76464_) { @Override public BlockState createLegacyBlock(FluidState p_76466_) { - return BOPBlocks.BLOOD.get().defaultBlockState().setValue(LiquidBlock.LEVEL, Integer.valueOf(getLegacyLevel(p_76466_))); + return BOPBlocks.BLOOD.defaultBlockState().setValue(LiquidBlock.LEVEL, Integer.valueOf(getLegacyLevel(p_76466_))); } @Override public boolean isSame(Fluid p_76456_) { - return p_76456_ == BOPFluids.BLOOD.get() || p_76456_ == BOPFluids.FLOWING_BLOOD.get(); + return p_76456_ == BOPFluids.BLOOD || p_76456_ == BOPFluids.FLOWING_BLOOD; } @Override @@ -110,11 +110,12 @@ public Optional getPickupSound() { return Optional.of(SoundEvents.BUCKET_FILL); } - @Override - public net.minecraftforge.fluids.FluidType getFluidType() - { - return BOPFluids.BLOOD_TYPE.get(); - } + // TODO: Forge fluids +// @Override +// public net.minecraftforge.fluids.FluidType getFluidType() +// { +// return BOPFluids.BLOOD_TYPE; +// } public static class Flowing extends BloodFluid { diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/BrambleBlock.java b/common/src/main/java/biomesoplenty/block/BrambleBlock.java similarity index 71% rename from forge/src/main/java/biomesoplenty/forge/common/block/BrambleBlock.java rename to common/src/main/java/biomesoplenty/block/BrambleBlock.java index 083d1798b6..cee9d5c7d6 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/BrambleBlock.java +++ b/common/src/main/java/biomesoplenty/block/BrambleBlock.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.api.damagesource.BOPDamageTypes; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.damagesource.BOPDamageTypes; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -52,19 +52,19 @@ public BlockState makeConnections(BlockGetter reader, BlockPos pos) BlockState block4 = reader.getBlockState(pos.south()); BlockState block5 = reader.getBlockState(pos.west()); return this.defaultBlockState() - .setValue(DOWN, Boolean.valueOf(block.getBlock() == this || (block.getBlock() == BOPBlocks.BRAMBLE_LEAVES.get() && block.getValue(BrambleLeavesBlock.FACING) == Direction.DOWN) || Block.isShapeFullBlock(block.getCollisionShape(reader, pos.below())))) - .setValue(UP, Boolean.valueOf(block1.getBlock() == this || (block1.getBlock() == BOPBlocks.BRAMBLE_LEAVES.get() && block1.getValue(BrambleLeavesBlock.FACING) == Direction.UP) || Block.isShapeFullBlock(block1.getCollisionShape(reader, pos.above())))) - .setValue(NORTH, Boolean.valueOf(block2.getBlock() == this || (block2.getBlock() == BOPBlocks.BRAMBLE_LEAVES.get() && block2.getValue(BrambleLeavesBlock.FACING) == Direction.NORTH) || Block.isShapeFullBlock(block2.getCollisionShape(reader, pos.north())))) - .setValue(EAST, Boolean.valueOf(block3.getBlock() == this || (block3.getBlock() == BOPBlocks.BRAMBLE_LEAVES.get() && block3.getValue(BrambleLeavesBlock.FACING) == Direction.EAST) || Block.isShapeFullBlock(block3.getCollisionShape(reader, pos.east())))) - .setValue(SOUTH, Boolean.valueOf(block4.getBlock() == this || (block4.getBlock() == BOPBlocks.BRAMBLE_LEAVES.get() && block4.getValue(BrambleLeavesBlock.FACING) == Direction.SOUTH) || Block.isShapeFullBlock(block4.getCollisionShape(reader, pos.south())))) - .setValue(WEST, Boolean.valueOf(block5.getBlock() == this || (block5.getBlock() == BOPBlocks.BRAMBLE_LEAVES.get() && block5.getValue(BrambleLeavesBlock.FACING) == Direction.WEST) || Block.isShapeFullBlock(block5.getCollisionShape(reader, pos.west())))); + .setValue(DOWN, Boolean.valueOf(block.getBlock() == this || (block.getBlock() == BOPBlocks.BRAMBLE_LEAVES && block.getValue(BrambleLeavesBlock.FACING) == Direction.DOWN) || Block.isShapeFullBlock(block.getCollisionShape(reader, pos.below())))) + .setValue(UP, Boolean.valueOf(block1.getBlock() == this || (block1.getBlock() == BOPBlocks.BRAMBLE_LEAVES && block1.getValue(BrambleLeavesBlock.FACING) == Direction.UP) || Block.isShapeFullBlock(block1.getCollisionShape(reader, pos.above())))) + .setValue(NORTH, Boolean.valueOf(block2.getBlock() == this || (block2.getBlock() == BOPBlocks.BRAMBLE_LEAVES && block2.getValue(BrambleLeavesBlock.FACING) == Direction.NORTH) || Block.isShapeFullBlock(block2.getCollisionShape(reader, pos.north())))) + .setValue(EAST, Boolean.valueOf(block3.getBlock() == this || (block3.getBlock() == BOPBlocks.BRAMBLE_LEAVES && block3.getValue(BrambleLeavesBlock.FACING) == Direction.EAST) || Block.isShapeFullBlock(block3.getCollisionShape(reader, pos.east())))) + .setValue(SOUTH, Boolean.valueOf(block4.getBlock() == this || (block4.getBlock() == BOPBlocks.BRAMBLE_LEAVES && block4.getValue(BrambleLeavesBlock.FACING) == Direction.SOUTH) || Block.isShapeFullBlock(block4.getCollisionShape(reader, pos.south())))) + .setValue(WEST, Boolean.valueOf(block5.getBlock() == this || (block5.getBlock() == BOPBlocks.BRAMBLE_LEAVES && block5.getValue(BrambleLeavesBlock.FACING) == Direction.WEST) || Block.isShapeFullBlock(block5.getCollisionShape(reader, pos.west())))); } @Override public BlockState updateShape(BlockState stateIn, Direction facing, BlockState facingState, LevelAccessor worldIn, BlockPos currentPos, BlockPos facingPos) { Block block = facingState.getBlock(); - boolean flag = block == this || (block == BOPBlocks.BRAMBLE_LEAVES.get() && facingState.getValue(BrambleLeavesBlock.FACING) == facing) || Block.isShapeFullBlock(facingState.getCollisionShape(worldIn, facingPos)); + boolean flag = block == this || (block == BOPBlocks.BRAMBLE_LEAVES && facingState.getValue(BrambleLeavesBlock.FACING) == facing) || Block.isShapeFullBlock(facingState.getCollisionShape(worldIn, facingPos)); return stateIn.setValue(PROPERTY_BY_DIRECTION.get(facing), Boolean.valueOf(flag)); } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/BrambleLeavesBlock.java b/common/src/main/java/biomesoplenty/block/BrambleLeavesBlock.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/block/BrambleLeavesBlock.java rename to common/src/main/java/biomesoplenty/block/BrambleLeavesBlock.java index 9dd7cb57ff..1390cee4b8 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/BrambleLeavesBlock.java +++ b/common/src/main/java/biomesoplenty/block/BrambleLeavesBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -72,7 +72,7 @@ public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) Direction direction = state.getValue(FACING); BlockPos blockpos = pos.relative(direction.getOpposite()); BlockState blockstate = worldIn.getBlockState(blockpos); - return blockstate.getBlock() == BOPBlocks.BRAMBLE.get() || Block.isShapeFullBlock(blockstate.getCollisionShape(worldIn, blockpos)); + return blockstate.getBlock() == BOPBlocks.BRAMBLE || Block.isShapeFullBlock(blockstate.getCollisionShape(worldIn, blockpos)); } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/BrimstoneBudBlock.java b/common/src/main/java/biomesoplenty/block/BrimstoneBudBlock.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/block/BrimstoneBudBlock.java rename to common/src/main/java/biomesoplenty/block/BrimstoneBudBlock.java index 4618505f40..1ee355dc21 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/BrimstoneBudBlock.java +++ b/common/src/main/java/biomesoplenty/block/BrimstoneBudBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.context.BlockPlaceContext; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/BrimstoneClusterBlock.java b/common/src/main/java/biomesoplenty/block/BrimstoneClusterBlock.java similarity index 89% rename from forge/src/main/java/biomesoplenty/forge/common/block/BrimstoneClusterBlock.java rename to common/src/main/java/biomesoplenty/block/BrimstoneClusterBlock.java index 8382d02273..c6b6f2721c 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/BrimstoneClusterBlock.java +++ b/common/src/main/java/biomesoplenty/block/BrimstoneClusterBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.BlockGetter; @@ -14,7 +14,6 @@ import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.common.PlantType; public class BrimstoneClusterBlock extends DoublePlantBlockBOP { @@ -37,12 +36,6 @@ public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, return SHAPE; } - @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) - { - return PlantType.NETHER; - } - @Override public boolean canSurvive(BlockState state, LevelReader worldReader, BlockPos pos) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/BrimstoneFumaroleBlock.java b/common/src/main/java/biomesoplenty/block/BrimstoneFumaroleBlock.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/block/BrimstoneFumaroleBlock.java rename to common/src/main/java/biomesoplenty/block/BrimstoneFumaroleBlock.java index 4dbf159a04..15feed6607 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/BrimstoneFumaroleBlock.java +++ b/common/src/main/java/biomesoplenty/block/BrimstoneFumaroleBlock.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.damagesource.BOPDamageTypes; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.api.damagesource.BOPDamageTypes; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/CeilingHangingSignBlockBOP.java b/common/src/main/java/biomesoplenty/block/CeilingHangingSignBlockBOP.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/block/CeilingHangingSignBlockBOP.java rename to common/src/main/java/biomesoplenty/block/CeilingHangingSignBlockBOP.java index 2d89c5c03a..8a477eecc7 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/CeilingHangingSignBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/CeilingHangingSignBlockBOP.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.CeilingHangingSignBlock; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/CloverBlock.java b/common/src/main/java/biomesoplenty/block/CloverBlock.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/block/CloverBlock.java rename to common/src/main/java/biomesoplenty/block/CloverBlock.java index 0e6a1a589b..f6bd7aba12 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/CloverBlock.java +++ b/common/src/main/java/biomesoplenty/block/CloverBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.common.worldgen.feature.BOPVegetationFeatures; +import biomesoplenty.worldgen.feature.BOPVegetationFeatures; import net.minecraft.core.BlockPos; import net.minecraft.core.Registry; import net.minecraft.core.registries.Registries; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/DeadBranchBlock.java b/common/src/main/java/biomesoplenty/block/DeadBranchBlock.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/block/DeadBranchBlock.java rename to common/src/main/java/biomesoplenty/block/DeadBranchBlock.java index 0b2e2d980a..eaf0d28385 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/DeadBranchBlock.java +++ b/common/src/main/java/biomesoplenty/block/DeadBranchBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import net.minecraft.core.BlockPos; @@ -67,7 +67,7 @@ public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) Direction direction = state.getValue(FACING); BlockPos blockpos = pos.relative(direction.getOpposite()); BlockState blockstate = worldIn.getBlockState(blockpos); - return blockstate.getBlock() == BOPBlocks.DEAD_LOG.get() || blockstate.getBlock() == BOPBlocks.DEAD_WOOD.get(); + return blockstate.getBlock() == BOPBlocks.DEAD_LOG || blockstate.getBlock() == BOPBlocks.DEAD_WOOD; } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/DoublePlantBlockBOP.java b/common/src/main/java/biomesoplenty/block/DoublePlantBlockBOP.java similarity index 62% rename from forge/src/main/java/biomesoplenty/forge/common/block/DoublePlantBlockBOP.java rename to common/src/main/java/biomesoplenty/block/DoublePlantBlockBOP.java index 1ad3ad4958..33a47bd464 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/DoublePlantBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/DoublePlantBlockBOP.java @@ -2,13 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.DoublePlantBlock; -import net.minecraftforge.common.PlantType; public class DoublePlantBlockBOP extends DoublePlantBlock { @@ -16,10 +13,4 @@ public DoublePlantBlockBOP(Block.Properties properties) { super(properties); } - - @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) - { - return PlantType.PLAINS; - } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/DoubleWaterPlantBlock.java b/common/src/main/java/biomesoplenty/block/DoubleWaterPlantBlock.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/block/DoubleWaterPlantBlock.java rename to common/src/main/java/biomesoplenty/block/DoubleWaterPlantBlock.java index 6fde8133ba..dce1cd6ff5 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/DoubleWaterPlantBlock.java +++ b/common/src/main/java/biomesoplenty/block/DoubleWaterPlantBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -10,7 +10,6 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; @@ -25,7 +24,6 @@ import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; -import net.minecraftforge.common.PlantType; import javax.annotation.Nullable; @@ -78,12 +76,6 @@ public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) } } - @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) - { - return PlantType.PLAINS; - } - @Override protected void createBlockStateDefinition(StateDefinition.Builder builder) { builder.add(WATERLOGGED, HALF); diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/DoubleWatersidePlantBlock.java b/common/src/main/java/biomesoplenty/block/DoubleWatersidePlantBlock.java similarity index 69% rename from forge/src/main/java/biomesoplenty/forge/common/block/DoubleWatersidePlantBlock.java rename to common/src/main/java/biomesoplenty/block/DoubleWatersidePlantBlock.java index 7127ac105b..057d480c2c 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/DoubleWatersidePlantBlock.java +++ b/common/src/main/java/biomesoplenty/block/DoubleWatersidePlantBlock.java @@ -2,19 +2,17 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.tags.FluidTags; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; import net.minecraft.world.level.material.FluidState; -import net.minecraftforge.common.PlantType; import java.util.Iterator; @@ -26,19 +24,13 @@ public DoubleWatersidePlantBlock(Block.Properties properties) } @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) + public boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) { - return PlantType.BEACH; - } - - @Override - public boolean canSurvive(BlockState state, LevelReader worldReader, BlockPos pos) - { - if (state.getBlock() != this) return super.canSurvive(state, worldReader, pos); + if (state.getBlock() != this) return super.canSurvive(state, level, pos); if (state.getValue(HALF) != DoubleBlockHalf.UPPER) { - BlockState soil = worldReader.getBlockState(pos.below()); - if (soil.canSustainPlant(worldReader, pos.below(), Direction.UP, this)) + BlockState soil = level.getBlockState(pos.below()); + if (this.mayPlaceOn(soil, level, pos.below())) { BlockPos blockpos = pos.below(); Iterator var7 = Direction.Plane.HORIZONTAL.iterator(); @@ -51,8 +43,8 @@ public boolean canSurvive(BlockState state, LevelReader worldReader, BlockPos po } Direction dir = (Direction)var7.next(); - BlockState = worldReader.getBlockState(blockpos.relative(dir)); - ifluidstate = worldReader.getFluidState(blockpos.relative(dir)); + BlockState = level.getBlockState(blockpos.relative(dir)); + ifluidstate = level.getFluidState(blockpos.relative(dir)); } while(!ifluidstate.is(FluidTags.WATER) && BlockState.getBlock() != Blocks.FROSTED_ICE); return true; @@ -60,7 +52,7 @@ public boolean canSurvive(BlockState state, LevelReader worldReader, BlockPos po } else { - BlockState below = worldReader.getBlockState(pos.below()); + BlockState below = level.getBlockState(pos.below()); return below.getBlock() == this && below.getValue(HALF) == DoubleBlockHalf.LOWER; } diff --git a/common/src/main/java/biomesoplenty/block/DriedSaltBlock.java b/common/src/main/java/biomesoplenty/block/DriedSaltBlock.java new file mode 100644 index 0000000000..19655789a3 --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/DriedSaltBlock.java @@ -0,0 +1,15 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.block; + +import net.minecraft.world.level.block.Block; + +public class DriedSaltBlock extends Block +{ + public DriedSaltBlock(Block.Properties properties) + { + super(properties); + } +} diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/EyebulbBlock.java b/common/src/main/java/biomesoplenty/block/EyebulbBlock.java similarity index 88% rename from forge/src/main/java/biomesoplenty/forge/common/block/EyebulbBlock.java rename to common/src/main/java/biomesoplenty/block/EyebulbBlock.java index 7c386802d7..d9da7855ba 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/EyebulbBlock.java +++ b/common/src/main/java/biomesoplenty/block/EyebulbBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.level.BlockGetter; @@ -14,7 +14,6 @@ import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.common.PlantType; public class EyebulbBlock extends DoublePlantBlockBOP { @@ -31,12 +30,6 @@ public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, return SHAPE; } - @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) - { - return PlantType.NETHER; - } - @Override public boolean canSurvive(BlockState state, LevelReader worldReader, BlockPos pos) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/FleshBlock.java b/common/src/main/java/biomesoplenty/block/FleshBlock.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/block/FleshBlock.java rename to common/src/main/java/biomesoplenty/block/FleshBlock.java index e2dfc0c8f3..8c75c8aef9 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/FleshBlock.java +++ b/common/src/main/java/biomesoplenty/block/FleshBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.world.entity.Entity; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/FleshTendonsBlock.java b/common/src/main/java/biomesoplenty/block/FleshTendonsBlock.java similarity index 86% rename from forge/src/main/java/biomesoplenty/forge/common/block/FleshTendonsBlock.java rename to common/src/main/java/biomesoplenty/block/FleshTendonsBlock.java index 687e0f6a77..5dcbb206e8 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/FleshTendonsBlock.java +++ b/common/src/main/java/biomesoplenty/block/FleshTendonsBlock.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; @@ -21,7 +21,7 @@ public FleshTendonsBlock(Properties properties) { @Override protected GrowingPlantHeadBlock getHeadBlock() { - return (GrowingPlantHeadBlock) BOPBlocks.FLESH_TENDONS.get(); + return (GrowingPlantHeadBlock) BOPBlocks.FLESH_TENDONS; } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/FleshTendonsBottomBlock.java b/common/src/main/java/biomesoplenty/block/FleshTendonsBottomBlock.java similarity index 75% rename from forge/src/main/java/biomesoplenty/forge/common/block/FleshTendonsBottomBlock.java rename to common/src/main/java/biomesoplenty/block/FleshTendonsBottomBlock.java index ab99b4ed24..2c040b0a87 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/FleshTendonsBottomBlock.java +++ b/common/src/main/java/biomesoplenty/block/FleshTendonsBottomBlock.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.init.ModParticles; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.init.ModParticles; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.level.Level; @@ -22,7 +22,7 @@ public FleshTendonsBottomBlock(Properties p_i241195_1_) { @Override protected Block getBodyBlock() { - return BOPBlocks.FLESH_TENDONS_STRAND.get(); + return BOPBlocks.FLESH_TENDONS_STRAND; } @Override @@ -43,7 +43,7 @@ public void animateTick(BlockState stateIn, Level worldIn, BlockPos pos, RandomS super.animateTick(stateIn, worldIn, pos, rand); if (rand.nextInt(7) == 0) { - worldIn.addAlwaysVisibleParticle(ModParticles.DRIPPING_BLOOD.get(), (double) (pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), (double) (pos.getY() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), (double) (pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), 0.0D, 0.0D, 0.0D); + worldIn.addAlwaysVisibleParticle(ModParticles.DRIPPING_BLOOD, (double) (pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), (double) (pos.getY() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), (double) (pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), 0.0D, 0.0D, 0.0D); } } } \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/FlowerBlockBOP.java b/common/src/main/java/biomesoplenty/block/FlowerBlockBOP.java similarity index 81% rename from forge/src/main/java/biomesoplenty/forge/common/block/FlowerBlockBOP.java rename to common/src/main/java/biomesoplenty/block/FlowerBlockBOP.java index b63e9b38fd..e38b1a5b25 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/FlowerBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/FlowerBlockBOP.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.util.RandomSource; @@ -40,15 +40,15 @@ public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, Block block = state.getBlock(); VoxelShape shape = NORMAL; - if (block == BOPBlocks.LAVENDER.get() || block == BOPBlocks.PINK_HIBISCUS.get()) + if (block == BOPBlocks.LAVENDER || block == BOPBlocks.PINK_HIBISCUS) { shape = LARGE; } - if (block == BOPBlocks.PINK_DAFFODIL.get() || block == BOPBlocks.WILDFLOWER.get() || block == BOPBlocks.GLOWFLOWER.get() || block == BOPBlocks.WILTED_LILY.get()) + if (block == BOPBlocks.PINK_DAFFODIL || block == BOPBlocks.WILDFLOWER || block == BOPBlocks.GLOWFLOWER || block == BOPBlocks.WILTED_LILY) { shape = MEDIUM; } - if (block == BOPBlocks.VIOLET.get()) + if (block == BOPBlocks.VIOLET) { shape = SHORT; } @@ -62,11 +62,11 @@ public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) { Block ground = worldIn.getBlockState(pos.below()).getBlock(); - if (this == BOPBlocks.WILDFLOWER.get()) + if (this == BOPBlocks.WILDFLOWER) { - return ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.WHITE_SAND.get() || ground == BOPBlocks.ORANGE_SAND.get() || ground == BOPBlocks.BLACK_SAND.get() || super.canSurvive(state, worldIn, pos); + return ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.WHITE_SAND || ground == BOPBlocks.ORANGE_SAND || ground == BOPBlocks.BLACK_SAND || super.canSurvive(state, worldIn, pos); } - if (this == BOPBlocks.BURNING_BLOSSOM.get()) + if (this == BOPBlocks.BURNING_BLOSSOM) { return ground == Blocks.NETHERRACK || ground == Blocks.SOUL_SAND || ground == Blocks.SOUL_SOIL || ground == Blocks.CRIMSON_NYLIUM || ground == Blocks.WARPED_NYLIUM || super.canSurvive(state, worldIn, pos); } @@ -79,7 +79,7 @@ public void entityInside(BlockState stateIn, Level worldIn, BlockPos pos, Entity { Block block = stateIn.getBlock(); - if (block == BOPBlocks.BURNING_BLOSSOM.get() && entityIn.getType() != EntityType.HOGLIN && entityIn.getType() != EntityType.PIGLIN && entityIn.getType() != EntityType.PIGLIN_BRUTE) + if (block == BOPBlocks.BURNING_BLOSSOM && entityIn.getType() != EntityType.HOGLIN && entityIn.getType() != EntityType.PIGLIN && entityIn.getType() != EntityType.PIGLIN_BRUTE) { if (!entityIn.fireImmune()) { @@ -102,7 +102,7 @@ public void animateTick(BlockState stateIn, Level worldIn, BlockPos pos, RandomS super.animateTick(stateIn, worldIn, pos, rand); Block block = stateIn.getBlock(); - if (block == BOPBlocks.BURNING_BLOSSOM.get()) + if (block == BOPBlocks.BURNING_BLOSSOM) { if (rand.nextInt(8) == 0) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/FoliageBlockBOP.java b/common/src/main/java/biomesoplenty/block/FoliageBlockBOP.java similarity index 73% rename from forge/src/main/java/biomesoplenty/forge/common/block/FoliageBlockBOP.java rename to common/src/main/java/biomesoplenty/block/FoliageBlockBOP.java index 2f1df0892a..bdf6a06e7d 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/FoliageBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/FoliageBlockBOP.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -22,11 +22,10 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.common.IPlantable; import javax.annotation.Nullable; -public class FoliageBlockBOP extends BushBlock implements IPlantable +public class FoliageBlockBOP extends BushBlock { public static final MapCodec CODEC = simpleCodec(FoliageBlockBOP::new); protected static final VoxelShape NORMAL = Block.box(2.0D, 0.0D, 2.0D, 14.0D, 13.0D, 14.0D); @@ -48,7 +47,7 @@ public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, { Block block = state.getBlock(); - if (block == BOPBlocks.DESERT_GRASS.get()) + if (block == BOPBlocks.DESERT_GRASS) { return SHORT; } @@ -77,25 +76,19 @@ public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) BlockState groundState = worldIn.getBlockState(pos.below()); Block ground = groundState.getBlock(); - if (this == BOPBlocks.SPROUT.get()) + if (this == BOPBlocks.SPROUT) { return groundState.isFaceSturdy(worldIn, pos.below(), Direction.UP) || super.canSurvive(state, worldIn, pos); } - if (this == BOPBlocks.DUNE_GRASS.get()) + if (this == BOPBlocks.DUNE_GRASS) { - return ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.WHITE_SAND.get() || ground == BOPBlocks.ORANGE_SAND.get() || ground == BOPBlocks.BLACK_SAND.get(); + return ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.WHITE_SAND || ground == BOPBlocks.ORANGE_SAND || ground == BOPBlocks.BLACK_SAND; } - if (this == BOPBlocks.DESERT_GRASS.get() || this == BOPBlocks.DEAD_GRASS.get()) + if (this == BOPBlocks.DESERT_GRASS || this == BOPBlocks.DEAD_GRASS) { - return ground == BOPBlocks.DRIED_SALT.get() || ground == Blocks.GRAVEL || ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.WHITE_SAND.get() || ground == BOPBlocks.ORANGE_SAND.get() || ground == BOPBlocks.BLACK_SAND.get() || ground == Blocks.NETHERRACK || super.canSurvive(state, worldIn, pos); + return ground == BOPBlocks.DRIED_SALT || ground == Blocks.GRAVEL || ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.WHITE_SAND || ground == BOPBlocks.ORANGE_SAND || ground == BOPBlocks.BLACK_SAND || ground == Blocks.NETHERRACK || super.canSurvive(state, worldIn, pos); } return super.canSurvive(state, worldIn, pos); } - -// @Override -// public PlantType getPlantType(BlockGetter world, BlockPos pos) -// { -// return PlantType.PLAINS; -// } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/GlowingMossBlock.java b/common/src/main/java/biomesoplenty/block/GlowingMossBlock.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/block/GlowingMossBlock.java rename to common/src/main/java/biomesoplenty/block/GlowingMossBlock.java index e7b4466c6c..d715c7eb9d 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/GlowingMossBlock.java +++ b/common/src/main/java/biomesoplenty/block/GlowingMossBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.common.worldgen.feature.BOPCaveFeatures; +import biomesoplenty.worldgen.feature.BOPCaveFeatures; import net.minecraft.core.BlockPos; import net.minecraft.core.Registry; import net.minecraft.core.registries.Registries; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/GlowwormSilkBlock.java b/common/src/main/java/biomesoplenty/block/GlowwormSilkBlock.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/block/GlowwormSilkBlock.java rename to common/src/main/java/biomesoplenty/block/GlowwormSilkBlock.java index 9efb6de83f..7830c2a8c8 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/GlowwormSilkBlock.java +++ b/common/src/main/java/biomesoplenty/block/GlowwormSilkBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.tags.BlockTags; @@ -21,7 +21,7 @@ public GlowwormSilkBlock(Properties properties) { @Override protected GrowingPlantHeadBlock getHeadBlock() { - return (GrowingPlantHeadBlock) BOPBlocks.GLOWWORM_SILK.get(); + return (GrowingPlantHeadBlock) BOPBlocks.GLOWWORM_SILK; } @Override @@ -35,7 +35,7 @@ public boolean canSurvive(BlockState p_196260_1_, LevelReader p_196260_2_, Block } else { - return block == this.getHeadBlock() || block == this.getBodyBlock() || blockstate.getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK.get() || (blockstate.is(BlockTags.DRIPSTONE_REPLACEABLE) && blockstate.isFaceSturdy(p_196260_2_, blockpos, Direction.DOWN)); + return block == this.getHeadBlock() || block == this.getBodyBlock() || blockstate.getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK || (blockstate.is(BlockTags.DRIPSTONE_REPLACEABLE) && blockstate.isFaceSturdy(p_196260_2_, blockpos, Direction.DOWN)); } } } \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/GlowwormSilkBottomBlock.java b/common/src/main/java/biomesoplenty/block/GlowwormSilkBottomBlock.java similarity index 71% rename from forge/src/main/java/biomesoplenty/forge/common/block/GlowwormSilkBottomBlock.java rename to common/src/main/java/biomesoplenty/block/GlowwormSilkBottomBlock.java index 457453776b..e0350ca5e7 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/GlowwormSilkBottomBlock.java +++ b/common/src/main/java/biomesoplenty/block/GlowwormSilkBottomBlock.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.init.ModParticles; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.init.ModParticles; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.tags.BlockTags; @@ -24,7 +24,7 @@ public GlowwormSilkBottomBlock(Properties p_i241195_1_) { @Override protected Block getBodyBlock() { - return BOPBlocks.GLOWWORM_SILK_STRAND.get(); + return BOPBlocks.GLOWWORM_SILK_STRAND; } @Override @@ -38,7 +38,7 @@ public boolean canSurvive(BlockState p_196260_1_, LevelReader p_196260_2_, Block } else { - return block == this.getHeadBlock() || block == this.getBodyBlock() || blockstate.getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK.get() || (blockstate.is(BlockTags.DRIPSTONE_REPLACEABLE) && blockstate.isFaceSturdy(p_196260_2_, blockpos, Direction.DOWN)); + return block == this.getHeadBlock() || block == this.getBodyBlock() || blockstate.getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK || (blockstate.is(BlockTags.DRIPSTONE_REPLACEABLE) && blockstate.isFaceSturdy(p_196260_2_, blockpos, Direction.DOWN)); } } @@ -48,7 +48,7 @@ public void animateTick(BlockState stateIn, Level worldIn, BlockPos pos, RandomS super.animateTick(stateIn, worldIn, pos, rand); if (rand.nextInt(6) == 0) { - worldIn.addParticle(ModParticles.GLOWWORM.get(), (double) (pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), (double) (pos.getY() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), (double) (pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), 0.0D, 0.0D, 0.0D); + worldIn.addParticle(ModParticles.GLOWWORM, (double) (pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), (double) (pos.getY() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), (double) (pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 2.0D)), 0.0D, 0.0D, 0.0D); } } } \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HairBlock.java b/common/src/main/java/biomesoplenty/block/HairBlock.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/block/HairBlock.java rename to common/src/main/java/biomesoplenty/block/HairBlock.java index e9992f77e3..1d613def36 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HairBlock.java +++ b/common/src/main/java/biomesoplenty/block/HairBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.context.BlockPlaceContext; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HangingCobwebBlock.java b/common/src/main/java/biomesoplenty/block/HangingCobwebBlock.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/block/HangingCobwebBlock.java rename to common/src/main/java/biomesoplenty/block/HangingCobwebBlock.java index 78326b263c..5342694dff 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HangingCobwebBlock.java +++ b/common/src/main/java/biomesoplenty/block/HangingCobwebBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.entity.Entity; @@ -24,7 +24,7 @@ public HangingCobwebBlock(Properties properties) { @Override protected GrowingPlantHeadBlock getHeadBlock() { - return (GrowingPlantHeadBlock) BOPBlocks.HANGING_COBWEB.get(); + return (GrowingPlantHeadBlock) BOPBlocks.HANGING_COBWEB; } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HangingCobwebBottomBlock.java b/common/src/main/java/biomesoplenty/block/HangingCobwebBottomBlock.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/block/HangingCobwebBottomBlock.java rename to common/src/main/java/biomesoplenty/block/HangingCobwebBottomBlock.java index b7fbca7792..45ee60676a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HangingCobwebBottomBlock.java +++ b/common/src/main/java/biomesoplenty/block/HangingCobwebBottomBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.entity.Entity; @@ -22,7 +22,7 @@ public HangingCobwebBottomBlock(Properties p_i241195_1_) { @Override protected Block getBodyBlock() { - return BOPBlocks.HANGING_COBWEB_STRAND.get(); + return BOPBlocks.HANGING_COBWEB_STRAND; } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HangingSignBlockEntityBOP.java b/common/src/main/java/biomesoplenty/block/HangingSignBlockEntityBOP.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/block/HangingSignBlockEntityBOP.java rename to common/src/main/java/biomesoplenty/block/HangingSignBlockEntityBOP.java index b0d60a58d4..447fe1b619 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HangingSignBlockEntityBOP.java +++ b/common/src/main/java/biomesoplenty/block/HangingSignBlockEntityBOP.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlockEntities; +import biomesoplenty.api.block.BOPBlockEntities; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.entity.HangingSignBlockEntity; @@ -20,6 +20,6 @@ public HangingSignBlockEntityBOP(BlockPos pos, BlockState state) @Override public BlockEntityType getType() { - return BOPBlockEntities.HANGING_SIGN.get(); + return BOPBlockEntities.HANGING_SIGN; } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HangingStrandBlock.java b/common/src/main/java/biomesoplenty/block/HangingStrandBlock.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/block/HangingStrandBlock.java rename to common/src/main/java/biomesoplenty/block/HangingStrandBlock.java index 509fa97622..8a18761ee0 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HangingStrandBlock.java +++ b/common/src/main/java/biomesoplenty/block/HangingStrandBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HangingStrandBottomBlock.java b/common/src/main/java/biomesoplenty/block/HangingStrandBottomBlock.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/block/HangingStrandBottomBlock.java rename to common/src/main/java/biomesoplenty/block/HangingStrandBottomBlock.java index 995b07a2e6..0cc9a602e4 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HangingStrandBottomBlock.java +++ b/common/src/main/java/biomesoplenty/block/HangingStrandBottomBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HighGrassBlock.java b/common/src/main/java/biomesoplenty/block/HighGrassBlock.java similarity index 79% rename from forge/src/main/java/biomesoplenty/forge/common/block/HighGrassBlock.java rename to common/src/main/java/biomesoplenty/block/HighGrassBlock.java index 786bc24e1a..0ab5a312a7 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HighGrassBlock.java +++ b/common/src/main/java/biomesoplenty/block/HighGrassBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -47,18 +47,6 @@ public boolean isRandomlyTicking(BlockState p_53961_) { return p_53961_.getValue(AGE) < MAX_AGE; } - @Override - public void randomTick(BlockState p_221350_, ServerLevel p_221351_, BlockPos p_221352_, RandomSource p_221353_) { - if (p_221350_.getValue(AGE) < MAX_AGE && net.minecraftforge.common.ForgeHooks.onCropsGrowPre(p_221351_, p_221352_.relative(this.growthDirection), p_221351_.getBlockState(p_221352_.relative(this.growthDirection)),p_221353_.nextDouble() < this.growPerTickProbability)) { - BlockPos blockpos = p_221352_.relative(this.growthDirection); - if (this.canGrowInto(p_221351_.getBlockState(blockpos))) { - p_221351_.setBlockAndUpdate(blockpos, this.getGrowIntoState(p_221350_, p_221351_.random)); - net.minecraftforge.common.ForgeHooks.onCropsGrowPost(p_221351_, blockpos, p_221351_.getBlockState(blockpos)); - } - } - - } - @Override public BlockState getMaxAgeState(BlockState p_187439_) { return p_187439_.setValue(AGE, Integer.valueOf(MAX_AGE)); @@ -95,7 +83,7 @@ protected boolean canGrowInto(BlockState p_230334_1_) { @Override protected Block getBodyBlock() { - return BOPBlocks.HIGH_GRASS_PLANT.get(); + return BOPBlocks.HIGH_GRASS_PLANT; } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HighGrassPlantBlock.java b/common/src/main/java/biomesoplenty/block/HighGrassPlantBlock.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/block/HighGrassPlantBlock.java rename to common/src/main/java/biomesoplenty/block/HighGrassPlantBlock.java index 324d8df1a5..9b981beaf4 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HighGrassPlantBlock.java +++ b/common/src/main/java/biomesoplenty/block/HighGrassPlantBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -35,7 +35,7 @@ public MapCodec codec() @Override protected GrowingPlantHeadBlock getHeadBlock() { - return (GrowingPlantHeadBlock) BOPBlocks.HIGH_GRASS.get(); + return (GrowingPlantHeadBlock) BOPBlocks.HIGH_GRASS; } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HugeCloverPetalBlock.java b/common/src/main/java/biomesoplenty/block/HugeCloverPetalBlock.java similarity index 79% rename from forge/src/main/java/biomesoplenty/forge/common/block/HugeCloverPetalBlock.java rename to common/src/main/java/biomesoplenty/block/HugeCloverPetalBlock.java index b6bc192101..e2534f6e0a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HugeCloverPetalBlock.java +++ b/common/src/main/java/biomesoplenty/block/HugeCloverPetalBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; @@ -21,10 +21,8 @@ import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.common.IPlantable; -import net.minecraftforge.common.PlantType; -public class HugeCloverPetalBlock extends HorizontalDirectionalBlock implements IPlantable +public class HugeCloverPetalBlock extends HorizontalDirectionalBlock { public static final MapCodec CODEC = simpleCodec(HugeCloverPetalBlock::new); public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING; @@ -65,24 +63,9 @@ protected boolean mayPlaceOn(BlockState p_200014_1_, BlockGetter p_200014_2_, Bl public boolean canSurvive(BlockState p_196260_1_, LevelReader p_196260_2_, BlockPos p_196260_3_) { BlockPos blockpos = p_196260_3_.below(); - if (p_196260_1_.getBlock() == this) //Forge: This function is called during world gen and placement, before this block is set, so if we are not 'here' then assume it's the pre-check. - return p_196260_2_.getBlockState(blockpos).canSustainPlant(p_196260_2_, blockpos, Direction.UP, this); return this.mayPlaceOn(p_196260_2_.getBlockState(blockpos), p_196260_2_, blockpos); } - @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) - { - return PlantType.PLAINS; - } - - @Override - public BlockState getPlant(BlockGetter world, BlockPos pos) { - BlockState state = world.getBlockState(pos); - if (state.getBlock() != this) return defaultBlockState(); - return state; - } - public BlockState getStateForPlacement(BlockPlaceContext p_196258_1_) { return this.defaultBlockState().setValue(FACING, p_196258_1_.getHorizontalDirection()); } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/HugeLilyPadBlock.java b/common/src/main/java/biomesoplenty/block/HugeLilyPadBlock.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/block/HugeLilyPadBlock.java rename to common/src/main/java/biomesoplenty/block/HugeLilyPadBlock.java index 3f6cf5a6ec..e9249476b6 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/HugeLilyPadBlock.java +++ b/common/src/main/java/biomesoplenty/block/HugeLilyPadBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.common.block.state.properties.QuarterProperty; +import biomesoplenty.block.properties.QuarterProperty; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -26,7 +26,6 @@ import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.common.PlantType; import javax.annotation.Nullable; @@ -171,12 +170,6 @@ public void setPlacedBy(Level p_49499_, BlockPos p_49500_, BlockState p_49501_, } } - @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) - { - return PlantType.WATER; - } - @Override public void entityInside(BlockState p_58164_, Level p_58165_, BlockPos p_58166_, Entity p_58167_) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/JacarandaLeavesBlock.java b/common/src/main/java/biomesoplenty/block/JacarandaLeavesBlock.java similarity index 89% rename from forge/src/main/java/biomesoplenty/forge/common/block/JacarandaLeavesBlock.java rename to common/src/main/java/biomesoplenty/block/JacarandaLeavesBlock.java index 1d4dafbc24..c22f6f4a99 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/JacarandaLeavesBlock.java +++ b/common/src/main/java/biomesoplenty/block/JacarandaLeavesBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModParticles; +import biomesoplenty.init.ModParticles; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.ParticleUtils; @@ -30,7 +30,7 @@ public void animateTick(BlockState p_272714_, Level p_272837_, BlockPos p_273218 BlockState blockstate = p_272837_.getBlockState(blockpos); if (!isFaceFull(blockstate.getCollisionShape(p_272837_, blockpos), Direction.UP)) { - ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.JACARANDA_LEAVES.get()); + ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.JACARANDA_LEAVES); } } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/LeafPileBlock.java b/common/src/main/java/biomesoplenty/block/LeafPileBlock.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/block/LeafPileBlock.java rename to common/src/main/java/biomesoplenty/block/LeafPileBlock.java index 912b481f5b..61e1660361 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/LeafPileBlock.java +++ b/common/src/main/java/biomesoplenty/block/LeafPileBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; @@ -21,11 +21,10 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.common.IPlantable; import javax.annotation.Nullable; -public class LeafPileBlock extends BushBlock implements IPlantable +public class LeafPileBlock extends BushBlock { public static final MapCodec CODEC = simpleCodec(LeafPileBlock::new); protected static final VoxelShape NORMAL = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 4.0D, 16.0D); diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/MagicLeavesBlock.java b/common/src/main/java/biomesoplenty/block/MagicLeavesBlock.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/block/MagicLeavesBlock.java rename to common/src/main/java/biomesoplenty/block/MagicLeavesBlock.java index e960f07835..45a2089407 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/MagicLeavesBlock.java +++ b/common/src/main/java/biomesoplenty/block/MagicLeavesBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/MushroomBlockBOP.java b/common/src/main/java/biomesoplenty/block/MushroomBlockBOP.java similarity index 79% rename from forge/src/main/java/biomesoplenty/forge/common/block/MushroomBlockBOP.java rename to common/src/main/java/biomesoplenty/block/MushroomBlockBOP.java index cf2a8b3fff..c3a560d455 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/MushroomBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/MushroomBlockBOP.java @@ -2,13 +2,12 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.worldgen.feature.BOPCaveFeatures; -import biomesoplenty.forge.common.worldgen.feature.BOPVegetationFeatures; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.worldgen.feature.BOPCaveFeatures; +import biomesoplenty.worldgen.feature.BOPVegetationFeatures; import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; import net.minecraft.core.Registry; import net.minecraft.core.registries.Registries; import net.minecraft.server.level.ServerLevel; @@ -33,15 +32,6 @@ public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource { } - @Override - public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) - { - Block ground = worldIn.getBlockState(pos.below()).getBlock(); - BlockState BlockState = worldIn.getBlockState(pos.below()); - - return BlockState.canSustainPlant(worldIn, pos.below(), Direction.UP, this); - } - @Override public boolean growMushroom(ServerLevel level, BlockPos p_226940_2_, BlockState p_226940_3_, RandomSource p_226940_4_) { @@ -49,13 +39,13 @@ public boolean growMushroom(ServerLevel level, BlockPos p_226940_2_, BlockState Registry> configuredFeatureRegistry = level.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE); ConfiguredFeature feature; - if (this == BOPBlocks.GLOWSHROOM.get()) + if (this == BOPBlocks.GLOWSHROOM) { feature = configuredFeatureRegistry.get(BOPCaveFeatures.HUGE_GLOWSHROOM_CAVE); } else { - if (this != BOPBlocks.TOADSTOOL.get()) + if (this != BOPBlocks.TOADSTOOL) { level.setBlock(p_226940_2_, p_226940_3_, 3); return false; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/OrangeMapleLeavesBlock.java b/common/src/main/java/biomesoplenty/block/OrangeMapleLeavesBlock.java similarity index 89% rename from forge/src/main/java/biomesoplenty/forge/common/block/OrangeMapleLeavesBlock.java rename to common/src/main/java/biomesoplenty/block/OrangeMapleLeavesBlock.java index 25e30a69b3..affb65d0b1 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/OrangeMapleLeavesBlock.java +++ b/common/src/main/java/biomesoplenty/block/OrangeMapleLeavesBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModParticles; +import biomesoplenty.init.ModParticles; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.ParticleUtils; @@ -30,7 +30,7 @@ public void animateTick(BlockState p_272714_, Level p_272837_, BlockPos p_273218 BlockState blockstate = p_272837_.getBlockState(blockpos); if (!isFaceFull(blockstate.getCollisionShape(p_272837_, blockpos), Direction.UP)) { - ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.ORANGE_MAPLE_LEAVES.get()); + ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.ORANGE_MAPLE_LEAVES); } } } diff --git a/common/src/main/java/biomesoplenty/block/OriginGrassBlock.java b/common/src/main/java/biomesoplenty/block/OriginGrassBlock.java new file mode 100644 index 0000000000..7127d927a9 --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/OriginGrassBlock.java @@ -0,0 +1,11 @@ +package biomesoplenty.block; + +import net.minecraft.world.level.block.GrassBlock; + +public class OriginGrassBlock extends GrassBlock +{ + public OriginGrassBlock(Properties properties) + { + super(properties); + } +} diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/OvergrownSandBlock.java b/common/src/main/java/biomesoplenty/block/OvergrownSandBlock.java similarity index 68% rename from forge/src/main/java/biomesoplenty/forge/common/block/OvergrownSandBlock.java rename to common/src/main/java/biomesoplenty/block/OvergrownSandBlock.java index 24e7183fa1..c6e372881c 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/OvergrownSandBlock.java +++ b/common/src/main/java/biomesoplenty/block/OvergrownSandBlock.java @@ -2,20 +2,18 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.ColorRGBA; import net.minecraft.util.RandomSource; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.ColoredFallingBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.lighting.LightEngine; -import net.minecraftforge.common.PlantType; public class OvergrownSandBlock extends ColoredFallingBlock { @@ -24,15 +22,6 @@ public OvergrownSandBlock(ColorRGBA dustColor, Properties properties) super(dustColor, properties); } - @Override - public boolean canSustainPlant(BlockState state, BlockGetter world, BlockPos pos, Direction facing, net.minecraftforge.common.IPlantable plantable) - { - PlantType type = plantable.getPlantType(world, pos.relative(facing)); - - if (type == PlantType.PLAINS) return true; - return false; - } - private static boolean canBeGrass(BlockState p_56824_, LevelReader p_56825_, BlockPos p_56826_) { BlockPos blockpos = p_56826_.above(); @@ -49,11 +38,11 @@ private static boolean canBeGrass(BlockState p_56824_, LevelReader p_56825_, Blo } @Override - public void randomTick(BlockState p_222508_, ServerLevel p_222509_, BlockPos p_222510_, RandomSource p_222511_) { + public void randomTick(BlockState p_222508_, ServerLevel p_222509_, BlockPos p_222510_, RandomSource p_222511_) + { if (!canBeGrass(p_222508_, p_222509_, p_222510_)) { - if (!p_222509_.isAreaLoaded(p_222510_, 1)) return; // Forge: prevent loading unloaded chunks when checking neighbor's light and spreading - p_222509_.setBlockAndUpdate(p_222510_, BOPBlocks.BLACK_SAND.get().defaultBlockState()); + p_222509_.setBlockAndUpdate(p_222510_, BOPBlocks.BLACK_SAND.defaultBlockState()); } } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/PusBubbleBlock.java b/common/src/main/java/biomesoplenty/block/PusBubbleBlock.java similarity index 89% rename from forge/src/main/java/biomesoplenty/forge/common/block/PusBubbleBlock.java rename to common/src/main/java/biomesoplenty/block/PusBubbleBlock.java index 211d03b0b6..6177415246 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/PusBubbleBlock.java +++ b/common/src/main/java/biomesoplenty/block/PusBubbleBlock.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModParticles; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.init.ModParticles; +import biomesoplenty.init.ModTags; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -90,7 +90,7 @@ public static void spawnParticles(Level p_55480_, BlockPos pos) for (int i = 0; i < 10; i++) { - p_55480_.addParticle(ModParticles.PUS.get(), (double)(pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 8.0D)), (double) (pos.getY() + 0.25D), (double) (pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 8.0D)), 0.0D, 0.0D, 0.0D); + p_55480_.addParticle(ModParticles.PUS, (double)(pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 8.0D)), (double) (pos.getY() + 0.25D), (double) (pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 8.0D)), 0.0D, 0.0D, 0.0D); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/RedMapleLeavesBlock.java b/common/src/main/java/biomesoplenty/block/RedMapleLeavesBlock.java similarity index 89% rename from forge/src/main/java/biomesoplenty/forge/common/block/RedMapleLeavesBlock.java rename to common/src/main/java/biomesoplenty/block/RedMapleLeavesBlock.java index 9b582af808..d13d41cba3 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/RedMapleLeavesBlock.java +++ b/common/src/main/java/biomesoplenty/block/RedMapleLeavesBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModParticles; +import biomesoplenty.init.ModParticles; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.ParticleUtils; @@ -30,7 +30,7 @@ public void animateTick(BlockState p_272714_, Level p_272837_, BlockPos p_273218 BlockState blockstate = p_272837_.getBlockState(blockpos); if (!isFaceFull(blockstate.getCollisionShape(p_272837_, blockpos), Direction.UP)) { - ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.RED_MAPLE_LEAVES.get()); + ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.RED_MAPLE_LEAVES); } } } diff --git a/common/src/main/java/biomesoplenty/block/SandBlockBOP.java b/common/src/main/java/biomesoplenty/block/SandBlockBOP.java new file mode 100644 index 0000000000..4e33a2941d --- /dev/null +++ b/common/src/main/java/biomesoplenty/block/SandBlockBOP.java @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.block; + +import net.minecraft.util.ColorRGBA; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.ColoredFallingBlock; + +public class SandBlockBOP extends ColoredFallingBlock +{ + public SandBlockBOP(ColorRGBA dustColor, Block.Properties properties) + { + super(dustColor, properties); + } +} diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/SaplingBlockBOP.java b/common/src/main/java/biomesoplenty/block/SaplingBlockBOP.java similarity index 80% rename from forge/src/main/java/biomesoplenty/forge/common/block/SaplingBlockBOP.java rename to common/src/main/java/biomesoplenty/block/SaplingBlockBOP.java index fcf718065b..555bc9ad2a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/SaplingBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/SaplingBlockBOP.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; @@ -42,17 +42,6 @@ public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, Block return SHAPE; } - @Override - public void tick(BlockState state, ServerLevel world, BlockPos pos, RandomSource random) - { - super.tick(state, world, pos, random); - if (!world.isAreaLoaded(pos, 1)) return; - if (world.getMaxLocalRawBrightness(pos.above()) >= 9 && random.nextInt(7) == 0) { - this.performBonemeal(world, random, pos, state); - } - - } - @Override public void performBonemeal(ServerLevel world, RandomSource rand, BlockPos pos, BlockState state) { @@ -93,11 +82,11 @@ public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) { Block ground = worldIn.getBlockState(pos.below()).getBlock(); - if (this == BOPBlocks.PALM_SAPLING.get()) + if (this == BOPBlocks.PALM_SAPLING) { - return ground == BOPBlocks.WHITE_SAND.get() || ground == BOPBlocks.ORANGE_SAND.get() || ground == BOPBlocks.BLACK_SAND.get() || ground == Blocks.RED_SAND || ground == Blocks.SAND || super.canSurvive(state, worldIn, pos); + return ground == BOPBlocks.WHITE_SAND || ground == BOPBlocks.ORANGE_SAND || ground == BOPBlocks.BLACK_SAND || ground == Blocks.RED_SAND || ground == Blocks.SAND || super.canSurvive(state, worldIn, pos); } - if (this == BOPBlocks.HELLBARK_SAPLING.get()) + if (this == BOPBlocks.HELLBARK_SAPLING) { return ground == Blocks.NETHERRACK || super.canSurvive(state, worldIn, pos); } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/SeaOatsBlock.java b/common/src/main/java/biomesoplenty/block/SeaOatsBlock.java similarity index 86% rename from forge/src/main/java/biomesoplenty/forge/common/block/SeaOatsBlock.java rename to common/src/main/java/biomesoplenty/block/SeaOatsBlock.java index 2956caeba0..50b05cedf3 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/SeaOatsBlock.java +++ b/common/src/main/java/biomesoplenty/block/SeaOatsBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; @@ -10,7 +10,6 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; -import net.minecraftforge.common.PlantType; public class SeaOatsBlock extends DoublePlantBlockBOP { @@ -19,12 +18,6 @@ public SeaOatsBlock(Properties properties) super(properties); } - @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) - { - return PlantType.DESERT; - } - @Override public boolean canSurvive(BlockState state, LevelReader worldReader, BlockPos pos) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/SignBlockEntityBOP.java b/common/src/main/java/biomesoplenty/block/SignBlockEntityBOP.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/block/SignBlockEntityBOP.java rename to common/src/main/java/biomesoplenty/block/SignBlockEntityBOP.java index 5ab5326c56..863d31516b 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/SignBlockEntityBOP.java +++ b/common/src/main/java/biomesoplenty/block/SignBlockEntityBOP.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlockEntities; +import biomesoplenty.api.block.BOPBlockEntities; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.entity.SignBlockEntity; @@ -20,6 +20,6 @@ public SignBlockEntityBOP(BlockPos pos, BlockState state) @Override public BlockEntityType getType() { - return BOPBlockEntities.SIGN.get(); + return BOPBlockEntities.SIGN; } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/SnowblossomLeavesBlock.java b/common/src/main/java/biomesoplenty/block/SnowblossomLeavesBlock.java similarity index 90% rename from forge/src/main/java/biomesoplenty/forge/common/block/SnowblossomLeavesBlock.java rename to common/src/main/java/biomesoplenty/block/SnowblossomLeavesBlock.java index e8339ab0ba..18b2566a23 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/SnowblossomLeavesBlock.java +++ b/common/src/main/java/biomesoplenty/block/SnowblossomLeavesBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModParticles; +import biomesoplenty.init.ModParticles; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.ParticleUtils; @@ -31,7 +31,7 @@ public void animateTick(BlockState p_272714_, Level p_272837_, BlockPos p_273218 BlockState blockstate = p_272837_.getBlockState(blockpos); if (!isFaceFull(blockstate.getCollisionShape(p_272837_, blockpos), Direction.UP)) { - ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.SNOWBLOSSOM_LEAVES.get()); + ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.SNOWBLOSSOM_LEAVES); } } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/SpanishMossBlock.java b/common/src/main/java/biomesoplenty/block/SpanishMossBlock.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/block/SpanishMossBlock.java rename to common/src/main/java/biomesoplenty/block/SpanishMossBlock.java index a05f13af46..fe2b7875ab 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/SpanishMossBlock.java +++ b/common/src/main/java/biomesoplenty/block/SpanishMossBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -33,7 +33,7 @@ public MapCodec codec() @Override protected GrowingPlantHeadBlock getHeadBlock() { - return (GrowingPlantHeadBlock) BOPBlocks.SPANISH_MOSS.get(); + return (GrowingPlantHeadBlock) BOPBlocks.SPANISH_MOSS; } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/SpanishMossBottomBlock.java b/common/src/main/java/biomesoplenty/block/SpanishMossBottomBlock.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/block/SpanishMossBottomBlock.java rename to common/src/main/java/biomesoplenty/block/SpanishMossBottomBlock.java index 1703c082c1..8ff85c5ba5 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/SpanishMossBottomBlock.java +++ b/common/src/main/java/biomesoplenty/block/SpanishMossBottomBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -39,7 +39,7 @@ protected int getBlocksToGrowWhenBonemealed(RandomSource p_230332_1_) { @Override protected Block getBodyBlock() { - return BOPBlocks.SPANISH_MOSS_PLANT.get(); + return BOPBlocks.SPANISH_MOSS_PLANT; } protected boolean canGrowInto(BlockState p_230334_1_) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/SpiderEggBlock.java b/common/src/main/java/biomesoplenty/block/SpiderEggBlock.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/block/SpiderEggBlock.java rename to common/src/main/java/biomesoplenty/block/SpiderEggBlock.java index de0bbb0598..86af01e0b6 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/SpiderEggBlock.java +++ b/common/src/main/java/biomesoplenty/block/SpiderEggBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.sound.BOPSounds; +import biomesoplenty.api.sound.BOPSounds; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.server.level.ServerLevel; @@ -56,7 +56,7 @@ public BlockState updateShape(BlockState p_51032_, Direction p_51033_, BlockStat @Override public void onProjectileHit(Level p_57381_, BlockState p_57382_, BlockHitResult p_57383_, Projectile p_57384_) { - p_57381_.playSound((Player)null, p_57383_.getBlockPos(), BOPSounds.SPIDER_EGG_BREAK.get(), SoundSource.BLOCKS, 0.7F, 0.9F + p_57381_.random.nextFloat() * 0.2F); + p_57381_.playSound((Player)null, p_57383_.getBlockPos(), BOPSounds.SPIDER_EGG_BREAK, SoundSource.BLOCKS, 0.7F, 0.9F + p_57381_.random.nextFloat() * 0.2F); p_57381_.destroyBlock(p_57383_.getBlockPos(), false); this.spawnSpider(p_57381_, p_57383_.getBlockPos()); } @@ -64,7 +64,7 @@ public void onProjectileHit(Level p_57381_, BlockState p_57382_, BlockHitResult @Override public void fallOn(Level p_154567_, BlockState p_154568_, BlockPos p_154569_, Entity p_154570_, float p_154571_) { - p_154567_.playSound((Player)null, p_154569_, BOPSounds.SPIDER_EGG_BREAK.get(), SoundSource.BLOCKS, 0.7F, 0.9F + p_154567_.random.nextFloat() * 0.2F); + p_154567_.playSound((Player)null, p_154569_, BOPSounds.SPIDER_EGG_BREAK, SoundSource.BLOCKS, 0.7F, 0.9F + p_154567_.random.nextFloat() * 0.2F); p_154567_.destroyBlock(p_154569_, false); this.spawnSpider(p_154567_, p_154569_); } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/StandingSignBlockBOP.java b/common/src/main/java/biomesoplenty/block/StandingSignBlockBOP.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/block/StandingSignBlockBOP.java rename to common/src/main/java/biomesoplenty/block/StandingSignBlockBOP.java index c8fd9a611d..c50bee9278 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/StandingSignBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/StandingSignBlockBOP.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.StandingSignBlock; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/StringyCobwebBlock.java b/common/src/main/java/biomesoplenty/block/StringyCobwebBlock.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/block/StringyCobwebBlock.java rename to common/src/main/java/biomesoplenty/block/StringyCobwebBlock.java index 3a630e9985..94f4a777f1 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/StringyCobwebBlock.java +++ b/common/src/main/java/biomesoplenty/block/StringyCobwebBlock.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.block.state.properties.ConnectedProperty; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.block.properties.ConnectedProperty; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.entity.Entity; @@ -87,7 +87,7 @@ public boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) BlockState prevStringState = level.getBlockState(prevStringPos); BlockState belowState = level.getBlockState(belowPos); - if ((aboveState.isFaceSturdy(level, abovePos, Direction.DOWN) || nextStringState.getBlock() == BOPBlocks.STRINGY_COBWEB.get()) && (belowState.isFaceSturdy(level, belowPos, Direction.UP) || prevStringState.getBlock() == BOPBlocks.STRINGY_COBWEB.get())) + if ((aboveState.isFaceSturdy(level, abovePos, Direction.DOWN) || nextStringState.getBlock() == BOPBlocks.STRINGY_COBWEB) && (belowState.isFaceSturdy(level, belowPos, Direction.UP) || prevStringState.getBlock() == BOPBlocks.STRINGY_COBWEB)) return true; return false; @@ -104,10 +104,10 @@ public void onRemove(BlockState state, Level level, BlockPos pos, BlockState new BlockState aboveState = level.getBlockState(abovePos); BlockState belowState = level.getBlockState(belowPos); - if (aboveState.getBlock() == BOPBlocks.STRINGY_COBWEB.get()) + if (aboveState.getBlock() == BOPBlocks.STRINGY_COBWEB) level.destroyBlock(abovePos, false); - if (belowState.getBlock() == BOPBlocks.STRINGY_COBWEB.get()) + if (belowState.getBlock() == BOPBlocks.STRINGY_COBWEB) level.destroyBlock(belowPos, false); } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/TallFlowerBlockBOP.java b/common/src/main/java/biomesoplenty/block/TallFlowerBlockBOP.java similarity index 59% rename from forge/src/main/java/biomesoplenty/forge/common/block/TallFlowerBlockBOP.java rename to common/src/main/java/biomesoplenty/block/TallFlowerBlockBOP.java index 2432d98764..cfdb608c39 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/TallFlowerBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/TallFlowerBlockBOP.java @@ -2,12 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.TallFlowerBlock; -import net.minecraftforge.common.PlantType; public class TallFlowerBlockBOP extends TallFlowerBlock { @@ -15,10 +12,4 @@ public TallFlowerBlockBOP(Properties properties) { super(properties); } - - @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) - { - return PlantType.PLAINS; - } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/ThermalCalciteBlock.java b/common/src/main/java/biomesoplenty/block/ThermalCalciteBlock.java similarity index 99% rename from forge/src/main/java/biomesoplenty/forge/common/block/ThermalCalciteBlock.java rename to common/src/main/java/biomesoplenty/block/ThermalCalciteBlock.java index 391ef1e84e..67a2917eb1 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/ThermalCalciteBlock.java +++ b/common/src/main/java/biomesoplenty/block/ThermalCalciteBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/ThermalCalciteVentBlock.java b/common/src/main/java/biomesoplenty/block/ThermalCalciteVentBlock.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/block/ThermalCalciteVentBlock.java rename to common/src/main/java/biomesoplenty/block/ThermalCalciteVentBlock.java index 67f25889d6..159a382ca0 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/ThermalCalciteVentBlock.java +++ b/common/src/main/java/biomesoplenty/block/ThermalCalciteVentBlock.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.damagesource.BOPDamageTypes; -import biomesoplenty.forge.init.ModParticles; +import biomesoplenty.api.damagesource.BOPDamageTypes; +import biomesoplenty.init.ModParticles; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; @@ -44,7 +44,7 @@ public void animateTick(BlockState stateIn, Level worldIn, BlockPos pos, RandomS super.animateTick(stateIn, worldIn, pos, rand); if (worldIn.getBlockState(pos.above()).getFluidState().getType() == Fluids.WATER && worldIn.getBlockState(pos.above()).getFluidState().getAmount() == 8) { - worldIn.addAlwaysVisibleParticle(ModParticles.STEAM.get(), (double) (pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 6.0D)), (double) (pos.getY() + 1.0D), (double) (pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 6.0D)), 0.0D, 0.02D, 0.0D); + worldIn.addAlwaysVisibleParticle(ModParticles.STEAM, (double) (pos.getX() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 6.0D)), (double) (pos.getY() + 1.0D), (double) (pos.getZ() + 0.5D + ((rand.nextDouble() - rand.nextDouble()) / 6.0D)), 0.0D, 0.02D, 0.0D); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/TinyCactusBlock.java b/common/src/main/java/biomesoplenty/block/TinyCactusBlock.java similarity index 86% rename from forge/src/main/java/biomesoplenty/forge/common/block/TinyCactusBlock.java rename to common/src/main/java/biomesoplenty/block/TinyCactusBlock.java index 2fc2066b37..791a309bb1 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/TinyCactusBlock.java +++ b/common/src/main/java/biomesoplenty/block/TinyCactusBlock.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; @@ -17,9 +17,8 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.common.IPlantable; -public class TinyCactusBlock extends BushBlock implements IPlantable +public class TinyCactusBlock extends BushBlock { public static final MapCodec CODEC = simpleCodec(TinyCactusBlock::new); protected static final VoxelShape NORMAL = Block.box(3.0D, 0.0D, 3.0D, 13.0D, 13.0D, 13.0D); @@ -58,10 +57,4 @@ public void entityInside(BlockState p_51148_, Level p_51149_, BlockPos p_51150_, playerEntity.hurt(p_51149_.damageSources().cactus(), 1.0F); } } - -// @Override -// public PlantType getPlantType(BlockGetter world, BlockPos pos) -// { -// return PlantType.PLAINS; -// } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/WallHangingSignBlockBOP.java b/common/src/main/java/biomesoplenty/block/WallHangingSignBlockBOP.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/block/WallHangingSignBlockBOP.java rename to common/src/main/java/biomesoplenty/block/WallHangingSignBlockBOP.java index 21e7045c9e..b8288cb28c 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/WallHangingSignBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/WallHangingSignBlockBOP.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.WallHangingSignBlock; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/WallSignBlockBOP.java b/common/src/main/java/biomesoplenty/block/WallSignBlockBOP.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/block/WallSignBlockBOP.java rename to common/src/main/java/biomesoplenty/block/WallSignBlockBOP.java index cd10012414..5c74f9105b 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/WallSignBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/WallSignBlockBOP.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.WallSignBlock; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/WaterlilyBlockBOP.java b/common/src/main/java/biomesoplenty/block/WaterlilyBlockBOP.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/block/WaterlilyBlockBOP.java rename to common/src/main/java/biomesoplenty/block/WaterlilyBlockBOP.java index d28ca60834..e11670b62e 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/WaterlilyBlockBOP.java +++ b/common/src/main/java/biomesoplenty/block/WaterlilyBlockBOP.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; @@ -20,7 +20,6 @@ import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.common.PlantType; public class WaterlilyBlockBOP extends BushBlock { @@ -43,12 +42,6 @@ public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, return SHAPE; } - @Override - public PlantType getPlantType(BlockGetter world, BlockPos pos) - { - return PlantType.WATER; - } - @Override public void entityInside(BlockState p_58164_, Level p_58165_, BlockPos p_58166_, Entity p_58167_) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/WebbingBlock.java b/common/src/main/java/biomesoplenty/block/WebbingBlock.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/block/WebbingBlock.java rename to common/src/main/java/biomesoplenty/block/WebbingBlock.java index 57fd613a5a..bb835761cd 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/WebbingBlock.java +++ b/common/src/main/java/biomesoplenty/block/WebbingBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.MapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -41,7 +41,7 @@ public void entityInside(BlockState p_58180_, Level p_58181_, BlockPos p_58182_, @Override public boolean canBeReplaced(BlockState p_153299_, BlockPlaceContext p_153300_) { - return !p_153300_.getItemInHand().is(BOPBlocks.WEBBING.get().asItem()) || super.canBeReplaced(p_153299_, p_153300_); + return !p_153300_.getItemInHand().is(BOPBlocks.WEBBING.asItem()) || super.canBeReplaced(p_153299_, p_153300_); } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/WillowLeavesBlock.java b/common/src/main/java/biomesoplenty/block/WillowLeavesBlock.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/block/WillowLeavesBlock.java rename to common/src/main/java/biomesoplenty/block/WillowLeavesBlock.java index 24af8a02aa..e6478929c9 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/WillowLeavesBlock.java +++ b/common/src/main/java/biomesoplenty/block/WillowLeavesBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.context.BlockPlaceContext; @@ -74,7 +74,7 @@ private static int getDistanceAt(BlockState p_54464_) { private static boolean isMoss(BlockState p_154649_) { - return p_154649_.getBlock() == BOPBlocks.SPANISH_MOSS.get() || p_154649_.getBlock() == BOPBlocks.SPANISH_MOSS_PLANT.get(); + return p_154649_.getBlock() == BOPBlocks.SPANISH_MOSS || p_154649_.getBlock() == BOPBlocks.SPANISH_MOSS_PLANT; } @Override diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/YellowMapleLeavesBlock.java b/common/src/main/java/biomesoplenty/block/YellowMapleLeavesBlock.java similarity index 89% rename from forge/src/main/java/biomesoplenty/forge/common/block/YellowMapleLeavesBlock.java rename to common/src/main/java/biomesoplenty/block/YellowMapleLeavesBlock.java index 16d62bf1b0..24df9d9c29 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/YellowMapleLeavesBlock.java +++ b/common/src/main/java/biomesoplenty/block/YellowMapleLeavesBlock.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block; +package biomesoplenty.block; -import biomesoplenty.forge.init.ModParticles; +import biomesoplenty.init.ModParticles; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.ParticleUtils; @@ -30,7 +30,7 @@ public void animateTick(BlockState p_272714_, Level p_272837_, BlockPos p_273218 BlockState blockstate = p_272837_.getBlockState(blockpos); if (!isFaceFull(blockstate.getCollisionShape(p_272837_, blockpos), Direction.UP)) { - ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.YELLOW_MAPLE_LEAVES.get()); + ParticleUtils.spawnParticleBelow(p_272837_, p_273218_, p_273360_, ModParticles.YELLOW_MAPLE_LEAVES); } } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/state/properties/ConnectedProperty.java b/common/src/main/java/biomesoplenty/block/properties/ConnectedProperty.java similarity index 89% rename from forge/src/main/java/biomesoplenty/forge/common/block/state/properties/ConnectedProperty.java rename to common/src/main/java/biomesoplenty/block/properties/ConnectedProperty.java index 2ff0a67e87..37ccb4e758 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/state/properties/ConnectedProperty.java +++ b/common/src/main/java/biomesoplenty/block/properties/ConnectedProperty.java @@ -1,4 +1,4 @@ -package biomesoplenty.forge.common.block.state.properties; +package biomesoplenty.block.properties; import net.minecraft.util.StringRepresentable; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/state/properties/QuarterProperty.java b/common/src/main/java/biomesoplenty/block/properties/QuarterProperty.java similarity index 90% rename from forge/src/main/java/biomesoplenty/forge/common/block/state/properties/QuarterProperty.java rename to common/src/main/java/biomesoplenty/block/properties/QuarterProperty.java index f1df3b5770..3f12000400 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/state/properties/QuarterProperty.java +++ b/common/src/main/java/biomesoplenty/block/properties/QuarterProperty.java @@ -1,4 +1,4 @@ -package biomesoplenty.forge.common.block.state.properties; +package biomesoplenty.block.properties; import net.minecraft.util.StringRepresentable; diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/trees/BOPTreeGrowers.java b/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowers.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/block/trees/BOPTreeGrowers.java rename to common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowers.java index 7be1df2d59..ebc78d20af 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/block/trees/BOPTreeGrowers.java +++ b/common/src/main/java/biomesoplenty/block/trees/BOPTreeGrowers.java @@ -2,10 +2,10 @@ * Copyright 2023, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.block.trees; +package biomesoplenty.block.trees; -import biomesoplenty.forge.api.BOPAPI; -import biomesoplenty.forge.common.worldgen.feature.BOPTreeFeatures; +import biomesoplenty.api.BOPAPI; +import biomesoplenty.worldgen.feature.BOPTreeFeatures; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.block.grower.TreeGrower; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; diff --git a/common/src/main/java/biomesoplenty/config/GenerationConfig.java b/common/src/main/java/biomesoplenty/config/GenerationConfig.java new file mode 100644 index 0000000000..5077c00bc2 --- /dev/null +++ b/common/src/main/java/biomesoplenty/config/GenerationConfig.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright 2024, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.config; + +import biomesoplenty.core.BiomesOPlenty; +import glitchcore.config.Config; +import glitchcore.util.Environment; + +public class GenerationConfig extends Config +{ + + public int bopPrimaryOverworldRegionWeight; + public int bopSecondaryOverworldRegionWeight; + public int bopNetherRegionWeight; + public int bopOverworldRareRegionWeight; + public int bopNetherRareRegionWeight; + + public GenerationConfig() + { + super(Environment.getConfigPath().resolve(BiomesOPlenty.MOD_ID + "/generation.toml")); + } + + @Override + public void load() + { + bopPrimaryOverworldRegionWeight = addNumber("overworld.bop_primary_overworld_region_weight", 10, 0, Integer.MAX_VALUE, "The weighting of primary bop biome regions in the overworld."); + bopSecondaryOverworldRegionWeight = addNumber("overworld.bop_secondary_overworld_region_weight", 8, 0, Integer.MAX_VALUE, "The weighting of secondary bop biome regions in the overworld."); + bopOverworldRareRegionWeight = addNumber("overworld.bop_overworld_rare_region_weight", 2, 0, Integer.MAX_VALUE, "The weighting of rare bop biome regions in the overworld."); + + bopNetherRegionWeight = addNumber("nether.bop_nether_region_weight", 13, 0, Integer.MAX_VALUE, "The weighting of bop biome regions in the nether."); + bopNetherRareRegionWeight = addNumber("nether.bop_nether_rare_region_weight", 2, 0, Integer.MAX_VALUE, "The weighting of rare bop biome regions in the nether."); + } +} diff --git a/common/src/main/java/biomesoplenty/core/BiomesOPlenty.java b/common/src/main/java/biomesoplenty/core/BiomesOPlenty.java index 78c3716ce3..2c227fd4de 100644 --- a/common/src/main/java/biomesoplenty/core/BiomesOPlenty.java +++ b/common/src/main/java/biomesoplenty/core/BiomesOPlenty.java @@ -4,6 +4,77 @@ ******************************************************************************/ package biomesoplenty.core; +import biomesoplenty.api.BOPAPI; +import biomesoplenty.init.*; +import biomesoplenty.worldgen.carver.BOPWorldCarvers; +import biomesoplenty.worldgen.feature.BOPBaseFeatures; +import glitchcore.event.EventManager; +import glitchcore.util.Environment; +import glitchcore.util.RegistryHelper; +import net.minecraft.core.registries.Registries; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + public class BiomesOPlenty { + public static final String MOD_ID = BOPAPI.MOD_ID; + public static final Logger LOGGER = LogManager.getLogger(MOD_ID); + + public static void init() + { + // Initialize the config file first so other things can rely on it + ModConfig.setup(); + + ModBiomes.setup(); + ModTags.setup(); + addRegistrars(); + addHandlers(); + } + + private static void addRegistrars() + { + var regHelper = RegistryHelper.create(); + regHelper.addRegistrar(Registries.BLOCK, ModBlocks::setup); + regHelper.addRegistrar(Registries.BLOCK_ENTITY_TYPE, ModBlockEntities::registerBlockEntities); + regHelper.addRegistrar(Registries.FLUID, ModFluids::registerFluids); + regHelper.addRegistrar(Registries.ITEM, ModItems::registerItems); + regHelper.addRegistrar(Registries.FEATURE, BOPBaseFeatures::registerFeatures); + regHelper.addRegistrar(Registries.CARVER, BOPWorldCarvers::registerCarvers); + regHelper.addRegistrar(Registries.ENTITY_TYPE, ModEntities::registerEntities); + regHelper.addRegistrar(Registries.CREATIVE_MODE_TAB, ModCreativeTab::registerCreativeTabs); + regHelper.addRegistrar(Registries.PARTICLE_TYPE, ModParticles::registerParticles); + regHelper.addRegistrar(Registries.SOUND_EVENT, ModSounds::registerSounds); + } + + private static void addHandlers() + { + // Misc handlers + EventManager.addListener(ModVillagerTrades::addWanderingVillagerTrades); + + if (Environment.isClient()) + { + addClientHandlers(); + } + } + + private static void addClientHandlers() + { + // Coloring + EventManager.addListener(ModClient::registerBlockColors); + EventManager.addListener(ModClient::registerItemColors); + + // Particles + EventManager.addListener(ModClient::registerParticleSprites); + } + + public static void setupTerraBlender() + { + ModBiomes.setupTerraBlender(); + } + + public static void setupClient() + { + ModClient.setupRenderTypes(); + ModClient.registerWoodTypes(); + } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/entity/BoatBOP.java b/common/src/main/java/biomesoplenty/entity/BoatBOP.java similarity index 76% rename from forge/src/main/java/biomesoplenty/forge/common/entity/BoatBOP.java rename to common/src/main/java/biomesoplenty/entity/BoatBOP.java index 2baa9d2f3f..8f294fcfa9 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/entity/BoatBOP.java +++ b/common/src/main/java/biomesoplenty/entity/BoatBOP.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.entity; +package biomesoplenty.entity; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.api.entity.BOPEntities; -import biomesoplenty.forge.api.item.BOPItems; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.entity.BOPEntities; +import biomesoplenty.api.item.BOPItems; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; @@ -35,7 +35,7 @@ public BoatBOP(EntityType type, Level level) public BoatBOP(Level level, double x, double y, double z) { - this((EntityType)BOPEntities.BOAT.get(), level); + this((EntityType) BOPEntities.BOAT, level); this.setPos(x, y, z); this.xo = x; this.yo = y; @@ -113,29 +113,29 @@ public Item getDropItem() switch (ModelType.byId(this.entityData.get(DATA_ID_TYPE))) { case FIR: - return BOPItems.FIR_BOAT.get(); + return BOPItems.FIR_BOAT; case PINE: - return BOPItems.PINE_BOAT.get(); + return BOPItems.PINE_BOAT; case MAPLE: - return BOPItems.MAPLE_BOAT.get(); + return BOPItems.MAPLE_BOAT; case REDWOOD: - return BOPItems.REDWOOD_BOAT.get(); + return BOPItems.REDWOOD_BOAT; case MAHOGANY: - return BOPItems.MAHOGANY_BOAT.get(); + return BOPItems.MAHOGANY_BOAT; case JACARANDA: - return BOPItems.JACARANDA_BOAT.get(); + return BOPItems.JACARANDA_BOAT; case PALM: - return BOPItems.PALM_BOAT.get(); + return BOPItems.PALM_BOAT; case WILLOW: - return BOPItems.WILLOW_BOAT.get(); + return BOPItems.WILLOW_BOAT; case DEAD: - return BOPItems.DEAD_BOAT.get(); + return BOPItems.DEAD_BOAT; case MAGIC: - return BOPItems.MAGIC_BOAT.get(); + return BOPItems.MAGIC_BOAT; case UMBRAN: - return BOPItems.UMBRAN_BOAT.get(); + return BOPItems.UMBRAN_BOAT; case HELLBARK: - return BOPItems.HELLBARK_BOAT.get(); + return BOPItems.HELLBARK_BOAT; } return Items.OAK_BOAT; } @@ -163,18 +163,18 @@ public Type getVariant() public enum ModelType { - FIR("fir", BOPBlocks.FIR_PLANKS.get()), - PINE("pine", BOPBlocks.PINE_PLANKS.get()), - MAPLE("maple", BOPBlocks.MAPLE_PLANKS.get()), - REDWOOD("redwood", BOPBlocks.REDWOOD_PLANKS.get()), - MAHOGANY("mahogany", BOPBlocks.MAHOGANY_PLANKS.get()), - JACARANDA("jacaranda", BOPBlocks.JACARANDA_PLANKS.get()), - PALM("palm", BOPBlocks.PALM_PLANKS.get()), - WILLOW("willow", BOPBlocks.WILLOW_PLANKS.get()), - DEAD("dead", BOPBlocks.DEAD_PLANKS.get()), - MAGIC("magic", BOPBlocks.MAGIC_PLANKS.get()), - UMBRAN("umbran", BOPBlocks.UMBRAN_PLANKS.get()), - HELLBARK("hellbark", BOPBlocks.HELLBARK_PLANKS.get()); + FIR("fir", BOPBlocks.FIR_PLANKS), + PINE("pine", BOPBlocks.PINE_PLANKS), + MAPLE("maple", BOPBlocks.MAPLE_PLANKS), + REDWOOD("redwood", BOPBlocks.REDWOOD_PLANKS), + MAHOGANY("mahogany", BOPBlocks.MAHOGANY_PLANKS), + JACARANDA("jacaranda", BOPBlocks.JACARANDA_PLANKS), + PALM("palm", BOPBlocks.PALM_PLANKS), + WILLOW("willow", BOPBlocks.WILLOW_PLANKS), + DEAD("dead", BOPBlocks.DEAD_PLANKS), + MAGIC("magic", BOPBlocks.MAGIC_PLANKS), + UMBRAN("umbran", BOPBlocks.UMBRAN_PLANKS), + HELLBARK("hellbark", BOPBlocks.HELLBARK_PLANKS); private final String name; private final Block planks; diff --git a/forge/src/main/java/biomesoplenty/forge/common/entity/ChestBoatBOP.java b/common/src/main/java/biomesoplenty/entity/ChestBoatBOP.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/entity/ChestBoatBOP.java rename to common/src/main/java/biomesoplenty/entity/ChestBoatBOP.java index 3ec770e169..babd67bb7e 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/entity/ChestBoatBOP.java +++ b/common/src/main/java/biomesoplenty/entity/ChestBoatBOP.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.entity; +package biomesoplenty.entity; -import biomesoplenty.forge.api.entity.BOPEntities; -import biomesoplenty.forge.api.item.BOPItems; +import biomesoplenty.api.entity.BOPEntities; +import biomesoplenty.api.item.BOPItems; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; @@ -31,7 +31,7 @@ public ChestBoatBOP(EntityType type, Level level) public ChestBoatBOP(Level level, double x, double y, double z) { - this((EntityType)BOPEntities.CHEST_BOAT.get(), level); + this((EntityType) BOPEntities.CHEST_BOAT, level); this.setPos(x, y, z); this.xo = x; this.yo = y; @@ -109,29 +109,29 @@ public Item getDropItem() switch (BoatBOP.ModelType.byId(this.entityData.get(DATA_ID_TYPE))) { case FIR: - return BOPItems.FIR_CHEST_BOAT.get(); + return BOPItems.FIR_CHEST_BOAT; case PINE: - return BOPItems.PINE_CHEST_BOAT.get(); + return BOPItems.PINE_CHEST_BOAT; case MAPLE: - return BOPItems.MAPLE_CHEST_BOAT.get(); + return BOPItems.MAPLE_CHEST_BOAT; case REDWOOD: - return BOPItems.REDWOOD_CHEST_BOAT.get(); + return BOPItems.REDWOOD_CHEST_BOAT; case MAHOGANY: - return BOPItems.MAHOGANY_CHEST_BOAT.get(); + return BOPItems.MAHOGANY_CHEST_BOAT; case JACARANDA: - return BOPItems.JACARANDA_CHEST_BOAT.get(); + return BOPItems.JACARANDA_CHEST_BOAT; case PALM: - return BOPItems.PALM_CHEST_BOAT.get(); + return BOPItems.PALM_CHEST_BOAT; case WILLOW: - return BOPItems.WILLOW_CHEST_BOAT.get(); + return BOPItems.WILLOW_CHEST_BOAT; case DEAD: - return BOPItems.DEAD_CHEST_BOAT.get(); + return BOPItems.DEAD_CHEST_BOAT; case MAGIC: - return BOPItems.MAGIC_CHEST_BOAT.get(); + return BOPItems.MAGIC_CHEST_BOAT; case UMBRAN: - return BOPItems.UMBRAN_CHEST_BOAT.get(); + return BOPItems.UMBRAN_CHEST_BOAT; case HELLBARK: - return BOPItems.HELLBARK_CHEST_BOAT.get(); + return BOPItems.HELLBARK_CHEST_BOAT; } return Items.OAK_CHEST_BOAT; } diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModBiomes.java b/common/src/main/java/biomesoplenty/init/ModBiomes.java similarity index 92% rename from forge/src/main/java/biomesoplenty/forge/init/ModBiomes.java rename to common/src/main/java/biomesoplenty/init/ModBiomes.java index f84be8ea95..8c13591403 100644 --- a/forge/src/main/java/biomesoplenty/forge/init/ModBiomes.java +++ b/common/src/main/java/biomesoplenty/init/ModBiomes.java @@ -2,13 +2,13 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.init; +package biomesoplenty.init; -import biomesoplenty.forge.api.biome.BOPBiomes; -import biomesoplenty.forge.common.biome.BOPNetherBiomes; -import biomesoplenty.forge.common.biome.BOPOverworldBiomes; -import biomesoplenty.forge.common.worldgen.*; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.biome.BOPNetherBiomes; +import biomesoplenty.biome.BOPOverworldBiomes; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.worldgen.*; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstapContext; @@ -31,15 +31,11 @@ public static void setup() public static void setupTerraBlender() { // Register our regions - Regions.register(new BOPOverworldRegionPrimary(ModConfig.GenerationConfig.bopPrimaryOverworldRegionWeight.get())); - Regions.register(new BOPOverworldRegionSecondary(ModConfig.GenerationConfig.bopSecondaryOverworldRegionWeight.get())); - Regions.register(new BOPOverworldRegionRare(ModConfig.GenerationConfig.bopOverworldRareRegionWeight.get())); - Regions.register(new BOPNetherRegionCommon(ModConfig.GenerationConfig.bopNetherRegionWeight.get())); - Regions.register(new BOPNetherRegionRare(ModConfig.GenerationConfig.bopNetherRareRegionWeight.get())); - - // Register our surface rules - SurfaceRuleManager.addSurfaceRules(SurfaceRuleManager.RuleCategory.OVERWORLD, BiomesOPlentyForge.MOD_ID, BOPSurfaceRuleData.overworld()); - SurfaceRuleManager.addSurfaceRules(SurfaceRuleManager.RuleCategory.NETHER, BiomesOPlentyForge.MOD_ID, BOPSurfaceRuleData.nether()); + Regions.register(new BOPOverworldRegionPrimary(ModConfig.generation.bopPrimaryOverworldRegionWeight)); + Regions.register(new BOPOverworldRegionSecondary(ModConfig.generation.bopSecondaryOverworldRegionWeight)); + Regions.register(new BOPOverworldRegionRare(ModConfig.generation.bopOverworldRareRegionWeight)); + Regions.register(new BOPNetherRegionCommon(ModConfig.generation.bopNetherRegionWeight)); + Regions.register(new BOPNetherRegionRare(ModConfig.generation.bopNetherRareRegionWeight)); } public static void bootstrapBiomes(BootstapContext context) diff --git a/common/src/main/java/biomesoplenty/init/ModBlockEntities.java b/common/src/main/java/biomesoplenty/init/ModBlockEntities.java new file mode 100644 index 0000000000..f015a99883 --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModBlockEntities.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright 2024, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.api.block.BOPBlockEntities; +import biomesoplenty.block.HangingSignBlockEntityBOP; +import biomesoplenty.block.SignBlockEntityBOP; +import biomesoplenty.core.BiomesOPlenty; +import net.minecraft.Util; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.datafix.fixes.References; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; + +import java.util.function.BiConsumer; + +import static biomesoplenty.api.block.BOPBlocks.*; + +public class ModBlockEntities +{ + public static void registerBlockEntities(BiConsumer> func) + { + BOPBlockEntities.SIGN = register(func, "sign", BlockEntityType.Builder.of(SignBlockEntityBOP::new, + FIR_SIGN, PINE_SIGN, MAPLE_SIGN, REDWOOD_SIGN, MAHOGANY_SIGN, JACARANDA_SIGN, PALM_SIGN, WILLOW_SIGN, DEAD_SIGN, MAGIC_SIGN, UMBRAN_SIGN, HELLBARK_SIGN, + FIR_WALL_SIGN, PINE_WALL_SIGN, MAPLE_WALL_SIGN, REDWOOD_WALL_SIGN, MAHOGANY_WALL_SIGN, JACARANDA_WALL_SIGN, PALM_WALL_SIGN, WILLOW_WALL_SIGN, DEAD_WALL_SIGN, MAGIC_WALL_SIGN, UMBRAN_WALL_SIGN, HELLBARK_WALL_SIGN)); + + BOPBlockEntities.HANGING_SIGN = register(func, "hanging_sign", BlockEntityType.Builder.of(HangingSignBlockEntityBOP::new, + FIR_HANGING_SIGN, PINE_HANGING_SIGN, MAPLE_HANGING_SIGN, REDWOOD_HANGING_SIGN, MAHOGANY_HANGING_SIGN, JACARANDA_HANGING_SIGN, PALM_HANGING_SIGN, WILLOW_HANGING_SIGN, DEAD_HANGING_SIGN, MAGIC_HANGING_SIGN, UMBRAN_HANGING_SIGN, HELLBARK_HANGING_SIGN, + FIR_WALL_HANGING_SIGN, PINE_WALL_HANGING_SIGN, MAPLE_WALL_HANGING_SIGN, REDWOOD_WALL_HANGING_SIGN, MAHOGANY_WALL_HANGING_SIGN, JACARANDA_WALL_HANGING_SIGN, PALM_WALL_HANGING_SIGN, WILLOW_WALL_HANGING_SIGN, DEAD_WALL_HANGING_SIGN, MAGIC_WALL_HANGING_SIGN, UMBRAN_WALL_HANGING_SIGN, HELLBARK_WALL_HANGING_SIGN)); + } + + private static BlockEntityType register(BiConsumer> func, String name, BlockEntityType.Builder builder) + { + var type = builder.build(Util.fetchChoiceType(References.BLOCK_ENTITY, name)); + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), type); + return type; + } +} diff --git a/common/src/main/java/biomesoplenty/init/ModBlocks.java b/common/src/main/java/biomesoplenty/init/ModBlocks.java new file mode 100644 index 0000000000..c4a5a44704 --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModBlocks.java @@ -0,0 +1,515 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.api.block.BOPBlockSetTypes; +import biomesoplenty.api.block.BOPFluids; +import biomesoplenty.api.block.BOPWoodTypes; +import biomesoplenty.api.sound.BOPSounds; +import biomesoplenty.block.*; +import biomesoplenty.block.trees.BOPTreeGrowers; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.worldgen.BOPSurfaceRuleData; +import net.minecraft.client.renderer.Sheets; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.util.ColorRGBA; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.NoteBlockInstrument; +import net.minecraft.world.level.material.MapColor; +import net.minecraft.world.level.material.PushReaction; +import terrablender.api.SurfaceRuleManager; + +import java.util.function.BiConsumer; + +import static biomesoplenty.api.block.BOPBlocks.*; + +public class ModBlocks +{ + public static void setup(BiConsumer func) + { + registerBlocks(func); + registerSurfaceRules(); + } + + private static void registerSurfaceRules() + { + SurfaceRuleManager.addSurfaceRules(SurfaceRuleManager.RuleCategory.OVERWORLD, BiomesOPlenty.MOD_ID, BOPSurfaceRuleData.overworld()); + SurfaceRuleManager.addSurfaceRules(SurfaceRuleManager.RuleCategory.NETHER, BiomesOPlenty.MOD_ID, BOPSurfaceRuleData.nether()); + } + + private static void registerBlocks(BiConsumer func) + { + //Fluids + BLOOD = register(func, new BloodBlock(BOPFluids.FLOWING_BLOOD, BlockBehaviour.Properties.of().replaceable().pushReaction(PushReaction.DESTROY).liquid().noCollission().randomTicks().noLootTable().mapColor(MapColor.CRIMSON_NYLIUM).sound(SoundType.EMPTY).strength(100.0F)), "blood"); + + //Terrain + WHITE_SAND = register(func, new SandBlockBOP(new ColorRGBA(0xF3F1E4), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.QUARTZ).strength(0.5F).sound(SoundType.SAND)), "white_sand"); + WHITE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(0.8F)), "white_sandstone"); + WHITE_SANDSTONE_STAIRS = register(func, new StairBlock(WHITE_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(WHITE_SANDSTONE)), "white_sandstone_stairs"); + WHITE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(WHITE_SANDSTONE)), "white_sandstone_slab"); + WHITE_SANDSTONE_WALL = register(func, new WallBlock(Block.Properties.ofFullCopy(WHITE_SANDSTONE).forceSolidOn()), "white_sandstone_wall"); + SMOOTH_WHITE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(2.0F, 6.0F)), "smooth_white_sandstone"); + SMOOTH_WHITE_SANDSTONE_STAIRS = register(func, new StairBlock(WHITE_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(SMOOTH_WHITE_SANDSTONE)), "smooth_white_sandstone_stairs"); + SMOOTH_WHITE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(SMOOTH_WHITE_SANDSTONE)), "smooth_white_sandstone_slab"); + CUT_WHITE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(0.8F)), "cut_white_sandstone"); + CUT_WHITE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(CUT_WHITE_SANDSTONE)), "cut_white_sandstone_slab"); + CHISELED_WHITE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(0.8F)), "chiseled_white_sandstone"); + + ORANGE_SAND = register(func, new SandBlockBOP(new ColorRGBA(0xCC9A61), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_ORANGE).strength(0.5F).sound(SoundType.SAND)), "orange_sand"); + ORANGE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(0.8F)), "orange_sandstone"); + ORANGE_SANDSTONE_STAIRS = register(func, new StairBlock(ORANGE_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(ORANGE_SANDSTONE)), "orange_sandstone_stairs"); + ORANGE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(ORANGE_SANDSTONE)), "orange_sandstone_slab"); + ORANGE_SANDSTONE_WALL = register(func, new WallBlock(Block.Properties.ofFullCopy(ORANGE_SANDSTONE).forceSolidOn()), "orange_sandstone_wall"); + SMOOTH_ORANGE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(2.0F, 6.0F)), "smooth_orange_sandstone"); + SMOOTH_ORANGE_SANDSTONE_STAIRS = register(func, new StairBlock(ORANGE_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(SMOOTH_ORANGE_SANDSTONE)), "smooth_orange_sandstone_stairs"); + SMOOTH_ORANGE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(SMOOTH_ORANGE_SANDSTONE)), "smooth_orange_sandstone_slab"); + CUT_ORANGE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(0.8F)), "cut_orange_sandstone"); + CUT_ORANGE_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(CUT_ORANGE_SANDSTONE)), "cut_orange_sandstone_slab"); + CHISELED_ORANGE_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(0.8F)), "chiseled_orange_sandstone"); + + MOSSY_BLACK_SAND = register(func, new OvergrownSandBlock(new ColorRGBA(0x2D2C2F), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_GREEN).strength(0.5F).randomTicks().sound(SoundType.MOSS)), "mossy_black_sand"); + BLACK_SAND = register(func, new SandBlockBOP(new ColorRGBA(0x2D2C2F), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_BLACK).strength(0.5F).sound(SoundType.SAND)), "black_sand"); + BLACK_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(0.8F)), "black_sandstone"); + BLACK_SANDSTONE_STAIRS = register(func, new StairBlock(BLACK_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(BLACK_SANDSTONE)), "black_sandstone_stairs"); + BLACK_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(BLACK_SANDSTONE)), "black_sandstone_slab"); + BLACK_SANDSTONE_WALL = register(func, new WallBlock(Block.Properties.ofFullCopy(BLACK_SANDSTONE).forceSolidOn()), "black_sandstone_wall"); + SMOOTH_BLACK_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(2.0F, 6.0F)), "smooth_black_sandstone"); + SMOOTH_BLACK_SANDSTONE_STAIRS = register(func, new StairBlock(BLACK_SANDSTONE.defaultBlockState(), Block.Properties.ofFullCopy(SMOOTH_BLACK_SANDSTONE)), "smooth_black_sandstone_stairs"); + SMOOTH_BLACK_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(SMOOTH_BLACK_SANDSTONE)), "smooth_black_sandstone_slab"); + CUT_BLACK_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(0.8F)), "cut_black_sandstone"); + CUT_BLACK_SANDSTONE_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(CUT_BLACK_SANDSTONE)), "cut_black_sandstone_slab"); + CHISELED_BLACK_SANDSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(0.8F)), "chiseled_black_sandstone"); + + DRIED_SALT = register(func, new DriedSaltBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(1.0F).sound(new SoundType(1.0F, 0.5F, SoundEvents.GRAVEL_BREAK, SoundEvents.GRAVEL_STEP, SoundEvents.GRAVEL_PLACE, SoundEvents.GRAVEL_HIT, SoundEvents.GRAVEL_FALL))), "dried_salt"); + + MapColor tc1 = MapColor.GOLD; + MapColor tc2 = MapColor.COLOR_YELLOW; + MapColor tc3 = MapColor.COLOR_ORANGE; + MapColor tc4 = MapColor.TERRACOTTA_ORANGE; + MapColor tc5 = MapColor.TERRACOTTA_RED; + THERMAL_CALCITE = register(func, new ThermalCalciteBlock(BlockBehaviour.Properties.of().mapColor((blockState) -> blockState.getValue(ThermalCalciteBlock.DISTANCE) == 1 ? tc1 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 2 ? tc2 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 3 ? tc3 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 4 ? tc4 : tc5).instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.CALCITE).requiresCorrectToolForDrops().strength(0.75F)), "thermal_calcite"); + THERMAL_CALCITE_VENT = register(func, new ThermalCalciteVentBlock(BlockBehaviour.Properties.of().mapColor((blockState) -> blockState.getValue(ThermalCalciteBlock.DISTANCE) == 1 ? tc1 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 2 ? tc2 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 3 ? tc3 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 4 ? tc4 : tc5).instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.CALCITE).requiresCorrectToolForDrops().strength(0.75F)), "thermal_calcite_vent"); + + FLESH = register(func, new FleshBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_RED).strength(0.4F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL))), "flesh"); + POROUS_FLESH = register(func, new FleshBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_RED).strength(0.4F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL))), "porous_flesh"); + FLESH_TENDONS = register(func, new FleshTendonsBottomBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_RED).noCollission().strength(0.2F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL))), "flesh_tendons"); + FLESH_TENDONS_STRAND = register(func, new FleshTendonsBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_RED).noCollission().strength(0.2F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL))), "flesh_tendons_strand"); + EYEBULB = register(func, new EyebulbBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_RED).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL)).offsetType(BlockBehaviour.OffsetType.NONE)), "eyebulb"); + HAIR = register(func, new HairBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.RAW_IRON).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.WOOL).offsetType(BlockBehaviour.OffsetType.XYZ)), "hair"); + PUS_BUBBLE = register(func, new PusBubbleBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_PINK).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(new SoundType(1.0F, 1.0F, BOPSounds.PUS_BUBBLE_POP, BOPSounds.PUS_BUBBLE_POP, SoundEvents.CORAL_BLOCK_PLACE, BOPSounds.PUS_BUBBLE_POP, BOPSounds.PUS_BUBBLE_POP))), "pus_bubble"); + + BRIMSTONE = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_YELLOW).requiresCorrectToolForDrops().strength(0.5F)), "brimstone"); + BRIMSTONE_BRICKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_YELLOW).requiresCorrectToolForDrops().strength(1.0F, 3.0F)), "brimstone_bricks"); + BRIMSTONE_BRICK_STAIRS = register(func, new StairBlock(BRIMSTONE_BRICKS.defaultBlockState(), Block.Properties.ofFullCopy(BRIMSTONE_BRICKS)), "brimstone_brick_stairs"); + BRIMSTONE_BRICK_SLAB = register(func, new SlabBlock(Block.Properties.ofFullCopy(BRIMSTONE_BRICKS)), "brimstone_brick_slab"); + BRIMSTONE_BRICK_WALL = register(func, new WallBlock(Block.Properties.ofFullCopy(BRIMSTONE_BRICKS).forceSolidOn()), "brimstone_brick_wall"); + CHISELED_BRIMSTONE_BRICKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_YELLOW).requiresCorrectToolForDrops().strength(1.0F, 3.0F)), "chiseled_brimstone_bricks"); + BRIMSTONE_FUMAROLE = register(func, new BrimstoneFumaroleBlock(BlockBehaviour.Properties.ofFullCopy(BRIMSTONE)), "brimstone_fumarole"); + BRIMSTONE_CLUSTER = register(func, new BrimstoneClusterBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_YELLOW).pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.NONE)), "brimstone_cluster"); + BRIMSTONE_BUD = register(func, new BrimstoneBudBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_YELLOW).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.XZ)), "brimstone_bud"); + BLACKSTONE_SPINES = register(func, new BlackstoneDecorationBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_BLACK).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.XZ)), "blackstone_spines"); + BLACKSTONE_BULB = register(func, new BlackstoneDecorationBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_BLACK).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.XZ).lightLevel((state) -> 2).emissiveRendering((state, world, pos) -> true)), "blackstone_bulb"); + + ROSE_QUARTZ_BLOCK = register(func, new AmethystBlock(BlockBehaviour.Properties.of().mapColor(MapColor.CRIMSON_STEM).strength(1.5F).sound(SoundType.AMETHYST).requiresCorrectToolForDrops().lightLevel((state) -> 10)), "rose_quartz_block"); + ROSE_QUARTZ_CLUSTER = register(func, new AmethystClusterBlock(7, 3, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).forceSolidOn().mapColor(MapColor.CRIMSON_STEM).noOcclusion().randomTicks().sound(SoundType.AMETHYST_CLUSTER).strength(1.5F).lightLevel((state) -> 8)), "rose_quartz_cluster"); + LARGE_ROSE_QUARTZ_BUD = register(func, new AmethystClusterBlock(5, 3, BlockBehaviour.Properties.ofFullCopy(ROSE_QUARTZ_CLUSTER).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.MEDIUM_AMETHYST_BUD).lightLevel((state) -> 7)), "large_rose_quartz_bud"); + MEDIUM_ROSE_QUARTZ_BUD = register(func, new AmethystClusterBlock(4, 3, BlockBehaviour.Properties.ofFullCopy(ROSE_QUARTZ_CLUSTER).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.LARGE_AMETHYST_BUD).lightLevel((state) -> 6)), "medium_rose_quartz_bud"); + SMALL_ROSE_QUARTZ_BUD = register(func, new AmethystClusterBlock(3, 4, BlockBehaviour.Properties.ofFullCopy(ROSE_QUARTZ_CLUSTER).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.SMALL_AMETHYST_BUD).lightLevel((state) -> 5)), "small_rose_quartz_bud"); + + TOADSTOOL = register(func, new MushroomBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_ORANGE).noCollission().instabreak().sound(SoundType.GRASS)), "toadstool"); + TOADSTOOL_BLOCK = register(func, new HugeMushroomBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_ORANGE).strength(0.2F).sound(SoundType.WOOD)), "toadstool_block"); + GLOWSHROOM = register(func, new MushroomBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIAMOND).noCollission().instabreak().sound(SoundType.GRASS).lightLevel((state) -> 6).emissiveRendering((state, world, pos) -> true)), "glowshroom"); + GLOWSHROOM_BLOCK = register(func, new HugeMushroomBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIAMOND).strength(0.2F).sound(SoundType.WOOD).lightLevel((state) -> 10).emissiveRendering((state, world, pos) -> true)), "glowshroom_block"); + GLOWING_MOSS_BLOCK = register(func, new GlowingMossBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIAMOND).strength(0.1F).sound(SoundType.MOSS).lightLevel((state) -> 6)), "glowing_moss_block"); + GLOWING_MOSS_CARPET = register(func, new CarpetBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIAMOND).strength(0.1F).sound(SoundType.MOSS_CARPET).lightLevel((state) -> 6)), "glowing_moss_carpet"); + GLOWWORM_SILK = register(func, new GlowwormSilkBottomBlock(BlockBehaviour.Properties.of().mapColor(MapColor.DIAMOND).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL).lightLevel((state) -> 2).emissiveRendering((state, world, pos) -> true)), "glowworm_silk"); + GLOWWORM_SILK_STRAND = register(func, new GlowwormSilkBlock(BlockBehaviour.Properties.of().mapColor(MapColor.DIAMOND).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL).lightLevel((state) -> 2).emissiveRendering((state, world, pos) -> true)), "glowworm_silk_strand"); + + SPIDER_EGG = register(func, new SpiderEggBlock(BlockBehaviour.Properties.of().strength(0.1F).mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).sound(SoundType.METAL).lightLevel((state) -> 5)), "spider_egg"); + HANGING_COBWEB = register(func, new HangingCobwebBottomBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL)), "hanging_cobweb"); + HANGING_COBWEB_STRAND = register(func, new HangingCobwebBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL)), "hanging_cobweb_strand"); + STRINGY_COBWEB = register(func, new StringyCobwebBlock(BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL)), "stringy_cobweb"); + WEBBING = register(func, new WebbingBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL)), "webbing"); + + ORIGIN_GRASS_BLOCK = register(func, new OriginGrassBlock(BlockBehaviour.Properties.of().randomTicks().mapColor(MapColor.GRASS).strength(0.6F).randomTicks().sound(SoundType.GRASS)), "origin_grass_block"); + + //Trees + ORIGIN_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.ORIGIN, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "origin_sapling"); + ORIGIN_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.EMERALD).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "origin_leaves"); + FLOWERING_OAK_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.FLOWERING_OAK, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "flowering_oak_sapling"); + FLOWERING_OAK_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "flowering_oak_leaves"); + SNOWBLOSSOM_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.SNOWBLOSSOM, BlockBehaviour.Properties.of().mapColor(MapColor.SNOW).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.CHERRY_SAPLING)), "snowblossom_sapling"); + SNOWBLOSSOM_LEAVES = register(func, new SnowblossomLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.SNOW).strength(0.2F).randomTicks().sound(SoundType.CHERRY_LEAVES).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "snowblossom_leaves"); + RAINBOW_BIRCH_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.RAINBOW_BIRCH, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS).lightLevel((state) -> 5)), "rainbow_birch_sapling"); + RAINBOW_BIRCH_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never).lightLevel((state) -> 8)), "rainbow_birch_leaves"); + + FIR_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.FIR, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "fir_sapling"); + FIR_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "fir_leaves"); + FIR_LOG = register(func, log(MapColor.TERRACOTTA_WHITE, MapColor.TERRACOTTA_LIGHT_GRAY), "fir_log"); + FIR_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F).sound(SoundType.WOOD)), "fir_wood"); + STRIPPED_FIR_LOG = register(func, log(MapColor.TERRACOTTA_WHITE, MapColor.TERRACOTTA_WHITE), "stripped_fir_log"); + STRIPPED_FIR_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F).sound(SoundType.WOOD)), "stripped_fir_wood"); + FIR_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_planks"); + FIR_STAIRS = register(func, new StairBlock(FIR_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(FIR_PLANKS)), "fir_stairs"); + FIR_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_slab"); + FIR_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_fence"); + FIR_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.FIR, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_fence_gate"); + FIR_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(FIR_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "fir_door"); + FIR_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "fir_trapdoor"); + FIR_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "fir_pressure_plate"); + FIR_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.FIR, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "fir_button"); + FIR_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.FIR), "fir_sign"); + FIR_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(FIR_SIGN), BOPWoodTypes.FIR), "fir_wall_sign"); + FIR_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.FIR), "fir_hanging_sign"); + FIR_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(FIR_HANGING_SIGN), BOPWoodTypes.FIR), "fir_wall_hanging_sign"); + + PINE_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.PINE, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "pine_sapling"); + PINE_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "pine_leaves"); + PINE_LOG = register(func, log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.DIRT), "pine_log"); + PINE_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "pine_wood"); + STRIPPED_PINE_LOG = register(func, log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.TERRACOTTA_LIGHT_GREEN), "stripped_pine_log"); + STRIPPED_PINE_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "stripped_pine_wood"); + PINE_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_planks"); + PINE_STAIRS = register(func, new StairBlock(PINE_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(PINE_PLANKS)), "pine_stairs"); + PINE_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_slab"); + PINE_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_fence"); + PINE_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.PINE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_fence_gate"); + PINE_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(PINE_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "pine_door"); + PINE_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "pine_trapdoor"); + PINE_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "pine_pressure_plate"); + PINE_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.PINE, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "pine_button"); + PINE_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.PINE), "pine_sign"); + PINE_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(PINE_SIGN), BOPWoodTypes.PINE), "pine_wall_sign"); + PINE_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.PINE), "pine_hanging_sign"); + PINE_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(PINE_HANGING_SIGN), BOPWoodTypes.PINE), "pine_wall_hanging_sign"); + + RED_MAPLE_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.RED_MAPLE, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "red_maple_sapling"); + RED_MAPLE_LEAF_PILE = register(func, new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_RED).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "red_maple_leaf_pile"); + RED_MAPLE_LEAVES = register(func, new RedMapleLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_RED).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "red_maple_leaves"); + ORANGE_MAPLE_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.ORANGE_MAPLE, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "orange_maple_sapling"); + ORANGE_MAPLE_LEAF_PILE = register(func, new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_ORANGE).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "orange_maple_leaf_pile"); + ORANGE_MAPLE_LEAVES = register(func, new OrangeMapleLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_ORANGE).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "orange_maple_leaves"); + YELLOW_MAPLE_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.YELLOW_MAPLE, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_YELLOW).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "yellow_maple_sapling"); + YELLOW_MAPLE_LEAF_PILE = register(func, new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_YELLOW).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "yellow_maple_leaf_pile"); + YELLOW_MAPLE_LEAVES = register(func, new YellowMapleLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_YELLOW).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "yellow_maple_leaves"); + MAPLE_LOG = register(func, log(MapColor.DIRT, MapColor.TERRACOTTA_BROWN), "maple_log"); + MAPLE_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F).sound(SoundType.WOOD)), "maple_wood"); + STRIPPED_MAPLE_LOG = register(func, log(MapColor.DIRT, MapColor.DIRT), "stripped_maple_log"); + STRIPPED_MAPLE_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F).sound(SoundType.WOOD)), "stripped_maple_wood"); + MAPLE_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "maple_planks"); + MAPLE_STAIRS = register(func, new StairBlock(MAPLE_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(MAPLE_PLANKS)), "maple_stairs"); + MAPLE_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "maple_slab"); + MAPLE_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "maple_fence"); + MAPLE_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.MAPLE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "maple_fence_gate"); + MAPLE_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAPLE_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "maple_door"); + MAPLE_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "maple_trapdoor"); + MAPLE_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "maple_pressure_plate"); + MAPLE_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.MAPLE, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "maple_button"); + MAPLE_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAPLE), "maple_sign"); + MAPLE_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(MAPLE_SIGN), BOPWoodTypes.MAPLE), "maple_wall_sign"); + MAPLE_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAPLE), "maple_hanging_sign"); + MAPLE_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(MAPLE_HANGING_SIGN), BOPWoodTypes.MAPLE), "maple_wall_hanging_sign"); + + REDWOOD_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.REDWOOD, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "redwood_sapling"); + REDWOOD_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "redwood_leaves"); + REDWOOD_LOG = register(func, log(MapColor.TERRACOTTA_ORANGE, MapColor.TERRACOTTA_ORANGE), "redwood_log"); + REDWOOD_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(2.0F).sound(SoundType.WOOD)), "redwood_wood"); + STRIPPED_REDWOOD_LOG = register(func, log(MapColor.TERRACOTTA_ORANGE, MapColor.TERRACOTTA_ORANGE), "stripped_redwood_log"); + STRIPPED_REDWOOD_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(2.0F).sound(SoundType.WOOD)), "stripped_redwood_wood"); + REDWOOD_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_planks"); + REDWOOD_STAIRS = register(func, new StairBlock(REDWOOD_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(REDWOOD_PLANKS)), "redwood_stairs"); + REDWOOD_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_slab"); + REDWOOD_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_fence"); + REDWOOD_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.REDWOOD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_fence_gate"); + REDWOOD_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(REDWOOD_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "redwood_door"); + REDWOOD_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "redwood_trapdoor"); + REDWOOD_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "redwood_pressure_plate"); + REDWOOD_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.REDWOOD, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "redwood_button"); + REDWOOD_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.REDWOOD), "redwood_sign"); + REDWOOD_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(REDWOOD_SIGN), BOPWoodTypes.REDWOOD), "redwood_wall_sign"); + REDWOOD_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.REDWOOD), "redwood_hanging_sign"); + REDWOOD_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(REDWOOD_HANGING_SIGN), BOPWoodTypes.REDWOOD), "redwood_wall_hanging_sign"); + + MAHOGANY_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.MAHOGANY, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "mahogany_sapling"); + MAHOGANY_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "mahogany_leaves"); + MAHOGANY_LOG = register(func, log(MapColor.TERRACOTTA_PINK, MapColor.DIRT), "mahogany_log"); + MAHOGANY_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(2.0F).sound(SoundType.WOOD)), "mahogany_wood"); + STRIPPED_MAHOGANY_LOG = register(func, log(MapColor.TERRACOTTA_PINK, MapColor.TERRACOTTA_PINK), "stripped_mahogany_log"); + STRIPPED_MAHOGANY_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(2.0F).sound(SoundType.WOOD)), "stripped_mahogany_wood"); + MAHOGANY_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_planks"); + MAHOGANY_STAIRS = register(func, new StairBlock(MAHOGANY_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(MAHOGANY_PLANKS)), "mahogany_stairs"); + MAHOGANY_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_slab"); + MAHOGANY_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_fence"); + MAHOGANY_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.MAHOGANY, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_fence_gate"); + MAHOGANY_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAHOGANY_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "mahogany_door"); + MAHOGANY_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "mahogany_trapdoor"); + MAHOGANY_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "mahogany_pressure_plate"); + MAHOGANY_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.MAHOGANY, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "mahogany_button"); + MAHOGANY_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAHOGANY), "mahogany_sign"); + MAHOGANY_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(MAHOGANY_SIGN), BOPWoodTypes.MAHOGANY), "mahogany_wall_sign"); + MAHOGANY_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAHOGANY), "mahogany_hanging_sign"); + MAHOGANY_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(MAHOGANY_HANGING_SIGN), BOPWoodTypes.MAHOGANY), "mahogany_wall_hanging_sign"); + + JACARANDA_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.JACARANDA, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_PURPLE).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.CHERRY_SAPLING)), "jacaranda_sapling"); + JACARANDA_LEAVES = register(func, new JacarandaLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_PURPLE).strength(0.2F).randomTicks().sound(SoundType.CHERRY_LEAVES).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "jacaranda_leaves"); + JACARANDA_LOG = register(func, log(MapColor.TERRACOTTA_WHITE, MapColor.TERRACOTTA_LIGHT_GRAY), "jacaranda_log"); + JACARANDA_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F).sound(SoundType.WOOD)), "jacaranda_wood"); + STRIPPED_JACARANDA_LOG = register(func, log(MapColor.TERRACOTTA_WHITE, MapColor.QUARTZ), "stripped_jacaranda_log"); + STRIPPED_JACARANDA_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F).sound(SoundType.WOOD)), "stripped_jacaranda_wood"); + JACARANDA_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_planks"); + JACARANDA_STAIRS = register(func, new StairBlock(JACARANDA_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(JACARANDA_PLANKS)), "jacaranda_stairs"); + JACARANDA_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_slab"); + JACARANDA_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_fence"); + JACARANDA_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.JACARANDA, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_fence_gate"); + JACARANDA_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(JACARANDA_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "jacaranda_door"); + JACARANDA_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "jacaranda_trapdoor"); + JACARANDA_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "jacaranda_pressure_plate"); + JACARANDA_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.JACARANDA, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "jacaranda_button"); + JACARANDA_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.JACARANDA), "jacaranda_sign"); + JACARANDA_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(JACARANDA_SIGN), BOPWoodTypes.JACARANDA), "jacaranda_wall_sign"); + JACARANDA_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.JACARANDA), "jacaranda_hanging_sign"); + JACARANDA_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(JACARANDA_HANGING_SIGN), BOPWoodTypes.JACARANDA), "jacaranda_wall_hanging_sign"); + + PALM_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.PALM, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "palm_sapling"); + PALM_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "palm_leaves"); + PALM_LOG = register(func, log(MapColor.TERRACOTTA_YELLOW, MapColor.PODZOL), "palm_log"); + PALM_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F).sound(SoundType.WOOD)), "palm_wood"); + STRIPPED_PALM_LOG = register(func, log(MapColor.TERRACOTTA_YELLOW, MapColor.TERRACOTTA_YELLOW), "stripped_palm_log"); + STRIPPED_PALM_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F).sound(SoundType.WOOD)), "stripped_palm_wood"); + PALM_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_planks"); + PALM_STAIRS = register(func, new StairBlock(PALM_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(PALM_PLANKS)), "palm_stairs"); + PALM_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_slab"); + PALM_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_fence"); + PALM_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.PALM, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_fence_gate"); + PALM_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(PALM_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "palm_door"); + PALM_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "palm_trapdoor"); + PALM_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "palm_pressure_plate"); + PALM_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.PALM, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "palm_button"); + PALM_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.PALM), "palm_sign"); + PALM_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(PALM_SIGN), BOPWoodTypes.PALM), "palm_wall_sign"); + PALM_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.PALM), "palm_hanging_sign"); + PALM_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(PALM_HANGING_SIGN), BOPWoodTypes.PALM), "palm_wall_hanging_sign"); + + WILLOW_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.WILLOW, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "willow_sapling"); + WILLOW_VINE = register(func, new VineBlock(BlockBehaviour.Properties.of().randomTicks().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().strength(0.2F).sound(SoundType.GRASS)), "willow_vine"); + SPANISH_MOSS = register(func, new SpanishMossBottomBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().randomTicks().noCollission().instabreak().sound(SoundType.GRASS)), "spanish_moss"); + SPANISH_MOSS_PLANT = register(func, new SpanishMossBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS)), "spanish_moss_plant"); + WILLOW_LEAVES = register(func, new WillowLeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "willow_leaves"); + WILLOW_LOG = register(func, log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.TERRACOTTA_LIGHT_GREEN), "willow_log"); + WILLOW_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "willow_wood"); + STRIPPED_WILLOW_LOG = register(func, log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.TERRACOTTA_LIGHT_GREEN), "stripped_willow_log"); + STRIPPED_WILLOW_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "stripped_willow_wood"); + WILLOW_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_planks"); + WILLOW_STAIRS = register(func, new StairBlock(WILLOW_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(WILLOW_PLANKS)), "willow_stairs"); + WILLOW_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_slab"); + WILLOW_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_fence"); + WILLOW_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.WILLOW, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_fence_gate"); + WILLOW_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(WILLOW_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "willow_door"); + WILLOW_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "willow_trapdoor"); + WILLOW_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "willow_pressure_plate"); + WILLOW_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.WILLOW, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "willow_button"); + WILLOW_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.WILLOW), "willow_sign"); + WILLOW_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(WILLOW_SIGN), BOPWoodTypes.WILLOW), "willow_wall_sign"); + WILLOW_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.WILLOW), "willow_hanging_sign"); + WILLOW_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(WILLOW_HANGING_SIGN), BOPWoodTypes.WILLOW), "willow_wall_hanging_sign"); + + DEAD_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.DEAD, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "dead_sapling"); + DEAD_BRANCH = register(func, new DeadBranchBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_GRAY).ignitedByLava().noCollission().instabreak().sound(SoundType.WOOD)), "dead_branch"); + DEAD_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.WOOD).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "dead_leaves"); + DEAD_LOG = register(func, log(MapColor.STONE, MapColor.COLOR_GRAY), "dead_log"); + DEAD_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F).sound(SoundType.WOOD)), "dead_wood"); + STRIPPED_DEAD_LOG = register(func, log(MapColor.STONE, MapColor.STONE), "stripped_dead_log"); + STRIPPED_DEAD_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F).sound(SoundType.WOOD)), "stripped_dead_wood"); + DEAD_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_planks"); + DEAD_STAIRS = register(func, new StairBlock(DEAD_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(DEAD_PLANKS)), "dead_stairs"); + DEAD_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_slab"); + DEAD_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_fence"); + DEAD_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.DEAD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_fence_gate"); + DEAD_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(DEAD_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "dead_door"); + DEAD_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "dead_trapdoor"); + DEAD_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "dead_pressure_plate"); + DEAD_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.DEAD, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "dead_button"); + DEAD_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.DEAD), "dead_sign"); + DEAD_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(DEAD_SIGN), BOPWoodTypes.DEAD), "dead_wall_sign"); + DEAD_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.DEAD), "dead_hanging_sign"); + DEAD_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(DEAD_HANGING_SIGN), BOPWoodTypes.DEAD), "dead_wall_hanging_sign"); + + MAGIC_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.MAGIC, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_CYAN).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "magic_sapling"); + MAGIC_LEAVES = register(func, new MagicLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_CYAN).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "magic_leaves"); + MAGIC_LOG = register(func, log(MapColor.COLOR_BLUE, MapColor.TERRACOTTA_LIGHT_BLUE), "magic_log"); + MAGIC_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F).sound(SoundType.WOOD)), "magic_wood"); + STRIPPED_MAGIC_LOG = register(func, log(MapColor.COLOR_BLUE, MapColor.COLOR_BLUE), "stripped_magic_log"); + STRIPPED_MAGIC_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F).sound(SoundType.WOOD)), "stripped_magic_wood"); + MAGIC_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_planks"); + MAGIC_STAIRS = register(func, new StairBlock(MAGIC_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(MAGIC_PLANKS)), "magic_stairs"); + MAGIC_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_slab"); + MAGIC_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_fence"); + MAGIC_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.MAGIC, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_fence_gate"); + MAGIC_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAGIC_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "magic_door"); + MAGIC_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "magic_trapdoor"); + MAGIC_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "magic_pressure_plate"); + MAGIC_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.MAGIC, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "magic_button"); + MAGIC_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().noCollission().forceSolidOn().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAGIC), "magic_sign"); + MAGIC_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().noCollission().forceSolidOn().strength(1.0F).sound(SoundType.WOOD).dropsLike(MAGIC_SIGN), BOPWoodTypes.MAGIC), "magic_wall_sign"); + MAGIC_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAGIC), "magic_hanging_sign"); + MAGIC_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(MAGIC_HANGING_SIGN), BOPWoodTypes.MAGIC), "magic_wall_hanging_sign"); + + UMBRAN_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.UMBRAN, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLUE).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "umbran_sapling"); + UMBRAN_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_BLUE).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "umbran_leaves"); + UMBRAN_LOG = register(func, log(MapColor.TERRACOTTA_BLUE, MapColor.TERRACOTTA_BLUE), "umbran_log"); + UMBRAN_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F).sound(SoundType.WOOD)), "umbran_wood"); + STRIPPED_UMBRAN_LOG = register(func, log(MapColor.TERRACOTTA_BLUE, MapColor.TERRACOTTA_BLUE), "stripped_umbran_log"); + STRIPPED_UMBRAN_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F).sound(SoundType.WOOD)), "stripped_umbran_wood"); + UMBRAN_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_planks"); + UMBRAN_STAIRS = register(func, new StairBlock(UMBRAN_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(UMBRAN_PLANKS)), "umbran_stairs"); + UMBRAN_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_slab"); + UMBRAN_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_fence"); + UMBRAN_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.UMBRAN, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_fence_gate"); + UMBRAN_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(UMBRAN_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "umbran_door"); + UMBRAN_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "umbran_trapdoor"); + UMBRAN_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "umbran_pressure_plate"); + UMBRAN_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.UMBRAN, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "umbran_button"); + UMBRAN_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.UMBRAN), "umbran_sign"); + UMBRAN_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(UMBRAN_SIGN), BOPWoodTypes.UMBRAN), "umbran_wall_sign"); + UMBRAN_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.UMBRAN), "umbran_hanging_sign"); + UMBRAN_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(UMBRAN_HANGING_SIGN), BOPWoodTypes.UMBRAN), "umbran_wall_hanging_sign"); + + HELLBARK_SAPLING = register(func, new SaplingBlockBOP(BOPTreeGrowers.HELLBARK, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_PURPLE).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "hellbark_sapling"); + HELLBARK_LEAVES = register(func, new LeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_PURPLE).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).isRedstoneConductor(ModBlocks::never)), "hellbark_leaves"); + HELLBARK_LOG = register(func, logNonIgniting(MapColor.TERRACOTTA_GRAY, MapColor.COLOR_LIGHT_GRAY), "hellbark_log"); + HELLBARK_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F).sound(SoundType.WOOD)), "hellbark_wood"); + STRIPPED_HELLBARK_LOG = register(func, logNonIgniting(MapColor.TERRACOTTA_GRAY, MapColor.TERRACOTTA_GRAY), "stripped_hellbark_log"); + STRIPPED_HELLBARK_WOOD = register(func, new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F).sound(SoundType.WOOD)), "stripped_hellbark_wood"); + HELLBARK_PLANKS = register(func, new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_planks"); + HELLBARK_STAIRS = register(func, new StairBlock(HELLBARK_PLANKS.defaultBlockState(), Block.Properties.ofFullCopy(HELLBARK_PLANKS)), "hellbark_stairs"); + HELLBARK_SLAB = register(func, new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_slab"); + HELLBARK_FENCE = register(func, new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_fence"); + HELLBARK_FENCE_GATE = register(func, new FenceGateBlock(BOPWoodTypes.HELLBARK, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_fence_gate"); + HELLBARK_DOOR = register(func, new DoorBlock(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).mapColor(HELLBARK_PLANKS.defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "hellbark_door"); + HELLBARK_TRAPDOOR = register(func, new TrapDoorBlock(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "hellbark_trapdoor"); + HELLBARK_PRESSURE_PLATE = register(func, new PressurePlateBlock(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "hellbark_pressure_plate"); + HELLBARK_BUTTON = register(func, new ButtonBlock(BOPBlockSetTypes.HELLBARK, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "hellbark_button"); + HELLBARK_SIGN = register(func, new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.HELLBARK), "hellbark_sign"); + HELLBARK_WALL_SIGN = register(func, new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(HELLBARK_SIGN), BOPWoodTypes.HELLBARK), "hellbark_wall_sign"); + HELLBARK_HANGING_SIGN = register(func, new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.HELLBARK), "hellbark_hanging_sign"); + HELLBARK_WALL_HANGING_SIGN = register(func, new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).dropsLike(HELLBARK_HANGING_SIGN), BOPWoodTypes.HELLBARK), "hellbark_wall_hanging_sign"); + + //Flowers + ROSE = register(func, new FlowerBlockBOP(MobEffects.MOVEMENT_SPEED, 7, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "rose"); + VIOLET = register(func, new FlowerBlockBOP(MobEffects.CONFUSION, 10, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "violet"); + LAVENDER = register(func, new FlowerBlockBOP(MobEffects.HEALTH_BOOST, 5, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_MAGENTA).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "lavender"); + TALL_LAVENDER = register(func, new TallFlowerBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "tall_lavender"); + BLUE_HYDRANGEA = register(func, new TallFlowerBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "blue_hydrangea"); + WILDFLOWER = register(func, new FlowerBlockBOP(MobEffects.HUNGER, 10, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "wildflower"); + GOLDENROD = register(func, new TallFlowerBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "goldenrod"); + ORANGE_COSMOS = register(func, new FlowerBlockBOP(MobEffects.ABSORPTION, 7, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "orange_cosmos"); + PINK_DAFFODIL = register(func, new FlowerBlockBOP(MobEffects.INVISIBILITY, 7, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "pink_daffodil"); + PINK_HIBISCUS = register(func, new FlowerBlockBOP(MobEffects.REGENERATION, 5, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "pink_hibiscus"); + WHITE_PETALS = register(func, new PinkPetalsBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).noCollission().sound(SoundType.PINK_PETALS).pushReaction(PushReaction.DESTROY)), "white_petals"); + ICY_IRIS = register(func, new TallFlowerBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "icy_iris"); + GLOWFLOWER = register(func, new FlowerBlockBOP(MobEffects.GLOWING, 10, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ).lightLevel((state) -> 9)), "glowflower"); + WILTED_LILY = register(func, new FlowerBlockBOP(MobEffects.UNLUCK, 5, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "wilted_lily"); + BURNING_BLOSSOM = register(func, new FlowerBlockBOP(MobEffects.FIRE_RESISTANCE, 7, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ).lightLevel((state) -> 7)), "burning_blossom"); + + //Plants + SPROUT = register(func, new FoliageBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "sprout"); + BUSH = register(func, new FoliageBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "bush"); + HIGH_GRASS = register(func, new HighGrassBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).randomTicks().replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "high_grass"); + HIGH_GRASS_PLANT = register(func, new HighGrassPlantBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "high_grass_plant"); + CLOVER = register(func, new CloverBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().sound(SoundType.PINK_PETALS).pushReaction(PushReaction.DESTROY)), "clover"); + HUGE_CLOVER_PETAL = register(func, new HugeCloverPetalBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).ignitedByLava().instabreak().sound(SoundType.PINK_PETALS)), "huge_clover_petal"); + HUGE_LILY_PAD = register(func, new HugeLilyPadBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.LILY_PAD).noOcclusion()), "huge_lily_pad"); + WATERLILY = register(func, new WaterlilyBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_PINK).noOcclusion().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "waterlily"); + + DUNE_GRASS = register(func, new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "dune_grass"); + DESERT_GRASS = register(func, new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_ORANGE).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "desert_grass"); + DEAD_GRASS = register(func, new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.WOOD).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "dead_grass"); + TUNDRA_SHRUB = register(func, new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "tundra_shrub"); + BARLEY = register(func, new DoublePlantBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_YELLOW).ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "barley"); + SEA_OATS = register(func, new SeaOatsBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.SAND).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "sea_oats"); + CATTAIL = register(func, new DoubleWatersidePlantBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIRT).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "cattail"); + REED = register(func, new DoubleWaterPlantBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIRT).replaceable().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "reed"); + WATERGRASS = register(func, new DoubleWaterPlantBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).replaceable().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "watergrass"); + + TINY_CACTUS = register(func, new TinyCactusBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).noCollission().instabreak().sound(SoundType.WOOL).offsetType(BlockBehaviour.OffsetType.XZ)), "tiny_cactus"); + BRAMBLE = register(func, new BrambleBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.NETHER).strength(0.4F).sound(SoundType.WOOD)), "bramble"); + BRAMBLE_LEAVES = register(func, new BrambleLeavesBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).instabreak().sound(SoundType.GRASS)), "bramble_leaves"); + + //Potted Plants + POTTED_ORIGIN_SAPLING = register(func, new FlowerPotBlock(ORIGIN_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_origin_sapling"); + POTTED_FLOWERING_OAK_SAPLING = register(func, new FlowerPotBlock(FLOWERING_OAK_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_flowering_oak_sapling"); + POTTED_SNOWBLOSSOM_SAPLING = register(func, new FlowerPotBlock(SNOWBLOSSOM_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_snowblossom_sapling"); + POTTED_RAINBOW_BIRCH_SAPLING = register(func, new FlowerPotBlock(RAINBOW_BIRCH_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 5)), "potted_rainbow_birch_sapling"); + POTTED_FIR_SAPLING = register(func, new FlowerPotBlock(FIR_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_fir_sapling"); + POTTED_PINE_SAPLING = register(func, new FlowerPotBlock(PINE_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_pine_sapling"); + POTTED_RED_MAPLE_SAPLING = register(func, new FlowerPotBlock(RED_MAPLE_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_red_maple_sapling"); + POTTED_ORANGE_MAPLE_SAPLING = register(func, new FlowerPotBlock(ORANGE_MAPLE_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_orange_maple_sapling"); + POTTED_YELLOW_MAPLE_SAPLING = register(func, new FlowerPotBlock(YELLOW_MAPLE_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_yellow_maple_sapling"); + POTTED_REDWOOD_SAPLING = register(func, new FlowerPotBlock(REDWOOD_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_redwood_sapling"); + POTTED_MAHOGANY_SAPLING = register(func, new FlowerPotBlock(MAHOGANY_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_mahogany_sapling"); + POTTED_JACARANDA_SAPLING = register(func, new FlowerPotBlock(JACARANDA_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_jacaranda_sapling"); + POTTED_PALM_SAPLING = register(func, new FlowerPotBlock(PALM_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_palm_sapling"); + POTTED_WILLOW_SAPLING = register(func, new FlowerPotBlock(WILLOW_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_willow_sapling"); + POTTED_DEAD_SAPLING = register(func, new FlowerPotBlock(DEAD_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_dead_sapling"); + POTTED_MAGIC_SAPLING = register(func, new FlowerPotBlock(MAGIC_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_magic_sapling"); + POTTED_UMBRAN_SAPLING = register(func, new FlowerPotBlock(UMBRAN_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_umbran_sapling"); + POTTED_HELLBARK_SAPLING = register(func, new FlowerPotBlock(HELLBARK_SAPLING, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_hellbark_sapling"); + POTTED_ROSE = register(func, new FlowerPotBlock(ROSE, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_rose"); + POTTED_VIOLET = register(func, new FlowerPotBlock(VIOLET, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_violet"); + POTTED_LAVENDER = register(func, new FlowerPotBlock(LAVENDER, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_lavender"); + POTTED_WILDFLOWER = register(func, new FlowerPotBlock(WILDFLOWER, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_wildflower"); + POTTED_ORANGE_COSMOS = register(func, new FlowerPotBlock(ORANGE_COSMOS, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_orange_cosmos"); + POTTED_PINK_DAFFODIL = register(func, new FlowerPotBlock(PINK_DAFFODIL, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_pink_daffodil"); + POTTED_PINK_HIBISCUS = register(func, new FlowerPotBlock(PINK_HIBISCUS, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_pink_hibiscus"); + POTTED_GLOWFLOWER = register(func, new FlowerPotBlock(GLOWFLOWER, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 9)), "potted_glowflower"); + POTTED_WILTED_LILY = register(func, new FlowerPotBlock(WILTED_LILY, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_wilted_lily"); + POTTED_BURNING_BLOSSOM = register(func, new FlowerPotBlock(BURNING_BLOSSOM, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 7)), "potted_burning_blossom"); + POTTED_SPROUT = register(func, new FlowerPotBlock(SPROUT, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_sprout"); + POTTED_TINY_CACTUS = register(func, new FlowerPotBlock(TINY_CACTUS, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_tiny_cactus"); + POTTED_TOADSTOOL = register(func, new FlowerPotBlock(TOADSTOOL, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_toadstool"); + POTTED_GLOWSHROOM = register(func, new FlowerPotBlock(GLOWSHROOM, BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 6).emissiveRendering((state, world, pos) -> true)), "potted_glowshroom"); + } + + private static RotatedPillarBlock log(MapColor MapColor, MapColor MapColor2) { + return new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor((blockState) -> blockState.getValue(RotatedPillarBlock.AXIS) == Direction.Axis.Y ? MapColor : MapColor2).strength(2.0F).sound(SoundType.WOOD)); + } + + private static RotatedPillarBlock logNonIgniting(MapColor MapColor, MapColor MapColor2) { + return new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor((blockState) -> blockState.getValue(RotatedPillarBlock.AXIS) == Direction.Axis.Y ? MapColor : MapColor2).strength(2.0F).sound(SoundType.WOOD)); + } + + private static Block register(BiConsumer func, Block block, String name) + { + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), block); + return block; + } + + private static Item register(BiConsumer func, String name, Item item) + { + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), item); + return item; + } + + private static Boolean always(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos) { + return (boolean)true; + } + + private static Boolean never(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos) { + return (boolean)false; + } + + private static Boolean ocelotOrParrot(BlockState p_50822_, BlockGetter p_50823_, BlockPos p_50824_, EntityType p_50825_) { + return (boolean)(p_50825_ == EntityType.OCELOT || p_50825_ == EntityType.PARROT); + } +} diff --git a/common/src/main/java/biomesoplenty/init/ModClient.java b/common/src/main/java/biomesoplenty/init/ModClient.java new file mode 100644 index 0000000000..cf4ff1cd16 --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModClient.java @@ -0,0 +1,320 @@ +/******************************************************************************* + * Copyright 2024, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPWoodTypes; +import biomesoplenty.particle.*; +import glitchcore.event.client.RegisterColorsEvent; +import glitchcore.event.client.RegisterParticleSpritesEvent; +import glitchcore.util.RenderTypeHelper; +import glitchcore.util.SheetHelper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.color.block.BlockColors; +import net.minecraft.client.renderer.BiomeColors; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.Sheets; +import net.minecraft.core.BlockPos; +import net.minecraft.tags.BlockTags; +import net.minecraft.util.Mth; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.level.BlockAndTintGetter; +import net.minecraft.world.level.FoliageColor; +import net.minecraft.world.level.GrassColor; +import net.minecraft.world.level.block.state.BlockState; + +import java.awt.*; + +import static biomesoplenty.api.block.BOPBlocks.*; + +public class ModClient +{ + public static void setupRenderTypes() + { + RenderType transparentRenderType = RenderType.cutoutMipped(); + RenderType cutoutRenderType = RenderType.cutout(); + RenderType translucentRenderType = RenderType.translucent(); + + RenderTypeHelper.setRenderType(MOSSY_BLACK_SAND, transparentRenderType); + + RenderTypeHelper.setRenderType(ORIGIN_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(FLOWERING_OAK_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(SNOWBLOSSOM_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(RAINBOW_BIRCH_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(FIR_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(PINE_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(RED_MAPLE_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(ORANGE_MAPLE_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(YELLOW_MAPLE_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(REDWOOD_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(MAHOGANY_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(JACARANDA_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(PALM_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(WILLOW_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(DEAD_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(MAGIC_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(UMBRAN_LEAVES, transparentRenderType); + RenderTypeHelper.setRenderType(HELLBARK_LEAVES, transparentRenderType); + + RenderTypeHelper.setRenderType(ORIGIN_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(FLOWERING_OAK_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(SNOWBLOSSOM_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(RAINBOW_BIRCH_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(FIR_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(PINE_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(RED_MAPLE_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(ORANGE_MAPLE_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(YELLOW_MAPLE_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(REDWOOD_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(MAHOGANY_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(JACARANDA_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(PALM_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(WILLOW_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(DEAD_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(MAGIC_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(UMBRAN_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(HELLBARK_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(ROSE, cutoutRenderType); + RenderTypeHelper.setRenderType(VIOLET, cutoutRenderType); + RenderTypeHelper.setRenderType(LAVENDER, cutoutRenderType); + RenderTypeHelper.setRenderType(WILDFLOWER, cutoutRenderType); + RenderTypeHelper.setRenderType(ORANGE_COSMOS, cutoutRenderType); + RenderTypeHelper.setRenderType(PINK_DAFFODIL, cutoutRenderType); + RenderTypeHelper.setRenderType(PINK_HIBISCUS, cutoutRenderType); + RenderTypeHelper.setRenderType(WATERLILY, cutoutRenderType); + RenderTypeHelper.setRenderType(WHITE_PETALS, cutoutRenderType); + RenderTypeHelper.setRenderType(GLOWFLOWER, cutoutRenderType); + RenderTypeHelper.setRenderType(WILTED_LILY, cutoutRenderType); + RenderTypeHelper.setRenderType(BURNING_BLOSSOM, cutoutRenderType); + RenderTypeHelper.setRenderType(TALL_LAVENDER, cutoutRenderType); + RenderTypeHelper.setRenderType(BLUE_HYDRANGEA, cutoutRenderType); + RenderTypeHelper.setRenderType(GOLDENROD, cutoutRenderType); + RenderTypeHelper.setRenderType(ICY_IRIS, cutoutRenderType); + RenderTypeHelper.setRenderType(WILLOW_VINE, cutoutRenderType); + RenderTypeHelper.setRenderType(SPANISH_MOSS, cutoutRenderType); + RenderTypeHelper.setRenderType(SPANISH_MOSS_PLANT, cutoutRenderType); + RenderTypeHelper.setRenderType(GLOWWORM_SILK, cutoutRenderType); + RenderTypeHelper.setRenderType(GLOWWORM_SILK_STRAND, cutoutRenderType); + RenderTypeHelper.setRenderType(HANGING_COBWEB, cutoutRenderType); + RenderTypeHelper.setRenderType(HANGING_COBWEB_STRAND, cutoutRenderType); + RenderTypeHelper.setRenderType(STRINGY_COBWEB, cutoutRenderType); + RenderTypeHelper.setRenderType(WEBBING, cutoutRenderType); + RenderTypeHelper.setRenderType(SPROUT, cutoutRenderType); + RenderTypeHelper.setRenderType(BUSH, cutoutRenderType); + RenderTypeHelper.setRenderType(HIGH_GRASS, cutoutRenderType); + RenderTypeHelper.setRenderType(HIGH_GRASS_PLANT, cutoutRenderType); + RenderTypeHelper.setRenderType(CLOVER, cutoutRenderType); + RenderTypeHelper.setRenderType(HUGE_CLOVER_PETAL, cutoutRenderType); + RenderTypeHelper.setRenderType(HUGE_LILY_PAD, cutoutRenderType); + RenderTypeHelper.setRenderType(RED_MAPLE_LEAF_PILE, cutoutRenderType); + RenderTypeHelper.setRenderType(ORANGE_MAPLE_LEAF_PILE, cutoutRenderType); + RenderTypeHelper.setRenderType(YELLOW_MAPLE_LEAF_PILE, cutoutRenderType); + RenderTypeHelper.setRenderType(DUNE_GRASS, cutoutRenderType); + RenderTypeHelper.setRenderType(DESERT_GRASS, cutoutRenderType); + RenderTypeHelper.setRenderType(DEAD_GRASS, cutoutRenderType); + RenderTypeHelper.setRenderType(TUNDRA_SHRUB, cutoutRenderType); + RenderTypeHelper.setRenderType(CATTAIL, cutoutRenderType); + RenderTypeHelper.setRenderType(BARLEY, cutoutRenderType); + RenderTypeHelper.setRenderType(SEA_OATS, cutoutRenderType); + RenderTypeHelper.setRenderType(REED, cutoutRenderType); + RenderTypeHelper.setRenderType(WATERGRASS, cutoutRenderType); + RenderTypeHelper.setRenderType(DEAD_BRANCH, cutoutRenderType); + RenderTypeHelper.setRenderType(TINY_CACTUS, cutoutRenderType); + RenderTypeHelper.setRenderType(BRAMBLE, cutoutRenderType); + RenderTypeHelper.setRenderType(BRAMBLE_LEAVES, cutoutRenderType); + RenderTypeHelper.setRenderType(TOADSTOOL, cutoutRenderType); + RenderTypeHelper.setRenderType(GLOWSHROOM, cutoutRenderType); + RenderTypeHelper.setRenderType(PUS_BUBBLE, cutoutRenderType); + RenderTypeHelper.setRenderType(FLESH_TENDONS, cutoutRenderType); + RenderTypeHelper.setRenderType(FLESH_TENDONS_STRAND, cutoutRenderType); + RenderTypeHelper.setRenderType(EYEBULB, cutoutRenderType); + RenderTypeHelper.setRenderType(HAIR, cutoutRenderType); + RenderTypeHelper.setRenderType(BRIMSTONE_BUD, cutoutRenderType); + RenderTypeHelper.setRenderType(BRIMSTONE_CLUSTER, cutoutRenderType); + RenderTypeHelper.setRenderType(ROSE_QUARTZ_CLUSTER, cutoutRenderType); + RenderTypeHelper.setRenderType(LARGE_ROSE_QUARTZ_BUD, cutoutRenderType); + RenderTypeHelper.setRenderType(MEDIUM_ROSE_QUARTZ_BUD, cutoutRenderType); + RenderTypeHelper.setRenderType(SMALL_ROSE_QUARTZ_BUD, cutoutRenderType); + RenderTypeHelper.setRenderType(BLACKSTONE_SPINES, cutoutRenderType); + RenderTypeHelper.setRenderType(BLACKSTONE_BULB, cutoutRenderType); + RenderTypeHelper.setRenderType(SPIDER_EGG, cutoutRenderType); + + RenderTypeHelper.setRenderType(FIR_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(PINE_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(MAPLE_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(REDWOOD_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(MAHOGANY_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(JACARANDA_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(PALM_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(WILLOW_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(DEAD_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(MAGIC_DOOR, translucentRenderType); + RenderTypeHelper.setRenderType(UMBRAN_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(HELLBARK_DOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(FIR_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(PINE_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(MAPLE_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(REDWOOD_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(MAHOGANY_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(JACARANDA_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(PALM_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(WILLOW_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(DEAD_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(MAGIC_TRAPDOOR, translucentRenderType); + RenderTypeHelper.setRenderType(UMBRAN_TRAPDOOR, cutoutRenderType); + RenderTypeHelper.setRenderType(HELLBARK_TRAPDOOR, cutoutRenderType); + + RenderTypeHelper.setRenderType(POTTED_ORIGIN_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_FLOWERING_OAK_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_SNOWBLOSSOM_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_RAINBOW_BIRCH_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_FIR_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_PINE_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_RED_MAPLE_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_ORANGE_MAPLE_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_YELLOW_MAPLE_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_REDWOOD_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_MAHOGANY_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_JACARANDA_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_PALM_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_WILLOW_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_DEAD_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_MAGIC_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_UMBRAN_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_HELLBARK_SAPLING, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_ROSE, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_VIOLET, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_LAVENDER, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_WILDFLOWER, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_ORANGE_COSMOS, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_PINK_DAFFODIL, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_PINK_HIBISCUS, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_GLOWFLOWER, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_WILTED_LILY, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_BURNING_BLOSSOM, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_SPROUT, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_TINY_CACTUS, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_TOADSTOOL, cutoutRenderType); + RenderTypeHelper.setRenderType(POTTED_GLOWSHROOM, cutoutRenderType); + + RenderTypeHelper.setRenderType(BLOOD, translucentRenderType); + } + + public static void registerItemColors(RegisterColorsEvent.Item event) + { + event.register((stack, tintIndex) -> { + BlockState state = ((BlockItem)stack.getItem()).getBlock().defaultBlockState(); + BlockColors blockColors = Minecraft.getInstance().getBlockColors(); + return blockColors.getColor(state, null, null, tintIndex); + }, + BOPBlocks.MOSSY_BLACK_SAND, BOPBlocks.SPROUT, BOPBlocks.BUSH, BOPBlocks.HIGH_GRASS, BOPBlocks.HIGH_GRASS_PLANT, + BOPBlocks.CLOVER, BOPBlocks.HUGE_CLOVER_PETAL, BOPBlocks.HUGE_LILY_PAD, BOPBlocks.FLOWERING_OAK_LEAVES, + BOPBlocks.PINE_LEAVES, BOPBlocks.MAHOGANY_LEAVES, BOPBlocks.PALM_LEAVES, BOPBlocks.WILLOW_LEAVES, + BOPBlocks.WILLOW_VINE, BOPBlocks.BRAMBLE_LEAVES); + } + + public static void registerBlockColors(RegisterColorsEvent.Block event) + { + //Grass Coloring + event.register((state, world, pos, tintIndex) -> + world != null && pos != null ? BiomeColors.getAverageGrassColor(world, pos) : GrassColor.get(0.5D, 1.0D), + BOPBlocks.MOSSY_BLACK_SAND, BOPBlocks.SPROUT, BOPBlocks.HIGH_GRASS, BOPBlocks.HIGH_GRASS_PLANT, BOPBlocks.CLOVER, + BOPBlocks.HUGE_CLOVER_PETAL, BOPBlocks.BARLEY, BOPBlocks.WATERGRASS, BOPBlocks.POTTED_SPROUT); + + //Foliage Coloring + event.register((state, world, pos, tintIndex) -> + world != null && pos != null ? BiomeColors.getAverageFoliageColor(world, pos) : FoliageColor.getDefaultColor(), + BOPBlocks.BUSH, BOPBlocks.FLOWERING_OAK_LEAVES, BOPBlocks.PINE_LEAVES, BOPBlocks.MAHOGANY_LEAVES, + BOPBlocks.PALM_LEAVES, BOPBlocks.WILLOW_LEAVES, BOPBlocks.WILLOW_VINE, BOPBlocks.BRAMBLE_LEAVES); + + //Rainbow Birch Leaf Coloring + event.register((state, world, pos, tintIndex) -> + world != null && pos != null ? getRainbowBirchColor(world, pos) : FoliageColor.getDefaultColor(), + BOPBlocks.RAINBOW_BIRCH_LEAVES); + + //Flowerbed Coloring + event.register((state, world, pos, tintIndex) -> { + if (tintIndex != 0) { return world != null && pos != null ? BiomeColors.getAverageGrassColor(world, pos) : GrassColor.getDefaultColor(); } + else { return -1; }}, + BOPBlocks.WHITE_PETALS); + + //Lily Pad Coloring + event.register((state, world, pos, tintIndex) -> { + return world != null && pos != null ? 2129968 : 7455580; }, + BOPBlocks.HUGE_LILY_PAD); + } + + public static void registerParticleSprites(RegisterParticleSpritesEvent event) + { + event.registerSpriteSet(ModParticles.DRIPPING_BLOOD, DripParticleBOP.BloodHangProvider::new); + event.registerSpriteSet(ModParticles.FALLING_BLOOD, DripParticleBOP.BloodFallProvider::new); + event.registerSpriteSet(ModParticles.LANDING_BLOOD, DripParticleBOP.BloodLandProvider::new); + event.registerSpriteSet(ModParticles.PUS, PusParticle.Provider::new); + event.registerSpriteSet(ModParticles.GLOWWORM, GlowwormParticle.Provider::new); + event.registerSpriteSet(ModParticles.STEAM, SteamParticle.Provider::new); + event.registerSpriteSet(ModParticles.JACARANDA_LEAVES, (p_277215_) -> { + return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { + return new LeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); + }; + }); + event.registerSpriteSet(ModParticles.SNOWBLOSSOM_LEAVES, (p_277215_) -> { + return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { + return new LeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); + }; + }); + event.registerSpriteSet(ModParticles.RED_MAPLE_LEAVES, (p_277215_) -> { + return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { + return new LargeLeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); + }; + }); + event.registerSpriteSet(ModParticles.ORANGE_MAPLE_LEAVES, (p_277215_) -> { + return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { + return new LargeLeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); + }; + }); + event.registerSpriteSet(ModParticles.YELLOW_MAPLE_LEAVES, (p_277215_) -> { + return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { + return new LargeLeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); + }; + }); + } + + public static void registerWoodTypes() + { + SheetHelper.addWoodType(BOPWoodTypes.FIR); + SheetHelper.addWoodType(BOPWoodTypes.PINE); + SheetHelper.addWoodType(BOPWoodTypes.MAPLE); + SheetHelper.addWoodType(BOPWoodTypes.REDWOOD); + SheetHelper.addWoodType(BOPWoodTypes.MAHOGANY); + SheetHelper.addWoodType(BOPWoodTypes.JACARANDA); + SheetHelper.addWoodType(BOPWoodTypes.PALM); + SheetHelper.addWoodType(BOPWoodTypes.WILLOW); + SheetHelper.addWoodType(BOPWoodTypes.DEAD); + SheetHelper.addWoodType(BOPWoodTypes.MAGIC); + SheetHelper.addWoodType(BOPWoodTypes.UMBRAN); + SheetHelper.addWoodType(BOPWoodTypes.HELLBARK); + } + + public static int getRainbowBirchColor(BlockAndTintGetter world, BlockPos pos) + { + float saturation; + if (world.getBlockState(pos.above()).is(BlockTags.SNOW)) + { + saturation = 0.3F; + } + else if (world.getBlockState(pos.above(2)).is(BlockTags.SNOW)) + { + saturation = 0.45F; + } + else + { + saturation = 0.6F; + } + + Color foliage = Color.getHSBColor(((float)pos.getX() + (float)pos.getY() + (float)pos.getZ() + (Mth.sin(((float)pos.getX() + (float)pos.getY() + (float)pos.getZ()) / 16) * 16) % 100) / 100, saturation, 1.0F); + + return foliage.getRGB(); + } +} diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModConfig.java b/common/src/main/java/biomesoplenty/init/ModConfig.java similarity index 53% rename from forge/src/main/java/biomesoplenty/forge/init/ModConfig.java rename to common/src/main/java/biomesoplenty/init/ModConfig.java index 60c1038ff7..1b61997a63 100644 --- a/forge/src/main/java/biomesoplenty/forge/init/ModConfig.java +++ b/common/src/main/java/biomesoplenty/init/ModConfig.java @@ -2,25 +2,23 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.init; +package biomesoplenty.init; -import biomesoplenty.forge.api.biome.BOPBiomes; -import biomesoplenty.forge.common.util.config.JsonUtil; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.config.GenerationConfig; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.util.config.JsonUtil; import com.google.common.collect.Maps; import com.google.gson.reflect.TypeToken; +import glitchcore.util.Environment; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.biome.Biome; -import net.minecraftforge.common.ForgeConfigSpec; -import net.minecraftforge.fml.ModLoadingContext; -import net.minecraftforge.fml.loading.FMLPaths; import java.io.File; import java.io.IOException; import java.nio.file.FileAlreadyExistsException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Map; import java.util.TreeMap; import java.util.stream.Collectors; @@ -31,40 +29,16 @@ public class ModConfig private static Map biomeToggles; private static final TreeMap defaultBiomeToggles = Maps.newTreeMap(); - public static class GenerationConfig - { - public static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder(); - public static final ForgeConfigSpec SPEC; - - public static final ForgeConfigSpec.IntValue bopPrimaryOverworldRegionWeight; - public static final ForgeConfigSpec.IntValue bopSecondaryOverworldRegionWeight; - public static final ForgeConfigSpec.IntValue bopNetherRegionWeight; - public static final ForgeConfigSpec.IntValue bopOverworldRareRegionWeight; - public static final ForgeConfigSpec.IntValue bopNetherRareRegionWeight; - static - { - BUILDER.comment("World generation related options."); - BUILDER.push("overworld"); - bopPrimaryOverworldRegionWeight = BUILDER.comment("The weighting of primary bop biome regions in the overworld.").defineInRange("bop_primary_overworld_region_weight", 10, 0, Integer.MAX_VALUE); - bopSecondaryOverworldRegionWeight = BUILDER.comment("The weighting of secondary bop biome regions in the overworld.").defineInRange("bop_secondary_overworld_region_weight", 8, 0, Integer.MAX_VALUE); - bopNetherRegionWeight = BUILDER.comment("The weighting of bop biome regions in the nether.").defineInRange("bop_nether_region_weight", 13, 0, Integer.MAX_VALUE); - bopOverworldRareRegionWeight = BUILDER.comment("The weighting of rare bop biome regions in the overworld.").defineInRange("bop_overworld_rare_region_weight", 2, 0, Integer.MAX_VALUE); - bopNetherRareRegionWeight = BUILDER.comment("The weighting of rare bop biome regions in the nether.").defineInRange("bop_nether_rare_region_weight", 2, 0, Integer.MAX_VALUE); - BUILDER.pop(); - - SPEC = BUILDER.build(); - } - } + public static GenerationConfig generation = new GenerationConfig(); public static void setup() { createConfigDirectoryIfNecessary(); - ModLoadingContext.get().registerConfig(net.minecraftforge.fml.config.ModConfig.Type.COMMON, GenerationConfig.SPEC, "biomesoplenty/generation.toml"); } public static boolean isBiomeEnabled(ResourceKey key) { - if (key == null || !key.location().getNamespace().equals(BiomesOPlentyForge.MOD_ID)) + if (key == null || !key.location().getNamespace().equals(BiomesOPlenty.MOD_ID)) return false; String optionName = getBiomeConfigOptionName(key); @@ -118,14 +92,13 @@ private static void createConfigDirectoryIfNecessary() } catch (IOException e) { - BiomesOPlentyForge.LOGGER.error("Failed to create biomesoplenty config directory", e); + BiomesOPlenty.LOGGER.error("Failed to create biomesoplenty config directory", e); } } private static Path getBOPConfigPath() { - Path configPath = FMLPaths.CONFIGDIR.get(); - return Paths.get(configPath.toAbsolutePath().toString(), "biomesoplenty"); + return Environment.getConfigPath().resolve(BiomesOPlenty.MOD_ID + "/"); } private static File getBOPConfigFile() diff --git a/common/src/main/java/biomesoplenty/init/ModCreativeTab.java b/common/src/main/java/biomesoplenty/init/ModCreativeTab.java new file mode 100644 index 0000000000..d9a49c6833 --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModCreativeTab.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.item.BOPItems; +import biomesoplenty.core.BiomesOPlenty; +import com.google.common.collect.ImmutableList; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; + +import java.lang.reflect.Field; +import java.util.List; +import java.util.function.BiConsumer; + +public class ModCreativeTab +{ + public static void registerCreativeTabs(BiConsumer func) + { + List ITEM_BLACKLIST = ImmutableList.of(BOPItems.BOP_ICON, BOPItems.BLOOD, BOPItems.HIGH_GRASS_PLANT, BOPItems.SPANISH_MOSS_PLANT, + BOPItems.GLOWWORM_SILK_STRAND, BOPItems.HANGING_COBWEB_STRAND, BOPItems.STRINGY_COBWEB, BOPItems.FLESH_TENDONS_STRAND, BOPItems.POTTED_ORIGIN_SAPLING, + BOPItems.POTTED_FLOWERING_OAK_SAPLING, BOPItems.POTTED_SNOWBLOSSOM_SAPLING, BOPItems.POTTED_RAINBOW_BIRCH_SAPLING, + BOPItems.POTTED_FIR_SAPLING, BOPItems.POTTED_PINE_SAPLING, BOPItems.POTTED_RED_MAPLE_SAPLING, BOPItems.POTTED_ORANGE_MAPLE_SAPLING, + BOPItems.POTTED_YELLOW_MAPLE_SAPLING, BOPItems.POTTED_REDWOOD_SAPLING, BOPItems.POTTED_MAHOGANY_SAPLING, BOPItems.POTTED_JACARANDA_SAPLING, + BOPItems.POTTED_PALM_SAPLING, BOPItems.POTTED_WILLOW_SAPLING, BOPItems.POTTED_DEAD_SAPLING, BOPItems.POTTED_MAGIC_SAPLING, + BOPItems.POTTED_UMBRAN_SAPLING, BOPItems.POTTED_HELLBARK_SAPLING, BOPItems.POTTED_ROSE, BOPItems.POTTED_VIOLET, BOPItems.POTTED_LAVENDER, + BOPItems.POTTED_WILDFLOWER, BOPItems.POTTED_ORANGE_COSMOS, BOPItems.POTTED_PINK_DAFFODIL, BOPItems.POTTED_PINK_HIBISCUS, BOPItems.POTTED_GLOWFLOWER, + BOPItems.POTTED_WILTED_LILY, BOPItems.POTTED_BURNING_BLOSSOM, BOPItems.POTTED_SPROUT, BOPItems.POTTED_TINY_CACTUS, BOPItems.POTTED_TOADSTOOL, + BOPItems.POTTED_GLOWSHROOM); + + var tab = CreativeModeTab.builder(CreativeModeTab.Row.TOP, 0) + .icon(() -> new ItemStack(BOPItems.BOP_ICON)) + .title(Component.translatable("itemGroup.biomesoplenty")) + .displayItems((displayParameters, output) -> + { + for (Field field : BOPItems.class.getFields()) + { + if (field.getType() != Item.class) continue; + + try + { + Item item = (Item) field.get(null); + + if (item == null) + throw new IllegalStateException("Field " + field.getName() + " cannot be null!"); + + if (!ITEM_BLACKLIST.contains(item)) + output.accept(new ItemStack(item)); + } + catch (IllegalAccessException e) + { + } + } + }).build(); + + register(func, "main", tab); + } + + private static CreativeModeTab register(BiConsumer func, String name, CreativeModeTab tab) + { + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), tab); + return tab; + } +} diff --git a/forge/src/main/java/biomesoplenty/forge/common/datagen/ModDamageTypes.java b/common/src/main/java/biomesoplenty/init/ModDamageTypes.java similarity index 64% rename from forge/src/main/java/biomesoplenty/forge/common/datagen/ModDamageTypes.java rename to common/src/main/java/biomesoplenty/init/ModDamageTypes.java index bce9a6f0e9..6fc561f264 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/datagen/ModDamageTypes.java +++ b/common/src/main/java/biomesoplenty/init/ModDamageTypes.java @@ -1,12 +1,12 @@ -package biomesoplenty.forge.common.datagen; +package biomesoplenty.init; -import biomesoplenty.forge.api.damagesource.BOPDamageTypes; +import biomesoplenty.api.damagesource.BOPDamageTypes; import net.minecraft.data.worldgen.BootstapContext; import net.minecraft.world.damagesource.DamageType; public class ModDamageTypes { - protected static void bootstrap(BootstapContext context) + public static void bootstrap(BootstapContext context) { context.register(BOPDamageTypes.BRAMBLE, new DamageType("bramble", 0.1F)); context.register(BOPDamageTypes.FUMAROLE, new DamageType("fumarole", 0.1F)); diff --git a/common/src/main/java/biomesoplenty/init/ModEntities.java b/common/src/main/java/biomesoplenty/init/ModEntities.java new file mode 100644 index 0000000000..fc21a5a5a1 --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModEntities.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.entity.BoatBOP; +import biomesoplenty.entity.ChestBoatBOP; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.MobCategory; + +import java.util.function.BiConsumer; + +import static biomesoplenty.api.entity.BOPEntities.*; + +public class ModEntities +{ + public static void registerEntities(BiConsumer> func) + { + BOAT = register(func, EntityType.Builder.of(BoatBOP::new, MobCategory.MISC).sized(1.375F, 0.5625F).clientTrackingRange(10).build(BiomesOPlenty.MOD_ID + ":boat"), "boat"); + CHEST_BOAT = register(func, EntityType.Builder.of(ChestBoatBOP::new, MobCategory.MISC).sized(1.375F, 0.5625F).clientTrackingRange(10).build(BiomesOPlenty.MOD_ID + ":chest_boat"), "chest_boat"); + } + + private static EntityType register(BiConsumer> func, EntityType entityType, String name) + { + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), entityType); + return entityType; + } +} diff --git a/common/src/main/java/biomesoplenty/init/ModFluids.java b/common/src/main/java/biomesoplenty/init/ModFluids.java new file mode 100644 index 0000000000..63060d3b8a --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModFluids.java @@ -0,0 +1,101 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.block.BloodFluid; +import biomesoplenty.core.BiomesOPlenty; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.material.FlowingFluid; +import net.minecraft.world.level.material.Fluid; + +import java.util.function.BiConsumer; + +import static biomesoplenty.api.block.BOPFluids.BLOOD; +import static biomesoplenty.api.block.BOPFluids.FLOWING_BLOOD; + +public class ModFluids +{ + public static void registerFluids(BiConsumer func) + { + FLOWING_BLOOD = (FlowingFluid)register(func, new BloodFluid.Flowing(), "flowing_blood"); + BLOOD = register(func, new BloodFluid.Source(), "blood"); + } + + private static Fluid register(BiConsumer func, Fluid fluid, String name) + { + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), fluid); + return fluid; + } + + // TODO: Forge fluids + +// BLOOD_TYPE = registerFluidType(() -> +// new FluidType(FluidType.Properties.create() +// .descriptionId("block.biomesoplenty.blood") +// .fallDistanceModifier(0F) +// .canExtinguish(true) +// .sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL) +// .sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY) +// .sound(SoundActions.FLUID_VAPORIZE, SoundEvents.FIRE_EXTINGUISH) +// .density(3000) +// .viscosity(6000)) +// { +// @Override +// public @Nullable BlockPathTypes getBlockPathType(FluidState state, BlockGetter level, BlockPos pos, @Nullable Mob mob, boolean canFluidLog) +// { +// return canFluidLog ? super.getBlockPathType(state, level, pos, mob, true) : null; +// } +// +// @Override +// public void initializeClient(Consumer consumer) +// { +// consumer.accept(new IClientFluidTypeExtensions() +// { +// private static final ResourceLocation BLOOD_UNDERWATER = new ResourceLocation("biomesoplenty:textures/block/blood_underwater.png"), +// BLOOD_STILL = new ResourceLocation("biomesoplenty:block/blood_still"), +// BLOOD_FLOW = new ResourceLocation("biomesoplenty:block/blood_flow"); +// +// @Override +// public ResourceLocation getStillTexture() +// { +// return BLOOD_STILL; +// } +// +// @Override +// public ResourceLocation getFlowingTexture() { return BLOOD_FLOW; } +// +// @Override +// public ResourceLocation getRenderOverlayTexture(Minecraft mc) { return BLOOD_UNDERWATER; } +// +// @Override +// public Vector3f modifyFogColor(Camera camera, float partialTick, ClientLevel level, int renderDistance, float darkenWorldAmount, Vector3f fluidFogColor) +// { +// return new Vector3f(0.407F, 0.121F, 0.137F); +// } +// +// @Override +// public void modifyFogRender(Camera camera, FogRenderer.FogMode mode, float renderDistance, float partialTick, float nearDistance, float farDistance, FogShape shape) +// { +// RenderSystem.setShaderFogStart(0.125F); +// RenderSystem.setShaderFogEnd(5.0F); +// } +// }); +// } +// }, "blood"); +// +// public static void registerFluidInteractions() +// { +// for (Map.Entry, FluidType> fluidType : ForgeRegistries.FLUID_TYPES.get().getEntries()) +// { +// if (fluidType.getValue() != ForgeMod.EMPTY_TYPE.get() && fluidType.getValue() != BOPFluids.BLOOD_TYPE) +// { +// FluidInteractionRegistry.addInteraction(fluidType.getValue(), new FluidInteractionRegistry.InteractionInformation( +// BOPFluids.BLOOD_TYPE, +// fluidState -> fluidState.isSource() ? BOPBlocks.FLESH.defaultBlockState() : BOPBlocks.POROUS_FLESH.defaultBlockState() +// )); +// } +// } +// } +} \ No newline at end of file diff --git a/common/src/main/java/biomesoplenty/init/ModItems.java b/common/src/main/java/biomesoplenty/init/ModItems.java new file mode 100644 index 0000000000..d821b75970 --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModItems.java @@ -0,0 +1,441 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPFluids; +import biomesoplenty.api.sound.BOPSounds; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.entity.BoatBOP; +import biomesoplenty.item.BoatItemBOP; +import biomesoplenty.item.MusicDiscItemBOP; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.*; + +import java.util.function.BiConsumer; + +import static biomesoplenty.api.item.BOPItems.*; + +public class ModItems +{ + public static void registerItems(BiConsumer func) + { + registerBlockItems(func); + + BOP_ICON = register(func, new Item(new Item.Properties()), "bop_icon"); + + ROSE_QUARTZ_CHUNK = register(func, new Item(new Item.Properties()), "rose_quartz_chunk"); + + MUSIC_DISC_WANDERER = register(func, new MusicDiscItemBOP(BOPSounds.MUSIC_DISC_WANDERER), "music_disc_wanderer"); + + BLOOD_BUCKET = register(func, new BucketItem(BOPFluids.BLOOD, (new Item.Properties()).craftRemainder(Items.BUCKET).stacksTo(1)), "blood_bucket"); + + FIR_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.FIR_SIGN, BOPBlocks.FIR_WALL_SIGN), "fir_sign"); + FIR_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.FIR_HANGING_SIGN, BOPBlocks.FIR_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "fir_hanging_sign"); + PINE_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.PINE_SIGN, BOPBlocks.PINE_WALL_SIGN), "pine_sign"); + PINE_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.PINE_HANGING_SIGN, BOPBlocks.PINE_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "pine_hanging_sign"); + MAPLE_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.MAPLE_SIGN, BOPBlocks.MAPLE_WALL_SIGN), "maple_sign"); + MAPLE_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.MAPLE_HANGING_SIGN, BOPBlocks.MAPLE_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "maple_hanging_sign"); + REDWOOD_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.REDWOOD_SIGN, BOPBlocks.REDWOOD_WALL_SIGN), "redwood_sign"); + REDWOOD_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.REDWOOD_HANGING_SIGN, BOPBlocks.REDWOOD_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "redwood_hanging_sign"); + MAHOGANY_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.MAHOGANY_SIGN, BOPBlocks.MAHOGANY_WALL_SIGN), "mahogany_sign"); + MAHOGANY_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.MAHOGANY_HANGING_SIGN, BOPBlocks.MAHOGANY_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "mahogany_hanging_sign"); + JACARANDA_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.JACARANDA_SIGN, BOPBlocks.JACARANDA_WALL_SIGN), "jacaranda_sign"); + JACARANDA_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.JACARANDA_HANGING_SIGN, BOPBlocks.JACARANDA_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "jacaranda_hanging_sign"); + PALM_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.PALM_SIGN, BOPBlocks.PALM_WALL_SIGN), "palm_sign"); + PALM_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.PALM_HANGING_SIGN, BOPBlocks.PALM_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "palm_hanging_sign"); + WILLOW_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.WILLOW_SIGN, BOPBlocks.WILLOW_WALL_SIGN), "willow_sign"); + WILLOW_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.WILLOW_HANGING_SIGN, BOPBlocks.WILLOW_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "willow_hanging_sign"); + DEAD_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.DEAD_SIGN, BOPBlocks.DEAD_WALL_SIGN), "dead_sign"); + DEAD_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.DEAD_HANGING_SIGN, BOPBlocks.DEAD_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "dead_hanging_sign"); + MAGIC_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.MAGIC_SIGN, BOPBlocks.MAGIC_WALL_SIGN), "magic_sign"); + MAGIC_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.MAGIC_HANGING_SIGN, BOPBlocks.MAGIC_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "magic_hanging_sign"); + UMBRAN_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.UMBRAN_SIGN, BOPBlocks.UMBRAN_WALL_SIGN), "umbran_sign"); + UMBRAN_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.UMBRAN_HANGING_SIGN, BOPBlocks.UMBRAN_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "umbran_hanging_sign"); + HELLBARK_SIGN = register(func, new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.HELLBARK_SIGN, BOPBlocks.HELLBARK_WALL_SIGN), "hellbark_sign"); + HELLBARK_HANGING_SIGN = register(func, new HangingSignItem(BOPBlocks.HELLBARK_HANGING_SIGN, BOPBlocks.HELLBARK_WALL_HANGING_SIGN, (new Item.Properties()).stacksTo(16)), "hellbark_hanging_sign"); + + FIR_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.FIR, (new Item.Properties()).stacksTo(1)), "fir_boat"); + FIR_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.FIR, (new Item.Properties()).stacksTo(1)), "fir_chest_boat"); + PINE_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.PINE, (new Item.Properties()).stacksTo(1)), "pine_boat"); + PINE_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.PINE, (new Item.Properties()).stacksTo(1)), "pine_chest_boat"); + MAPLE_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.MAPLE, (new Item.Properties()).stacksTo(1)), "maple_boat"); + MAPLE_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.MAPLE, (new Item.Properties()).stacksTo(1)), "maple_chest_boat"); + REDWOOD_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.REDWOOD, (new Item.Properties()).stacksTo(1)), "redwood_boat"); + REDWOOD_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.REDWOOD, (new Item.Properties()).stacksTo(1)), "redwood_chest_boat"); + MAHOGANY_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.MAHOGANY, (new Item.Properties()).stacksTo(1)), "mahogany_boat"); + MAHOGANY_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.MAHOGANY, (new Item.Properties()).stacksTo(1)), "mahogany_chest_boat"); + JACARANDA_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.JACARANDA, (new Item.Properties()).stacksTo(1)), "jacaranda_boat"); + JACARANDA_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.JACARANDA, (new Item.Properties()).stacksTo(1)), "jacaranda_chest_boat"); + PALM_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.PALM, (new Item.Properties()).stacksTo(1)), "palm_boat"); + PALM_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.PALM, (new Item.Properties()).stacksTo(1)), "palm_chest_boat"); + WILLOW_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.WILLOW, (new Item.Properties()).stacksTo(1)), "willow_boat"); + WILLOW_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.WILLOW, (new Item.Properties()).stacksTo(1)), "willow_chest_boat"); + DEAD_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.DEAD, (new Item.Properties()).stacksTo(1)), "dead_boat"); + DEAD_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.DEAD, (new Item.Properties()).stacksTo(1)), "dead_chest_boat"); + MAGIC_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.MAGIC, (new Item.Properties()).stacksTo(1)), "magic_boat"); + MAGIC_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.MAGIC, (new Item.Properties()).stacksTo(1)), "magic_chest_boat"); + UMBRAN_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.UMBRAN, (new Item.Properties()).stacksTo(1)), "umbran_boat"); + UMBRAN_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.UMBRAN, (new Item.Properties()).stacksTo(1)), "umbran_chest_boat"); + HELLBARK_BOAT = register(func, new BoatItemBOP(false, BoatBOP.ModelType.HELLBARK, (new Item.Properties()).stacksTo(1)), "hellbark_boat"); + HELLBARK_CHEST_BOAT = register(func, new BoatItemBOP(true, BoatBOP.ModelType.HELLBARK, (new Item.Properties()).stacksTo(1)), "hellbark_chest_boat"); + } + + public static void registerBlockItems(BiConsumer func) + { + BLOOD = register(func, "blood", new BlockItem(BOPBlocks.BLOOD, new Item.Properties())); + WHITE_SAND = register(func, "white_sand", new BlockItem(BOPBlocks.WHITE_SAND, new Item.Properties())); + WHITE_SANDSTONE = register(func, "white_sandstone", new BlockItem(BOPBlocks.WHITE_SANDSTONE, new Item.Properties())); + WHITE_SANDSTONE_STAIRS = register(func, "white_sandstone_stairs", new BlockItem(BOPBlocks.WHITE_SANDSTONE_STAIRS, new Item.Properties())); + WHITE_SANDSTONE_SLAB = register(func, "white_sandstone_slab", new BlockItem(BOPBlocks.WHITE_SANDSTONE_SLAB, new Item.Properties())); + WHITE_SANDSTONE_WALL = register(func, "white_sandstone_wall", new BlockItem(BOPBlocks.WHITE_SANDSTONE_WALL, new Item.Properties())); + SMOOTH_WHITE_SANDSTONE = register(func, "smooth_white_sandstone", new BlockItem(BOPBlocks.SMOOTH_WHITE_SANDSTONE, new Item.Properties())); + SMOOTH_WHITE_SANDSTONE_STAIRS = register(func, "smooth_white_sandstone_stairs", new BlockItem(BOPBlocks.SMOOTH_WHITE_SANDSTONE_STAIRS, new Item.Properties())); + SMOOTH_WHITE_SANDSTONE_SLAB = register(func, "smooth_white_sandstone_slab", new BlockItem(BOPBlocks.SMOOTH_WHITE_SANDSTONE_SLAB, new Item.Properties())); + CUT_WHITE_SANDSTONE = register(func, "cut_white_sandstone", new BlockItem(BOPBlocks.CUT_WHITE_SANDSTONE, new Item.Properties())); + CUT_WHITE_SANDSTONE_SLAB = register(func, "cut_white_sandstone_slab", new BlockItem(BOPBlocks.CUT_WHITE_SANDSTONE_SLAB, new Item.Properties())); + CHISELED_WHITE_SANDSTONE = register(func, "chiseled_white_sandstone", new BlockItem(BOPBlocks.CHISELED_WHITE_SANDSTONE, new Item.Properties())); + ORANGE_SAND = register(func, "orange_sand", new BlockItem(BOPBlocks.ORANGE_SAND, new Item.Properties())); + ORANGE_SANDSTONE = register(func, "orange_sandstone", new BlockItem(BOPBlocks.ORANGE_SANDSTONE, new Item.Properties())); + ORANGE_SANDSTONE_STAIRS = register(func, "orange_sandstone_stairs", new BlockItem(BOPBlocks.ORANGE_SANDSTONE_STAIRS, new Item.Properties())); + ORANGE_SANDSTONE_SLAB = register(func, "orange_sandstone_slab", new BlockItem(BOPBlocks.ORANGE_SANDSTONE_SLAB, new Item.Properties())); + ORANGE_SANDSTONE_WALL = register(func, "orange_sandstone_wall", new BlockItem(BOPBlocks.ORANGE_SANDSTONE_WALL, new Item.Properties())); + SMOOTH_ORANGE_SANDSTONE = register(func, "smooth_orange_sandstone", new BlockItem(BOPBlocks.SMOOTH_ORANGE_SANDSTONE, new Item.Properties())); + SMOOTH_ORANGE_SANDSTONE_STAIRS = register(func, "smooth_orange_sandstone_stairs", new BlockItem(BOPBlocks.SMOOTH_ORANGE_SANDSTONE_STAIRS, new Item.Properties())); + SMOOTH_ORANGE_SANDSTONE_SLAB = register(func, "smooth_orange_sandstone_slab", new BlockItem(BOPBlocks.SMOOTH_ORANGE_SANDSTONE_SLAB, new Item.Properties())); + CUT_ORANGE_SANDSTONE = register(func, "cut_orange_sandstone", new BlockItem(BOPBlocks.CUT_ORANGE_SANDSTONE, new Item.Properties())); + CUT_ORANGE_SANDSTONE_SLAB = register(func, "cut_orange_sandstone_slab", new BlockItem(BOPBlocks.CUT_ORANGE_SANDSTONE_SLAB, new Item.Properties())); + CHISELED_ORANGE_SANDSTONE = register(func, "chiseled_orange_sandstone", new BlockItem(BOPBlocks.CHISELED_ORANGE_SANDSTONE, new Item.Properties())); + MOSSY_BLACK_SAND = register(func, "mossy_black_sand", new BlockItem(BOPBlocks.MOSSY_BLACK_SAND, new Item.Properties())); + BLACK_SAND = register(func, "black_sand", new BlockItem(BOPBlocks.BLACK_SAND, new Item.Properties())); + BLACK_SANDSTONE = register(func, "black_sandstone", new BlockItem(BOPBlocks.BLACK_SANDSTONE, new Item.Properties())); + BLACK_SANDSTONE_STAIRS = register(func, "black_sandstone_stairs", new BlockItem(BOPBlocks.BLACK_SANDSTONE_STAIRS, new Item.Properties())); + BLACK_SANDSTONE_SLAB = register(func, "black_sandstone_slab", new BlockItem(BOPBlocks.BLACK_SANDSTONE_SLAB, new Item.Properties())); + BLACK_SANDSTONE_WALL = register(func, "black_sandstone_wall", new BlockItem(BOPBlocks.BLACK_SANDSTONE_WALL, new Item.Properties())); + SMOOTH_BLACK_SANDSTONE = register(func, "smooth_black_sandstone", new BlockItem(BOPBlocks.SMOOTH_BLACK_SANDSTONE, new Item.Properties())); + SMOOTH_BLACK_SANDSTONE_STAIRS = register(func, "smooth_black_sandstone_stairs", new BlockItem(BOPBlocks.SMOOTH_BLACK_SANDSTONE_STAIRS, new Item.Properties())); + SMOOTH_BLACK_SANDSTONE_SLAB = register(func, "smooth_black_sandstone_slab", new BlockItem(BOPBlocks.SMOOTH_BLACK_SANDSTONE_SLAB, new Item.Properties())); + CUT_BLACK_SANDSTONE = register(func, "cut_black_sandstone", new BlockItem(BOPBlocks.CUT_BLACK_SANDSTONE, new Item.Properties())); + CUT_BLACK_SANDSTONE_SLAB = register(func, "cut_black_sandstone_slab", new BlockItem(BOPBlocks.CUT_BLACK_SANDSTONE_SLAB, new Item.Properties())); + CHISELED_BLACK_SANDSTONE = register(func, "chiseled_black_sandstone", new BlockItem(BOPBlocks.CHISELED_BLACK_SANDSTONE, new Item.Properties())); + DRIED_SALT = register(func, "dried_salt", new BlockItem(BOPBlocks.DRIED_SALT, new Item.Properties())); + THERMAL_CALCITE = register(func, "thermal_calcite", new BlockItem(BOPBlocks.THERMAL_CALCITE, new Item.Properties())); + THERMAL_CALCITE_VENT = register(func, "thermal_calcite_vent", new BlockItem(BOPBlocks.THERMAL_CALCITE_VENT, new Item.Properties())); + FLESH = register(func, "flesh", new BlockItem(BOPBlocks.FLESH, new Item.Properties())); + POROUS_FLESH = register(func, "porous_flesh", new BlockItem(BOPBlocks.POROUS_FLESH, new Item.Properties())); + FLESH_TENDONS = register(func, "flesh_tendons", new BlockItem(BOPBlocks.FLESH_TENDONS, new Item.Properties())); + FLESH_TENDONS_STRAND = register(func, "flesh_tendons_strand", new BlockItem(BOPBlocks.FLESH_TENDONS_STRAND, new Item.Properties())); + EYEBULB = register(func, "eyebulb", new BlockItem(BOPBlocks.EYEBULB, new Item.Properties())); + HAIR = register(func, "hair", new BlockItem(BOPBlocks.HAIR, new Item.Properties())); + PUS_BUBBLE = register(func, "pus_bubble", new BlockItem(BOPBlocks.PUS_BUBBLE, new Item.Properties())); + BRIMSTONE = register(func, "brimstone", new BlockItem(BOPBlocks.BRIMSTONE, new Item.Properties())); + BRIMSTONE_BRICKS = register(func, "brimstone_bricks", new BlockItem(BOPBlocks.BRIMSTONE_BRICKS, new Item.Properties())); + BRIMSTONE_BRICK_STAIRS = register(func, "brimstone_brick_stairs", new BlockItem(BOPBlocks.BRIMSTONE_BRICK_STAIRS, new Item.Properties())); + BRIMSTONE_BRICK_SLAB = register(func, "brimstone_brick_slab", new BlockItem(BOPBlocks.BRIMSTONE_BRICK_SLAB, new Item.Properties())); + BRIMSTONE_BRICK_WALL = register(func, "brimstone_brick_wall", new BlockItem(BOPBlocks.BRIMSTONE_BRICK_WALL, new Item.Properties())); + CHISELED_BRIMSTONE_BRICKS = register(func, "chiseled_brimstone_bricks", new BlockItem(BOPBlocks.CHISELED_BRIMSTONE_BRICKS, new Item.Properties())); + BRIMSTONE_FUMAROLE = register(func, "brimstone_fumarole", new BlockItem(BOPBlocks.BRIMSTONE_FUMAROLE, new Item.Properties())); + BRIMSTONE_CLUSTER = register(func, "brimstone_cluster", new BlockItem(BOPBlocks.BRIMSTONE_CLUSTER, new Item.Properties())); + BRIMSTONE_BUD = register(func, "brimstone_bud", new BlockItem(BOPBlocks.BRIMSTONE_BUD, new Item.Properties())); + BLACKSTONE_SPINES = register(func, "blackstone_spines", new BlockItem(BOPBlocks.BLACKSTONE_SPINES, new Item.Properties())); + BLACKSTONE_BULB = register(func, "blackstone_bulb", new BlockItem(BOPBlocks.BLACKSTONE_BULB, new Item.Properties())); + ROSE_QUARTZ_BLOCK = register(func, "rose_quartz_block", new BlockItem(BOPBlocks.ROSE_QUARTZ_BLOCK, new Item.Properties())); + ROSE_QUARTZ_CLUSTER = register(func, "rose_quartz_cluster", new BlockItem(BOPBlocks.ROSE_QUARTZ_CLUSTER, new Item.Properties())); + LARGE_ROSE_QUARTZ_BUD = register(func, "large_rose_quartz_bud", new BlockItem(BOPBlocks.LARGE_ROSE_QUARTZ_BUD, new Item.Properties())); + MEDIUM_ROSE_QUARTZ_BUD = register(func, "medium_rose_quartz_bud", new BlockItem(BOPBlocks.MEDIUM_ROSE_QUARTZ_BUD, new Item.Properties())); + SMALL_ROSE_QUARTZ_BUD = register(func, "small_rose_quartz_bud", new BlockItem(BOPBlocks.SMALL_ROSE_QUARTZ_BUD, new Item.Properties())); + TOADSTOOL = register(func, "toadstool", new BlockItem(BOPBlocks.TOADSTOOL, new Item.Properties())); + TOADSTOOL_BLOCK = register(func, "toadstool_block", new BlockItem(BOPBlocks.TOADSTOOL_BLOCK, new Item.Properties())); + GLOWSHROOM = register(func, "glowshroom", new BlockItem(BOPBlocks.GLOWSHROOM, new Item.Properties())); + GLOWSHROOM_BLOCK = register(func, "glowshroom_block", new BlockItem(BOPBlocks.GLOWSHROOM_BLOCK, new Item.Properties())); + GLOWING_MOSS_BLOCK = register(func, "glowing_moss_block", new BlockItem(BOPBlocks.GLOWING_MOSS_BLOCK, new Item.Properties())); + GLOWING_MOSS_CARPET = register(func, "glowing_moss_carpet", new BlockItem(BOPBlocks.GLOWING_MOSS_CARPET, new Item.Properties())); + GLOWWORM_SILK = register(func, "glowworm_silk", new BlockItem(BOPBlocks.GLOWWORM_SILK, new Item.Properties())); + GLOWWORM_SILK_STRAND = register(func, "glowworm_silk_strand", new BlockItem(BOPBlocks.GLOWWORM_SILK_STRAND, new Item.Properties())); + SPIDER_EGG = register(func, "spider_egg", new BlockItem(BOPBlocks.SPIDER_EGG, new Item.Properties())); + HANGING_COBWEB = register(func, "hanging_cobweb", new BlockItem(BOPBlocks.HANGING_COBWEB, new Item.Properties())); + HANGING_COBWEB_STRAND = register(func, "hanging_cobweb_strand", new BlockItem(BOPBlocks.HANGING_COBWEB_STRAND, new Item.Properties())); + STRINGY_COBWEB = register(func, "stringy_cobweb", new BlockItem(BOPBlocks.STRINGY_COBWEB, new Item.Properties())); + WEBBING = register(func, "webbing", new BlockItem(BOPBlocks.WEBBING, new Item.Properties())); + ORIGIN_GRASS_BLOCK = register(func, "origin_grass_block", new BlockItem(BOPBlocks.ORIGIN_GRASS_BLOCK, new Item.Properties())); + ORIGIN_SAPLING = register(func, "origin_sapling", new BlockItem(BOPBlocks.ORIGIN_SAPLING, new Item.Properties())); + ORIGIN_LEAVES = register(func, "origin_leaves", new BlockItem(BOPBlocks.ORIGIN_LEAVES, new Item.Properties())); + FLOWERING_OAK_SAPLING = register(func, "flowering_oak_sapling", new BlockItem(BOPBlocks.FLOWERING_OAK_SAPLING, new Item.Properties())); + FLOWERING_OAK_LEAVES = register(func, "flowering_oak_leaves", new BlockItem(BOPBlocks.FLOWERING_OAK_LEAVES, new Item.Properties())); + SNOWBLOSSOM_SAPLING = register(func, "snowblossom_sapling", new BlockItem(BOPBlocks.SNOWBLOSSOM_SAPLING, new Item.Properties())); + SNOWBLOSSOM_LEAVES = register(func, "snowblossom_leaves", new BlockItem(BOPBlocks.SNOWBLOSSOM_LEAVES, new Item.Properties())); + RAINBOW_BIRCH_SAPLING = register(func, "rainbow_birch_sapling", new BlockItem(BOPBlocks.RAINBOW_BIRCH_SAPLING, new Item.Properties())); + RAINBOW_BIRCH_LEAVES = register(func, "rainbow_birch_leaves", new BlockItem(BOPBlocks.RAINBOW_BIRCH_LEAVES, new Item.Properties())); + FIR_SAPLING = register(func, "fir_sapling", new BlockItem(BOPBlocks.FIR_SAPLING, new Item.Properties())); + FIR_LEAVES = register(func, "fir_leaves", new BlockItem(BOPBlocks.FIR_LEAVES, new Item.Properties())); + FIR_LOG = register(func, "fir_log", new BlockItem(BOPBlocks.FIR_LOG, new Item.Properties())); + FIR_WOOD = register(func, "fir_wood", new BlockItem(BOPBlocks.FIR_WOOD, new Item.Properties())); + STRIPPED_FIR_LOG = register(func, "stripped_fir_log", new BlockItem(BOPBlocks.STRIPPED_FIR_LOG, new Item.Properties())); + STRIPPED_FIR_WOOD = register(func, "stripped_fir_wood", new BlockItem(BOPBlocks.STRIPPED_FIR_WOOD, new Item.Properties())); + FIR_PLANKS = register(func, "fir_planks", new BlockItem(BOPBlocks.FIR_PLANKS, new Item.Properties())); + FIR_STAIRS = register(func, "fir_stairs", new BlockItem(BOPBlocks.FIR_STAIRS, new Item.Properties())); + FIR_SLAB = register(func, "fir_slab", new BlockItem(BOPBlocks.FIR_SLAB, new Item.Properties())); + FIR_FENCE = register(func, "fir_fence", new BlockItem(BOPBlocks.FIR_FENCE, new Item.Properties())); + FIR_FENCE_GATE = register(func, "fir_fence_gate", new BlockItem(BOPBlocks.FIR_FENCE_GATE, new Item.Properties())); + FIR_DOOR = register(func, "fir_door", new BlockItem(BOPBlocks.FIR_DOOR, new Item.Properties())); + FIR_TRAPDOOR = register(func, "fir_trapdoor", new BlockItem(BOPBlocks.FIR_TRAPDOOR, new Item.Properties())); + FIR_PRESSURE_PLATE = register(func, "fir_pressure_plate", new BlockItem(BOPBlocks.FIR_PRESSURE_PLATE, new Item.Properties())); + FIR_BUTTON = register(func, "fir_button", new BlockItem(BOPBlocks.FIR_BUTTON, new Item.Properties())); + PINE_SAPLING = register(func, "pine_sapling", new BlockItem(BOPBlocks.PINE_SAPLING, new Item.Properties())); + PINE_LEAVES = register(func, "pine_leaves", new BlockItem(BOPBlocks.PINE_LEAVES, new Item.Properties())); + PINE_LOG = register(func, "pine_log", new BlockItem(BOPBlocks.PINE_LOG, new Item.Properties())); + PINE_WOOD = register(func, "pine_wood", new BlockItem(BOPBlocks.PINE_WOOD, new Item.Properties())); + STRIPPED_PINE_LOG = register(func, "stripped_pine_log", new BlockItem(BOPBlocks.STRIPPED_PINE_LOG, new Item.Properties())); + STRIPPED_PINE_WOOD = register(func, "stripped_pine_wood", new BlockItem(BOPBlocks.STRIPPED_PINE_WOOD, new Item.Properties())); + PINE_PLANKS = register(func, "pine_planks", new BlockItem(BOPBlocks.PINE_PLANKS, new Item.Properties())); + PINE_STAIRS = register(func, "pine_stairs", new BlockItem(BOPBlocks.PINE_STAIRS, new Item.Properties())); + PINE_SLAB = register(func, "pine_slab", new BlockItem(BOPBlocks.PINE_SLAB, new Item.Properties())); + PINE_FENCE = register(func, "pine_fence", new BlockItem(BOPBlocks.PINE_FENCE, new Item.Properties())); + PINE_FENCE_GATE = register(func, "pine_fence_gate", new BlockItem(BOPBlocks.PINE_FENCE_GATE, new Item.Properties())); + PINE_DOOR = register(func, "pine_door", new BlockItem(BOPBlocks.PINE_DOOR, new Item.Properties())); + PINE_TRAPDOOR = register(func, "pine_trapdoor", new BlockItem(BOPBlocks.PINE_TRAPDOOR, new Item.Properties())); + PINE_PRESSURE_PLATE = register(func, "pine_pressure_plate", new BlockItem(BOPBlocks.PINE_PRESSURE_PLATE, new Item.Properties())); + PINE_BUTTON = register(func, "pine_button", new BlockItem(BOPBlocks.PINE_BUTTON, new Item.Properties())); + RED_MAPLE_SAPLING = register(func, "red_maple_sapling", new BlockItem(BOPBlocks.RED_MAPLE_SAPLING, new Item.Properties())); + RED_MAPLE_LEAF_PILE = register(func, "red_maple_leaf_pile", new BlockItem(BOPBlocks.RED_MAPLE_LEAF_PILE, new Item.Properties())); + RED_MAPLE_LEAVES = register(func, "red_maple_leaves", new BlockItem(BOPBlocks.RED_MAPLE_LEAVES, new Item.Properties())); + ORANGE_MAPLE_SAPLING = register(func, "orange_maple_sapling", new BlockItem(BOPBlocks.ORANGE_MAPLE_SAPLING, new Item.Properties())); + ORANGE_MAPLE_LEAF_PILE = register(func, "orange_maple_leaf_pile", new BlockItem(BOPBlocks.ORANGE_MAPLE_LEAF_PILE, new Item.Properties())); + ORANGE_MAPLE_LEAVES = register(func, "orange_maple_leaves", new BlockItem(BOPBlocks.ORANGE_MAPLE_LEAVES, new Item.Properties())); + YELLOW_MAPLE_SAPLING = register(func, "yellow_maple_sapling", new BlockItem(BOPBlocks.YELLOW_MAPLE_SAPLING, new Item.Properties())); + YELLOW_MAPLE_LEAF_PILE = register(func, "yellow_maple_leaf_pile", new BlockItem(BOPBlocks.YELLOW_MAPLE_LEAF_PILE, new Item.Properties())); + YELLOW_MAPLE_LEAVES = register(func, "yellow_maple_leaves", new BlockItem(BOPBlocks.YELLOW_MAPLE_LEAVES, new Item.Properties())); + MAPLE_LOG = register(func, "maple_log", new BlockItem(BOPBlocks.MAPLE_LOG, new Item.Properties())); + MAPLE_WOOD = register(func, "maple_wood", new BlockItem(BOPBlocks.MAPLE_WOOD, new Item.Properties())); + STRIPPED_MAPLE_LOG = register(func, "stripped_maple_log", new BlockItem(BOPBlocks.STRIPPED_MAPLE_LOG, new Item.Properties())); + STRIPPED_MAPLE_WOOD = register(func, "stripped_maple_wood", new BlockItem(BOPBlocks.STRIPPED_MAPLE_WOOD, new Item.Properties())); + MAPLE_PLANKS = register(func, "maple_planks", new BlockItem(BOPBlocks.MAPLE_PLANKS, new Item.Properties())); + MAPLE_STAIRS = register(func, "maple_stairs", new BlockItem(BOPBlocks.MAPLE_STAIRS, new Item.Properties())); + MAPLE_SLAB = register(func, "maple_slab", new BlockItem(BOPBlocks.MAPLE_SLAB, new Item.Properties())); + MAPLE_FENCE = register(func, "maple_fence", new BlockItem(BOPBlocks.MAPLE_FENCE, new Item.Properties())); + MAPLE_FENCE_GATE = register(func, "maple_fence_gate", new BlockItem(BOPBlocks.MAPLE_FENCE_GATE, new Item.Properties())); + MAPLE_DOOR = register(func, "maple_door", new BlockItem(BOPBlocks.MAPLE_DOOR, new Item.Properties())); + MAPLE_TRAPDOOR = register(func, "maple_trapdoor", new BlockItem(BOPBlocks.MAPLE_TRAPDOOR, new Item.Properties())); + MAPLE_PRESSURE_PLATE = register(func, "maple_pressure_plate", new BlockItem(BOPBlocks.MAPLE_PRESSURE_PLATE, new Item.Properties())); + MAPLE_BUTTON = register(func, "maple_button", new BlockItem(BOPBlocks.MAPLE_BUTTON, new Item.Properties())); + REDWOOD_SAPLING = register(func, "redwood_sapling", new BlockItem(BOPBlocks.REDWOOD_SAPLING, new Item.Properties())); + REDWOOD_LEAVES = register(func, "redwood_leaves", new BlockItem(BOPBlocks.REDWOOD_LEAVES, new Item.Properties())); + REDWOOD_LOG = register(func, "redwood_log", new BlockItem(BOPBlocks.REDWOOD_LOG, new Item.Properties())); + REDWOOD_WOOD = register(func, "redwood_wood", new BlockItem(BOPBlocks.REDWOOD_WOOD, new Item.Properties())); + STRIPPED_REDWOOD_LOG = register(func, "stripped_redwood_log", new BlockItem(BOPBlocks.STRIPPED_REDWOOD_LOG, new Item.Properties())); + STRIPPED_REDWOOD_WOOD = register(func, "stripped_redwood_wood", new BlockItem(BOPBlocks.STRIPPED_REDWOOD_WOOD, new Item.Properties())); + REDWOOD_PLANKS = register(func, "redwood_planks", new BlockItem(BOPBlocks.REDWOOD_PLANKS, new Item.Properties())); + REDWOOD_STAIRS = register(func, "redwood_stairs", new BlockItem(BOPBlocks.REDWOOD_STAIRS, new Item.Properties())); + REDWOOD_SLAB = register(func, "redwood_slab", new BlockItem(BOPBlocks.REDWOOD_SLAB, new Item.Properties())); + REDWOOD_FENCE = register(func, "redwood_fence", new BlockItem(BOPBlocks.REDWOOD_FENCE, new Item.Properties())); + REDWOOD_FENCE_GATE = register(func, "redwood_fence_gate", new BlockItem(BOPBlocks.REDWOOD_FENCE_GATE, new Item.Properties())); + REDWOOD_DOOR = register(func, "redwood_door", new BlockItem(BOPBlocks.REDWOOD_DOOR, new Item.Properties())); + REDWOOD_TRAPDOOR = register(func, "redwood_trapdoor", new BlockItem(BOPBlocks.REDWOOD_TRAPDOOR, new Item.Properties())); + REDWOOD_PRESSURE_PLATE = register(func, "redwood_pressure_plate", new BlockItem(BOPBlocks.REDWOOD_PRESSURE_PLATE, new Item.Properties())); + REDWOOD_BUTTON = register(func, "redwood_button", new BlockItem(BOPBlocks.REDWOOD_BUTTON, new Item.Properties())); + MAHOGANY_SAPLING = register(func, "mahogany_sapling", new BlockItem(BOPBlocks.MAHOGANY_SAPLING, new Item.Properties())); + MAHOGANY_LEAVES = register(func, "mahogany_leaves", new BlockItem(BOPBlocks.MAHOGANY_LEAVES, new Item.Properties())); + MAHOGANY_LOG = register(func, "mahogany_log", new BlockItem(BOPBlocks.MAHOGANY_LOG, new Item.Properties())); + MAHOGANY_WOOD = register(func, "mahogany_wood", new BlockItem(BOPBlocks.MAHOGANY_WOOD, new Item.Properties())); + STRIPPED_MAHOGANY_LOG = register(func, "stripped_mahogany_log", new BlockItem(BOPBlocks.STRIPPED_MAHOGANY_LOG, new Item.Properties())); + STRIPPED_MAHOGANY_WOOD = register(func, "stripped_mahogany_wood", new BlockItem(BOPBlocks.STRIPPED_MAHOGANY_WOOD, new Item.Properties())); + MAHOGANY_PLANKS = register(func, "mahogany_planks", new BlockItem(BOPBlocks.MAHOGANY_PLANKS, new Item.Properties())); + MAHOGANY_STAIRS = register(func, "mahogany_stairs", new BlockItem(BOPBlocks.MAHOGANY_STAIRS, new Item.Properties())); + MAHOGANY_SLAB = register(func, "mahogany_slab", new BlockItem(BOPBlocks.MAHOGANY_SLAB, new Item.Properties())); + MAHOGANY_FENCE = register(func, "mahogany_fence", new BlockItem(BOPBlocks.MAHOGANY_FENCE, new Item.Properties())); + MAHOGANY_FENCE_GATE = register(func, "mahogany_fence_gate", new BlockItem(BOPBlocks.MAHOGANY_FENCE_GATE, new Item.Properties())); + MAHOGANY_DOOR = register(func, "mahogany_door", new BlockItem(BOPBlocks.MAHOGANY_DOOR, new Item.Properties())); + MAHOGANY_TRAPDOOR = register(func, "mahogany_trapdoor", new BlockItem(BOPBlocks.MAHOGANY_TRAPDOOR, new Item.Properties())); + MAHOGANY_PRESSURE_PLATE = register(func, "mahogany_pressure_plate", new BlockItem(BOPBlocks.MAHOGANY_PRESSURE_PLATE, new Item.Properties())); + MAHOGANY_BUTTON = register(func, "mahogany_button", new BlockItem(BOPBlocks.MAHOGANY_BUTTON, new Item.Properties())); + JACARANDA_SAPLING = register(func, "jacaranda_sapling", new BlockItem(BOPBlocks.JACARANDA_SAPLING, new Item.Properties())); + JACARANDA_LEAVES = register(func, "jacaranda_leaves", new BlockItem(BOPBlocks.JACARANDA_LEAVES, new Item.Properties())); + JACARANDA_LOG = register(func, "jacaranda_log", new BlockItem(BOPBlocks.JACARANDA_LOG, new Item.Properties())); + JACARANDA_WOOD = register(func, "jacaranda_wood", new BlockItem(BOPBlocks.JACARANDA_WOOD, new Item.Properties())); + STRIPPED_JACARANDA_LOG = register(func, "stripped_jacaranda_log", new BlockItem(BOPBlocks.STRIPPED_JACARANDA_LOG, new Item.Properties())); + STRIPPED_JACARANDA_WOOD = register(func, "stripped_jacaranda_wood", new BlockItem(BOPBlocks.STRIPPED_JACARANDA_WOOD, new Item.Properties())); + JACARANDA_PLANKS = register(func, "jacaranda_planks", new BlockItem(BOPBlocks.JACARANDA_PLANKS, new Item.Properties())); + JACARANDA_STAIRS = register(func, "jacaranda_stairs", new BlockItem(BOPBlocks.JACARANDA_STAIRS, new Item.Properties())); + JACARANDA_SLAB = register(func, "jacaranda_slab", new BlockItem(BOPBlocks.JACARANDA_SLAB, new Item.Properties())); + JACARANDA_FENCE = register(func, "jacaranda_fence", new BlockItem(BOPBlocks.JACARANDA_FENCE, new Item.Properties())); + JACARANDA_FENCE_GATE = register(func, "jacaranda_fence_gate", new BlockItem(BOPBlocks.JACARANDA_FENCE_GATE, new Item.Properties())); + JACARANDA_DOOR = register(func, "jacaranda_door", new BlockItem(BOPBlocks.JACARANDA_DOOR, new Item.Properties())); + JACARANDA_TRAPDOOR = register(func, "jacaranda_trapdoor", new BlockItem(BOPBlocks.JACARANDA_TRAPDOOR, new Item.Properties())); + JACARANDA_PRESSURE_PLATE = register(func, "jacaranda_pressure_plate", new BlockItem(BOPBlocks.JACARANDA_PRESSURE_PLATE, new Item.Properties())); + JACARANDA_BUTTON = register(func, "jacaranda_button", new BlockItem(BOPBlocks.JACARANDA_BUTTON, new Item.Properties())); + PALM_SAPLING = register(func, "palm_sapling", new BlockItem(BOPBlocks.PALM_SAPLING, new Item.Properties())); + PALM_LEAVES = register(func, "palm_leaves", new BlockItem(BOPBlocks.PALM_LEAVES, new Item.Properties())); + PALM_LOG = register(func, "palm_log", new BlockItem(BOPBlocks.PALM_LOG, new Item.Properties())); + PALM_WOOD = register(func, "palm_wood", new BlockItem(BOPBlocks.PALM_WOOD, new Item.Properties())); + STRIPPED_PALM_LOG = register(func, "stripped_palm_log", new BlockItem(BOPBlocks.STRIPPED_PALM_LOG, new Item.Properties())); + STRIPPED_PALM_WOOD = register(func, "stripped_palm_wood", new BlockItem(BOPBlocks.STRIPPED_PALM_WOOD, new Item.Properties())); + PALM_PLANKS = register(func, "palm_planks", new BlockItem(BOPBlocks.PALM_PLANKS, new Item.Properties())); + PALM_STAIRS = register(func, "palm_stairs", new BlockItem(BOPBlocks.PALM_STAIRS, new Item.Properties())); + PALM_SLAB = register(func, "palm_slab", new BlockItem(BOPBlocks.PALM_SLAB, new Item.Properties())); + PALM_FENCE = register(func, "palm_fence", new BlockItem(BOPBlocks.PALM_FENCE, new Item.Properties())); + PALM_FENCE_GATE = register(func, "palm_fence_gate", new BlockItem(BOPBlocks.PALM_FENCE_GATE, new Item.Properties())); + PALM_DOOR = register(func, "palm_door", new BlockItem(BOPBlocks.PALM_DOOR, new Item.Properties())); + PALM_TRAPDOOR = register(func, "palm_trapdoor", new BlockItem(BOPBlocks.PALM_TRAPDOOR, new Item.Properties())); + PALM_PRESSURE_PLATE = register(func, "palm_pressure_plate", new BlockItem(BOPBlocks.PALM_PRESSURE_PLATE, new Item.Properties())); + PALM_BUTTON = register(func, "palm_button", new BlockItem(BOPBlocks.PALM_BUTTON, new Item.Properties())); + WILLOW_SAPLING = register(func, "willow_sapling", new BlockItem(BOPBlocks.WILLOW_SAPLING, new Item.Properties())); + WILLOW_VINE = register(func, "willow_vine", new BlockItem(BOPBlocks.WILLOW_VINE, new Item.Properties())); + SPANISH_MOSS = register(func, "spanish_moss", new BlockItem(BOPBlocks.SPANISH_MOSS, new Item.Properties())); + SPANISH_MOSS_PLANT = register(func, "spanish_moss_plant", new BlockItem(BOPBlocks.SPANISH_MOSS_PLANT, new Item.Properties())); + WILLOW_LEAVES = register(func, "willow_leaves", new BlockItem(BOPBlocks.WILLOW_LEAVES, new Item.Properties())); + WILLOW_LOG = register(func, "willow_log", new BlockItem(BOPBlocks.WILLOW_LOG, new Item.Properties())); + WILLOW_WOOD = register(func, "willow_wood", new BlockItem(BOPBlocks.WILLOW_WOOD, new Item.Properties())); + STRIPPED_WILLOW_LOG = register(func, "stripped_willow_log", new BlockItem(BOPBlocks.STRIPPED_WILLOW_LOG, new Item.Properties())); + STRIPPED_WILLOW_WOOD = register(func, "stripped_willow_wood", new BlockItem(BOPBlocks.STRIPPED_WILLOW_WOOD, new Item.Properties())); + WILLOW_PLANKS = register(func, "willow_planks", new BlockItem(BOPBlocks.WILLOW_PLANKS, new Item.Properties())); + WILLOW_STAIRS = register(func, "willow_stairs", new BlockItem(BOPBlocks.WILLOW_STAIRS, new Item.Properties())); + WILLOW_SLAB = register(func, "willow_slab", new BlockItem(BOPBlocks.WILLOW_SLAB, new Item.Properties())); + WILLOW_FENCE = register(func, "willow_fence", new BlockItem(BOPBlocks.WILLOW_FENCE, new Item.Properties())); + WILLOW_FENCE_GATE = register(func, "willow_fence_gate", new BlockItem(BOPBlocks.WILLOW_FENCE_GATE, new Item.Properties())); + WILLOW_DOOR = register(func, "willow_door", new BlockItem(BOPBlocks.WILLOW_DOOR, new Item.Properties())); + WILLOW_TRAPDOOR = register(func, "willow_trapdoor", new BlockItem(BOPBlocks.WILLOW_TRAPDOOR, new Item.Properties())); + WILLOW_PRESSURE_PLATE = register(func, "willow_pressure_plate", new BlockItem(BOPBlocks.WILLOW_PRESSURE_PLATE, new Item.Properties())); + WILLOW_BUTTON = register(func, "willow_button", new BlockItem(BOPBlocks.WILLOW_BUTTON, new Item.Properties())); + DEAD_SAPLING = register(func, "dead_sapling", new BlockItem(BOPBlocks.DEAD_SAPLING, new Item.Properties())); + DEAD_BRANCH = register(func, "dead_branch", new BlockItem(BOPBlocks.DEAD_BRANCH, new Item.Properties())); + DEAD_LEAVES = register(func, "dead_leaves", new BlockItem(BOPBlocks.DEAD_LEAVES, new Item.Properties())); + DEAD_LOG = register(func, "dead_log", new BlockItem(BOPBlocks.DEAD_LOG, new Item.Properties())); + DEAD_WOOD = register(func, "dead_wood", new BlockItem(BOPBlocks.DEAD_WOOD, new Item.Properties())); + STRIPPED_DEAD_LOG = register(func, "stripped_dead_log", new BlockItem(BOPBlocks.STRIPPED_DEAD_LOG, new Item.Properties())); + STRIPPED_DEAD_WOOD = register(func, "stripped_dead_wood", new BlockItem(BOPBlocks.STRIPPED_DEAD_WOOD, new Item.Properties())); + DEAD_PLANKS = register(func, "dead_planks", new BlockItem(BOPBlocks.DEAD_PLANKS, new Item.Properties())); + DEAD_STAIRS = register(func, "dead_stairs", new BlockItem(BOPBlocks.DEAD_STAIRS, new Item.Properties())); + DEAD_SLAB = register(func, "dead_slab", new BlockItem(BOPBlocks.DEAD_SLAB, new Item.Properties())); + DEAD_FENCE = register(func, "dead_fence", new BlockItem(BOPBlocks.DEAD_FENCE, new Item.Properties())); + DEAD_FENCE_GATE = register(func, "dead_fence_gate", new BlockItem(BOPBlocks.DEAD_FENCE_GATE, new Item.Properties())); + DEAD_DOOR = register(func, "dead_door", new BlockItem(BOPBlocks.DEAD_DOOR, new Item.Properties())); + DEAD_TRAPDOOR = register(func, "dead_trapdoor", new BlockItem(BOPBlocks.DEAD_TRAPDOOR, new Item.Properties())); + DEAD_PRESSURE_PLATE = register(func, "dead_pressure_plate", new BlockItem(BOPBlocks.DEAD_PRESSURE_PLATE, new Item.Properties())); + DEAD_BUTTON = register(func, "dead_button", new BlockItem(BOPBlocks.DEAD_BUTTON, new Item.Properties())); + MAGIC_SAPLING = register(func, "magic_sapling", new BlockItem(BOPBlocks.MAGIC_SAPLING, new Item.Properties())); + MAGIC_LEAVES = register(func, "magic_leaves", new BlockItem(BOPBlocks.MAGIC_LEAVES, new Item.Properties())); + MAGIC_LOG = register(func, "magic_log", new BlockItem(BOPBlocks.MAGIC_LOG, new Item.Properties())); + MAGIC_WOOD = register(func, "magic_wood", new BlockItem(BOPBlocks.MAGIC_WOOD, new Item.Properties())); + STRIPPED_MAGIC_LOG = register(func, "stripped_magic_log", new BlockItem(BOPBlocks.STRIPPED_MAGIC_LOG, new Item.Properties())); + STRIPPED_MAGIC_WOOD = register(func, "stripped_magic_wood", new BlockItem(BOPBlocks.STRIPPED_MAGIC_WOOD, new Item.Properties())); + MAGIC_PLANKS = register(func, "magic_planks", new BlockItem(BOPBlocks.MAGIC_PLANKS, new Item.Properties())); + MAGIC_STAIRS = register(func, "magic_stairs", new BlockItem(BOPBlocks.MAGIC_STAIRS, new Item.Properties())); + MAGIC_SLAB = register(func, "magic_slab", new BlockItem(BOPBlocks.MAGIC_SLAB, new Item.Properties())); + MAGIC_FENCE = register(func, "magic_fence", new BlockItem(BOPBlocks.MAGIC_FENCE, new Item.Properties())); + MAGIC_FENCE_GATE = register(func, "magic_fence_gate", new BlockItem(BOPBlocks.MAGIC_FENCE_GATE, new Item.Properties())); + MAGIC_DOOR = register(func, "magic_door", new BlockItem(BOPBlocks.MAGIC_DOOR, new Item.Properties())); + MAGIC_TRAPDOOR = register(func, "magic_trapdoor", new BlockItem(BOPBlocks.MAGIC_TRAPDOOR, new Item.Properties())); + MAGIC_PRESSURE_PLATE = register(func, "magic_pressure_plate", new BlockItem(BOPBlocks.MAGIC_PRESSURE_PLATE, new Item.Properties())); + MAGIC_BUTTON = register(func, "magic_button", new BlockItem(BOPBlocks.MAGIC_BUTTON, new Item.Properties())); + UMBRAN_SAPLING = register(func, "umbran_sapling", new BlockItem(BOPBlocks.UMBRAN_SAPLING, new Item.Properties())); + UMBRAN_LEAVES = register(func, "umbran_leaves", new BlockItem(BOPBlocks.UMBRAN_LEAVES, new Item.Properties())); + UMBRAN_LOG = register(func, "umbran_log", new BlockItem(BOPBlocks.UMBRAN_LOG, new Item.Properties())); + UMBRAN_WOOD = register(func, "umbran_wood", new BlockItem(BOPBlocks.UMBRAN_WOOD, new Item.Properties())); + STRIPPED_UMBRAN_LOG = register(func, "stripped_umbran_log", new BlockItem(BOPBlocks.STRIPPED_UMBRAN_LOG, new Item.Properties())); + STRIPPED_UMBRAN_WOOD = register(func, "stripped_umbran_wood", new BlockItem(BOPBlocks.STRIPPED_UMBRAN_WOOD, new Item.Properties())); + UMBRAN_PLANKS = register(func, "umbran_planks", new BlockItem(BOPBlocks.UMBRAN_PLANKS, new Item.Properties())); + UMBRAN_STAIRS = register(func, "umbran_stairs", new BlockItem(BOPBlocks.UMBRAN_STAIRS, new Item.Properties())); + UMBRAN_SLAB = register(func, "umbran_slab", new BlockItem(BOPBlocks.UMBRAN_SLAB, new Item.Properties())); + UMBRAN_FENCE = register(func, "umbran_fence", new BlockItem(BOPBlocks.UMBRAN_FENCE, new Item.Properties())); + UMBRAN_FENCE_GATE = register(func, "umbran_fence_gate", new BlockItem(BOPBlocks.UMBRAN_FENCE_GATE, new Item.Properties())); + UMBRAN_DOOR = register(func, "umbran_door", new BlockItem(BOPBlocks.UMBRAN_DOOR, new Item.Properties())); + UMBRAN_TRAPDOOR = register(func, "umbran_trapdoor", new BlockItem(BOPBlocks.UMBRAN_TRAPDOOR, new Item.Properties())); + UMBRAN_PRESSURE_PLATE = register(func, "umbran_pressure_plate", new BlockItem(BOPBlocks.UMBRAN_PRESSURE_PLATE, new Item.Properties())); + UMBRAN_BUTTON = register(func, "umbran_button", new BlockItem(BOPBlocks.UMBRAN_BUTTON, new Item.Properties())); + HELLBARK_SAPLING = register(func, "hellbark_sapling", new BlockItem(BOPBlocks.HELLBARK_SAPLING, new Item.Properties())); + HELLBARK_LEAVES = register(func, "hellbark_leaves", new BlockItem(BOPBlocks.HELLBARK_LEAVES, new Item.Properties())); + HELLBARK_LOG = register(func, "hellbark_log", new BlockItem(BOPBlocks.HELLBARK_LOG, new Item.Properties())); + HELLBARK_WOOD = register(func, "hellbark_wood", new BlockItem(BOPBlocks.HELLBARK_WOOD, new Item.Properties())); + STRIPPED_HELLBARK_LOG = register(func, "stripped_hellbark_log", new BlockItem(BOPBlocks.STRIPPED_HELLBARK_LOG, new Item.Properties())); + STRIPPED_HELLBARK_WOOD = register(func, "stripped_hellbark_wood", new BlockItem(BOPBlocks.STRIPPED_HELLBARK_WOOD, new Item.Properties())); + HELLBARK_PLANKS = register(func, "hellbark_planks", new BlockItem(BOPBlocks.HELLBARK_PLANKS, new Item.Properties())); + HELLBARK_STAIRS = register(func, "hellbark_stairs", new BlockItem(BOPBlocks.HELLBARK_STAIRS, new Item.Properties())); + HELLBARK_SLAB = register(func, "hellbark_slab", new BlockItem(BOPBlocks.HELLBARK_SLAB, new Item.Properties())); + HELLBARK_FENCE = register(func, "hellbark_fence", new BlockItem(BOPBlocks.HELLBARK_FENCE, new Item.Properties())); + HELLBARK_FENCE_GATE = register(func, "hellbark_fence_gate", new BlockItem(BOPBlocks.HELLBARK_FENCE_GATE, new Item.Properties())); + HELLBARK_DOOR = register(func, "hellbark_door", new BlockItem(BOPBlocks.HELLBARK_DOOR, new Item.Properties())); + HELLBARK_TRAPDOOR = register(func, "hellbark_trapdoor", new BlockItem(BOPBlocks.HELLBARK_TRAPDOOR, new Item.Properties())); + HELLBARK_PRESSURE_PLATE = register(func, "hellbark_pressure_plate", new BlockItem(BOPBlocks.HELLBARK_PRESSURE_PLATE, new Item.Properties())); + HELLBARK_BUTTON = register(func, "hellbark_button", new BlockItem(BOPBlocks.HELLBARK_BUTTON, new Item.Properties())); + ROSE = register(func, "rose", new BlockItem(BOPBlocks.ROSE, new Item.Properties())); + VIOLET = register(func, "violet", new BlockItem(BOPBlocks.VIOLET, new Item.Properties())); + LAVENDER = register(func, "lavender", new BlockItem(BOPBlocks.LAVENDER, new Item.Properties())); + TALL_LAVENDER = register(func, "tall_lavender", new BlockItem(BOPBlocks.TALL_LAVENDER, new Item.Properties())); + BLUE_HYDRANGEA = register(func, "blue_hydrangea", new BlockItem(BOPBlocks.BLUE_HYDRANGEA, new Item.Properties())); + WILDFLOWER = register(func, "wildflower", new BlockItem(BOPBlocks.WILDFLOWER, new Item.Properties())); + GOLDENROD = register(func, "goldenrod", new BlockItem(BOPBlocks.GOLDENROD, new Item.Properties())); + ORANGE_COSMOS = register(func, "orange_cosmos", new BlockItem(BOPBlocks.ORANGE_COSMOS, new Item.Properties())); + PINK_DAFFODIL = register(func, "pink_daffodil", new BlockItem(BOPBlocks.PINK_DAFFODIL, new Item.Properties())); + PINK_HIBISCUS = register(func, "pink_hibiscus", new BlockItem(BOPBlocks.PINK_HIBISCUS, new Item.Properties())); + WHITE_PETALS = register(func, "white_petals", new BlockItem(BOPBlocks.WHITE_PETALS, new Item.Properties())); + ICY_IRIS = register(func, "icy_iris", new BlockItem(BOPBlocks.ICY_IRIS, new Item.Properties())); + GLOWFLOWER = register(func, "glowflower", new BlockItem(BOPBlocks.GLOWFLOWER, new Item.Properties())); + WILTED_LILY = register(func, "wilted_lily", new BlockItem(BOPBlocks.WILTED_LILY, new Item.Properties())); + BURNING_BLOSSOM = register(func, "burning_blossom", new BlockItem(BOPBlocks.BURNING_BLOSSOM, new Item.Properties())); + SPROUT = register(func, "sprout", new BlockItem(BOPBlocks.SPROUT, new Item.Properties())); + BUSH = register(func, "bush", new BlockItem(BOPBlocks.BUSH, new Item.Properties())); + HIGH_GRASS = register(func, "high_grass", new BlockItem(BOPBlocks.HIGH_GRASS, new Item.Properties())); + HIGH_GRASS_PLANT = register(func, "high_grass_plant", new BlockItem(BOPBlocks.HIGH_GRASS_PLANT, new Item.Properties())); + CLOVER = register(func, "clover", new BlockItem(BOPBlocks.CLOVER, new Item.Properties())); + HUGE_CLOVER_PETAL = register(func, "huge_clover_petal", new BlockItem(BOPBlocks.HUGE_CLOVER_PETAL, new Item.Properties())); + HUGE_LILY_PAD = register(func, "huge_lily_pad", new BlockItem(BOPBlocks.HUGE_LILY_PAD, new Item.Properties())); + WATERLILY = register(func, "waterlily", new BlockItem(BOPBlocks.WATERLILY, new Item.Properties())); + DUNE_GRASS = register(func, "dune_grass", new BlockItem(BOPBlocks.DUNE_GRASS, new Item.Properties())); + DESERT_GRASS = register(func, "desert_grass", new BlockItem(BOPBlocks.DESERT_GRASS, new Item.Properties())); + DEAD_GRASS = register(func, "dead_grass", new BlockItem(BOPBlocks.DEAD_GRASS, new Item.Properties())); + TUNDRA_SHRUB = register(func, "tundra_shrub", new BlockItem(BOPBlocks.TUNDRA_SHRUB, new Item.Properties())); + BARLEY = register(func, "barley", new BlockItem(BOPBlocks.BARLEY, new Item.Properties())); + SEA_OATS = register(func, "sea_oats", new BlockItem(BOPBlocks.SEA_OATS, new Item.Properties())); + CATTAIL = register(func, "cattail", new BlockItem(BOPBlocks.CATTAIL, new Item.Properties())); + REED = register(func, "reed", new BlockItem(BOPBlocks.REED, new Item.Properties())); + WATERGRASS = register(func, "watergrass", new BlockItem(BOPBlocks.WATERGRASS, new Item.Properties())); + TINY_CACTUS = register(func, "tiny_cactus", new BlockItem(BOPBlocks.TINY_CACTUS, new Item.Properties())); + BRAMBLE = register(func, "bramble", new BlockItem(BOPBlocks.BRAMBLE, new Item.Properties())); + BRAMBLE_LEAVES = register(func, "bramble_leaves", new BlockItem(BOPBlocks.BRAMBLE_LEAVES, new Item.Properties())); + POTTED_ORIGIN_SAPLING = register(func, "potted_origin_sapling", new BlockItem(BOPBlocks.POTTED_ORIGIN_SAPLING, new Item.Properties())); + POTTED_FLOWERING_OAK_SAPLING = register(func, "potted_flowering_oak_sapling", new BlockItem(BOPBlocks.POTTED_FLOWERING_OAK_SAPLING, new Item.Properties())); + POTTED_SNOWBLOSSOM_SAPLING = register(func, "potted_snowblossom_sapling", new BlockItem(BOPBlocks.POTTED_SNOWBLOSSOM_SAPLING, new Item.Properties())); + POTTED_RAINBOW_BIRCH_SAPLING = register(func, "potted_rainbow_birch_sapling", new BlockItem(BOPBlocks.POTTED_RAINBOW_BIRCH_SAPLING, new Item.Properties())); + POTTED_FIR_SAPLING = register(func, "potted_fir_sapling", new BlockItem(BOPBlocks.POTTED_FIR_SAPLING, new Item.Properties())); + POTTED_PINE_SAPLING = register(func, "potted_pine_sapling", new BlockItem(BOPBlocks.POTTED_PINE_SAPLING, new Item.Properties())); + POTTED_RED_MAPLE_SAPLING = register(func, "potted_red_maple_sapling", new BlockItem(BOPBlocks.POTTED_RED_MAPLE_SAPLING, new Item.Properties())); + POTTED_ORANGE_MAPLE_SAPLING = register(func, "potted_orange_maple_sapling", new BlockItem(BOPBlocks.POTTED_ORANGE_MAPLE_SAPLING, new Item.Properties())); + POTTED_YELLOW_MAPLE_SAPLING = register(func, "potted_yellow_maple_sapling", new BlockItem(BOPBlocks.POTTED_YELLOW_MAPLE_SAPLING, new Item.Properties())); + POTTED_REDWOOD_SAPLING = register(func, "potted_redwood_sapling", new BlockItem(BOPBlocks.POTTED_REDWOOD_SAPLING, new Item.Properties())); + POTTED_MAHOGANY_SAPLING = register(func, "potted_mahogany_sapling", new BlockItem(BOPBlocks.POTTED_MAHOGANY_SAPLING, new Item.Properties())); + POTTED_JACARANDA_SAPLING = register(func, "potted_jacaranda_sapling", new BlockItem(BOPBlocks.POTTED_JACARANDA_SAPLING, new Item.Properties())); + POTTED_PALM_SAPLING = register(func, "potted_palm_sapling", new BlockItem(BOPBlocks.POTTED_PALM_SAPLING, new Item.Properties())); + POTTED_WILLOW_SAPLING = register(func, "potted_willow_sapling", new BlockItem(BOPBlocks.POTTED_WILLOW_SAPLING, new Item.Properties())); + POTTED_DEAD_SAPLING = register(func, "potted_dead_sapling", new BlockItem(BOPBlocks.POTTED_DEAD_SAPLING, new Item.Properties())); + POTTED_MAGIC_SAPLING = register(func, "potted_magic_sapling", new BlockItem(BOPBlocks.POTTED_MAGIC_SAPLING, new Item.Properties())); + POTTED_UMBRAN_SAPLING = register(func, "potted_umbran_sapling", new BlockItem(BOPBlocks.POTTED_UMBRAN_SAPLING, new Item.Properties())); + POTTED_HELLBARK_SAPLING = register(func, "potted_hellbark_sapling", new BlockItem(BOPBlocks.POTTED_HELLBARK_SAPLING, new Item.Properties())); + POTTED_ROSE = register(func, "potted_rose", new BlockItem(BOPBlocks.POTTED_ROSE, new Item.Properties())); + POTTED_VIOLET = register(func, "potted_violet", new BlockItem(BOPBlocks.POTTED_VIOLET, new Item.Properties())); + POTTED_LAVENDER = register(func, "potted_lavender", new BlockItem(BOPBlocks.POTTED_LAVENDER, new Item.Properties())); + POTTED_WILDFLOWER = register(func, "potted_wildflower", new BlockItem(BOPBlocks.POTTED_WILDFLOWER, new Item.Properties())); + POTTED_ORANGE_COSMOS = register(func, "potted_orange_cosmos", new BlockItem(BOPBlocks.POTTED_ORANGE_COSMOS, new Item.Properties())); + POTTED_PINK_DAFFODIL = register(func, "potted_pink_daffodil", new BlockItem(BOPBlocks.POTTED_PINK_DAFFODIL, new Item.Properties())); + POTTED_PINK_HIBISCUS = register(func, "potted_pink_hibiscus", new BlockItem(BOPBlocks.POTTED_PINK_HIBISCUS, new Item.Properties())); + POTTED_GLOWFLOWER = register(func, "potted_glowflower", new BlockItem(BOPBlocks.POTTED_GLOWFLOWER, new Item.Properties())); + POTTED_WILTED_LILY = register(func, "potted_wilted_lily", new BlockItem(BOPBlocks.POTTED_WILTED_LILY, new Item.Properties())); + POTTED_BURNING_BLOSSOM = register(func, "potted_burning_blossom", new BlockItem(BOPBlocks.POTTED_BURNING_BLOSSOM, new Item.Properties())); + POTTED_SPROUT = register(func, "potted_sprout", new BlockItem(BOPBlocks.POTTED_SPROUT, new Item.Properties())); + POTTED_TINY_CACTUS = register(func, "potted_tiny_cactus", new BlockItem(BOPBlocks.POTTED_TINY_CACTUS, new Item.Properties())); + POTTED_TOADSTOOL = register(func, "potted_toadstool", new BlockItem(BOPBlocks.POTTED_TOADSTOOL, new Item.Properties())); + POTTED_GLOWSHROOM = register(func, "potted_glowshroom", new BlockItem(BOPBlocks.POTTED_GLOWSHROOM, new Item.Properties())); + } + + private static Item register(BiConsumer func, Item item, String name) + { + return register(func, name, item); + } + + private static Item register(BiConsumer func, String name, Item item) + { + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), item); + return item; + } +} \ No newline at end of file diff --git a/common/src/main/java/biomesoplenty/init/ModParticles.java b/common/src/main/java/biomesoplenty/init/ModParticles.java new file mode 100644 index 0000000000..278a963247 --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModParticles.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.core.BiomesOPlenty; +import net.minecraft.core.particles.ParticleOptions; +import net.minecraft.core.particles.ParticleType; +import net.minecraft.core.particles.SimpleParticleType; +import net.minecraft.resources.ResourceLocation; + +import java.util.function.BiConsumer; +import java.util.function.Supplier; + +public class ModParticles +{ + public static SimpleParticleType DRIPPING_BLOOD; + public static SimpleParticleType FALLING_BLOOD; + public static SimpleParticleType LANDING_BLOOD; + public static SimpleParticleType PUS; + public static SimpleParticleType GLOWWORM; + public static SimpleParticleType STEAM; + public static SimpleParticleType JACARANDA_LEAVES; + public static SimpleParticleType SNOWBLOSSOM_LEAVES; + public static SimpleParticleType RED_MAPLE_LEAVES; + public static SimpleParticleType ORANGE_MAPLE_LEAVES; + public static SimpleParticleType YELLOW_MAPLE_LEAVES; + + public static void registerParticles(BiConsumer> func) + { + DRIPPING_BLOOD = register(func, "dripping_blood", new SimpleParticleType(false)); + FALLING_BLOOD = register(func, "falling_blood", new SimpleParticleType(false)); + LANDING_BLOOD = register(func, "landing_blood", new SimpleParticleType(false)); + PUS = register(func, "pus", new SimpleParticleType(false)); + GLOWWORM = register(func, "glowworm", new SimpleParticleType(false)); + STEAM = register(func, "steam", new SimpleParticleType(false)); + JACARANDA_LEAVES = register(func, "jacaranda_leaves", new SimpleParticleType(false)); + SNOWBLOSSOM_LEAVES = register(func, "snowblossom_leaves", new SimpleParticleType(false)); + RED_MAPLE_LEAVES = register(func, "red_maple_leaves", new SimpleParticleType(false)); + ORANGE_MAPLE_LEAVES = register(func, "orange_maple_leaves", new SimpleParticleType(false)); + YELLOW_MAPLE_LEAVES = register(func, "yellow_maple_leaves", new SimpleParticleType(false)); + } + + private static > T register(BiConsumer> func, String name, T particle) + { + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), particle); + return particle; + } +} diff --git a/common/src/main/java/biomesoplenty/init/ModSounds.java b/common/src/main/java/biomesoplenty/init/ModSounds.java new file mode 100644 index 0000000000..76c26fbc7a --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModSounds.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.core.BiomesOPlenty; +import net.minecraft.core.Holder; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvent; + +import java.util.function.BiConsumer; + +import static biomesoplenty.api.sound.BOPSounds.*; + +public class ModSounds +{ + public static void registerSounds(BiConsumer func) + { + MUSIC_BIOME_ORIGIN_VALLEY = registerForHolder(func, "music.overworld.origin_valley"); + MUSIC_BIOME_CRYSTALLINE_CHASM = registerForHolder(func, "music.nether.crystalline_chasm"); + MUSIC_BIOME_ERUPTING_INFERNO = registerForHolder(func, "music.nether.erupting_inferno"); + MUSIC_BIOME_UNDERGROWTH = registerForHolder(func, "music.nether.undergrowth"); + MUSIC_BIOME_VISCERAL_HEAP = registerForHolder(func, "music.nether.visceral_heap"); + MUSIC_BIOME_WITHERED_ABYSS = registerForHolder(func, "music.nether.withered_abyss"); + + MUSIC_DISC_WANDERER = register(func, "music_disc.wanderer"); + + FLESH_TENDON_DRIP = register(func, "block.flesh_tendon.drip"); + PUS_BUBBLE_POP = register(func, "block.pus_bubble.pop"); + SPIDER_EGG_BREAK = register(func, "block.spider_egg.break"); + } + + private static Holder registerForHolder(BiConsumer func, String name) + { + ResourceLocation location = new ResourceLocation(BiomesOPlenty.MOD_ID, name); + ResourceKey key = ResourceKey.create(Registries.SOUND_EVENT, location); + + SoundEvent event = SoundEvent.createVariableRangeEvent(location); + func.accept(location, event); + return BuiltInRegistries.SOUND_EVENT.getHolder(key).orElseThrow(); + } + + private static SoundEvent register(BiConsumer func, String name) + { + ResourceLocation location = new ResourceLocation(BiomesOPlenty.MOD_ID, name); + SoundEvent event = SoundEvent.createVariableRangeEvent(location); + func.accept(location, event); + return event; + } +} \ No newline at end of file diff --git a/common/src/main/java/biomesoplenty/init/ModTags.java b/common/src/main/java/biomesoplenty/init/ModTags.java new file mode 100644 index 0000000000..0d8d2b0e41 --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModTags.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.init; + +import biomesoplenty.core.BiomesOPlenty; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.material.Fluid; + +public class ModTags +{ + public static void setup() + { + Blocks.setup(); + Fluids.setup(); + } + + public static class Blocks + { + private static void setup() {} + + public static final TagKey BLACKSTONE_DECORATION_PLACEABLE = create(new ResourceLocation(BiomesOPlenty.MOD_ID, "blackstone_decoration_placeable")); + public static final TagKey BRIMSTONE_DECORATION_PLACEABLE = create(new ResourceLocation(BiomesOPlenty.MOD_ID, "brimstone_decoration_placeable")); + public static final TagKey FLESH = create(new ResourceLocation(BiomesOPlenty.MOD_ID, "flesh")); + public static final TagKey FLESH_DECORATION_PLACEABLE = create(new ResourceLocation(BiomesOPlenty.MOD_ID, "flesh_decoration_placeable")); + + public static TagKey create(ResourceLocation name) + { + return TagKey.create(Registries.BLOCK, name); + } + } + + public static class Fluids + { + private static void setup() {} + + public static final TagKey BLOOD = create(new ResourceLocation(BiomesOPlenty.MOD_ID, "blood")); + + public static TagKey create(final ResourceLocation name) + { + return TagKey.create(Registries.FLUID, name); + } + } +} diff --git a/common/src/main/java/biomesoplenty/init/ModVillagerTrades.java b/common/src/main/java/biomesoplenty/init/ModVillagerTrades.java new file mode 100644 index 0000000000..ce75eadc52 --- /dev/null +++ b/common/src/main/java/biomesoplenty/init/ModVillagerTrades.java @@ -0,0 +1,163 @@ +package biomesoplenty.init; + +import biomesoplenty.api.block.BOPBlocks; +import com.google.common.collect.ImmutableMap; +import glitchcore.event.village.WandererTradesEvent; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; +import net.minecraft.util.RandomSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.npc.VillagerTrades; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.trading.MerchantOffer; +import net.minecraft.world.level.ItemLike; +import net.minecraft.world.level.block.Block; + +public class ModVillagerTrades +{ + public static void addWanderingVillagerTrades(WandererTradesEvent event) + { + //Cost, Amount, Trades Until Disabled, Villager XP + VillagerTrades.ItemListing[] WANDERING_TRADER_GENERIC = new VillagerTrades.ItemListing[]{ + new ItemsForEmeralds(BOPBlocks.FLOWERING_OAK_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.SNOWBLOSSOM_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.FIR_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.PINE_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.RED_MAPLE_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.ORANGE_MAPLE_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.YELLOW_MAPLE_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.REDWOOD_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.MAHOGANY_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.JACARANDA_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.PALM_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.WILLOW_SAPLING, 5, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.DEAD_SAPLING, 5, 1, 8, 1), + + new ItemsForEmeralds(BOPBlocks.VIOLET, 1, 1, 12, 1), + new ItemsForEmeralds(BOPBlocks.LAVENDER, 1, 1, 12, 1), + new ItemsForEmeralds(BOPBlocks.WILDFLOWER, 1, 1, 12, 1), + new ItemsForEmeralds(BOPBlocks.ORANGE_COSMOS, 1, 1, 12, 1), + new ItemsForEmeralds(BOPBlocks.PINK_DAFFODIL, 1, 1, 12, 1), + new ItemsForEmeralds(BOPBlocks.PINK_HIBISCUS, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.WATERLILY, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.WILTED_LILY, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.TALL_LAVENDER, 2, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.BLUE_HYDRANGEA, 2, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.GOLDENROD, 2, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.CLOVER, 1, 1, 12, 1), + new ItemsForEmeralds(BOPBlocks.TOADSTOOL, 1, 1, 12, 1), + new ItemsForEmeralds(BOPBlocks.GLOWSHROOM, 2, 1, 6, 1), + new ItemsForEmeralds(BOPBlocks.GLOWING_MOSS_BLOCK, 2, 2, 5, 1), + new ItemsForEmeralds(BOPBlocks.WILLOW_VINE, 1, 1, 12, 1), + new ItemsForEmeralds(BOPBlocks.SPANISH_MOSS, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.HANGING_COBWEB, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.HIGH_GRASS, 1, 1, 12, 1), + new ItemsForEmeralds(BOPBlocks.DUNE_GRASS, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.DESERT_GRASS, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.DEAD_GRASS, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.TUNDRA_SHRUB, 1, 1, 8, 1), + + new ItemsForEmeralds(BOPBlocks.HUGE_CLOVER_PETAL, 1, 1, 4, 1), + new ItemsForEmeralds(BOPBlocks.HUGE_LILY_PAD, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.CATTAIL, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.SEA_OATS, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.REED, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.WATERGRASS, 1, 1, 8, 1), + new ItemsForEmeralds(BOPBlocks.TINY_CACTUS, 1, 1, 8, 1), + + new ItemsForEmeralds(BOPBlocks.WHITE_SAND, 1, 4, 6, 1), + new ItemsForEmeralds(BOPBlocks.ORANGE_SAND, 1, 4, 6, 1), + new ItemsForEmeralds(BOPBlocks.BLACK_SAND, 1, 4, 6, 1), + new ItemsForEmeralds(BOPBlocks.DRIED_SALT, 1, 6, 8, 1), + new ItemsForEmeralds(BOPBlocks.THERMAL_CALCITE, 1, 6, 8, 1) + }; + + VillagerTrades.ItemListing[] WANDERING_TRADER_RARE = new VillagerTrades.ItemListing[]{ + new ItemsForEmeralds(BOPBlocks.ORIGIN_SAPLING, 5, 1, 4, 1), + new ItemsForEmeralds(BOPBlocks.RAINBOW_BIRCH_SAPLING, 5, 1, 4, 1), + new ItemsForEmeralds(BOPBlocks.MAGIC_SAPLING, 5, 1, 4, 1), + new ItemsForEmeralds(BOPBlocks.UMBRAN_SAPLING, 5, 1, 4, 1), + new ItemsForEmeralds(BOPBlocks.HELLBARK_SAPLING, 5, 1, 4, 1), + new ItemsForEmeralds(BOPBlocks.ORIGIN_GRASS_BLOCK, 2, 1, 4, 1), + new ItemsForEmeralds(BOPBlocks.ROSE, 1, 1, 6, 1), + new ItemsForEmeralds(BOPBlocks.GLOWFLOWER, 1, 2, 5, 1), + new ItemsForEmeralds(BOPBlocks.BURNING_BLOSSOM, 1, 1, 6, 1), + new ItemsForEmeralds(BOPBlocks.ICY_IRIS, 2, 1, 4, 1), + new ItemsForEmeralds(BOPBlocks.GLOWWORM_SILK, 6, 1, 2, 1), + new ItemsForEmeralds(BOPBlocks.SPIDER_EGG, 6, 1, 1, 1)}; + + for (VillagerTrades.ItemListing trade : WANDERING_TRADER_GENERIC) + { + event.addGenericTrade(trade); + } + for (VillagerTrades.ItemListing trade : WANDERING_TRADER_RARE) + { + event.addRareTrade(trade); + } + } + + static class EmeraldForItems implements VillagerTrades.ItemListing { + private final Item item; + private final int cost; + private final int maxUses; + private final int villagerXp; + private final float priceMultiplier; + + public EmeraldForItems(ItemLike p_35657_, int p_35658_, int p_35659_, int p_35660_) { + this.item = p_35657_.asItem(); + this.cost = p_35658_; + this.maxUses = p_35659_; + this.villagerXp = p_35660_; + this.priceMultiplier = 0.05F; + } + + public MerchantOffer getOffer(Entity p_219682_, RandomSource p_219683_) { + ItemStack itemstack = new ItemStack(this.item, this.cost); + return new MerchantOffer(itemstack, new ItemStack(Items.EMERALD), this.maxUses, this.villagerXp, this.priceMultiplier); + } + } + + static class ItemsForEmeralds implements VillagerTrades.ItemListing { + private final ItemStack itemStack; + private final int emeraldCost; + private final int numberOfItems; + private final int maxUses; + private final int villagerXp; + private final float priceMultiplier; + + public ItemsForEmeralds(Block p_35765_, int p_35766_, int p_35767_, int p_35768_, int p_35769_) { + this(new ItemStack(p_35765_), p_35766_, p_35767_, p_35768_, p_35769_); + } + + public ItemsForEmeralds(Item p_35741_, int p_35742_, int p_35743_, int p_35744_) { + this(new ItemStack(p_35741_), p_35742_, p_35743_, 12, p_35744_); + } + + public ItemsForEmeralds(Item p_35746_, int p_35747_, int p_35748_, int p_35749_, int p_35750_) { + this(new ItemStack(p_35746_), p_35747_, p_35748_, p_35749_, p_35750_); + } + + public ItemsForEmeralds(ItemStack p_35752_, int p_35753_, int p_35754_, int p_35755_, int p_35756_) { + this(p_35752_, p_35753_, p_35754_, p_35755_, p_35756_, 0.05F); + } + + public ItemsForEmeralds(ItemStack p_35758_, int p_35759_, int p_35760_, int p_35761_, int p_35762_, float p_35763_) { + this.itemStack = p_35758_; + this.emeraldCost = p_35759_; + this.numberOfItems = p_35760_; + this.maxUses = p_35761_; + this.villagerXp = p_35762_; + this.priceMultiplier = p_35763_; + } + + public MerchantOffer getOffer(Entity p_219699_, RandomSource p_219700_) { + return new MerchantOffer(new ItemStack(Items.EMERALD, this.emeraldCost), new ItemStack(this.itemStack.getItem(), this.numberOfItems), this.maxUses, this.villagerXp, this.priceMultiplier); + } + } + + private static Int2ObjectMap toIntMap(ImmutableMap p_35631_) { + return new Int2ObjectOpenHashMap<>(p_35631_); + } +} \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/common/item/BoatDispenseItemBehaviourBOP.java b/common/src/main/java/biomesoplenty/item/BoatDispenseItemBehaviourBOP.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/item/BoatDispenseItemBehaviourBOP.java rename to common/src/main/java/biomesoplenty/item/BoatDispenseItemBehaviourBOP.java index e72549e5e3..fba0481c1f 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/item/BoatDispenseItemBehaviourBOP.java +++ b/common/src/main/java/biomesoplenty/item/BoatDispenseItemBehaviourBOP.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.item; +package biomesoplenty.item; -import biomesoplenty.forge.common.entity.BoatBOP; -import biomesoplenty.forge.common.entity.ChestBoatBOP; +import biomesoplenty.entity.BoatBOP; +import biomesoplenty.entity.ChestBoatBOP; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.dispenser.BlockSource; diff --git a/forge/src/main/java/biomesoplenty/forge/common/item/BoatItemBOP.java b/common/src/main/java/biomesoplenty/item/BoatItemBOP.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/item/BoatItemBOP.java rename to common/src/main/java/biomesoplenty/item/BoatItemBOP.java index 5a41ad01bd..cef0120a36 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/item/BoatItemBOP.java +++ b/common/src/main/java/biomesoplenty/item/BoatItemBOP.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.item; +package biomesoplenty.item; -import biomesoplenty.forge.common.entity.BoatBOP; -import biomesoplenty.forge.common.entity.ChestBoatBOP; +import biomesoplenty.entity.BoatBOP; +import biomesoplenty.entity.ChestBoatBOP; import net.minecraft.stats.Stats; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; diff --git a/forge/src/main/java/biomesoplenty/forge/common/item/MusicDiscItemBOP.java b/common/src/main/java/biomesoplenty/item/MusicDiscItemBOP.java similarity index 70% rename from forge/src/main/java/biomesoplenty/forge/common/item/MusicDiscItemBOP.java rename to common/src/main/java/biomesoplenty/item/MusicDiscItemBOP.java index 85d92c86e1..174152fdc1 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/item/MusicDiscItemBOP.java +++ b/common/src/main/java/biomesoplenty/item/MusicDiscItemBOP.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.item; +package biomesoplenty.item; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.item.Item; @@ -13,8 +13,8 @@ public class MusicDiscItemBOP extends RecordItem { - public MusicDiscItemBOP(Supplier soundSupplier) + public MusicDiscItemBOP(SoundEvent soundEvent) { - super(0, soundSupplier, new Item.Properties().rarity(Rarity.RARE).stacksTo(1), 289*20); + super(0, soundEvent, new Item.Properties().rarity(Rarity.RARE).stacksTo(1), 289*20); } } \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/client/particle/DripParticleBOP.java b/common/src/main/java/biomesoplenty/particle/DripParticleBOP.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/client/particle/DripParticleBOP.java rename to common/src/main/java/biomesoplenty/particle/DripParticleBOP.java index ef2864fcf9..170be8fa7a 100644 --- a/forge/src/main/java/biomesoplenty/forge/client/particle/DripParticleBOP.java +++ b/common/src/main/java/biomesoplenty/particle/DripParticleBOP.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.client.particle; +package biomesoplenty.particle; -import biomesoplenty.forge.api.sound.BOPSounds; -import biomesoplenty.forge.init.ModParticles; +import biomesoplenty.api.sound.BOPSounds; +import biomesoplenty.init.ModParticles; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.core.BlockPos; @@ -16,10 +16,7 @@ import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -@OnlyIn(Dist.CLIENT) public class DripParticleBOP extends TextureSheetParticle { private final Fluid type; @@ -84,7 +81,6 @@ protected void preMoveUpdate() protected void postMoveUpdate() {} - @OnlyIn(Dist.CLIENT) static class DripHangParticle extends DripParticleBOP { private final ParticleOptions fallingParticle; @@ -110,7 +106,6 @@ protected void postMoveUpdate() { } } - @OnlyIn(Dist.CLIENT) static class DripLandParticle extends DripParticleBOP { DripLandParticle(ClientLevel p_106102_, double p_106103_, double p_106104_, double p_106105_, Fluid p_106106_) @@ -120,7 +115,6 @@ static class DripLandParticle extends DripParticleBOP } } - @OnlyIn(Dist.CLIENT) static class FallAndLandParticle extends DripParticleBOP.FallingParticle { protected final ParticleOptions landParticle; @@ -142,7 +136,6 @@ protected void postMoveUpdate() } } - @OnlyIn(Dist.CLIENT) static class FallingParticle extends DripParticleBOP { FallingParticle(ClientLevel p_106132_, double p_106133_, double p_106134_, double p_106135_, Fluid p_106136_) @@ -166,7 +159,6 @@ protected void postMoveUpdate() } } - @OnlyIn(Dist.CLIENT) static class BloodFallAndLandParticle extends DripParticleBOP.FallAndLandParticle { BloodFallAndLandParticle(ClientLevel p_106146_, double p_106147_, double p_106148_, double p_106149_, Fluid p_106150_, ParticleOptions p_106151_) { @@ -178,12 +170,11 @@ protected void postMoveUpdate() { this.remove(); this.level.addParticle(this.landParticle, this.x, this.y, this.z, 0.0D, 0.0D, 0.0D); float f = Mth.randomBetween(this.random, 0.3F, 1.0F); - this.level.playLocalSound(this.x, this.y, this.z, BOPSounds.FLESH_TENDON_DRIP.get(), SoundSource.BLOCKS, f, 1.0F, false); + this.level.playLocalSound(this.x, this.y, this.z, BOPSounds.FLESH_TENDON_DRIP, SoundSource.BLOCKS, f, 1.0F, false); } } } - @OnlyIn(Dist.CLIENT) public static class BloodFallProvider implements ParticleProvider { protected final SpriteSet sprite; @@ -193,7 +184,7 @@ public BloodFallProvider(SpriteSet p_106163_) { public Particle createParticle(SimpleParticleType p_106174_, ClientLevel p_106175_, double p_106176_, double p_106177_, double p_106178_, double p_106179_, double p_106180_, double p_106181_) { - DripParticleBOP dripparticle = new DripParticleBOP.BloodFallAndLandParticle(p_106175_, p_106176_, p_106177_, p_106178_, Fluids.EMPTY, ModParticles.LANDING_BLOOD.get()); + DripParticleBOP dripparticle = new DripParticleBOP.BloodFallAndLandParticle(p_106175_, p_106176_, p_106177_, p_106178_, Fluids.EMPTY, ModParticles.LANDING_BLOOD); dripparticle.gravity = 0.01F; dripparticle.setColor(0.443F, 0.141F, 0.149F); dripparticle.pickSprite(this.sprite); @@ -201,7 +192,6 @@ public Particle createParticle(SimpleParticleType p_106174_, ClientLevel p_10617 } } - @OnlyIn(Dist.CLIENT) public static class BloodHangProvider implements ParticleProvider { protected final SpriteSet sprite; @@ -213,7 +203,7 @@ public BloodHangProvider(SpriteSet p_106184_) public TextureSheetParticle createParticle(SimpleParticleType p_106195_, ClientLevel p_106196_, double p_106197_, double p_106198_, double p_106199_, double p_106200_, double p_106201_, double p_106202_) { - DripParticleBOP.DripHangParticle dripparticle$driphangparticle = new DripParticleBOP.DripHangParticle(p_106196_, p_106197_, p_106198_, p_106199_, Fluids.EMPTY, ModParticles.FALLING_BLOOD.get()); + DripParticleBOP.DripHangParticle dripparticle$driphangparticle = new DripParticleBOP.DripHangParticle(p_106196_, p_106197_, p_106198_, p_106199_, Fluids.EMPTY, ModParticles.FALLING_BLOOD); dripparticle$driphangparticle.gravity *= 0.01F; dripparticle$driphangparticle.lifetime = 100; dripparticle$driphangparticle.setColor(0.443F, 0.141F, 0.149F); @@ -222,7 +212,6 @@ public TextureSheetParticle createParticle(SimpleParticleType p_106195_, ClientL } } - @OnlyIn(Dist.CLIENT) public static class BloodLandProvider implements ParticleProvider { protected final SpriteSet sprite; diff --git a/forge/src/main/java/biomesoplenty/forge/client/particle/GlowwormParticle.java b/common/src/main/java/biomesoplenty/particle/GlowwormParticle.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/client/particle/GlowwormParticle.java rename to common/src/main/java/biomesoplenty/particle/GlowwormParticle.java index 4394ee4abf..9587045c01 100644 --- a/forge/src/main/java/biomesoplenty/forge/client/particle/GlowwormParticle.java +++ b/common/src/main/java/biomesoplenty/particle/GlowwormParticle.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.client.particle; +package biomesoplenty.particle; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; @@ -11,10 +11,7 @@ import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -@OnlyIn(Dist.CLIENT) public class GlowwormParticle extends TextureSheetParticle { private final Fluid type; @@ -81,7 +78,6 @@ protected void preMoveUpdate() protected void postMoveUpdate() {} - @OnlyIn(Dist.CLIENT) static class FallingParticle extends GlowwormParticle { FallingParticle(ClientLevel p_106132_, double p_106133_, double p_106134_, double p_106135_, Fluid p_106136_) @@ -104,7 +100,6 @@ protected void postMoveUpdate() } } - @OnlyIn(Dist.CLIENT) public static class Provider implements ParticleProvider { protected final SpriteSet sprite; diff --git a/forge/src/main/java/biomesoplenty/forge/client/particle/LargeLeafParticle.java b/common/src/main/java/biomesoplenty/particle/LargeLeafParticle.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/client/particle/LargeLeafParticle.java rename to common/src/main/java/biomesoplenty/particle/LargeLeafParticle.java index 0bc25df331..68ca7b4499 100644 --- a/forge/src/main/java/biomesoplenty/forge/client/particle/LargeLeafParticle.java +++ b/common/src/main/java/biomesoplenty/particle/LargeLeafParticle.java @@ -1,13 +1,10 @@ -package biomesoplenty.forge.client.particle; +package biomesoplenty.particle; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.ParticleRenderType; import net.minecraft.client.particle.SpriteSet; import net.minecraft.client.particle.TextureSheetParticle; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -@OnlyIn(Dist.CLIENT) public class LargeLeafParticle extends TextureSheetParticle { private static final float ACCELERATION_SCALE = 0.0025F; private static final int INITIAL_LIFETIME = 300; diff --git a/forge/src/main/java/biomesoplenty/forge/client/particle/LeafParticle.java b/common/src/main/java/biomesoplenty/particle/LeafParticle.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/client/particle/LeafParticle.java rename to common/src/main/java/biomesoplenty/particle/LeafParticle.java index 21f7759d6f..237aaba6e4 100644 --- a/forge/src/main/java/biomesoplenty/forge/client/particle/LeafParticle.java +++ b/common/src/main/java/biomesoplenty/particle/LeafParticle.java @@ -1,13 +1,10 @@ -package biomesoplenty.forge.client.particle; +package biomesoplenty.particle; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.ParticleRenderType; import net.minecraft.client.particle.SpriteSet; import net.minecraft.client.particle.TextureSheetParticle; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -@OnlyIn(Dist.CLIENT) public class LeafParticle extends TextureSheetParticle { private static final float ACCELERATION_SCALE = 0.0025F; private static final int INITIAL_LIFETIME = 300; diff --git a/forge/src/main/java/biomesoplenty/forge/client/particle/PusParticle.java b/common/src/main/java/biomesoplenty/particle/PusParticle.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/client/particle/PusParticle.java rename to common/src/main/java/biomesoplenty/particle/PusParticle.java index ec1f135976..bd4003ebbe 100644 --- a/forge/src/main/java/biomesoplenty/forge/client/particle/PusParticle.java +++ b/common/src/main/java/biomesoplenty/particle/PusParticle.java @@ -2,15 +2,12 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.client.particle; +package biomesoplenty.particle; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.core.particles.SimpleParticleType; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -@OnlyIn(Dist.CLIENT) public class PusParticle extends TextureSheetParticle { PusParticle(ClientLevel p_107074_, double p_107075_, double p_107076_, double p_107077_) @@ -43,7 +40,6 @@ public float getQuadSize(float p_107089_) return this.quadSize * (1.0F - f * f); } - @OnlyIn(Dist.CLIENT) public static class Provider implements ParticleProvider { private final SpriteSet sprite; diff --git a/forge/src/main/java/biomesoplenty/forge/client/particle/SteamParticle.java b/common/src/main/java/biomesoplenty/particle/SteamParticle.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/client/particle/SteamParticle.java rename to common/src/main/java/biomesoplenty/particle/SteamParticle.java index 60777602ed..89631d315e 100644 --- a/forge/src/main/java/biomesoplenty/forge/client/particle/SteamParticle.java +++ b/common/src/main/java/biomesoplenty/particle/SteamParticle.java @@ -2,15 +2,12 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.client.particle; +package biomesoplenty.particle; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.core.particles.SimpleParticleType; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -@OnlyIn(Dist.CLIENT) public class SteamParticle extends TextureSheetParticle { SteamParticle(ClientLevel p_105856_, double p_105857_, double p_105858_, double p_105859_, double p_105860_, double p_105861_, double p_105862_) @@ -54,7 +51,6 @@ public ParticleRenderType getRenderType() { return ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT; } - @OnlyIn(Dist.CLIENT) public static class Provider implements ParticleProvider { private final SpriteSet sprites; diff --git a/forge/src/main/java/biomesoplenty/forge/common/util/SimpleBlockPredicate.java b/common/src/main/java/biomesoplenty/util/SimpleBlockPredicate.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/util/SimpleBlockPredicate.java rename to common/src/main/java/biomesoplenty/util/SimpleBlockPredicate.java index ff25988d13..c4e6cd85da 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/util/SimpleBlockPredicate.java +++ b/common/src/main/java/biomesoplenty/util/SimpleBlockPredicate.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.util; +package biomesoplenty.util; import net.minecraft.core.BlockPos; import net.minecraft.world.level.WorldGenLevel; diff --git a/forge/src/main/java/biomesoplenty/forge/common/util/biome/BiomeUtil.java b/common/src/main/java/biomesoplenty/util/biome/BiomeUtil.java similarity index 80% rename from forge/src/main/java/biomesoplenty/forge/common/util/biome/BiomeUtil.java rename to common/src/main/java/biomesoplenty/util/biome/BiomeUtil.java index 01235cd77c..6d81b76eb9 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/util/biome/BiomeUtil.java +++ b/common/src/main/java/biomesoplenty/util/biome/BiomeUtil.java @@ -2,15 +2,13 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.util.biome; +package biomesoplenty.util.biome; -import biomesoplenty.forge.init.ModConfig; +import biomesoplenty.init.ModConfig; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; import net.minecraft.world.level.biome.Biome; -import net.minecraftforge.fml.common.Mod; -@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE) public class BiomeUtil { public static ResourceKey biomeOrFallback(Registry biomeRegistry, ResourceKey... biomes) diff --git a/forge/src/main/java/biomesoplenty/forge/common/util/biome/GeneratorUtil.java b/common/src/main/java/biomesoplenty/util/biome/GeneratorUtil.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/util/biome/GeneratorUtil.java rename to common/src/main/java/biomesoplenty/util/biome/GeneratorUtil.java index e045b366a8..e567151aa1 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/util/biome/GeneratorUtil.java +++ b/common/src/main/java/biomesoplenty/util/biome/GeneratorUtil.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.util.biome; +package biomesoplenty.util.biome; import net.minecraft.util.RandomSource; diff --git a/forge/src/main/java/biomesoplenty/forge/common/util/biome/RoseQuartzUtils.java b/common/src/main/java/biomesoplenty/util/biome/RoseQuartzUtils.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/util/biome/RoseQuartzUtils.java rename to common/src/main/java/biomesoplenty/util/biome/RoseQuartzUtils.java index e325a3c649..8e6da3e3e7 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/util/biome/RoseQuartzUtils.java +++ b/common/src/main/java/biomesoplenty/util/biome/RoseQuartzUtils.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.util.biome; +package biomesoplenty.util.biome; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.Mth; @@ -102,7 +102,7 @@ public static boolean placeRoseQuartzBlockIfPossible(WorldGenLevel p_159637_, Bl BlockState blockstate = p_159637_.getBlockState(p_159638_); if (blockstate.is(Blocks.NETHERRACK)) { - p_159637_.setBlock(p_159638_, BOPBlocks.ROSE_QUARTZ_BLOCK.get().defaultBlockState(), 2); + p_159637_.setBlock(p_159638_, BOPBlocks.ROSE_QUARTZ_BLOCK.defaultBlockState(), 2); return true; } else @@ -123,7 +123,7 @@ public static boolean isRoseQuartzBaseOrLava(BlockState p_159650_) public static boolean isRoseQuartzBase(BlockState p_159663_) { - return p_159663_.is(BOPBlocks.ROSE_QUARTZ_BLOCK.get()) || p_159663_.is(Blocks.NETHERRACK); + return p_159663_.is(BOPBlocks.ROSE_QUARTZ_BLOCK) || p_159663_.is(Blocks.NETHERRACK); } public static boolean isEmptyOrWater(BlockState p_159665_) diff --git a/forge/src/main/java/biomesoplenty/forge/common/util/config/JsonUtil.java b/common/src/main/java/biomesoplenty/util/config/JsonUtil.java similarity index 79% rename from forge/src/main/java/biomesoplenty/forge/common/util/config/JsonUtil.java rename to common/src/main/java/biomesoplenty/util/config/JsonUtil.java index 70974bfb01..58b93ae9a4 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/util/config/JsonUtil.java +++ b/common/src/main/java/biomesoplenty/util/config/JsonUtil.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.util.config; +package biomesoplenty.util.config; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.core.BiomesOPlenty; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.apache.commons.io.FileUtils; @@ -32,7 +32,7 @@ public static T getOrCreateConfigFile(File configDir, String configName, T d } catch (Exception e) { - BiomesOPlentyForge.LOGGER.error("Error parsing config from json: " + configFile.toString(), e); + BiomesOPlenty.LOGGER.error("Error parsing config from json: " + configFile.toString(), e); } return null; @@ -47,7 +47,7 @@ public static boolean writeFile(File outputFile, Object obj) } catch (Exception e) { - BiomesOPlentyForge.LOGGER.error("Error writing config file " + outputFile.getAbsolutePath() + ": " + e.getMessage()); + BiomesOPlenty.LOGGER.error("Error writing config file " + outputFile.getAbsolutePath() + ": " + e.getMessage()); return false; } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/util/worldgen/BOPFeatureUtils.java b/common/src/main/java/biomesoplenty/util/worldgen/BOPFeatureUtils.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/util/worldgen/BOPFeatureUtils.java rename to common/src/main/java/biomesoplenty/util/worldgen/BOPFeatureUtils.java index 9778a64638..04d2f41a49 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/util/worldgen/BOPFeatureUtils.java +++ b/common/src/main/java/biomesoplenty/util/worldgen/BOPFeatureUtils.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.util.worldgen; +package biomesoplenty.util.worldgen; -import biomesoplenty.forge.common.worldgen.feature.*; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.worldgen.feature.*; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstapContext; import net.minecraft.resources.ResourceKey; @@ -25,6 +25,6 @@ public static void bootstrap(BootstapContext> context) public static ResourceKey> createKey(String name) { - return ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(BiomesOPlentyForge.MOD_ID, name)); + return ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(BiomesOPlenty.MOD_ID, name)); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/util/worldgen/BOPPlacementUtils.java b/common/src/main/java/biomesoplenty/util/worldgen/BOPPlacementUtils.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/util/worldgen/BOPPlacementUtils.java rename to common/src/main/java/biomesoplenty/util/worldgen/BOPPlacementUtils.java index f444183f7a..9b09236950 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/util/worldgen/BOPPlacementUtils.java +++ b/common/src/main/java/biomesoplenty/util/worldgen/BOPPlacementUtils.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.util.worldgen; +package biomesoplenty.util.worldgen; -import biomesoplenty.forge.common.worldgen.placement.*; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.worldgen.placement.*; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstapContext; import net.minecraft.resources.ResourceKey; @@ -25,6 +25,6 @@ public static void bootstrap(BootstapContext context) public static ResourceKey createKey(String name) { - return ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(BiomesOPlentyForge.MOD_ID, name)); + return ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(BiomesOPlenty.MOD_ID, name)); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPNetherRegionCommon.java b/common/src/main/java/biomesoplenty/worldgen/BOPNetherRegionCommon.java similarity index 90% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPNetherRegionCommon.java rename to common/src/main/java/biomesoplenty/worldgen/BOPNetherRegionCommon.java index 11de3b5546..21407a44ee 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPNetherRegionCommon.java +++ b/common/src/main/java/biomesoplenty/worldgen/BOPNetherRegionCommon.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen; +package biomesoplenty.worldgen; -import biomesoplenty.forge.api.biome.BOPBiomes; -import biomesoplenty.forge.common.util.biome.BiomeUtil; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.util.biome.BiomeUtil; import com.mojang.datafixers.util.Pair; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; @@ -21,7 +21,7 @@ public class BOPNetherRegionCommon extends Region { - public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlentyForge.MOD_ID, "nether_common"); + public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlenty.MOD_ID, "nether_common"); public BOPNetherRegionCommon(int weight) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPNetherRegionRare.java b/common/src/main/java/biomesoplenty/worldgen/BOPNetherRegionRare.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPNetherRegionRare.java rename to common/src/main/java/biomesoplenty/worldgen/BOPNetherRegionRare.java index 49c33c247b..2c9dda362a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPNetherRegionRare.java +++ b/common/src/main/java/biomesoplenty/worldgen/BOPNetherRegionRare.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen; +package biomesoplenty.worldgen; -import biomesoplenty.forge.api.biome.BOPBiomes; -import biomesoplenty.forge.common.util.biome.BiomeUtil; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.util.biome.BiomeUtil; import com.mojang.datafixers.util.Pair; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; @@ -21,7 +21,7 @@ public class BOPNetherRegionRare extends Region { - public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlentyForge.MOD_ID, "nether_rare"); + public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlenty.MOD_ID, "nether_rare"); public BOPNetherRegionRare(int weight) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPOverworldRegionPrimary.java b/common/src/main/java/biomesoplenty/worldgen/BOPOverworldRegionPrimary.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPOverworldRegionPrimary.java rename to common/src/main/java/biomesoplenty/worldgen/BOPOverworldRegionPrimary.java index 694b40d7a9..2a6b2431ae 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPOverworldRegionPrimary.java +++ b/common/src/main/java/biomesoplenty/worldgen/BOPOverworldRegionPrimary.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen; +package biomesoplenty.worldgen; -import biomesoplenty.forge.common.biome.BOPOverworldBiomeBuilder; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.biome.BOPOverworldBiomeBuilder; +import biomesoplenty.core.BiomesOPlenty; import com.mojang.datafixers.util.Pair; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; @@ -19,7 +19,7 @@ public class BOPOverworldRegionPrimary extends Region { - public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlentyForge.MOD_ID, "overworld_primary"); + public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlenty.MOD_ID, "overworld_primary"); public BOPOverworldRegionPrimary(int weight) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPOverworldRegionRare.java b/common/src/main/java/biomesoplenty/worldgen/BOPOverworldRegionRare.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPOverworldRegionRare.java rename to common/src/main/java/biomesoplenty/worldgen/BOPOverworldRegionRare.java index a6d7e2d50c..b3a0ecc6e0 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPOverworldRegionRare.java +++ b/common/src/main/java/biomesoplenty/worldgen/BOPOverworldRegionRare.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen; +package biomesoplenty.worldgen; -import biomesoplenty.forge.common.biome.BOPRareOverworldBiomeBuilder; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.biome.BOPRareOverworldBiomeBuilder; +import biomesoplenty.core.BiomesOPlenty; import com.mojang.datafixers.util.Pair; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; @@ -19,7 +19,7 @@ public class BOPOverworldRegionRare extends Region { - public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlentyForge.MOD_ID, "overworld_rare"); + public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlenty.MOD_ID, "overworld_rare"); public BOPOverworldRegionRare(int weight) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPOverworldRegionSecondary.java b/common/src/main/java/biomesoplenty/worldgen/BOPOverworldRegionSecondary.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPOverworldRegionSecondary.java rename to common/src/main/java/biomesoplenty/worldgen/BOPOverworldRegionSecondary.java index f639941a6c..57dbb398b8 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPOverworldRegionSecondary.java +++ b/common/src/main/java/biomesoplenty/worldgen/BOPOverworldRegionSecondary.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen; +package biomesoplenty.worldgen; -import biomesoplenty.forge.common.biome.BOPSecondaryOverworldBiomeBuilder; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.biome.BOPSecondaryOverworldBiomeBuilder; +import biomesoplenty.core.BiomesOPlenty; import com.mojang.datafixers.util.Pair; import net.minecraft.core.Registry; import net.minecraft.resources.ResourceKey; @@ -19,7 +19,7 @@ public class BOPOverworldRegionSecondary extends Region { - public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlentyForge.MOD_ID, "overworld_secondary"); + public static final ResourceLocation LOCATION = new ResourceLocation(BiomesOPlenty.MOD_ID, "overworld_secondary"); public BOPOverworldRegionSecondary(int weight) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPSurfaceRuleData.java b/common/src/main/java/biomesoplenty/worldgen/BOPSurfaceRuleData.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPSurfaceRuleData.java rename to common/src/main/java/biomesoplenty/worldgen/BOPSurfaceRuleData.java index b4bed10f2d..563fdae31a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/BOPSurfaceRuleData.java +++ b/common/src/main/java/biomesoplenty/worldgen/BOPSurfaceRuleData.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen; +package biomesoplenty.worldgen; -import biomesoplenty.forge.api.biome.BOPBiomes; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.api.block.BOPBlocks; import com.google.common.collect.ImmutableList; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -44,14 +44,14 @@ public class BOPSurfaceRuleData private static final SurfaceRules.RuleSource BLACKSTONE = makeStateRule(Blocks.BLACKSTONE); // BOP - private static final SurfaceRules.RuleSource DRIED_SALT = makeStateRule(BOPBlocks.DRIED_SALT.get()); - private static final SurfaceRules.RuleSource ORANGE_SAND = makeStateRule(BOPBlocks.ORANGE_SAND.get()); - private static final SurfaceRules.RuleSource ORANGE_SANDSTONE = makeStateRule(BOPBlocks.ORANGE_SANDSTONE.get()); - private static final SurfaceRules.RuleSource BLACK_SAND = makeStateRule(BOPBlocks.BLACK_SAND.get()); - private static final SurfaceRules.RuleSource BLACK_SANDSTONE = makeStateRule(BOPBlocks.BLACK_SANDSTONE.get()); - private static final SurfaceRules.RuleSource ORIGIN_GRASS = makeStateRule(BOPBlocks.ORIGIN_GRASS_BLOCK.get()); - private static final SurfaceRules.RuleSource FLESH = makeStateRule(BOPBlocks.FLESH.get()); - private static final SurfaceRules.RuleSource BRIMSTONE = makeStateRule(BOPBlocks.BRIMSTONE.get()); + private static final SurfaceRules.RuleSource DRIED_SALT = makeStateRule(BOPBlocks.DRIED_SALT); + private static final SurfaceRules.RuleSource ORANGE_SAND = makeStateRule(BOPBlocks.ORANGE_SAND); + private static final SurfaceRules.RuleSource ORANGE_SANDSTONE = makeStateRule(BOPBlocks.ORANGE_SANDSTONE); + private static final SurfaceRules.RuleSource BLACK_SAND = makeStateRule(BOPBlocks.BLACK_SAND); + private static final SurfaceRules.RuleSource BLACK_SANDSTONE = makeStateRule(BOPBlocks.BLACK_SANDSTONE); + private static final SurfaceRules.RuleSource ORIGIN_GRASS = makeStateRule(BOPBlocks.ORIGIN_GRASS_BLOCK); + private static final SurfaceRules.RuleSource FLESH = makeStateRule(BOPBlocks.FLESH); + private static final SurfaceRules.RuleSource BRIMSTONE = makeStateRule(BOPBlocks.BRIMSTONE); private static SurfaceRules.RuleSource makeStateRule(Block p_194811_) { return SurfaceRules.state(p_194811_.defaultBlockState()); diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/carver/BOPConfiguredCarvers.java b/common/src/main/java/biomesoplenty/worldgen/carver/BOPConfiguredCarvers.java similarity index 72% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/carver/BOPConfiguredCarvers.java rename to common/src/main/java/biomesoplenty/worldgen/carver/BOPConfiguredCarvers.java index bb3472c496..d0581acdbb 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/carver/BOPConfiguredCarvers.java +++ b/common/src/main/java/biomesoplenty/worldgen/carver/BOPConfiguredCarvers.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.carver; +package biomesoplenty.worldgen.carver; -import biomesoplenty.forge.core.BiomesOPlentyForge; +import biomesoplenty.core.BiomesOPlenty; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstapContext; @@ -27,11 +27,11 @@ public class BOPConfiguredCarvers public static void bootstrap(BootstapContext> context) { HolderGetter blockGetter = context.lookup(Registries.BLOCK); - context.register(ORIGIN_CAVE, BOPWorldCarvers.ORIGIN_CAVE.get().configured(new CaveCarverConfiguration(0.14285715F, BiasedToBottomHeight.of(VerticalAnchor.absolute(0), VerticalAnchor.absolute(127), 8), ConstantFloat.of(0.5F), VerticalAnchor.aboveBottom(10), CarverDebugSettings.of(false, Blocks.CRIMSON_BUTTON.defaultBlockState()), blockGetter.getOrThrow(BlockTags.OVERWORLD_CARVER_REPLACEABLES), ConstantFloat.of(1.0F), ConstantFloat.of(1.0F), ConstantFloat.of(-0.7F)))); + context.register(ORIGIN_CAVE, BOPWorldCarvers.ORIGIN_CAVE.configured(new CaveCarverConfiguration(0.14285715F, BiasedToBottomHeight.of(VerticalAnchor.absolute(0), VerticalAnchor.absolute(127), 8), ConstantFloat.of(0.5F), VerticalAnchor.aboveBottom(10), CarverDebugSettings.of(false, Blocks.CRIMSON_BUTTON.defaultBlockState()), blockGetter.getOrThrow(BlockTags.OVERWORLD_CARVER_REPLACEABLES), ConstantFloat.of(1.0F), ConstantFloat.of(1.0F), ConstantFloat.of(-0.7F)))); } private static ResourceKey> createKey(String name) { - return ResourceKey.create(Registries.CONFIGURED_CARVER, new ResourceLocation(BiomesOPlentyForge.MOD_ID, name)); + return ResourceKey.create(Registries.CONFIGURED_CARVER, new ResourceLocation(BiomesOPlenty.MOD_ID, name)); } } diff --git a/common/src/main/java/biomesoplenty/worldgen/carver/BOPWorldCarvers.java b/common/src/main/java/biomesoplenty/worldgen/carver/BOPWorldCarvers.java new file mode 100644 index 0000000000..c08d7d32e9 --- /dev/null +++ b/common/src/main/java/biomesoplenty/worldgen/carver/BOPWorldCarvers.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.worldgen.carver; + +import biomesoplenty.core.BiomesOPlenty; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.levelgen.carver.CarverConfiguration; +import net.minecraft.world.level.levelgen.carver.CaveCarverConfiguration; +import net.minecraft.world.level.levelgen.carver.WorldCarver; + +import java.util.function.BiConsumer; + +public class BOPWorldCarvers +{ + public static WorldCarver ORIGIN_CAVE; + + public static void registerCarvers(BiConsumer> func) + { + ORIGIN_CAVE = register(func, "origin_cave", new OriginCaveWorldCarver(CaveCarverConfiguration.CODEC)); + } + + private static WorldCarver register(BiConsumer> func, String name, WorldCarver carver) + { + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), carver); + return carver; + } +} diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/carver/OriginCaveWorldCarver.java b/common/src/main/java/biomesoplenty/worldgen/carver/OriginCaveWorldCarver.java similarity index 57% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/carver/OriginCaveWorldCarver.java rename to common/src/main/java/biomesoplenty/worldgen/carver/OriginCaveWorldCarver.java index d6f10fcb9a..70d4308c90 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/carver/OriginCaveWorldCarver.java +++ b/common/src/main/java/biomesoplenty/worldgen/carver/OriginCaveWorldCarver.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.carver; +package biomesoplenty.worldgen.carver; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.google.common.collect.ImmutableSet; import com.mojang.serialization.Codec; import net.minecraft.world.level.block.Block; @@ -17,7 +17,7 @@ public class OriginCaveWorldCarver extends CaveWorldCarver { - protected Set replaceableBlocks = ImmutableSet.of(BOPBlocks.ORIGIN_GRASS_BLOCK.get(), Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE, Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.TERRACOTTA, Blocks.WHITE_TERRACOTTA, Blocks.ORANGE_TERRACOTTA, Blocks.MAGENTA_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.YELLOW_TERRACOTTA, Blocks.LIME_TERRACOTTA, Blocks.PINK_TERRACOTTA, Blocks.GRAY_TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.PURPLE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.BROWN_TERRACOTTA, Blocks.GREEN_TERRACOTTA, Blocks.RED_TERRACOTTA, Blocks.BLACK_TERRACOTTA, Blocks.SANDSTONE, Blocks.RED_SANDSTONE, Blocks.MYCELIUM, Blocks.SNOW, Blocks.PACKED_ICE); + protected Set replaceableBlocks = ImmutableSet.of(BOPBlocks.ORIGIN_GRASS_BLOCK, Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE, Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.TERRACOTTA, Blocks.WHITE_TERRACOTTA, Blocks.ORANGE_TERRACOTTA, Blocks.MAGENTA_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.YELLOW_TERRACOTTA, Blocks.LIME_TERRACOTTA, Blocks.PINK_TERRACOTTA, Blocks.GRAY_TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.PURPLE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.BROWN_TERRACOTTA, Blocks.GREEN_TERRACOTTA, Blocks.RED_TERRACOTTA, Blocks.BLACK_TERRACOTTA, Blocks.SANDSTONE, Blocks.RED_SANDSTONE, Blocks.MYCELIUM, Blocks.SNOW, Blocks.PACKED_ICE); public OriginCaveWorldCarver(Codec p_i231917_1_) { diff --git a/common/src/main/java/biomesoplenty/worldgen/feature/BOPBaseFeatures.java b/common/src/main/java/biomesoplenty/worldgen/feature/BOPBaseFeatures.java new file mode 100644 index 0000000000..9ab16b0e44 --- /dev/null +++ b/common/src/main/java/biomesoplenty/worldgen/feature/BOPBaseFeatures.java @@ -0,0 +1,168 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.worldgen.feature; + +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.worldgen.feature.configurations.*; +import biomesoplenty.worldgen.feature.misc.*; +import biomesoplenty.worldgen.feature.tree.*; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; +import net.minecraft.world.level.levelgen.feature.configurations.LargeDripstoneConfiguration; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; + +import java.util.function.BiConsumer; + +public class BOPBaseFeatures +{ + + public static BOPTreeFeature BASIC_TREE; + public static Feature HIGH_GRASS; + public static Feature BIG_DRIPLEAF; + public static Feature BIG_PUMPKIN; + public static Feature BLACK_SAND_SPLATTER; + public static BOPTreeFeature BUSH_TREE; + public static BOPTreeFeature BIG_TREE; + public static Feature BRAMBLE; + public static Feature CORNER_COBWEBS; + public static Feature CRAG_MOSS; + public static Feature CRAG_SPLATTER; + public static BOPTreeFeature CYPRESS_TREE; + public static Feature DRIPSTONE_SPLATTER; + public static Feature BONE_SPINE; + public static Feature EXTRA_GLOW_LICHEN; + public static Feature FALLEN_LOG; + public static Feature FALLEN_FIR_LOG; + public static Feature FALLEN_BIRCH_LOG; + public static Feature FALLEN_JACARANDA_LOG; + public static Feature FLESH_TENDON; + public static Feature GIANT_GLOWSHROOM; + public static Feature HOT_SPRING_VENTS; + public static Feature MOSSY_BLACK_SAND_SPLATTER; + public static Feature HANGING_FLESH_TENDON; + public static Feature HUGE_TOADSTOOL; + public static Feature HUGE_CLOVER; + public static Feature HUGE_LILY_PAD; + public static Feature HUGE_GLOWSHROOM; + public static Feature INFERNO_SPLATTER; + public static Feature LARGE_FUMAROLE; + public static Feature LARGE_ROSE_QUARTZ; + public static BOPTreeFeature MAGIC_TREE; + public static BOPTreeFeature MAHOGANY_TREE; + public static Feature MEDIUM_GLOWSHROOM; + public static Feature MOSS_SPLATTER; + public static Feature MUD_SPLATTER; + public static Feature MYCELIUM_SPLATTER; + public static Feature NETHER_VINES; + public static Feature OBSIDIAN_SPLATTER; + public static BOPTreeFeature PALM_TREE; + public static BOPTreeFeature PINE_TREE; + public static BOPTreeFeature POPLAR_TREE; + public static Feature PUMPKIN_PATCH; + public static Feature RED_MAPLE_LEAF_PILE; + public static Feature ORANGE_MAPLE_LEAF_PILE; + public static Feature YELLOW_MAPLE_LEAF_PILE; + public static Feature SPARSE_DUNE_GRASS; + public static Feature RAINFOREST_CLIFFS_VINES; + public static BOPTreeFeature REDWOOD_TREE; + public static Feature ROOTED_STUMP; + public static Feature SCATTERED_ROCKS; + public static Feature SCRUB; + public static Feature SHORT_BAMBOO; + public static Feature THIN_BAMBOO; + public static Feature SMALL_BROWN_MUSHROOM; + public static Feature SMALL_CRYSTAL; + public static Feature SMALL_DRIPLEAF; + public static Feature SMALL_FUMAROLE; + public static Feature SMALL_GLOWSHROOM; + public static Feature SMALL_RED_MUSHROOM; + public static Feature SMALL_TOADSTOOL; + public static Feature STRINGY_COBWEB; + public static BOPTreeFeature TAIGA_TREE; + public static BOPTreeFeature TWIGLET_TREE; + public static BOPTreeFeature UMBRAN_TREE; + public static Feature WEBBING; + public static Feature ORIGIN_GRAVEL_CLIFFS; + + + public static void registerFeatures(BiConsumer> func) + { + BASIC_TREE = register(func, "basic_tree", new BasicTreeFeature(BasicTreeConfiguration.CODEC)); + HIGH_GRASS = register(func, "high_grass", new HighGrassFeature(NoneFeatureConfiguration.CODEC)); + BIG_DRIPLEAF = register(func, "big_dripleaf", new BigDripleafFeature(NoneFeatureConfiguration.CODEC)); + BIG_PUMPKIN = register(func, "big_pumpkin", new BigPumpkinFeature(NoneFeatureConfiguration.CODEC)); + BLACK_SAND_SPLATTER = register(func, "black_sand_splatter", new BlackSandSplatterFeature(NoneFeatureConfiguration.CODEC)); + BUSH_TREE = register(func, "bush_tree", new BushTreeFeature(BasicTreeConfiguration.CODEC)); + BIG_TREE = register(func, "big_tree", new BigTreeFeature(BigTreeConfiguration.CODEC)); + BRAMBLE = register(func, "bramble", new BrambleFeature(NoneFeatureConfiguration.CODEC)); + CORNER_COBWEBS = register(func, "corner_cobwebs", new CornerCobwebFeature(NoneFeatureConfiguration.CODEC)); + CRAG_MOSS = register(func, "crag_moss", new CragMossFeature(NoneFeatureConfiguration.CODEC)); + CRAG_SPLATTER = register(func, "crag_splatter", new CragSplatterFeature(NoneFeatureConfiguration.CODEC)); + CYPRESS_TREE = register(func, "cypress_tree", new CypressTreeFeature(CypressTreeConfiguration.CODEC)); + DRIPSTONE_SPLATTER = register(func, "dripstone_splatter", new DripstoneSplatterFeature(NoneFeatureConfiguration.CODEC)); + BONE_SPINE = register(func, "bone_spine", new BoneSpineFeature(NoneFeatureConfiguration.CODEC)); + EXTRA_GLOW_LICHEN = register(func, "extra_glow_lichen", new ExtraGlowLichenFeature(NoneFeatureConfiguration.CODEC)); + FALLEN_LOG = register(func, "fallen_log", new FallenLogFeature(NoneFeatureConfiguration.CODEC)); + FALLEN_FIR_LOG = register(func, "fallen_fir_log", new FallenFirLogFeature(NoneFeatureConfiguration.CODEC)); + FALLEN_BIRCH_LOG = register(func, "fallen_birch_log", new FallenBirchLogFeature(NoneFeatureConfiguration.CODEC)); + FALLEN_JACARANDA_LOG = register(func, "fallen_jacaranda_log", new FallenJacarandaLogFeature(NoneFeatureConfiguration.CODEC)); + FLESH_TENDON = register(func, "flesh_tendon", new FleshTendonFeature(NoneFeatureConfiguration.CODEC)); + GIANT_GLOWSHROOM = register(func, "giant_glowshroom", new GiantGlowshroomFeature(NoneFeatureConfiguration.CODEC)); + HOT_SPRING_VENTS = register(func, "hot_spring_vents", new HotSpringVentFeature(NoneFeatureConfiguration.CODEC)); + MOSSY_BLACK_SAND_SPLATTER = register(func, "mossy_black_sand_splatter", new GrassSplatterFeature(NoneFeatureConfiguration.CODEC)); + HANGING_FLESH_TENDON = register(func, "hanging_flesh_tendon", new HangingFleshTendonFeature(NoneFeatureConfiguration.CODEC)); + HUGE_TOADSTOOL = register(func, "huge_toadstool", new HugeToadstoolFeature(NoneFeatureConfiguration.CODEC)); + HUGE_CLOVER = register(func, "huge_clover", new HugeCloverFeature(NoneFeatureConfiguration.CODEC)); + HUGE_LILY_PAD = register(func, "huge_lily_pad", new HugeLilyPadFeature(NoneFeatureConfiguration.CODEC)); + HUGE_GLOWSHROOM = register(func, "huge_glowshroom", new HugeGlowshroomFeature(NoneFeatureConfiguration.CODEC)); + INFERNO_SPLATTER = register(func, "inferno_splatter", new InfernoSplatterFeature(NoneFeatureConfiguration.CODEC)); + LARGE_FUMAROLE = register(func, "large_fumarole", new LargeFumaroleFeature(NoneFeatureConfiguration.CODEC)); + LARGE_ROSE_QUARTZ = register(func, "large_rose_quartz", new LargeRoseQuartzFeature(LargeDripstoneConfiguration.CODEC)); + MAGIC_TREE = register(func, "magic_tree", new MagicTreeFeature(MagicTreeConfiguration.CODEC)); + MAHOGANY_TREE = register(func, "mahogany_tree", new MahoganyTreeFeature(MahoganyTreeConfiguration.CODEC)); + MEDIUM_GLOWSHROOM = register(func, "medium_glowshroom", new MediumGlowshroomFeature(NoneFeatureConfiguration.CODEC)); + MOSS_SPLATTER = register(func, "moss_splatter", new MossSplatterFeature(NoneFeatureConfiguration.CODEC)); + MUD_SPLATTER = register(func, "mud_splatter", new MudSplatterFeature(NoneFeatureConfiguration.CODEC)); + MYCELIUM_SPLATTER = register(func, "mycelium_splatter", new MyceliumSplatterFeature(NoneFeatureConfiguration.CODEC)); + NETHER_VINES = register(func, "nether_vines", new NetherVinesFeature(NoneFeatureConfiguration.CODEC)); + OBSIDIAN_SPLATTER = register(func, "obsidian_splatter", new ObsidianSplatterFeature(NoneFeatureConfiguration.CODEC)); + PALM_TREE = register(func, "palm_tree", new PalmTreeFeature(PalmTreeConfiguration.CODEC)); + PINE_TREE = register(func, "pine_tree", new PineTreeFeature(PineTreeConfiguration.CODEC)); + POPLAR_TREE = register(func, "poplar_tree", new PoplarTreeFeature(PoplarTreeConfiguration.CODEC)); + PUMPKIN_PATCH = register(func, "pumpkin_patch", new PumpkinPatchFeature(NoneFeatureConfiguration.CODEC)); + RED_MAPLE_LEAF_PILE = register(func, "red_maple_leaf_pile", new RedMapleLeafPileFeature(NoneFeatureConfiguration.CODEC)); + ORANGE_MAPLE_LEAF_PILE = register(func, "orange_maple_leaf_pile", new OrangeMapleLeafPileFeature(NoneFeatureConfiguration.CODEC)); + YELLOW_MAPLE_LEAF_PILE = register(func, "yellow_maple_leaf_pile", new YellowMapleLeafPileFeature(NoneFeatureConfiguration.CODEC)); + SPARSE_DUNE_GRASS = register(func, "sparse_dune_grass", new SparseDuneGrassFeature(NoneFeatureConfiguration.CODEC)); + RAINFOREST_CLIFFS_VINES = register(func, "rainforest_cliffs_vines", new RainforestCliffsVinesFeature(NoneFeatureConfiguration.CODEC)); + REDWOOD_TREE = register(func, "redwood_tree", new RedwoodTreeFeature(TaigaTreeConfiguration.CODEC)); + ROOTED_STUMP = register(func, "rooted_stump", new RootedStumpFeature(NoneFeatureConfiguration.CODEC)); + SCATTERED_ROCKS = register(func, "scattered_rocks", new ScatteredRocksFeature(NoneFeatureConfiguration.CODEC)); + SCRUB = register(func, "scrub", new ScrubFeature(NoneFeatureConfiguration.CODEC)); + SHORT_BAMBOO = register(func, "short_bamboo", new ShortBambooFeature(NoneFeatureConfiguration.CODEC)); + THIN_BAMBOO = register(func, "thin_bamboo", new ThinBambooFeature(NoneFeatureConfiguration.CODEC)); + SMALL_BROWN_MUSHROOM = register(func, "small_brown_mushroom", new SmallBrownMushroomFeature(NoneFeatureConfiguration.CODEC)); + SMALL_CRYSTAL = register(func, "small_crystal", new SmallCrystalFeature(NoneFeatureConfiguration.CODEC)); + SMALL_DRIPLEAF = register(func, "small_dripleaf", new SmallDripleafFeature(NoneFeatureConfiguration.CODEC)); + SMALL_FUMAROLE = register(func, "small_fumarole", new SmallFumaroleFeature(NoneFeatureConfiguration.CODEC)); + SMALL_GLOWSHROOM = register(func, "small_glowshroom", new SmallGlowshroomFeature(NoneFeatureConfiguration.CODEC)); + SMALL_RED_MUSHROOM = register(func, "small_red_mushroom", new SmallRedMushroomFeature(NoneFeatureConfiguration.CODEC)); + SMALL_TOADSTOOL = register(func, "small_toadstool", new SmallToadstoolFeature(NoneFeatureConfiguration.CODEC)); + STRINGY_COBWEB = register(func, "stringy_cobweb", new StringyCobwebFeature(NoneFeatureConfiguration.CODEC)); + TAIGA_TREE = register(func, "taiga_tree", new TaigaTreeFeature(TaigaTreeConfiguration.CODEC)); + TWIGLET_TREE = register(func, "twiglet_tree", new TwigletTreeFeature(TwigletTreeConfiguration.CODEC)); + UMBRAN_TREE = register(func, "umbran_tree", new UmbranTreeFeature(TaigaTreeConfiguration.CODEC)); + WEBBING = register(func, "webbing", new WebbingFeature(NoneFeatureConfiguration.CODEC)); + ORIGIN_GRAVEL_CLIFFS = register(func, "origin_gravel_cliffs", new OriginGravelCliffFeature(NoneFeatureConfiguration.CODEC)); + } + + private static > F register(BiConsumer> func, String name, F feature) + { + func.accept(new ResourceLocation(BiomesOPlenty.MOD_ID, name), feature); + return feature; + } +} diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPCaveFeatures.java b/common/src/main/java/biomesoplenty/worldgen/feature/BOPCaveFeatures.java similarity index 86% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPCaveFeatures.java rename to common/src/main/java/biomesoplenty/worldgen/feature/BOPCaveFeatures.java index f9059cd8fb..dd9bfe8908 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPCaveFeatures.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/BOPCaveFeatures.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature; +package biomesoplenty.worldgen.feature; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.worldgen.BOPFeatureUtils; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.worldgen.BOPFeatureUtils; import net.minecraft.core.Direction; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; @@ -54,25 +54,25 @@ public static void bootstrap(BootstapContext> context) { HolderGetter> configuredFeatureGetter = context.lookup(Registries.CONFIGURED_FEATURE); - register(context, BOPCaveFeatures.GLOWING_GROTTO_FLOOR_PLANTS, Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.GLOWSHROOM.get().defaultBlockState(), 6).add(BOPBlocks.GLOWING_MOSS_CARPET.get().defaultBlockState(), 25)))); + register(context, BOPCaveFeatures.GLOWING_GROTTO_FLOOR_PLANTS, Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.GLOWSHROOM.defaultBlockState(), 6).add(BOPBlocks.GLOWING_MOSS_CARPET.defaultBlockState(), 25)))); final Holder> GLOWING_GROTTO_FLOOR_PLANTS = configuredFeatureGetter.getOrThrow(BOPCaveFeatures.GLOWING_GROTTO_FLOOR_PLANTS); - register(context, BOPCaveFeatures.GLOWING_MOSS_PATCH, Feature.VEGETATION_PATCH, new VegetationPatchConfiguration(BlockTags.MOSS_REPLACEABLE, BlockStateProvider.simple(BOPBlocks.GLOWING_MOSS_BLOCK.get()), PlacementUtils.inlinePlaced(GLOWING_GROTTO_FLOOR_PLANTS), CaveSurface.FLOOR, ConstantInt.of(1), 0.0F, 5, 0.5F, UniformInt.of(4, 7), 0.3F)); - register(context, BOPCaveFeatures.GLOWING_MOSS_PATCH_BONEMEAL, Feature.VEGETATION_PATCH, new VegetationPatchConfiguration(BlockTags.MOSS_REPLACEABLE, BlockStateProvider.simple(BOPBlocks.GLOWING_MOSS_BLOCK.get()), PlacementUtils.inlinePlaced(GLOWING_GROTTO_FLOOR_PLANTS), CaveSurface.FLOOR, ConstantInt.of(1), 0.0F, 5, 0.4F, UniformInt.of(1, 2), 0.75F)); + register(context, BOPCaveFeatures.GLOWING_MOSS_PATCH, Feature.VEGETATION_PATCH, new VegetationPatchConfiguration(BlockTags.MOSS_REPLACEABLE, BlockStateProvider.simple(BOPBlocks.GLOWING_MOSS_BLOCK), PlacementUtils.inlinePlaced(GLOWING_GROTTO_FLOOR_PLANTS), CaveSurface.FLOOR, ConstantInt.of(1), 0.0F, 5, 0.5F, UniformInt.of(4, 7), 0.3F)); + register(context, BOPCaveFeatures.GLOWING_MOSS_PATCH_BONEMEAL, Feature.VEGETATION_PATCH, new VegetationPatchConfiguration(BlockTags.MOSS_REPLACEABLE, BlockStateProvider.simple(BOPBlocks.GLOWING_MOSS_BLOCK), PlacementUtils.inlinePlaced(GLOWING_GROTTO_FLOOR_PLANTS), CaveSurface.FLOOR, ConstantInt.of(1), 0.0F, 5, 0.4F, UniformInt.of(1, 2), 0.75F)); - register(context, BOPCaveFeatures.MUD_PLANTS, Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.GLOWING_MOSS_CARPET.get()))); + register(context, BOPCaveFeatures.MUD_PLANTS, Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.GLOWING_MOSS_CARPET))); final Holder> MUD_PLANTS = configuredFeatureGetter.getOrThrow(BOPCaveFeatures.MUD_PLANTS); register(context, BOPCaveFeatures.MUD_PATCH, Feature.VEGETATION_PATCH, new VegetationPatchConfiguration(BlockTags.MOSS_REPLACEABLE, BlockStateProvider.simple(Blocks.MUD), PlacementUtils.inlinePlaced(MUD_PLANTS), CaveSurface.FLOOR, ConstantInt.of(1), 0.0F, 5, 0.05F, UniformInt.of(4, 7), 0.3F)); - register(context, BOPCaveFeatures.GLOWWORM_SILK, Feature.BLOCK_COLUMN, new BlockColumnConfiguration(List.of(BlockColumnConfiguration.layer(new WeightedListInt(SimpleWeightedRandomList.builder().add(UniformInt.of(0, 11), 2).add(UniformInt.of(0, 5), 3).add(UniformInt.of(0, 2), 10).build()), BlockStateProvider.simple(BOPBlocks.GLOWWORM_SILK_STRAND.get())), BlockColumnConfiguration.layer(ConstantInt.of(1), BlockStateProvider.simple(BOPBlocks.GLOWWORM_SILK.get()))), Direction.DOWN, BlockPredicate.ONLY_IN_AIR_PREDICATE, true)); + register(context, BOPCaveFeatures.GLOWWORM_SILK, Feature.BLOCK_COLUMN, new BlockColumnConfiguration(List.of(BlockColumnConfiguration.layer(new WeightedListInt(SimpleWeightedRandomList.builder().add(UniformInt.of(0, 11), 2).add(UniformInt.of(0, 5), 3).add(UniformInt.of(0, 2), 10).build()), BlockStateProvider.simple(BOPBlocks.GLOWWORM_SILK_STRAND)), BlockColumnConfiguration.layer(ConstantInt.of(1), BlockStateProvider.simple(BOPBlocks.GLOWWORM_SILK))), Direction.DOWN, BlockPredicate.ONLY_IN_AIR_PREDICATE, true)); register(context, BOPCaveFeatures.GIANT_GLOWSHROOM_CAVE, BOPBaseFeatures.GIANT_GLOWSHROOM, NoneFeatureConfiguration.INSTANCE); register(context, BOPCaveFeatures.HUGE_GLOWSHROOM_CAVE, BOPBaseFeatures.HUGE_GLOWSHROOM, NoneFeatureConfiguration.INSTANCE); register(context, BOPCaveFeatures.MEDIUM_GLOWSHROOM_CAVE, BOPBaseFeatures.MEDIUM_GLOWSHROOM, NoneFeatureConfiguration.INSTANCE); register(context, BOPCaveFeatures.SMALL_GLOWSHROOM_CAVE, BOPBaseFeatures.SMALL_GLOWSHROOM, NoneFeatureConfiguration.INSTANCE); register(context, BOPCaveFeatures.EXTRA_GLOW_LICHEN, BOPBaseFeatures.EXTRA_GLOW_LICHEN, NoneFeatureConfiguration.INSTANCE); - register(context, BOPCaveFeatures.HANGING_COBWEB, Feature.BLOCK_COLUMN, new BlockColumnConfiguration(List.of(BlockColumnConfiguration.layer(new WeightedListInt(SimpleWeightedRandomList.builder().add(UniformInt.of(0, 15), 2).add(UniformInt.of(0, 3), 3).add(UniformInt.of(0, 7), 3).build()), BlockStateProvider.simple(BOPBlocks.HANGING_COBWEB_STRAND.get())), BlockColumnConfiguration.layer(ConstantInt.of(1), BlockStateProvider.simple(BOPBlocks.HANGING_COBWEB.get()))), Direction.DOWN, BlockPredicate.ONLY_IN_AIR_PREDICATE, true)); + register(context, BOPCaveFeatures.HANGING_COBWEB, Feature.BLOCK_COLUMN, new BlockColumnConfiguration(List.of(BlockColumnConfiguration.layer(new WeightedListInt(SimpleWeightedRandomList.builder().add(UniformInt.of(0, 15), 2).add(UniformInt.of(0, 3), 3).add(UniformInt.of(0, 7), 3).build()), BlockStateProvider.simple(BOPBlocks.HANGING_COBWEB_STRAND)), BlockColumnConfiguration.layer(ConstantInt.of(1), BlockStateProvider.simple(BOPBlocks.HANGING_COBWEB))), Direction.DOWN, BlockPredicate.ONLY_IN_AIR_PREDICATE, true)); register(context, BOPCaveFeatures.CORNER_COBWEBS, BOPBaseFeatures.CORNER_COBWEBS, NoneFeatureConfiguration.INSTANCE); - register(context, BOPCaveFeatures.SPIDER_EGG, Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SPIDER_EGG.get()))); + register(context, BOPCaveFeatures.SPIDER_EGG, Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SPIDER_EGG))); register(context, BOPCaveFeatures.STRINGY_COBWEB, BOPBaseFeatures.STRINGY_COBWEB, NoneFeatureConfiguration.INSTANCE); register(context, BOPCaveFeatures.WEBBING, BOPBaseFeatures.WEBBING, NoneFeatureConfiguration.INSTANCE); } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPMiscOverworldFeatures.java b/common/src/main/java/biomesoplenty/worldgen/feature/BOPMiscOverworldFeatures.java similarity index 84% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPMiscOverworldFeatures.java rename to common/src/main/java/biomesoplenty/worldgen/feature/BOPMiscOverworldFeatures.java index cb2abb9862..cb1a56ffa1 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPMiscOverworldFeatures.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/BOPMiscOverworldFeatures.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature; +package biomesoplenty.worldgen.feature; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.worldgen.BOPFeatureUtils; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.worldgen.BOPFeatureUtils; import net.minecraft.core.HolderSet; import net.minecraft.data.worldgen.BootstapContext; import net.minecraft.resources.ResourceKey; @@ -66,23 +66,23 @@ public static void bootstrap(BootstapContext> context) register(context, BOPMiscOverworldFeatures.BONE_SPINE, BOPBaseFeatures.BONE_SPINE, NoneFeatureConfiguration.INSTANCE); register(context, BOPMiscOverworldFeatures.CRAG_MOSS, BOPBaseFeatures.CRAG_MOSS, NoneFeatureConfiguration.INSTANCE); register(context, BOPMiscOverworldFeatures.CRAG_SPLATTER, BOPBaseFeatures.CRAG_SPLATTER, NoneFeatureConfiguration.INSTANCE); - register(context, BOPMiscOverworldFeatures.DISK_BLACK_SAND, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.BLACK_SAND.get()), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)), UniformInt.of(2, 6), 2)); + register(context, BOPMiscOverworldFeatures.DISK_BLACK_SAND, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.BLACK_SAND), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)), UniformInt.of(2, 6), 2)); register(context, BOPMiscOverworldFeatures.DISK_CALCITE, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.CALCITE), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK, Blocks.PODZOL, Blocks.SAND, Blocks.GRAVEL, Blocks.GRANITE, Blocks.ANDESITE, Blocks.DIORITE, Blocks.COAL_ORE, Blocks.IRON_ORE, Blocks.STONE, Blocks.CALCITE)), UniformInt.of(3, 7), 2)); register(context, BOPMiscOverworldFeatures.DISK_GRAVEL_EXTRA, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.GRAVEL), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)), UniformInt.of(1, 4), 2)); - register(context, BOPMiscOverworldFeatures.DISK_ORANGE_SAND, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.ORANGE_SAND.get()), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)), UniformInt.of(2, 6), 2)); - register(context, BOPMiscOverworldFeatures.DISK_WHITE_SAND, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.WHITE_SAND.get()), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)), UniformInt.of(2, 6), 2)); - register(context, BOPMiscOverworldFeatures.DISK_WHITE_SAND_EXTRA, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.WHITE_SAND.get()), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK, Blocks.MYCELIUM, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, BOPBlocks.ORIGIN_GRASS_BLOCK.get())), UniformInt.of(6, 8), 4)); - register(context, BOPMiscOverworldFeatures.DISK_WHITE_SANDSTONE, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.WHITE_SANDSTONE.get()), BlockPredicate.matchesBlocks(List.of(Blocks.STONE, Blocks.SANDSTONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE)), UniformInt.of(6, 8), 4)); + register(context, BOPMiscOverworldFeatures.DISK_ORANGE_SAND, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.ORANGE_SAND), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)), UniformInt.of(2, 6), 2)); + register(context, BOPMiscOverworldFeatures.DISK_WHITE_SAND, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.WHITE_SAND), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)), UniformInt.of(2, 6), 2)); + register(context, BOPMiscOverworldFeatures.DISK_WHITE_SAND_EXTRA, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.WHITE_SAND), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK, Blocks.MYCELIUM, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, BOPBlocks.ORIGIN_GRASS_BLOCK)), UniformInt.of(6, 8), 4)); + register(context, BOPMiscOverworldFeatures.DISK_WHITE_SANDSTONE, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.WHITE_SANDSTONE), BlockPredicate.matchesBlocks(List.of(Blocks.STONE, Blocks.SANDSTONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE)), UniformInt.of(6, 8), 4)); register(context, BOPMiscOverworldFeatures.DISK_HOT_SPRING_GRAVEL, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.GRAVEL), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE)), UniformInt.of(8, 8), 4)); register(context, BOPMiscOverworldFeatures.DISK_HOT_SPRING_CALCITE, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.CALCITE), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE)), UniformInt.of(6, 7), 3)); register(context, BOPMiscOverworldFeatures.DISK_HOT_SPRING_BASALT, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.SMOOTH_BASALT), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.CALCITE)), UniformInt.of(5, 6), 2)); register(context, BOPMiscOverworldFeatures.DISK_HOT_SPRING_PACKED_MUD, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.PACKED_MUD), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.SMOOTH_BASALT, Blocks.CALCITE)), UniformInt.of(4, 4), 1)); - register(context, BOPMiscOverworldFeatures.DISK_HOT_SPRING_THERMAL_CALCITE, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.THERMAL_CALCITE.get()), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.PACKED_MUD, Blocks.SMOOTH_BASALT, Blocks.CALCITE)), UniformInt.of(3, 5), 1)); + register(context, BOPMiscOverworldFeatures.DISK_HOT_SPRING_THERMAL_CALCITE, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.THERMAL_CALCITE), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.PACKED_MUD, Blocks.SMOOTH_BASALT, Blocks.CALCITE)), UniformInt.of(3, 5), 1)); - register(context, BOPMiscOverworldFeatures.DISK_VOLCANO_SMOOTH_BASALT, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.SMOOTH_BASALT), BlockPredicate.matchesBlocks(List.of(Blocks.TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.BASALT, Blocks.SMOOTH_BASALT, BOPBlocks.BLACK_SAND.get(), BOPBlocks.MOSSY_BLACK_SAND.get())), UniformInt.of(6, 8), 4)); - register(context, BOPMiscOverworldFeatures.DISK_VOLCANO_BLACK_SANDSTONE, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.BLACK_SANDSTONE.get()), BlockPredicate.matchesBlocks(List.of(Blocks.TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.BASALT, Blocks.SMOOTH_BASALT, BOPBlocks.BLACK_SAND.get(), BOPBlocks.BLACK_SANDSTONE.get(), BOPBlocks.MOSSY_BLACK_SAND.get())), UniformInt.of(4, 6), 3)); - register(context, BOPMiscOverworldFeatures.DISK_VOLCANO_MAGMA, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.MAGMA_BLOCK), BlockPredicate.matchesBlocks(List.of(Blocks.TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.BASALT, Blocks.SMOOTH_BASALT, BOPBlocks.BLACK_SAND.get(), BOPBlocks.BLACK_SANDSTONE.get(), BOPBlocks.MOSSY_BLACK_SAND.get())), UniformInt.of(1, 3), 2)); + register(context, BOPMiscOverworldFeatures.DISK_VOLCANO_SMOOTH_BASALT, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.SMOOTH_BASALT), BlockPredicate.matchesBlocks(List.of(Blocks.TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.BASALT, Blocks.SMOOTH_BASALT, BOPBlocks.BLACK_SAND, BOPBlocks.MOSSY_BLACK_SAND)), UniformInt.of(6, 8), 4)); + register(context, BOPMiscOverworldFeatures.DISK_VOLCANO_BLACK_SANDSTONE, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(BOPBlocks.BLACK_SANDSTONE), BlockPredicate.matchesBlocks(List.of(Blocks.TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.BASALT, Blocks.SMOOTH_BASALT, BOPBlocks.BLACK_SAND, BOPBlocks.BLACK_SANDSTONE, BOPBlocks.MOSSY_BLACK_SAND)), UniformInt.of(4, 6), 3)); + register(context, BOPMiscOverworldFeatures.DISK_VOLCANO_MAGMA, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.MAGMA_BLOCK), BlockPredicate.matchesBlocks(List.of(Blocks.TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.PODZOL, Blocks.GRASS_BLOCK, Blocks.SAND, Blocks.GRAVEL, Blocks.CLAY, Blocks.ANDESITE, Blocks.GRANITE, Blocks.DIORITE, Blocks.STONE, Blocks.BASALT, Blocks.SMOOTH_BASALT, BOPBlocks.BLACK_SAND, BOPBlocks.BLACK_SANDSTONE, BOPBlocks.MOSSY_BLACK_SAND)), UniformInt.of(1, 3), 2)); register(context, BOPMiscOverworldFeatures.DISK_MUD, Feature.DISK, new DiskConfiguration(RuleBasedBlockStateProvider.simple(Blocks.MUD), BlockPredicate.matchesBlocks(List.of(Blocks.DIRT, Blocks.GRASS_BLOCK)), UniformInt.of(4, 6), 2)); register(context, BOPMiscOverworldFeatures.MOSSY_BLACK_SAND_SPLATTER, BOPBaseFeatures.MOSSY_BLACK_SAND_SPLATTER, NoneFeatureConfiguration.INSTANCE); @@ -90,8 +90,8 @@ public static void bootstrap(BootstapContext> context) register(context, BOPMiscOverworldFeatures.WATER_LAKE, Feature.LAKE, new LakeFeature.Configuration(BlockStateProvider.simple(Blocks.WATER.defaultBlockState()), BlockStateProvider.simple(Blocks.AIR.defaultBlockState()))); register(context, BOPMiscOverworldFeatures.HOT_SPRING_LAKE, Feature.LAKE, new LakeFeature.Configuration(BlockStateProvider.simple(Blocks.WATER.defaultBlockState()), BlockStateProvider.simple(Blocks.AIR.defaultBlockState()))); register(context, BOPMiscOverworldFeatures.LAVA_LAKE_VOLCANO, Feature.LAKE, new LakeFeature.Configuration(BlockStateProvider.simple(Blocks.LAVA.defaultBlockState()), BlockStateProvider.simple(Blocks.AIR.defaultBlockState()))); - register(context, BOPMiscOverworldFeatures.SPRING_LAVA_VOLCANO, Feature.SPRING, new SpringConfiguration(Fluids.LAVA.defaultFluidState(), true, 4, 1, HolderSet.direct(Block::builtInRegistryHolder, Blocks.BASALT, Blocks.SMOOTH_BASALT, Blocks.MAGMA_BLOCK, BOPBlocks.BLACK_SANDSTONE.get()))); - register(context, BOPMiscOverworldFeatures.SPRING_WATER_EXTRA, Feature.SPRING, new SpringConfiguration(Fluids.WATER.defaultFluidState(), true, 4, 1, HolderSet.direct(Block::builtInRegistryHolder, Blocks.DIRT, Blocks.TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE, BOPBlocks.ORANGE_SANDSTONE.get()))); + register(context, BOPMiscOverworldFeatures.SPRING_LAVA_VOLCANO, Feature.SPRING, new SpringConfiguration(Fluids.LAVA.defaultFluidState(), true, 4, 1, HolderSet.direct(Block::builtInRegistryHolder, Blocks.BASALT, Blocks.SMOOTH_BASALT, Blocks.MAGMA_BLOCK, BOPBlocks.BLACK_SANDSTONE))); + register(context, BOPMiscOverworldFeatures.SPRING_WATER_EXTRA, Feature.SPRING, new SpringConfiguration(Fluids.WATER.defaultFluidState(), true, 4, 1, HolderSet.direct(Block::builtInRegistryHolder, Blocks.DIRT, Blocks.TERRACOTTA, Blocks.LIGHT_GRAY_TERRACOTTA, Blocks.CYAN_TERRACOTTA, Blocks.LIGHT_BLUE_TERRACOTTA, Blocks.BLUE_TERRACOTTA, Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE, BOPBlocks.ORANGE_SANDSTONE))); register(context, BOPMiscOverworldFeatures.ORIGIN_GRAVEL_CLIFFS, BOPBaseFeatures.ORIGIN_GRAVEL_CLIFFS, NoneFeatureConfiguration.INSTANCE); } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPNetherFeatures.java b/common/src/main/java/biomesoplenty/worldgen/feature/BOPNetherFeatures.java similarity index 90% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPNetherFeatures.java rename to common/src/main/java/biomesoplenty/worldgen/feature/BOPNetherFeatures.java index 13b40de306..4d819db8a5 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPNetherFeatures.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/BOPNetherFeatures.java @@ -2,13 +2,13 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature; +package biomesoplenty.worldgen.feature; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.api.block.BOPFluids; -import biomesoplenty.forge.common.worldgen.placement.BOPTreePlacements; -import biomesoplenty.forge.common.util.worldgen.BOPFeatureUtils; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPFluids; +import biomesoplenty.worldgen.placement.BOPTreePlacements; +import biomesoplenty.util.worldgen.BOPFeatureUtils; +import biomesoplenty.init.ModTags; import com.google.common.collect.ImmutableList; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; @@ -68,18 +68,18 @@ public static void bootstrap(BootstapContext> context) final Holder BIG_HELLBARK_TREE_CHECKED = placedFeatureGetter.getOrThrow(BOPTreePlacements.BIG_HELLBARK_TREE_CHECKED); final Holder HELLBARK_TREE_CHECKED = placedFeatureGetter.getOrThrow(BOPTreePlacements.HELLBARK_TREE_CHECKED); - register(context, BOPNetherFeatures.BLACKSTONE_BULB, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BLACKSTONE_BULB.get())))); - register(context, BOPNetherFeatures.BLACKSTONE_SPINES, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BLACKSTONE_SPINES.get())))); - register(context, BOPNetherFeatures.BLOOD_LAKE, Feature.LAKE, new LakeFeature.Configuration(BlockStateProvider.simple(BOPBlocks.BLOOD.get()), BlockStateProvider.simple(BOPBlocks.FLESH.get()))); - register(context, BOPNetherFeatures.BLOOD_SPRING, Feature.SPRING, new SpringConfiguration(BOPFluids.BLOOD.get().defaultFluidState(), false, 4, 1, HolderSet.direct(Block::builtInRegistryHolder, Blocks.NETHERRACK, BOPBlocks.FLESH.get(), BOPBlocks.POROUS_FLESH.get()))); - register(context, BOPNetherFeatures.BRIMSTONE_BUD, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BRIMSTONE_BUD.get())))); - register(context, BOPNetherFeatures.BRIMSTONE_CLUSTER, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BRIMSTONE_CLUSTER.get())))); - register(context, BOPNetherFeatures.DEAD_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.DEAD_GRASS.get())))); - register(context, BOPNetherFeatures.EYEBULB, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.EYEBULB.get())))); + register(context, BOPNetherFeatures.BLACKSTONE_BULB, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BLACKSTONE_BULB)))); + register(context, BOPNetherFeatures.BLACKSTONE_SPINES, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BLACKSTONE_SPINES)))); + register(context, BOPNetherFeatures.BLOOD_LAKE, Feature.LAKE, new LakeFeature.Configuration(BlockStateProvider.simple(BOPBlocks.BLOOD), BlockStateProvider.simple(BOPBlocks.FLESH))); + register(context, BOPNetherFeatures.BLOOD_SPRING, Feature.SPRING, new SpringConfiguration(BOPFluids.BLOOD.defaultFluidState(), false, 4, 1, HolderSet.direct(Block::builtInRegistryHolder, Blocks.NETHERRACK, BOPBlocks.FLESH, BOPBlocks.POROUS_FLESH))); + register(context, BOPNetherFeatures.BRIMSTONE_BUD, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BRIMSTONE_BUD)))); + register(context, BOPNetherFeatures.BRIMSTONE_CLUSTER, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BRIMSTONE_CLUSTER)))); + register(context, BOPNetherFeatures.DEAD_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.DEAD_GRASS)))); + register(context, BOPNetherFeatures.EYEBULB, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.EYEBULB)))); register(context, BOPNetherFeatures.FLESH_TENDON, BOPBaseFeatures.FLESH_TENDON, NoneFeatureConfiguration.INSTANCE); - register(context, BOPNetherFeatures.HAIR, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.HAIR.get())))); + register(context, BOPNetherFeatures.HAIR, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.HAIR)))); register(context, BOPNetherFeatures.HANGING_FLESH_TENDON, BOPBaseFeatures.HANGING_FLESH_TENDON, NoneFeatureConfiguration.INSTANCE); - register(context, BOPNetherFeatures.INFERNO_LAVA_LAKE, Feature.LAKE, new LakeFeature.Configuration(BlockStateProvider.simple(Blocks.LAVA), BlockStateProvider.simple(BOPBlocks.BRIMSTONE.get()))); + register(context, BOPNetherFeatures.INFERNO_LAVA_LAKE, Feature.LAKE, new LakeFeature.Configuration(BlockStateProvider.simple(Blocks.LAVA), BlockStateProvider.simple(BOPBlocks.BRIMSTONE))); register(context, BOPNetherFeatures.INFERNO_LAVA_SPRING, Feature.SPRING, new SpringConfiguration(Fluids.LAVA.defaultFluidState(), false, 4, 1, HolderSet.direct(Block::builtInRegistryHolder, Blocks.NETHERRACK))); register(context, BOPNetherFeatures.INFERNO_SPLATTER, BOPBaseFeatures.INFERNO_SPLATTER, NoneFeatureConfiguration.INSTANCE); register(context, BOPNetherFeatures.LARGE_FUMAROLE, BOPBaseFeatures.LARGE_FUMAROLE, NoneFeatureConfiguration.INSTANCE); @@ -88,13 +88,13 @@ public static void bootstrap(BootstapContext> context) register(context, BOPNetherFeatures.NETHER_BRAMBLE, BOPBaseFeatures.BRAMBLE, NoneFeatureConfiguration.INSTANCE); register(context, BOPNetherFeatures.NETHER_VINES, BOPBaseFeatures.NETHER_VINES, NoneFeatureConfiguration.INSTANCE); register(context, BOPNetherFeatures.OBSIDIAN_SPLATTER, BOPBaseFeatures.OBSIDIAN_SPLATTER, NoneFeatureConfiguration.INSTANCE); - register(context, BOPNetherFeatures.POROUS_FLESH, Feature.ORE, new OreConfiguration(new TagMatchTest(ModTags.Blocks.FLESH), BOPBlocks.POROUS_FLESH.get().defaultBlockState(), 16)); - register(context, BOPNetherFeatures.PUS_BUBBLES, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.PUS_BUBBLE.get())))); + register(context, BOPNetherFeatures.POROUS_FLESH, Feature.ORE, new OreConfiguration(new TagMatchTest(ModTags.Blocks.FLESH), BOPBlocks.POROUS_FLESH.defaultBlockState(), 16)); + register(context, BOPNetherFeatures.PUS_BUBBLES, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.PUS_BUBBLE)))); register(context, BOPNetherFeatures.SMALL_CRYSTAL, BOPBaseFeatures.SMALL_CRYSTAL, NoneFeatureConfiguration.INSTANCE); register(context, BOPNetherFeatures.SMALL_FUMAROLE, BOPBaseFeatures.SMALL_FUMAROLE, NoneFeatureConfiguration.INSTANCE); - register(context, BOPNetherFeatures.SPROUTS_UNDERGROWTH, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SPROUT.get())))); + register(context, BOPNetherFeatures.SPROUTS_UNDERGROWTH, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SPROUT)))); register(context, BOPNetherFeatures.TREES_UNDERGROWTH, Feature.RANDOM_SELECTOR, new RandomFeatureConfiguration(ImmutableList.of(new WeightedPlacedFeature(BIG_HELLBARK_TREE_CHECKED, 0.4F)), HELLBARK_TREE_CHECKED)); - register(context, BOPNetherFeatures.UNDERGROWTH_FLOWERS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BURNING_BLOSSOM.get())))); + register(context, BOPNetherFeatures.UNDERGROWTH_FLOWERS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BURNING_BLOSSOM)))); } private static > void register(BootstapContext> context, ResourceKey> configuredFeatureKey, F feature, FC configuration) diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPTreeFeatures.java b/common/src/main/java/biomesoplenty/worldgen/feature/BOPTreeFeatures.java similarity index 80% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPTreeFeatures.java rename to common/src/main/java/biomesoplenty/worldgen/feature/BOPTreeFeatures.java index 308fdcb6cf..4e42d28e49 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPTreeFeatures.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/BOPTreeFeatures.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature; +package biomesoplenty.worldgen.feature; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.worldgen.BOPFeatureUtils; -import biomesoplenty.forge.common.worldgen.feature.configurations.*; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.worldgen.BOPFeatureUtils; +import biomesoplenty.worldgen.feature.configurations.*; import net.minecraft.data.worldgen.BootstapContext; import net.minecraft.resources.ResourceKey; import net.minecraft.util.random.SimpleWeightedRandomList; @@ -102,31 +102,31 @@ public class BOPTreeFeatures public static void bootstrap(BootstapContext> context) { - register(context, BOPTreeFeatures.FLOWERING_OAK_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES.get())).build()); - register(context, BOPTreeFeatures.FLOWERING_OAK_TREE_BEES, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES.get())).decorator(new BeehiveDecorator(0.05f)).build()); - register(context, BOPTreeFeatures.JACARANDA_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.JACARANDA_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES.get())).hanging(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES.get())).build()); - register(context, BOPTreeFeatures.JACARANDA_TREE_BEES, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.JACARANDA_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES.get())).hanging(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES.get())).decorator(new BeehiveDecorator(0.05f)).build()); - register(context, BOPTreeFeatures.RED_MAPLE_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.RED_MAPLE_LEAVES.get())).minHeight(5).maxHeight(10).build()); - register(context, BOPTreeFeatures.ORANGE_MAPLE_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.ORANGE_MAPLE_LEAVES.get())).minHeight(5).maxHeight(8).build()); - register(context, BOPTreeFeatures.YELLOW_MAPLE_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.YELLOW_MAPLE_LEAVES.get())).minHeight(5).maxHeight(8).build()); - register(context, BOPTreeFeatures.ORIGIN_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.ORIGIN_LEAVES.get())).minHeight(5).maxHeight(8).build()); - register(context, BOPTreeFeatures.RAINBOW_BIRCH_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.BIRCH_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.RAINBOW_BIRCH_LEAVES.get())).build()); - register(context, BOPTreeFeatures.SMALL_DEAD_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES.get())).build()); - register(context, BOPTreeFeatures.WILLOW_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.WILLOW_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.WILLOW_LEAVES.get())).vine(BlockStateProvider.simple(BOPBlocks.WILLOW_VINE.get())).minHeight(6).maxHeight(10).leavesOffset(0).maxLeavesRadius(2).build()); - register(context, BOPTreeFeatures.ASPEN_TREE, BOPBaseFeatures.POPLAR_TREE, new PoplarTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.BIRCH_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.YELLOW_MAPLE_LEAVES.get())).maxHeight(20).build()); - register(context, BOPTreeFeatures.BIG_FLOWERING_OAK_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES.get())).build()); - register(context, BOPTreeFeatures.BIG_FLOWERING_OAK_TREE_BEES, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES.get())).decorator(new BeehiveDecorator(0.05f)).build()); - register(context, BOPTreeFeatures.BIG_HELLBARK_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.HELLBARK_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.HELLBARK_LEAVES.get())).maxHeight(10).foliageHeight(2).build()); - register(context, BOPTreeFeatures.BIG_JACARANDA_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.JACARANDA_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES.get())).hanging(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES.get())).build()); - register(context, BOPTreeFeatures.BIG_JACARANDA_TREE_BEES, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.JACARANDA_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES.get())).hanging(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES.get())).decorator(new BeehiveDecorator(0.05f)).build()); - register(context, BOPTreeFeatures.BIG_RED_MAPLE_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.RED_MAPLE_LEAVES.get())).build()); - register(context, BOPTreeFeatures.BIG_ORANGE_MAPLE_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.ORANGE_MAPLE_LEAVES.get())).build()); - register(context, BOPTreeFeatures.BIG_YELLOW_MAPLE_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.YELLOW_MAPLE_LEAVES.get())).build()); + register(context, BOPTreeFeatures.FLOWERING_OAK_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES)).build()); + register(context, BOPTreeFeatures.FLOWERING_OAK_TREE_BEES, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES)).decorator(new BeehiveDecorator(0.05f)).build()); + register(context, BOPTreeFeatures.JACARANDA_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.JACARANDA_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES)).hanging(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES)).build()); + register(context, BOPTreeFeatures.JACARANDA_TREE_BEES, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.JACARANDA_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES)).hanging(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES)).decorator(new BeehiveDecorator(0.05f)).build()); + register(context, BOPTreeFeatures.RED_MAPLE_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.RED_MAPLE_LEAVES)).minHeight(5).maxHeight(10).build()); + register(context, BOPTreeFeatures.ORANGE_MAPLE_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.ORANGE_MAPLE_LEAVES)).minHeight(5).maxHeight(8).build()); + register(context, BOPTreeFeatures.YELLOW_MAPLE_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.YELLOW_MAPLE_LEAVES)).minHeight(5).maxHeight(8).build()); + register(context, BOPTreeFeatures.ORIGIN_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.ORIGIN_LEAVES)).minHeight(5).maxHeight(8).build()); + register(context, BOPTreeFeatures.RAINBOW_BIRCH_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.BIRCH_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.RAINBOW_BIRCH_LEAVES)).build()); + register(context, BOPTreeFeatures.SMALL_DEAD_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES)).build()); + register(context, BOPTreeFeatures.WILLOW_TREE, BOPBaseFeatures.BASIC_TREE, new BasicTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.WILLOW_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.WILLOW_LEAVES)).vine(BlockStateProvider.simple(BOPBlocks.WILLOW_VINE)).minHeight(6).maxHeight(10).leavesOffset(0).maxLeavesRadius(2).build()); + register(context, BOPTreeFeatures.ASPEN_TREE, BOPBaseFeatures.POPLAR_TREE, new PoplarTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.BIRCH_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.YELLOW_MAPLE_LEAVES)).maxHeight(20).build()); + register(context, BOPTreeFeatures.BIG_FLOWERING_OAK_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES)).build()); + register(context, BOPTreeFeatures.BIG_FLOWERING_OAK_TREE_BEES, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES)).decorator(new BeehiveDecorator(0.05f)).build()); + register(context, BOPTreeFeatures.BIG_HELLBARK_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.HELLBARK_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.HELLBARK_LEAVES)).maxHeight(10).foliageHeight(2).build()); + register(context, BOPTreeFeatures.BIG_JACARANDA_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.JACARANDA_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES)).hanging(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES)).build()); + register(context, BOPTreeFeatures.BIG_JACARANDA_TREE_BEES, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.JACARANDA_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES)).hanging(BlockStateProvider.simple(BOPBlocks.JACARANDA_LEAVES)).decorator(new BeehiveDecorator(0.05f)).build()); + register(context, BOPTreeFeatures.BIG_RED_MAPLE_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.RED_MAPLE_LEAVES)).build()); + register(context, BOPTreeFeatures.BIG_ORANGE_MAPLE_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.ORANGE_MAPLE_LEAVES)).build()); + register(context, BOPTreeFeatures.BIG_YELLOW_MAPLE_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.YELLOW_MAPLE_LEAVES)).build()); register(context, BOPTreeFeatures.BIG_OAK_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().build()); - register(context, BOPTreeFeatures.BIG_ORIGIN_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.ORIGIN_LEAVES.get())).build()); - register(context, BOPTreeFeatures.BIG_RAINBOW_BIRCH_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.BIRCH_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.RAINBOW_BIRCH_LEAVES.get())).build()); - register(context, BOPTreeFeatures.DYING_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES.get())).maxHeight(10).foliageHeight(2).build()); - register(context, BOPTreeFeatures.DYING_TREE_WASTELAND, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES.get())).maxHeight(10).foliageHeight(1).build()); + register(context, BOPTreeFeatures.BIG_ORIGIN_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.ORIGIN_LEAVES)).build()); + register(context, BOPTreeFeatures.BIG_RAINBOW_BIRCH_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.BIRCH_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.RAINBOW_BIRCH_LEAVES)).build()); + register(context, BOPTreeFeatures.DYING_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES)).maxHeight(10).foliageHeight(2).build()); + register(context, BOPTreeFeatures.DYING_TREE_WASTELAND, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES)).maxHeight(10).foliageHeight(1).build()); register(context, BOPTreeFeatures.GIANT_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.DARK_OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.DARK_OAK_LEAVES.defaultBlockState().setValue(LeavesBlock.PERSISTENT, true))).minHeight(15).maxHeight(20).trunkWidth(4).build()); register(context, BOPTreeFeatures.SPARSE_ACACIA_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.ACACIA_LOG)).foliage(BlockStateProvider.simple(Blocks.ACACIA_LEAVES)).maxHeight(8).foliageHeight(1).build()); register(context, BOPTreeFeatures.SPARSE_OAK_TREE, BOPBaseFeatures.BIG_TREE, new BigTreeConfiguration.Builder().maxHeight(10).foliageHeight(2).build()); @@ -135,8 +135,8 @@ public static void bootstrap(BootstapContext> context) register(context, BOPTreeFeatures.FIR_TREE_SMALL, BOPBaseFeatures.TAIGA_TREE, createFir().minHeight(5).maxHeight(11).build()); register(context, BOPTreeFeatures.TALL_SPRUCE_TREE, BOPBaseFeatures.TAIGA_TREE, new TaigaTreeConfiguration.Builder().maxHeight(13).build()); register(context, BOPTreeFeatures.TALL_SPRUCE_TREE_BEES, BOPBaseFeatures.TAIGA_TREE, new TaigaTreeConfiguration.Builder().maxHeight(13).decorator(new BeehiveDecorator(0.05f)).build()); - register(context, BOPTreeFeatures.TALL_UMBRAN_TREE, BOPBaseFeatures.UMBRAN_TREE, new TaigaTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.UMBRAN_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.UMBRAN_LEAVES.get())).minHeight(20).maxHeight(30).trunkWidth(2).build()); - register(context, BOPTreeFeatures.UMBRAN_TREE, BOPBaseFeatures.UMBRAN_TREE, new TaigaTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.UMBRAN_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.UMBRAN_LEAVES.get())).maxHeight(20).build()); + register(context, BOPTreeFeatures.TALL_UMBRAN_TREE, BOPBaseFeatures.UMBRAN_TREE, new TaigaTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.UMBRAN_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.UMBRAN_LEAVES)).minHeight(20).maxHeight(30).trunkWidth(2).build()); + register(context, BOPTreeFeatures.UMBRAN_TREE, BOPBaseFeatures.UMBRAN_TREE, new TaigaTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.UMBRAN_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.UMBRAN_LEAVES)).maxHeight(20).build()); register(context, BOPTreeFeatures.MAGIC_TREE, BOPBaseFeatures.MAGIC_TREE, new MagicTreeConfiguration.Builder().minHeight(5).maxHeight(12).build()); register(context, BOPTreeFeatures.BIG_MAGIC_TREE, BOPBaseFeatures.MAGIC_TREE, new MagicTreeConfiguration.Builder().minHeight(16).maxHeight(20).build()); register(context, BOPTreeFeatures.DARK_OAK_POPLAR_TREE, BOPBaseFeatures.POPLAR_TREE, new PoplarTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.DARK_OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.DARK_OAK_LEAVES)).leavesAtBottom(true).build()); @@ -144,47 +144,47 @@ public static void bootstrap(BootstapContext> context) register(context, BOPTreeFeatures.CYPRESS_TREE, BOPBaseFeatures.CYPRESS_TREE, new CypressTreeConfiguration.Builder().build()); register(context, BOPTreeFeatures.CYPRESS_TREE_MEDIUM, BOPBaseFeatures.CYPRESS_TREE, new CypressTreeConfiguration.Builder().minHeight(18).maxHeight(25).trunkWidth(2).build()); register(context, BOPTreeFeatures.ACACIA_BUSH_TREE, BOPBaseFeatures.BUSH_TREE, new BasicTreeConfiguration.Builder().maxHeight(2).minHeight(2).trunk(BlockStateProvider.simple(Blocks.ACACIA_LOG)).foliage(BlockStateProvider.simple(Blocks.ACACIA_LEAVES)).build()); - register(context, BOPTreeFeatures.FLOWERING_OAK_BUSH, BOPBaseFeatures.BUSH_TREE, new BasicTreeConfiguration.Builder().maxHeight(2).minHeight(2).trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES.get())).build()); + register(context, BOPTreeFeatures.FLOWERING_OAK_BUSH, BOPBaseFeatures.BUSH_TREE, new BasicTreeConfiguration.Builder().maxHeight(2).minHeight(2).trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).altFoliage(BlockStateProvider.simple(BOPBlocks.FLOWERING_OAK_LEAVES)).build()); register(context, BOPTreeFeatures.JUNGLE_BUSH, BOPBaseFeatures.BUSH_TREE, new BasicTreeConfiguration.Builder().maxHeight(2).minHeight(2).trunk(BlockStateProvider.simple(Blocks.JUNGLE_LOG)).foliage(BlockStateProvider.simple(Blocks.JUNGLE_LEAVES)).build()); register(context, BOPTreeFeatures.OAK_BUSH, BOPBaseFeatures.BUSH_TREE, new BasicTreeConfiguration.Builder().maxHeight(2).minHeight(2).trunk(BlockStateProvider.simple(Blocks.OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.OAK_LEAVES)).build()); register(context, BOPTreeFeatures.SPRUCE_BUSH, BOPBaseFeatures.BUSH_TREE, new BasicTreeConfiguration.Builder().maxHeight(2).minHeight(2).trunk(BlockStateProvider.simple(Blocks.SPRUCE_LOG)).foliage(BlockStateProvider.simple(Blocks.SPRUCE_LEAVES)).build()); register(context, BOPTreeFeatures.ACACIA_TWIGLET, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.ACACIA_LOG)).foliage(BlockStateProvider.simple(Blocks.ACACIA_LEAVES)).build()); register(context, BOPTreeFeatures.ACACIA_TWIGLET_SMALL, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.ACACIA_LOG)).foliage(BlockStateProvider.simple(Blocks.ACACIA_LEAVES)).minHeight(1).maxHeight(2).build()); - register(context, BOPTreeFeatures.DEAD_TREE_WASTELAND, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunkFruit(BlockStateProvider.simple(BOPBlocks.DEAD_BRANCH.get())).leafChance(0.0F, 0.0F).trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG.get())).foliage(BlockStateProvider.simple(Blocks.AIR)).minHeight(6).maxHeight(10).build()); - register(context, BOPTreeFeatures.DEAD_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunkFruit(BlockStateProvider.simple(BOPBlocks.DEAD_BRANCH.get())).leafChance(0.05F, 0.25F).trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES.get())).minHeight(6).maxHeight(10).build()); - register(context, BOPTreeFeatures.DEAD_TWIGLET_TREE_SMALL, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES.get())).minHeight(1).maxHeight(2).build()); - register(context, BOPTreeFeatures.HELLBARK_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.HELLBARK_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.HELLBARK_LEAVES.get())).minHeight(3).maxHeight(7).leafChance(0.75F,1.0F).build()); + register(context, BOPTreeFeatures.DEAD_TREE_WASTELAND, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunkFruit(BlockStateProvider.simple(BOPBlocks.DEAD_BRANCH)).leafChance(0.0F, 0.0F).trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG)).foliage(BlockStateProvider.simple(Blocks.AIR)).minHeight(6).maxHeight(10).build()); + register(context, BOPTreeFeatures.DEAD_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunkFruit(BlockStateProvider.simple(BOPBlocks.DEAD_BRANCH)).leafChance(0.05F, 0.25F).trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES)).minHeight(6).maxHeight(10).build()); + register(context, BOPTreeFeatures.DEAD_TWIGLET_TREE_SMALL, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES)).minHeight(1).maxHeight(2).build()); + register(context, BOPTreeFeatures.HELLBARK_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.HELLBARK_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.HELLBARK_LEAVES)).minHeight(3).maxHeight(7).leafChance(0.75F,1.0F).build()); register(context, BOPTreeFeatures.JUNGLE_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.JUNGLE_LOG)).foliage(BlockStateProvider.simple(Blocks.JUNGLE_LEAVES)).trunkFruit(BlockStateProvider.simple(Blocks.COCOA)).minHeight(1).maxHeight(2).build()); register(context, BOPTreeFeatures.MANGROVE_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.MANGROVE_LOG)).foliage(BlockStateProvider.simple(Blocks.MANGROVE_LEAVES)).minHeight(1).maxHeight(2).build()); - register(context, BOPTreeFeatures.MAPLE_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.RED_MAPLE_LEAVES.get())).minHeight(1).maxHeight(2).build()); + register(context, BOPTreeFeatures.MAPLE_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.MAPLE_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.RED_MAPLE_LEAVES)).minHeight(1).maxHeight(2).build()); register(context, BOPTreeFeatures.CHERRY_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.CHERRY_LOG)).foliage(BlockStateProvider.simple(Blocks.CHERRY_LEAVES)).minHeight(1).maxHeight(1).leafChance(1.0F, 1.0F).build()); - register(context, BOPTreeFeatures.SNOWBLOSSOM_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.CHERRY_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.SNOWBLOSSOM_LEAVES.get())).minHeight(2).maxHeight(2).leafChance(1.0F, 1.0F).build()); + register(context, BOPTreeFeatures.SNOWBLOSSOM_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.CHERRY_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.SNOWBLOSSOM_LEAVES)).minHeight(2).maxHeight(2).leafChance(1.0F, 1.0F).build()); register(context, BOPTreeFeatures.SPRUCE_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.SPRUCE_LOG)).foliage(BlockStateProvider.simple(Blocks.SPRUCE_LEAVES)).minHeight(1).maxHeight(2).build()); - register(context, BOPTreeFeatures.TALL_DEAD_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunkFruit(BlockStateProvider.simple(BOPBlocks.DEAD_BRANCH.get())).leafChance(0.15F, 0.6F).trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES.get())).minHeight(12).maxHeight(18).build()); + register(context, BOPTreeFeatures.TALL_DEAD_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunkFruit(BlockStateProvider.simple(BOPBlocks.DEAD_BRANCH)).leafChance(0.15F, 0.6F).trunk(BlockStateProvider.simple(BOPBlocks.DEAD_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.DEAD_LEAVES)).minHeight(12).maxHeight(18).build()); register(context, BOPTreeFeatures.TALL_TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().minHeight(2).maxHeight(4).build()); register(context, BOPTreeFeatures.TWIGLET_TREE, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().minHeight(1).maxHeight(2).build()); register(context, BOPTreeFeatures.TWIGLET_TREE_VOLCANO, BOPBaseFeatures.TWIGLET_TREE, new TwigletTreeConfiguration.Builder().trunk(BlockStateProvider.simple(Blocks.DARK_OAK_LOG)).foliage(BlockStateProvider.simple(Blocks.DARK_OAK_LEAVES)).minHeight(1).maxHeight(2).build()); - register(context, BOPTreeFeatures.REDWOOD_TREE, BOPBaseFeatures.REDWOOD_TREE, createRedwood(BOPBlocks.REDWOOD_LOG.get()).minHeight(10).maxHeight(30).build()); - register(context, BOPTreeFeatures.REDWOOD_TREE_MEDIUM, BOPBaseFeatures.REDWOOD_TREE, createRedwood(BOPBlocks.REDWOOD_WOOD.get()).minHeight(25).maxHeight(40).trunkWidth(2).build()); + register(context, BOPTreeFeatures.REDWOOD_TREE, BOPBaseFeatures.REDWOOD_TREE, createRedwood(BOPBlocks.REDWOOD_LOG).minHeight(10).maxHeight(30).build()); + register(context, BOPTreeFeatures.REDWOOD_TREE_MEDIUM, BOPBaseFeatures.REDWOOD_TREE, createRedwood(BOPBlocks.REDWOOD_WOOD).minHeight(25).maxHeight(40).trunkWidth(2).build()); register(context, BOPTreeFeatures.MAHOGANY_TREE, BOPBaseFeatures.MAHOGANY_TREE, new MahoganyTreeConfiguration.Builder().build()); register(context, BOPTreeFeatures.PALM_TREE, BOPBaseFeatures.PALM_TREE, new PalmTreeConfiguration.Builder().build()); register(context, BOPTreeFeatures.SNOWBLOSSOM_TREE, Feature.TREE, snowblossom().build()); - register(context, BOPTreeFeatures.REDWOOD_TREE_LARGE, BOPBaseFeatures.REDWOOD_TREE, createRedwood(BOPBlocks.REDWOOD_WOOD.get()).minHeight(45).maxHeight(60).trunkWidth(3).build()); + register(context, BOPTreeFeatures.REDWOOD_TREE_LARGE, BOPBaseFeatures.REDWOOD_TREE, createRedwood(BOPBlocks.REDWOOD_WOOD).minHeight(45).maxHeight(60).trunkWidth(3).build()); register(context, BOPTreeFeatures.PINE_TREE, BOPBaseFeatures.PINE_TREE, new PineTreeConfiguration.Builder().build()); } private static TreeConfiguration.TreeConfigurationBuilder snowblossom() { - return (new TreeConfiguration.TreeConfigurationBuilder(BlockStateProvider.simple(Blocks.CHERRY_LOG), new CherryTrunkPlacer(7, 1, 0, new WeightedListInt(SimpleWeightedRandomList.builder().add(ConstantInt.of(1), 1).add(ConstantInt.of(2), 1).add(ConstantInt.of(3), 1).build()), UniformInt.of(2, 4), UniformInt.of(-4, -3), UniformInt.of(-1, 0)), BlockStateProvider.simple(BOPBlocks.SNOWBLOSSOM_LEAVES.get()), new CherryFoliagePlacer(ConstantInt.of(4), ConstantInt.of(0), ConstantInt.of(5), 0.25F, 0.5F, 0.16666667F, 0.33333334F), new TwoLayersFeatureSize(1, 0, 2))).ignoreVines(); + return (new TreeConfiguration.TreeConfigurationBuilder(BlockStateProvider.simple(Blocks.CHERRY_LOG), new CherryTrunkPlacer(7, 1, 0, new WeightedListInt(SimpleWeightedRandomList.builder().add(ConstantInt.of(1), 1).add(ConstantInt.of(2), 1).add(ConstantInt.of(3), 1).build()), UniformInt.of(2, 4), UniformInt.of(-4, -3), UniformInt.of(-1, 0)), BlockStateProvider.simple(BOPBlocks.SNOWBLOSSOM_LEAVES), new CherryFoliagePlacer(ConstantInt.of(4), ConstantInt.of(0), ConstantInt.of(5), 0.25F, 0.5F, 0.16666667F, 0.33333334F), new TwoLayersFeatureSize(1, 0, 2))).ignoreVines(); } private static TaigaTreeConfiguration.Builder createFir() { - return new TaigaTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.FIR_LOG.get())).foliage(BlockStateProvider.simple(BOPBlocks.FIR_LEAVES.get())); + return new TaigaTreeConfiguration.Builder().trunk(BlockStateProvider.simple(BOPBlocks.FIR_LOG)).foliage(BlockStateProvider.simple(BOPBlocks.FIR_LEAVES)); } private static TaigaTreeConfiguration.Builder createRedwood(Block log) { - return new TaigaTreeConfiguration.Builder().trunk(BlockStateProvider.simple(log)).foliage(BlockStateProvider.simple(BOPBlocks.REDWOOD_LEAVES.get())); + return new TaigaTreeConfiguration.Builder().trunk(BlockStateProvider.simple(log)).foliage(BlockStateProvider.simple(BOPBlocks.REDWOOD_LEAVES)); } private static > void register(BootstapContext> context, ResourceKey> configuredFeatureKey, F feature, FC configuration) diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPVegetationFeatures.java b/common/src/main/java/biomesoplenty/worldgen/feature/BOPVegetationFeatures.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPVegetationFeatures.java rename to common/src/main/java/biomesoplenty/worldgen/feature/BOPVegetationFeatures.java index 27f04474ed..d2a0c1ac6e 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPVegetationFeatures.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/BOPVegetationFeatures.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature; +package biomesoplenty.worldgen.feature; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.worldgen.placement.BOPTreePlacements; -import biomesoplenty.forge.common.util.worldgen.BOPFeatureUtils; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.worldgen.placement.BOPTreePlacements; +import biomesoplenty.util.worldgen.BOPFeatureUtils; import com.google.common.collect.ImmutableList; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -239,7 +239,7 @@ public static void bootstrap(BootstapContext> context) register(context, BOPVegetationFeatures.FALLEN_FIR_LOG, BOPBaseFeatures.FALLEN_FIR_LOG, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.FALLEN_BIRCH_LOG, BOPBaseFeatures.FALLEN_BIRCH_LOG, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.FALLEN_JACARANDA_LOG, BOPBaseFeatures.FALLEN_JACARANDA_LOG, NoneFeatureConfiguration.INSTANCE); - register(context, BOPVegetationFeatures.GOLDENROD, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.GOLDENROD.get())))); + register(context, BOPVegetationFeatures.GOLDENROD, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.GOLDENROD)))); register(context, BOPVegetationFeatures.HOT_SPRING_VENTS, BOPBaseFeatures.HOT_SPRING_VENTS, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.HUGE_CLOVER, BOPBaseFeatures.HUGE_CLOVER, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.HUGE_LILY_PAD, BOPBaseFeatures.HUGE_LILY_PAD, NoneFeatureConfiguration.INSTANCE); @@ -247,25 +247,25 @@ public static void bootstrap(BootstapContext> context) register(context, BOPVegetationFeatures.DRIPSTONE_SPLATTER, BOPBaseFeatures.DRIPSTONE_SPLATTER, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.MOSS_SPLATTER, BOPBaseFeatures.MOSS_SPLATTER, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.MYCELIUM_SPLATTER, BOPBaseFeatures.MYCELIUM_SPLATTER, NoneFeatureConfiguration.INSTANCE); - register(context, BOPVegetationFeatures.PATCH_BARLEY, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BARLEY.get())))); - register(context, BOPVegetationFeatures.PATCH_BLUE_HYDRANGEA, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BLUE_HYDRANGEA.get())))); - register(context, BOPVegetationFeatures.PATCH_BUSH, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BUSH.get())))); - register(context, BOPVegetationFeatures.PATCH_CATTAIL, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.CATTAIL.get())))); - register(context, BOPVegetationFeatures.PATCH_DEAD_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.DEAD_GRASS.get())))); - register(context, BOPVegetationFeatures.PATCH_DESERT_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.DESERT_GRASS.get())))); - register(context, BOPVegetationFeatures.PATCH_DUNE_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.DUNE_GRASS.get())))); + register(context, BOPVegetationFeatures.PATCH_BARLEY, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BARLEY)))); + register(context, BOPVegetationFeatures.PATCH_BLUE_HYDRANGEA, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BLUE_HYDRANGEA)))); + register(context, BOPVegetationFeatures.PATCH_BUSH, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.BUSH)))); + register(context, BOPVegetationFeatures.PATCH_CATTAIL, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.CATTAIL)))); + register(context, BOPVegetationFeatures.PATCH_DEAD_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.DEAD_GRASS)))); + register(context, BOPVegetationFeatures.PATCH_DESERT_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.DESERT_GRASS)))); + register(context, BOPVegetationFeatures.PATCH_DUNE_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.DUNE_GRASS)))); register(context, BOPVegetationFeatures.PATCH_FERN, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.FERN)))); - register(context, BOPVegetationFeatures.PATCH_ICY_IRIS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.ICY_IRIS.get())))); + register(context, BOPVegetationFeatures.PATCH_ICY_IRIS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.ICY_IRIS)))); register(context, BOPVegetationFeatures.PATCH_LILAC, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.LILAC)))); register(context, BOPVegetationFeatures.PATCH_PEONY, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.PEONY)))); - register(context, BOPVegetationFeatures.PATCH_REED, Feature.RANDOM_PATCH, waterPatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.REED.get())))); - register(context, BOPVegetationFeatures.PATCH_SEA_OATS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SEA_OATS.get())))); - register(context, BOPVegetationFeatures.PATCH_SPROUTS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SPROUT.get())))); - register(context, BOPVegetationFeatures.PATCH_TALL_LAVENDER, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TALL_LAVENDER.get())))); - register(context, BOPVegetationFeatures.PATCH_TINY_CACTUS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TINY_CACTUS.get())))); - register(context, BOPVegetationFeatures.PATCH_TUNDRA_SHRUBS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TUNDRA_SHRUB.get())))); - register(context, BOPVegetationFeatures.PATCH_WATERGRASS, Feature.RANDOM_PATCH, waterPatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WATERGRASS.get())))); - register(context, BOPVegetationFeatures.PATCH_WATERLILY_FLOWER, Feature.RANDOM_PATCH, new RandomPatchConfiguration(10, 7, 3, PlacementUtils.onlyWhenEmpty(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WATERLILY.get()))))); + register(context, BOPVegetationFeatures.PATCH_REED, Feature.RANDOM_PATCH, waterPatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.REED)))); + register(context, BOPVegetationFeatures.PATCH_SEA_OATS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SEA_OATS)))); + register(context, BOPVegetationFeatures.PATCH_SPROUTS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.SPROUT)))); + register(context, BOPVegetationFeatures.PATCH_TALL_LAVENDER, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TALL_LAVENDER)))); + register(context, BOPVegetationFeatures.PATCH_TINY_CACTUS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TINY_CACTUS)))); + register(context, BOPVegetationFeatures.PATCH_TUNDRA_SHRUBS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TUNDRA_SHRUB)))); + register(context, BOPVegetationFeatures.PATCH_WATERGRASS, Feature.RANDOM_PATCH, waterPatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WATERGRASS)))); + register(context, BOPVegetationFeatures.PATCH_WATERLILY_FLOWER, Feature.RANDOM_PATCH, new RandomPatchConfiguration(10, 7, 3, PlacementUtils.onlyWhenEmpty(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WATERLILY))))); register(context, BOPVegetationFeatures.PUMPKIN_PATCH, BOPBaseFeatures.PUMPKIN_PATCH, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.RED_MAPLE_LEAF_PILES, BOPBaseFeatures.RED_MAPLE_LEAF_PILE, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.ORANGE_MAPLE_LEAF_PILES, BOPBaseFeatures.ORANGE_MAPLE_LEAF_PILE, NoneFeatureConfiguration.INSTANCE); @@ -283,14 +283,14 @@ public static void bootstrap(BootstapContext> context) register(context, BOPVegetationFeatures.SMALL_BROWN_MUSHROOM, BOPBaseFeatures.SMALL_BROWN_MUSHROOM, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.SMALL_RED_MUSHROOM, BOPBaseFeatures.SMALL_RED_MUSHROOM, NoneFeatureConfiguration.INSTANCE); register(context, BOPVegetationFeatures.SMALL_TOADSTOOL, BOPBaseFeatures.SMALL_TOADSTOOL, NoneFeatureConfiguration.INSTANCE); - register(context, BOPVegetationFeatures.TOADSTOOL_NORMAL, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TOADSTOOL.get())))); - register(context, BOPVegetationFeatures.WASTELAND_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.DESERT_GRASS.get().defaultBlockState(), 1).add(BOPBlocks.DEAD_GRASS.get().defaultBlockState(), 2).build())))); + register(context, BOPVegetationFeatures.TOADSTOOL_NORMAL, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.TOADSTOOL)))); + register(context, BOPVegetationFeatures.WASTELAND_GRASS, Feature.RANDOM_PATCH, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.DESERT_GRASS.defaultBlockState(), 1).add(BOPBlocks.DEAD_GRASS.defaultBlockState(), 2).build())))); SimpleWeightedRandomList.Builder builder = SimpleWeightedRandomList.builder(); for(int i = 1; i <= 4; ++i) { for(Direction direction : Direction.Plane.HORIZONTAL) { - builder.add(BOPBlocks.CLOVER.get().defaultBlockState().setValue(PinkPetalsBlock.AMOUNT, Integer.valueOf(i)).setValue(PinkPetalsBlock.FACING, direction), 1); + builder.add(BOPBlocks.CLOVER.defaultBlockState().setValue(PinkPetalsBlock.AMOUNT, Integer.valueOf(i)).setValue(PinkPetalsBlock.FACING, direction), 1); } } @@ -300,7 +300,7 @@ public static void bootstrap(BootstapContext> context) for(int i = 1; i <= 4; ++i) { for(Direction direction : Direction.Plane.HORIZONTAL) { - builder2.add(BOPBlocks.WHITE_PETALS.get().defaultBlockState().setValue(PinkPetalsBlock.AMOUNT, Integer.valueOf(i)).setValue(PinkPetalsBlock.FACING, direction), 1); + builder2.add(BOPBlocks.WHITE_PETALS.defaultBlockState().setValue(PinkPetalsBlock.AMOUNT, Integer.valueOf(i)).setValue(PinkPetalsBlock.FACING, direction), 1); } } @@ -311,22 +311,22 @@ public static void bootstrap(BootstapContext> context) register(context, BOPVegetationFeatures.FLOWER_DEFAULT_EXTENDED, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(Blocks.OXEYE_DAISY.defaultBlockState(), 1).add(Blocks.POPPY.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); register(context, BOPVegetationFeatures.FLOWER_FIELD_1, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(Blocks.LILY_OF_THE_VALLEY.defaultBlockState(), 1).add(Blocks.AZURE_BLUET.defaultBlockState(), 1).add(Blocks.POPPY.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); register(context, BOPVegetationFeatures.FLOWER_FIELD_2, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(Blocks.PINK_TULIP.defaultBlockState(), 1).add(Blocks.RED_TULIP.defaultBlockState(), 1).add(Blocks.WHITE_TULIP.defaultBlockState(), 1).add(Blocks.ORANGE_TULIP.defaultBlockState(), 1)), 64)); - register(context, BOPVegetationFeatures.FLOWER_GRASSLAND, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.PINK_DAFFODIL.get().defaultBlockState(), 1)), 64)); + register(context, BOPVegetationFeatures.FLOWER_GRASSLAND, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.PINK_DAFFODIL.defaultBlockState(), 1)), 64)); register(context, BOPVegetationFeatures.FLOWER_JACARANDA_GLADE, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(Blocks.LILY_OF_THE_VALLEY.defaultBlockState(), 3).add(Blocks.BLUE_ORCHID.defaultBlockState(), 1)), 64)); - register(context, BOPVegetationFeatures.FLOWER_LAVENDER, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.LAVENDER.get())))); - register(context, BOPVegetationFeatures.FLOWER_MOOR, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(Blocks.ALLIUM.defaultBlockState(), 1).add(BOPBlocks.VIOLET.get().defaultBlockState(), 1)), 64)); - register(context, BOPVegetationFeatures.FLOWER_MYSTIC_GROVE, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.GLOWFLOWER.get().defaultBlockState(), 1).add(BOPBlocks.PINK_DAFFODIL.get().defaultBlockState(), 1).add(Blocks.AZURE_BLUET.defaultBlockState(), 1).add(Blocks.ALLIUM.defaultBlockState(), 1)), 64)); + register(context, BOPVegetationFeatures.FLOWER_LAVENDER, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.LAVENDER)))); + register(context, BOPVegetationFeatures.FLOWER_MOOR, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(Blocks.ALLIUM.defaultBlockState(), 1).add(BOPBlocks.VIOLET.defaultBlockState(), 1)), 64)); + register(context, BOPVegetationFeatures.FLOWER_MYSTIC_GROVE, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.GLOWFLOWER.defaultBlockState(), 1).add(BOPBlocks.PINK_DAFFODIL.defaultBlockState(), 1).add(Blocks.AZURE_BLUET.defaultBlockState(), 1).add(Blocks.ALLIUM.defaultBlockState(), 1)), 64)); register(context, BOPVegetationFeatures.FLOWER_OMINOUS_WOODS, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.WITHER_ROSE)))); - register(context, BOPVegetationFeatures.FLOWER_ORIGIN_VALLEY, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.ROSE.get().defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); + register(context, BOPVegetationFeatures.FLOWER_ORIGIN_VALLEY, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.ROSE.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); register(context, BOPVegetationFeatures.FLOWER_POPPY, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.POPPY)))); - register(context, BOPVegetationFeatures.FLOWER_RAINFOREST, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.ORANGE_COSMOS.get().defaultBlockState(), 1).add(Blocks.POPPY.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); + register(context, BOPVegetationFeatures.FLOWER_RAINFOREST, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.ORANGE_COSMOS.defaultBlockState(), 1).add(Blocks.POPPY.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); register(context, BOPVegetationFeatures.FLOWER_SHRUBLAND, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(Blocks.ALLIUM)))); - register(context, BOPVegetationFeatures.FLOWER_SNOWY, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.VIOLET.get().defaultBlockState(), 1).add(Blocks.POPPY.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); - register(context, BOPVegetationFeatures.FLOWER_TROPICS, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.PINK_HIBISCUS.get().defaultBlockState(), 1).add(Blocks.POPPY.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); - register(context, BOPVegetationFeatures.FLOWER_VIOLET, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.VIOLET.get())))); - register(context, BOPVegetationFeatures.FLOWER_WASTELAND, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WILTED_LILY.get())))); + register(context, BOPVegetationFeatures.FLOWER_SNOWY, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.VIOLET.defaultBlockState(), 1).add(Blocks.POPPY.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); + register(context, BOPVegetationFeatures.FLOWER_TROPICS, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(BOPBlocks.PINK_HIBISCUS.defaultBlockState(), 1).add(Blocks.POPPY.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); + register(context, BOPVegetationFeatures.FLOWER_VIOLET, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.VIOLET)))); + register(context, BOPVegetationFeatures.FLOWER_WASTELAND, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WILTED_LILY)))); register(context, BOPVegetationFeatures.FLOWER_WETLAND, Feature.FLOWER, grassPatch(new WeightedStateProvider(SimpleWeightedRandomList.builder().add(Blocks.BLUE_ORCHID.defaultBlockState(), 1).add(Blocks.POPPY.defaultBlockState(), 1).add(Blocks.DANDELION.defaultBlockState(), 1)), 64)); - register(context, BOPVegetationFeatures.FLOWER_WILDFLOWER, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WILDFLOWER.get())))); + register(context, BOPVegetationFeatures.FLOWER_WILDFLOWER, Feature.FLOWER, FeatureUtils.simplePatchConfiguration(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(BOPBlocks.WILDFLOWER)))); register(context, BOPVegetationFeatures.TREES_ASPEN_GLADE, Feature.RANDOM_SELECTOR, new RandomFeatureConfiguration(ImmutableList.of(new WeightedPlacedFeature(BIG_YELLOW_MAPLE_TREE_CHECKED, 0.05F)), ASPEN_TREE_CHECKED)); register(context, BOPVegetationFeatures.TREES_AURORAL_GARDEN, Feature.RANDOM_SELECTOR, new RandomFeatureConfiguration(ImmutableList.of(new WeightedPlacedFeature(OAK_BUSH_CHECKED, 0.1F), new WeightedPlacedFeature(FIR_TREE_SMALL_CHECKED, 0.1F), new WeightedPlacedFeature(FIR_TREE_CHECKED, 0.025F), new WeightedPlacedFeature(BIG_RAINBOW_BIRCH_TREE_CHECKED, 0.4F)), RAINBOW_BIRCH_TREE_CHECKED)); register(context, BOPVegetationFeatures.TREES_BAYOU, Feature.RANDOM_SELECTOR, new RandomFeatureConfiguration(ImmutableList.of(new WeightedPlacedFeature(CYPRESS_TREE_MEDIUM_CHECKED, 0.3F)), CYPRESS_TREE_CHECKED)); @@ -369,7 +369,7 @@ public static void bootstrap(BootstapContext> context) } private static TreeConfiguration.TreeConfigurationBuilder snowblossom() { - return (new TreeConfiguration.TreeConfigurationBuilder(BlockStateProvider.simple(Blocks.CHERRY_LOG), new CherryTrunkPlacer(7, 1, 0, new WeightedListInt(SimpleWeightedRandomList.builder().add(ConstantInt.of(1), 1).add(ConstantInt.of(2), 1).add(ConstantInt.of(3), 1).build()), UniformInt.of(2, 4), UniformInt.of(-4, -3), UniformInt.of(-1, 0)), BlockStateProvider.simple(BOPBlocks.SNOWBLOSSOM_LEAVES.get()), new CherryFoliagePlacer(ConstantInt.of(4), ConstantInt.of(0), ConstantInt.of(5), 0.25F, 0.5F, 0.16666667F, 0.33333334F), new TwoLayersFeatureSize(1, 0, 2))).ignoreVines(); + return (new TreeConfiguration.TreeConfigurationBuilder(BlockStateProvider.simple(Blocks.CHERRY_LOG), new CherryTrunkPlacer(7, 1, 0, new WeightedListInt(SimpleWeightedRandomList.builder().add(ConstantInt.of(1), 1).add(ConstantInt.of(2), 1).add(ConstantInt.of(3), 1).build()), UniformInt.of(2, 4), UniformInt.of(-4, -3), UniformInt.of(-1, 0)), BlockStateProvider.simple(BOPBlocks.SNOWBLOSSOM_LEAVES), new CherryFoliagePlacer(ConstantInt.of(4), ConstantInt.of(0), ConstantInt.of(5), 0.25F, 0.5F, 0.16666667F, 0.33333334F), new TwoLayersFeatureSize(1, 0, 2))).ignoreVines(); } private static RandomPatchConfiguration grassPatch(BlockStateProvider stateProvider, int tries) diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/BOPTreeConfiguration.java b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/BOPTreeConfiguration.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/BOPTreeConfiguration.java rename to common/src/main/java/biomesoplenty/worldgen/feature/configurations/BOPTreeConfiguration.java index 700b1c9b02..dee7e63d0b 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/BOPTreeConfiguration.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/BOPTreeConfiguration.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.configurations; +package biomesoplenty.worldgen.feature.configurations; import com.google.common.collect.Lists; import com.mojang.serialization.Codec; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/BasicTreeConfiguration.java b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/BasicTreeConfiguration.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/BasicTreeConfiguration.java rename to common/src/main/java/biomesoplenty/worldgen/feature/configurations/BasicTreeConfiguration.java index 0b801804ea..9c7e162302 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/BasicTreeConfiguration.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/BasicTreeConfiguration.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.configurations; +package biomesoplenty.worldgen.feature.configurations; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/BigTreeConfiguration.java b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/BigTreeConfiguration.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/BigTreeConfiguration.java rename to common/src/main/java/biomesoplenty/worldgen/feature/configurations/BigTreeConfiguration.java index 356ae6c262..937561e0c5 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/BigTreeConfiguration.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/BigTreeConfiguration.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.configurations; +package biomesoplenty.worldgen.feature.configurations; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/CypressTreeConfiguration.java b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/CypressTreeConfiguration.java similarity index 92% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/CypressTreeConfiguration.java rename to common/src/main/java/biomesoplenty/worldgen/feature/configurations/CypressTreeConfiguration.java index fb9fcdc9e0..2516b5a3de 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/CypressTreeConfiguration.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/CypressTreeConfiguration.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.configurations; +package biomesoplenty.worldgen.feature.configurations; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider; @@ -46,9 +46,9 @@ public Builder() { this.minHeight = 8; this.maxHeight = 15; - this.trunkProvider = BlockStateProvider.simple(BOPBlocks.WILLOW_LOG.get().defaultBlockState()); - this.foliageProvider = BlockStateProvider.simple(BOPBlocks.WILLOW_LEAVES.get().defaultBlockState()); - this.vineProvider = BlockStateProvider.simple(BOPBlocks.WILLOW_VINE.get().defaultBlockState()); + this.trunkProvider = BlockStateProvider.simple(BOPBlocks.WILLOW_LOG.defaultBlockState()); + this.foliageProvider = BlockStateProvider.simple(BOPBlocks.WILLOW_LEAVES.defaultBlockState()); + this.vineProvider = BlockStateProvider.simple(BOPBlocks.WILLOW_VINE.defaultBlockState()); this.trunkWidth = 1; } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/MagicTreeConfiguration.java b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/MagicTreeConfiguration.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/MagicTreeConfiguration.java rename to common/src/main/java/biomesoplenty/worldgen/feature/configurations/MagicTreeConfiguration.java index 06865d57c4..497fa658fd 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/configurations/MagicTreeConfiguration.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/configurations/MagicTreeConfiguration.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.configurations; +package biomesoplenty.worldgen.feature.configurations; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider; @@ -37,8 +37,8 @@ public static class Builder extends BOPTreeConfiguration.Builder featurePlaceC if (blockstate.getBlock() == Blocks.GRASS_BLOCK && this.isAir(worldIn, blockpos.above())) { - worldIn.setBlock(blockpos, BOPBlocks.BLACK_SAND.get().defaultBlockState(), 2); + worldIn.setBlock(blockpos, BOPBlocks.BLACK_SAND.defaultBlockState(), 2); if (rand.nextInt(4) == 0) { worldIn.setBlock(blockpos.above(), Blocks.DEAD_BUSH.defaultBlockState(), 2); diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/BoneSpineFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/BoneSpineFeature.java similarity index 92% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/BoneSpineFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/BoneSpineFeature.java index 6ce73b06bb..2e3194e2da 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/BoneSpineFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/BoneSpineFeature.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; +import biomesoplenty.init.ModTags; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -24,7 +24,7 @@ public class BoneSpineFeature extends Feature { protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).is(ModTags.Blocks.FLESH) || world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK; - protected SimpleBlockPredicate replace = (world, pos) -> this.isAir(world, pos) || TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).liquid() || world.getBlockState(pos).getBlock() == BOPBlocks.PUS_BUBBLE.get() || world.getBlockState(pos).getBlock() == BOPBlocks.HAIR.get(); + protected SimpleBlockPredicate replace = (world, pos) -> this.isAir(world, pos) || TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).liquid() || world.getBlockState(pos).getBlock() == BOPBlocks.PUS_BUBBLE || world.getBlockState(pos).getBlock() == BOPBlocks.HAIR; private int maxHeight = 3; public BoneSpineFeature(Codec deserializer) diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/BrambleFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/BrambleFeature.java similarity index 83% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/BrambleFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/BrambleFeature.java index 07d4552afe..2a9d81d07d 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/BrambleFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/BrambleFeature.java @@ -2,12 +2,12 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.block.BrambleBlock; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; -import biomesoplenty.forge.common.util.biome.GeneratorUtil; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.block.BrambleBlock; +import biomesoplenty.util.SimpleBlockPredicate; +import biomesoplenty.util.biome.GeneratorUtil; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -32,7 +32,7 @@ public BrambleFeature(Codec deserializer) protected SimpleBlockPredicate placeOn = (world, pos) -> { BlockState state = world.getBlockState(pos); - return world.getBlockState(pos).canSustainPlant(world, pos, Direction.UP, (SaplingBlock)Blocks.OAK_SAPLING) || state.getBlock() == Blocks.NETHERRACK; + return Blocks.OAK_SAPLING.canSurvive(Blocks.OAK_SAPLING.defaultBlockState(), world, pos.above()) || state.getBlock() == Blocks.NETHERRACK; }; protected SimpleBlockPredicate replace = (world, pos) -> world.getBlockState(pos).isAir(); @@ -59,13 +59,13 @@ public boolean place(FeaturePlaceContext featurePlaceC { //if (BrambleBlock.canPlaceBlockAt(world, genPos)) //{ - world.setBlock(genPos, ((BrambleBlock) BOPBlocks.BRAMBLE.get()).makeConnections(world, genPos), 2); + world.setBlock(genPos, ((BrambleBlock) BOPBlocks.BRAMBLE).makeConnections(world, genPos), 2); for (Direction face : Direction.values()) { - if (world.getBlockState(genPos.relative(face)).getBlock() == BOPBlocks.BRAMBLE.get()) + if (world.getBlockState(genPos.relative(face)).getBlock() == BOPBlocks.BRAMBLE) { - world.setBlock(genPos.relative(face), ((BrambleBlock)BOPBlocks.BRAMBLE.get()).makeConnections(world, genPos.relative(face)), 2); + world.setBlock(genPos.relative(face), ((BrambleBlock)BOPBlocks.BRAMBLE).makeConnections(world, genPos.relative(face)), 2); } } @@ -80,12 +80,12 @@ public boolean place(FeaturePlaceContext featurePlaceC BlockPos leafPos = genPos.relative(Direction.values()[leafDirection]); if (world.isEmptyBlock(leafPos)) { - world.setBlock(leafPos, BOPBlocks.BRAMBLE_LEAVES.get().defaultBlockState().setValue(DirectionalBlock.FACING, Direction.values()[leafDirection]), 19); + world.setBlock(leafPos, BOPBlocks.BRAMBLE_LEAVES.defaultBlockState().setValue(DirectionalBlock.FACING, Direction.values()[leafDirection]), 19); for (Direction face : Direction.values()) { - if (world.getBlockState(leafPos.relative(face)).getBlock() == BOPBlocks.BRAMBLE.get()) + if (world.getBlockState(leafPos.relative(face)).getBlock() == BOPBlocks.BRAMBLE) { - world.setBlock(leafPos.relative(face), ((BrambleBlock)BOPBlocks.BRAMBLE.get()).makeConnections(world, leafPos.relative(face)), 2); + world.setBlock(leafPos.relative(face), ((BrambleBlock)BOPBlocks.BRAMBLE).makeConnections(world, leafPos.relative(face)), 2); } } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/CornerCobwebFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/CornerCobwebFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/CornerCobwebFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/CornerCobwebFeature.java index 2e92bdb9b6..f56f25ddd4 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/CornerCobwebFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/CornerCobwebFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/CragMossFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/CragMossFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/CragMossFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/CragMossFeature.java index f196575768..9ce364a15c 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/CragMossFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/CragMossFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/CragSplatterFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/CragSplatterFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/CragSplatterFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/CragSplatterFeature.java index b01519a1ba..ccbb399233 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/CragSplatterFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/CragSplatterFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/DripstoneSplatterFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/DripstoneSplatterFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/DripstoneSplatterFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/DripstoneSplatterFeature.java index f36f9cbebe..6a1081bd25 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/DripstoneSplatterFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/DripstoneSplatterFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ExtraGlowLichenFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ExtraGlowLichenFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ExtraGlowLichenFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/ExtraGlowLichenFeature.java index b237e01c1d..935f273702 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ExtraGlowLichenFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ExtraGlowLichenFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenBirchLogFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenBirchLogFeature.java similarity index 95% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenBirchLogFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenBirchLogFeature.java index 8550c68f29..12f2514e6a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenBirchLogFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenBirchLogFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -103,11 +103,11 @@ public boolean place(FeaturePlaceContext featurePlaceC { if (rand.nextInt(3) == 0) { - this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.TOADSTOOL.get().defaultBlockState()); + this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.TOADSTOOL.defaultBlockState()); } else { - this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.YELLOW_MAPLE_LEAF_PILE.get().defaultBlockState()); + this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.YELLOW_MAPLE_LEAF_PILE.defaultBlockState()); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenFirLogFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenFirLogFeature.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenFirLogFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenFirLogFeature.java index db6393142c..3bfdc123ef 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenFirLogFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenFirLogFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -96,18 +96,18 @@ public boolean place(FeaturePlaceContext featurePlaceC for (int i = 0; i < length; i++) { - this.setBlock(world, pos.relative(direction, i), BOPBlocks.FIR_LOG.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, direction.getAxis())); + this.setBlock(world, pos.relative(direction, i), BOPBlocks.FIR_LOG.defaultBlockState().setValue(RotatedPillarBlock.AXIS, direction.getAxis())); BlockState blockAbove = world.getBlockState(pos.above().relative(direction, i)); if (blockAbove.isAir() || blockAbove.getBlock() instanceof BushBlock || blockAbove.getBlock() == Blocks.SNOW) { if (rand.nextInt(5) == 0) { - this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.TOADSTOOL.get().defaultBlockState()); + this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.TOADSTOOL.defaultBlockState()); } else if (rand.nextInt(4) == 0) { - this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.SPROUT.get().defaultBlockState()); + this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.SPROUT.defaultBlockState()); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenJacarandaLogFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenJacarandaLogFeature.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenJacarandaLogFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenJacarandaLogFeature.java index c656a6e0e3..682e12ccba 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenJacarandaLogFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenJacarandaLogFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -96,12 +96,12 @@ public boolean place(FeaturePlaceContext featurePlaceC for (int i = 0; i < length; i++) { - this.setBlock(world, pos.relative(direction, i), BOPBlocks.JACARANDA_LOG.get().defaultBlockState().setValue(RotatedPillarBlock.AXIS, direction.getAxis())); + this.setBlock(world, pos.relative(direction, i), BOPBlocks.JACARANDA_LOG.defaultBlockState().setValue(RotatedPillarBlock.AXIS, direction.getAxis())); BlockState blockAbove = world.getBlockState(pos.above().relative(direction, i)); if (blockAbove.isAir() || blockAbove.getBlock() instanceof BushBlock) { - this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.SPROUT.get().defaultBlockState()); + this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.SPROUT.defaultBlockState()); } BlockState blockBelow = world.getBlockState(pos.below().relative(direction, i)); diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenLogFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenLogFeature.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenLogFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenLogFeature.java index d51db7b835..046d306615 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FallenLogFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FallenLogFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -103,7 +103,7 @@ public boolean place(FeaturePlaceContext featurePlaceC { if (rand.nextInt(4) == 0) { - this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.TOADSTOOL.get().defaultBlockState()); + this.setBlock(world, pos.above().relative(direction, i), BOPBlocks.TOADSTOOL.defaultBlockState()); } else { diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FleshTendonFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FleshTendonFeature.java similarity index 80% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FleshTendonFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/FleshTendonFeature.java index 2e63703128..05f6f7dc39 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/FleshTendonFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/FleshTendonFeature.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; +import biomesoplenty.init.ModTags; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -27,7 +27,7 @@ public class FleshTendonFeature extends Feature { - protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() == BOPBlocks.ROSE_QUARTZ_CLUSTER.get() || world.getBlockState(pos).getBlock() == BOPBlocks.LARGE_ROSE_QUARTZ_BUD.get() || world.getBlockState(pos).getBlock() == BOPBlocks.MEDIUM_ROSE_QUARTZ_BUD.get() || world.getBlockState(pos).getBlock() == BOPBlocks.SMALL_ROSE_QUARTZ_BUD.get() || world.getBlockState(pos).getBlock() == BOPBlocks.FLESH_TENDONS_STRAND.get() || world.getBlockState(pos).getBlock() == BOPBlocks.FLESH_TENDONS.get() || world.getBlockState(pos).getBlock() == BOPBlocks.PUS_BUBBLE.get() || world.getBlockState(pos).getBlock() == BOPBlocks.HAIR.get() || world.getBlockState(pos).getBlock() == BOPBlocks.BLOOD.get(); + protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() == BOPBlocks.ROSE_QUARTZ_CLUSTER || world.getBlockState(pos).getBlock() == BOPBlocks.LARGE_ROSE_QUARTZ_BUD || world.getBlockState(pos).getBlock() == BOPBlocks.MEDIUM_ROSE_QUARTZ_BUD || world.getBlockState(pos).getBlock() == BOPBlocks.SMALL_ROSE_QUARTZ_BUD || world.getBlockState(pos).getBlock() == BOPBlocks.FLESH_TENDONS_STRAND || world.getBlockState(pos).getBlock() == BOPBlocks.FLESH_TENDONS || world.getBlockState(pos).getBlock() == BOPBlocks.PUS_BUBBLE || world.getBlockState(pos).getBlock() == BOPBlocks.HAIR || world.getBlockState(pos).getBlock() == BOPBlocks.BLOOD; private static final int MIN_DISTANCE = 8; private static final int MAX_DISTANCE = 32; @@ -85,10 +85,10 @@ public boolean place(FeaturePlaceContext context) if (curPos.getY() < maxY) { - BlockState fleshBlock = BOPBlocks.FLESH.get().defaultBlockState(); + BlockState fleshBlock = BOPBlocks.FLESH.defaultBlockState(); if (rand.nextInt(5) == 0) { - fleshBlock = BOPBlocks.POROUS_FLESH.get().defaultBlockState(); + fleshBlock = BOPBlocks.POROUS_FLESH.defaultBlockState(); } this.setBlock(world, curPos, fleshBlock); @@ -113,27 +113,27 @@ public boolean place(FeaturePlaceContext context) public boolean generateFleshBall(WorldGenLevel world, BlockPos pos, RandomSource rand) { - this.setBlock(world, pos, BOPBlocks.POROUS_FLESH.get().defaultBlockState()); + this.setBlock(world, pos, BOPBlocks.POROUS_FLESH.defaultBlockState()); this.setBlock(world, pos.north(), Blocks.SHROOMLIGHT.defaultBlockState(), 2); this.setBlock(world, pos.south(), Blocks.SHROOMLIGHT.defaultBlockState(), 2); this.setBlock(world, pos.east(), Blocks.SHROOMLIGHT.defaultBlockState(), 2); this.setBlock(world, pos.west(), Blocks.SHROOMLIGHT.defaultBlockState(), 2); - this.setBlock(world, pos.north().west(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.south().west(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.north().east(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.south().east(), BOPBlocks.FLESH.get().defaultBlockState()); - - this.setBlock(world, pos.above(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.above().north(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.above().south(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.above().east(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.above().west(), BOPBlocks.FLESH.get().defaultBlockState()); - - this.setBlock(world, pos.below(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.below().north(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.below().south(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.below().east(), BOPBlocks.FLESH.get().defaultBlockState()); - this.setBlock(world, pos.below().west(), BOPBlocks.FLESH.get().defaultBlockState()); + this.setBlock(world, pos.north().west(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.south().west(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.north().east(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.south().east(), BOPBlocks.FLESH.defaultBlockState()); + + this.setBlock(world, pos.above(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.above().north(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.above().south(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.above().east(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.above().west(), BOPBlocks.FLESH.defaultBlockState()); + + this.setBlock(world, pos.below(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.below().north(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.below().south(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.below().east(), BOPBlocks.FLESH.defaultBlockState()); + this.setBlock(world, pos.below().west(), BOPBlocks.FLESH.defaultBlockState()); this.placeFleshTendonColumn(world, rand, pos.below(2)); @@ -155,7 +155,7 @@ public void placeFleshTendonColumn(WorldGenLevel p_67377_, RandomSource p_67378_ for(int i = 0; i <= height; ++i) { Block fleshCheck = p_67377_.getBlockState(blockpos$mutable.below()).getBlock(); - if (fleshCheck == BOPBlocks.FLESH_TENDONS.get() || fleshCheck == BOPBlocks.FLESH_TENDONS_STRAND.get()) + if (fleshCheck == BOPBlocks.FLESH_TENDONS || fleshCheck == BOPBlocks.FLESH_TENDONS_STRAND) { break; } @@ -164,11 +164,11 @@ public void placeFleshTendonColumn(WorldGenLevel p_67377_, RandomSource p_67378_ { if (i == height || !p_67377_.isEmptyBlock(blockpos$mutable.below())) { - this.setBlock(p_67377_, blockpos$mutable, BOPBlocks.FLESH_TENDONS.get().defaultBlockState(), 2); + this.setBlock(p_67377_, blockpos$mutable, BOPBlocks.FLESH_TENDONS.defaultBlockState(), 2); break; } - this.setBlock(p_67377_, blockpos$mutable, BOPBlocks.FLESH_TENDONS_STRAND.get().defaultBlockState(), 2); + this.setBlock(p_67377_, blockpos$mutable, BOPBlocks.FLESH_TENDONS_STRAND.defaultBlockState(), 2); } blockpos$mutable.move(Direction.DOWN); diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/GiantGlowshroomFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/GiantGlowshroomFeature.java similarity index 80% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/GiantGlowshroomFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/GiantGlowshroomFeature.java index 40807edd5f..2fc3246b14 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/GiantGlowshroomFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/GiantGlowshroomFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -22,8 +22,8 @@ public class GiantGlowshroomFeature extends Feature { - protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MYCELIUM || world.getBlockState(pos).getBlock() == Blocks.STONE || world.getBlockState(pos).getBlock() == Blocks.DEEPSLATE || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK.get() || world.getBlockState(pos).getBlock() == Blocks.MUD; - protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() instanceof BushBlock || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_CARPET.get() || world.getBlockState(pos).getBlock() == Blocks.MOSS_CARPET; + protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MYCELIUM || world.getBlockState(pos).getBlock() == Blocks.STONE || world.getBlockState(pos).getBlock() == Blocks.DEEPSLATE || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MUD; + protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() instanceof BushBlock || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_CARPET || world.getBlockState(pos).getBlock() == Blocks.MOSS_CARPET; public GiantGlowshroomFeature(Codec deserializer) { @@ -65,7 +65,7 @@ public boolean place(FeaturePlaceContext featurePlaceC { for (int z = -(radius-1); z <= (radius-1); z++) { - this.setBlock(world, pos.offset(x, height, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(x, height, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); } } @@ -81,23 +81,23 @@ public boolean place(FeaturePlaceContext featurePlaceC { if (x == radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); } if (x == -radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); } if (z == radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); } if (z == -radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); } } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/GrassSplatterFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/GrassSplatterFeature.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/GrassSplatterFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/GrassSplatterFeature.java index a3a351f7b2..2cbd3387a2 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/GrassSplatterFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/GrassSplatterFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -50,11 +50,11 @@ public boolean place(FeaturePlaceContext featurePlaceC BlockState blockstate = worldIn.getBlockState(blockpos); BlockState blockstate1 = worldIn.getBlockState(blockpos.above()); - if (blockstate.getBlock() == BOPBlocks.BLACK_SAND.get() && this.isAir(worldIn, blockpos.above())) + if (blockstate.getBlock() == BOPBlocks.BLACK_SAND && this.isAir(worldIn, blockpos.above())) { if (rand.nextInt(2) > 0) { - worldIn.setBlock(blockpos, BOPBlocks.MOSSY_BLACK_SAND.get().defaultBlockState(), 2); + worldIn.setBlock(blockpos, BOPBlocks.MOSSY_BLACK_SAND.defaultBlockState(), 2); if (rand.nextInt(3) == 0) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/GravelCliffFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/GravelCliffFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/GravelCliffFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/GravelCliffFeature.java index 6eee32750f..c1ff8fafc3 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/GravelCliffFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/GravelCliffFeature.java @@ -1,4 +1,4 @@ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HangingFleshTendonFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HangingFleshTendonFeature.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HangingFleshTendonFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/HangingFleshTendonFeature.java index 30c7219c58..d6ba85369d 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HangingFleshTendonFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HangingFleshTendonFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.init.ModTags; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.init.ModTags; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -77,11 +77,11 @@ public static void placeFleshTendonColumn(LevelAccessor p_67377_, RandomSource p { if (i == p_67380_ || !p_67377_.isEmptyBlock(p_67379_.below())) { - p_67377_.setBlock(p_67379_, BOPBlocks.FLESH_TENDONS.get().defaultBlockState(), 2); + p_67377_.setBlock(p_67379_, BOPBlocks.FLESH_TENDONS.defaultBlockState(), 2); break; } - p_67377_.setBlock(p_67379_, BOPBlocks.FLESH_TENDONS_STRAND.get().defaultBlockState(), 2); + p_67377_.setBlock(p_67379_, BOPBlocks.FLESH_TENDONS_STRAND.defaultBlockState(), 2); } p_67379_.move(Direction.DOWN); diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HighGrassFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HighGrassFeature.java similarity index 92% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HighGrassFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/HighGrassFeature.java index 491a95d77e..d5e7bfe02a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HighGrassFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HighGrassFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -78,11 +78,11 @@ public static void placeWeepingVinesColumn(LevelAccessor p_225301_, RandomSource for (int i = 1; i <= p_225304_; ++i) { if (p_225301_.isEmptyBlock(p_225303_)) { if (i == p_225304_ || !p_225301_.isEmptyBlock(p_225303_.above())) { - p_225301_.setBlock(p_225303_, BOPBlocks.HIGH_GRASS.get().defaultBlockState().setValue(GrowingPlantHeadBlock.AGE, Integer.valueOf(Mth.nextInt(p_225302_, p_225305_, p_225306_))), 2); + p_225301_.setBlock(p_225303_, BOPBlocks.HIGH_GRASS.defaultBlockState().setValue(GrowingPlantHeadBlock.AGE, Integer.valueOf(Mth.nextInt(p_225302_, p_225305_, p_225306_))), 2); break; } - p_225301_.setBlock(p_225303_, BOPBlocks.HIGH_GRASS_PLANT.get().defaultBlockState(), 2); + p_225301_.setBlock(p_225303_, BOPBlocks.HIGH_GRASS_PLANT.defaultBlockState(), 2); } p_225303_.move(Direction.UP); diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HotSpringVentFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HotSpringVentFeature.java similarity index 90% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HotSpringVentFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/HotSpringVentFeature.java index 26823e34f2..3ca608a972 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HotSpringVentFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HotSpringVentFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -35,9 +35,9 @@ public boolean place(FeaturePlaceContext featurePlaceC for(int j = 0; j < 96; ++j) { BlockPos blockpos = pos.offset(rand.nextInt(8) - rand.nextInt(8), rand.nextInt(4) - rand.nextInt(4), rand.nextInt(8) - rand.nextInt(8)); - if (world.getBlockState(blockpos).getBlock() == Blocks.WATER && world.getBlockState(blockpos.below()).getBlock() == BOPBlocks.THERMAL_CALCITE.get()) + if (world.getBlockState(blockpos).getBlock() == Blocks.WATER && world.getBlockState(blockpos.below()).getBlock() == BOPBlocks.THERMAL_CALCITE) { - world.setBlock(blockpos.below(), BOPBlocks.THERMAL_CALCITE_VENT.get().defaultBlockState(), 2); + world.setBlock(blockpos.below(), BOPBlocks.THERMAL_CALCITE_VENT.defaultBlockState(), 2); ++i; } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeCloverFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeCloverFeature.java similarity index 84% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeCloverFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeCloverFeature.java index 08e61c947a..11dd07c24a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeCloverFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeCloverFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -55,10 +55,10 @@ public boolean place(FeaturePlaceContext featurePlaceC BlockPos pos = startPos.above(); - this.setBlock(world, pos, BOPBlocks.HUGE_CLOVER_PETAL.get().defaultBlockState().setValue(HorizontalDirectionalBlock.FACING, Direction.NORTH)); - this.setBlock(world, pos.south(), BOPBlocks.HUGE_CLOVER_PETAL.get().defaultBlockState().setValue(HorizontalDirectionalBlock.FACING, Direction.WEST)); - this.setBlock(world, pos.east(), BOPBlocks.HUGE_CLOVER_PETAL.get().defaultBlockState().setValue(HorizontalDirectionalBlock.FACING, Direction.EAST)); - this.setBlock(world, pos.south().east(), BOPBlocks.HUGE_CLOVER_PETAL.get().defaultBlockState().setValue(HorizontalDirectionalBlock.FACING, Direction.SOUTH)); + this.setBlock(world, pos, BOPBlocks.HUGE_CLOVER_PETAL.defaultBlockState().setValue(HorizontalDirectionalBlock.FACING, Direction.NORTH)); + this.setBlock(world, pos.south(), BOPBlocks.HUGE_CLOVER_PETAL.defaultBlockState().setValue(HorizontalDirectionalBlock.FACING, Direction.WEST)); + this.setBlock(world, pos.east(), BOPBlocks.HUGE_CLOVER_PETAL.defaultBlockState().setValue(HorizontalDirectionalBlock.FACING, Direction.EAST)); + this.setBlock(world, pos.south().east(), BOPBlocks.HUGE_CLOVER_PETAL.defaultBlockState().setValue(HorizontalDirectionalBlock.FACING, Direction.SOUTH)); return true; } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeGlowshroomFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeGlowshroomFeature.java similarity index 80% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeGlowshroomFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeGlowshroomFeature.java index ce71622338..21823aa8ee 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeGlowshroomFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeGlowshroomFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -22,8 +22,8 @@ public class HugeGlowshroomFeature extends Feature { - protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MYCELIUM || world.getBlockState(pos).getBlock() == Blocks.STONE || world.getBlockState(pos).getBlock() == Blocks.DEEPSLATE || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK.get() || world.getBlockState(pos).getBlock() == Blocks.MUD; - protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() instanceof BushBlock || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_CARPET.get() || world.getBlockState(pos).getBlock() == Blocks.MOSS_CARPET; + protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MYCELIUM || world.getBlockState(pos).getBlock() == Blocks.STONE || world.getBlockState(pos).getBlock() == Blocks.DEEPSLATE || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MUD; + protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() instanceof BushBlock || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_CARPET || world.getBlockState(pos).getBlock() == Blocks.MOSS_CARPET; public HugeGlowshroomFeature(Codec deserializer) { @@ -65,7 +65,7 @@ public boolean place(FeaturePlaceContext featurePlaceC { for (int z = -(radius-1); z <= (radius-1); z++) { - this.setBlock(world, pos.offset(x, height, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(x, height, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); } } @@ -81,23 +81,23 @@ public boolean place(FeaturePlaceContext featurePlaceC { if (x == radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); } if (x == -radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); } if (z == radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); } if (z == -radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); } } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeLilyPadFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeLilyPadFeature.java similarity index 78% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeLilyPadFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeLilyPadFeature.java index 00251e6f1b..6156883525 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeLilyPadFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeLilyPadFeature.java @@ -2,12 +2,12 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.block.HugeLilyPadBlock; -import biomesoplenty.forge.common.block.state.properties.QuarterProperty; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.block.HugeLilyPadBlock; +import biomesoplenty.block.properties.QuarterProperty; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -26,7 +26,7 @@ public class HugeLilyPadFeature extends Feature { protected SimpleBlockPredicate placeOn = (world, pos) -> (world.getBlockState(pos).getFluidState().getType() == Fluids.WATER || world.getBlockState(pos).getBlock() instanceof IceBlock) && world.getBlockState(pos.above()).getFluidState().getType() == Fluids.EMPTY; - protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() == BOPBlocks.WATERGRASS.get(); + protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() == BOPBlocks.WATERGRASS; public HugeLilyPadFeature(Codec deserializer) { @@ -58,10 +58,10 @@ public boolean place(FeaturePlaceContext featurePlaceC BlockPos pos = startPos.above(); - this.setBlock(world, pos, BOPBlocks.HUGE_LILY_PAD.get().defaultBlockState().setValue(HugeLilyPadBlock.QUARTER, QuarterProperty.SOUTH_WEST).setValue(HorizontalDirectionalBlock.FACING, direction)); - this.setBlock(world, pos.relative(direction), BOPBlocks.HUGE_LILY_PAD.get().defaultBlockState().setValue(HugeLilyPadBlock.QUARTER, QuarterProperty.NORTH_WEST).setValue(HorizontalDirectionalBlock.FACING, direction)); - this.setBlock(world, pos.relative(direction).relative(direction.getClockWise()), BOPBlocks.HUGE_LILY_PAD.get().defaultBlockState().setValue(HugeLilyPadBlock.QUARTER, QuarterProperty.NORTH_EAST).setValue(HorizontalDirectionalBlock.FACING, direction)); - this.setBlock(world, pos.relative(direction.getClockWise()), BOPBlocks.HUGE_LILY_PAD.get().defaultBlockState().setValue(HugeLilyPadBlock.QUARTER, QuarterProperty.SOUTH_EAST).setValue(HorizontalDirectionalBlock.FACING, direction)); + this.setBlock(world, pos, BOPBlocks.HUGE_LILY_PAD.defaultBlockState().setValue(HugeLilyPadBlock.QUARTER, QuarterProperty.SOUTH_WEST).setValue(HorizontalDirectionalBlock.FACING, direction)); + this.setBlock(world, pos.relative(direction), BOPBlocks.HUGE_LILY_PAD.defaultBlockState().setValue(HugeLilyPadBlock.QUARTER, QuarterProperty.NORTH_WEST).setValue(HorizontalDirectionalBlock.FACING, direction)); + this.setBlock(world, pos.relative(direction).relative(direction.getClockWise()), BOPBlocks.HUGE_LILY_PAD.defaultBlockState().setValue(HugeLilyPadBlock.QUARTER, QuarterProperty.NORTH_EAST).setValue(HorizontalDirectionalBlock.FACING, direction)); + this.setBlock(world, pos.relative(direction.getClockWise()), BOPBlocks.HUGE_LILY_PAD.defaultBlockState().setValue(HugeLilyPadBlock.QUARTER, QuarterProperty.SOUTH_EAST).setValue(HorizontalDirectionalBlock.FACING, direction)); return true; } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeToadstoolFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeToadstoolFeature.java similarity index 82% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeToadstoolFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeToadstoolFeature.java index 6c216b65fa..23afcef57b 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/HugeToadstoolFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/HugeToadstoolFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -65,17 +65,17 @@ public boolean place(FeaturePlaceContext featurePlaceC { for (int z = -(radius-1); z <= (radius-1); z++) { - this.setBlock(world, pos.offset(x, height, z), BOPBlocks.TOADSTOOL_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); - this.setBlock(world, pos.offset(x, height+1, z), BOPBlocks.TOADSTOOL_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); - this.setBlock(world, pos.offset(x, height+2, z), BOPBlocks.TOADSTOOL_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(x, height, z), BOPBlocks.TOADSTOOL_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(x, height+1, z), BOPBlocks.TOADSTOOL_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(x, height+2, z), BOPBlocks.TOADSTOOL_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); } } - this.setBlock(world, pos.offset(0, height+3, 0), BOPBlocks.TOADSTOOL_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); - this.setBlock(world, pos.offset(1, height+3, 0), BOPBlocks.TOADSTOOL_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); - this.setBlock(world, pos.offset(-1, height+3, 0), BOPBlocks.TOADSTOOL_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); - this.setBlock(world, pos.offset(0, height+3, 1), BOPBlocks.TOADSTOOL_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); - this.setBlock(world, pos.offset(0, height+3, -1), BOPBlocks.TOADSTOOL_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(0, height+3, 0), BOPBlocks.TOADSTOOL_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(1, height+3, 0), BOPBlocks.TOADSTOOL_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(-1, height+3, 0), BOPBlocks.TOADSTOOL_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(0, height+3, 1), BOPBlocks.TOADSTOOL_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(0, height+3, -1), BOPBlocks.TOADSTOOL_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); return true; } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/InfernoSplatterFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/InfernoSplatterFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/InfernoSplatterFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/InfernoSplatterFeature.java index 1137bcfa8a..df4ae0e84c 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/InfernoSplatterFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/InfernoSplatterFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/LargeFumaroleFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/LargeFumaroleFeature.java similarity index 84% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/LargeFumaroleFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/LargeFumaroleFeature.java index 011033f2ce..4e422b17c0 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/LargeFumaroleFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/LargeFumaroleFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -19,8 +19,8 @@ public class LargeFumaroleFeature extends Feature { - protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE.get(); - protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE_BUD.get() || world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE_CLUSTER.get(); + protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE; + protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE_BUD || world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE_CLUSTER; public LargeFumaroleFeature(Codec deserializer) { @@ -58,7 +58,7 @@ public boolean place(FeaturePlaceContext featurePlaceC { for (int y = 0; y <= height; y++) { - this.setBlock(world, pos.offset(x, y, z), BOPBlocks.BRIMSTONE.get().defaultBlockState()); + this.setBlock(world, pos.offset(x, y, z), BOPBlocks.BRIMSTONE.defaultBlockState()); } } @@ -66,20 +66,20 @@ public boolean place(FeaturePlaceContext featurePlaceC { if (height > -1) { - this.setBlock(world, pos.offset(x, height+1, z), BOPBlocks.BRIMSTONE_BUD.get().defaultBlockState()); + this.setBlock(world, pos.offset(x, height+1, z), BOPBlocks.BRIMSTONE_BUD.defaultBlockState()); } } else { - this.setBlock(world, pos.offset(x, -1, z), BOPBlocks.BRIMSTONE.get().defaultBlockState()); - this.setBlock(world, pos.offset(x, height+1, z), BOPBlocks.BRIMSTONE.get().defaultBlockState()); - this.setBlock(world, pos.offset(x, height+2, z), BOPBlocks.BRIMSTONE_BUD.get().defaultBlockState()); + this.setBlock(world, pos.offset(x, -1, z), BOPBlocks.BRIMSTONE.defaultBlockState()); + this.setBlock(world, pos.offset(x, height+1, z), BOPBlocks.BRIMSTONE.defaultBlockState()); + this.setBlock(world, pos.offset(x, height+2, z), BOPBlocks.BRIMSTONE_BUD.defaultBlockState()); } } } - this.setBlock(world, pos.offset(0, height+2, 0), BOPBlocks.BRIMSTONE.get().defaultBlockState()); - this.setBlock(world, pos.above(height+3), BOPBlocks.BRIMSTONE_FUMAROLE.get().defaultBlockState()); + this.setBlock(world, pos.offset(0, height+2, 0), BOPBlocks.BRIMSTONE.defaultBlockState()); + this.setBlock(world, pos.above(height+3), BOPBlocks.BRIMSTONE_FUMAROLE.defaultBlockState()); return true; } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/LargeRoseQuartzFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/LargeRoseQuartzFeature.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/LargeRoseQuartzFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/LargeRoseQuartzFeature.java index bf91428aae..e8fbfe0a56 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/LargeRoseQuartzFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/LargeRoseQuartzFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.biome.RoseQuartzUtils; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.biome.RoseQuartzUtils; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -186,7 +186,7 @@ void placeBlocks(WorldGenLevel p_159993_, RandomSource p_159994_, LargeRoseQuart if (RoseQuartzUtils.isEmptyOrWaterOrLava(p_159993_, blockpos) || p_159993_.getBlockState(blockpos).is(BlockTags.CRYSTAL_SOUND_BLOCKS) || p_159993_.getBlockState(blockpos).getBlock() instanceof AmethystClusterBlock) { flag = true; - Block block = BOPBlocks.ROSE_QUARTZ_BLOCK.get(); + Block block = BOPBlocks.ROSE_QUARTZ_BLOCK; p_159993_.setBlock(blockpos, block.defaultBlockState(), 2); for (Direction direction : Direction.values()) @@ -197,20 +197,20 @@ void placeBlocks(WorldGenLevel p_159993_, RandomSource p_159994_, LargeRoseQuart switch (p_159994_.nextInt(6)) { case 3: - cluster_state = BOPBlocks.ROSE_QUARTZ_CLUSTER.get().defaultBlockState(); + cluster_state = BOPBlocks.ROSE_QUARTZ_CLUSTER.defaultBlockState(); break; case 2: default: - cluster_state = BOPBlocks.LARGE_ROSE_QUARTZ_BUD.get().defaultBlockState(); + cluster_state = BOPBlocks.LARGE_ROSE_QUARTZ_BUD.defaultBlockState(); break; case 1: - cluster_state = BOPBlocks.MEDIUM_ROSE_QUARTZ_BUD.get().defaultBlockState(); + cluster_state = BOPBlocks.MEDIUM_ROSE_QUARTZ_BUD.defaultBlockState(); break; case 0: - cluster_state = BOPBlocks.SMALL_ROSE_QUARTZ_BUD.get().defaultBlockState(); + cluster_state = BOPBlocks.SMALL_ROSE_QUARTZ_BUD.defaultBlockState(); break; } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MediumGlowshroomFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MediumGlowshroomFeature.java similarity index 80% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MediumGlowshroomFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/MediumGlowshroomFeature.java index 60828bfdaa..02843429cd 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MediumGlowshroomFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MediumGlowshroomFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -22,8 +22,8 @@ public class MediumGlowshroomFeature extends Feature { - protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MYCELIUM || world.getBlockState(pos).getBlock() == Blocks.STONE || world.getBlockState(pos).getBlock() == Blocks.DEEPSLATE || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK.get() || world.getBlockState(pos).getBlock() == Blocks.MUD; - protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() instanceof BushBlock || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_CARPET.get() || world.getBlockState(pos).getBlock() == Blocks.MOSS_CARPET; + protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MYCELIUM || world.getBlockState(pos).getBlock() == Blocks.STONE || world.getBlockState(pos).getBlock() == Blocks.DEEPSLATE || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MUD; + protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() instanceof BushBlock || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_CARPET || world.getBlockState(pos).getBlock() == Blocks.MOSS_CARPET; public MediumGlowshroomFeature(Codec deserializer) { @@ -65,7 +65,7 @@ public boolean place(FeaturePlaceContext featurePlaceC { for (int z = -(radius-1); z <= (radius-1); z++) { - this.setBlock(world, pos.offset(x, height, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(x, height, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); } } @@ -81,23 +81,23 @@ public boolean place(FeaturePlaceContext featurePlaceC { if (x == radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.WEST, false)); } if (x == -radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.EAST, false)); } if (z == radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.NORTH, false)); } if (z == -radius) { - this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); - this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); + this.setBlock(world, pos.offset(x, height - 1, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); + this.setBlock(world, pos.offset(x, height - 2, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.SOUTH, false)); } } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MossSplatterFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MossSplatterFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MossSplatterFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/MossSplatterFeature.java index 2d5855f203..071cda32a9 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MossSplatterFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MossSplatterFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MudSplatterFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MudSplatterFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MudSplatterFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/MudSplatterFeature.java index 13d8159c72..b9bdc4b6c8 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MudSplatterFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MudSplatterFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MyceliumSplatterFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MyceliumSplatterFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MyceliumSplatterFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/MyceliumSplatterFeature.java index 31f32ddf7b..cebff8a99d 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/MyceliumSplatterFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/MyceliumSplatterFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/NetherVinesFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/NetherVinesFeature.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/NetherVinesFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/NetherVinesFeature.java index 5105b412cf..59b8783114 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/NetherVinesFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/NetherVinesFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.google.common.collect.Lists; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; @@ -58,7 +58,7 @@ public boolean place(FeaturePlaceContext featurePlaceC if (!this.replace.matches(world, genPos) || !this.placeOn.matches(world, genPos.above())) continue; - BlockState vineState = BOPBlocks.WILLOW_VINE.get().defaultBlockState(); + BlockState vineState = BOPBlocks.WILLOW_VINE.defaultBlockState(); // make sure there is an adjacent block for the vine to attach to List validDirections = Lists.newArrayList(); diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ObsidianSplatterFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ObsidianSplatterFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ObsidianSplatterFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/ObsidianSplatterFeature.java index df55d0bd40..777db4f3d8 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ObsidianSplatterFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ObsidianSplatterFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/OrangeMapleLeafPileFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/OrangeMapleLeafPileFeature.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/OrangeMapleLeafPileFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/OrangeMapleLeafPileFeature.java index 585389f97c..787c0651c8 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/OrangeMapleLeafPileFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/OrangeMapleLeafPileFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -40,9 +40,9 @@ public boolean place(FeaturePlaceContext featurePlaceC { for (int k = 0; k < 16; ++k) { - if (world.getBlockState(blockpos.above(k)).getBlock() == BOPBlocks.ORANGE_MAPLE_LEAVES.get()) + if (world.getBlockState(blockpos.above(k)).getBlock() == BOPBlocks.ORANGE_MAPLE_LEAVES) { - world.setBlock(blockpos, BOPBlocks.ORANGE_MAPLE_LEAF_PILE.get().defaultBlockState(), 2); + world.setBlock(blockpos, BOPBlocks.ORANGE_MAPLE_LEAF_PILE.defaultBlockState(), 2); ++i; } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/OriginGravelCliffFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/OriginGravelCliffFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/OriginGravelCliffFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/OriginGravelCliffFeature.java index 2a1678c55a..bd0164649e 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/OriginGravelCliffFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/OriginGravelCliffFeature.java @@ -1,4 +1,4 @@ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/PumpkinPatchFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/PumpkinPatchFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/PumpkinPatchFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/PumpkinPatchFeature.java index acf1934623..1f13e57e0a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/PumpkinPatchFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/PumpkinPatchFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/RainforestCliffsVinesFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/RainforestCliffsVinesFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/RainforestCliffsVinesFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/RainforestCliffsVinesFeature.java index f5de8f986c..a51dad6e7f 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/RainforestCliffsVinesFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/RainforestCliffsVinesFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.util.SimpleBlockPredicate; import com.google.common.collect.Lists; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/RedMapleLeafPileFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/RedMapleLeafPileFeature.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/RedMapleLeafPileFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/RedMapleLeafPileFeature.java index cd8db8a0b1..8c0f2e622f 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/RedMapleLeafPileFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/RedMapleLeafPileFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -40,9 +40,9 @@ public boolean place(FeaturePlaceContext featurePlaceC { for (int k = 0; k < 16; ++k) { - if (world.getBlockState(blockpos.above(k)).getBlock() == BOPBlocks.RED_MAPLE_LEAVES.get()) + if (world.getBlockState(blockpos.above(k)).getBlock() == BOPBlocks.RED_MAPLE_LEAVES) { - world.setBlock(blockpos, BOPBlocks.RED_MAPLE_LEAF_PILE.get().defaultBlockState(), 2); + world.setBlock(blockpos, BOPBlocks.RED_MAPLE_LEAF_PILE.defaultBlockState(), 2); ++i; } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/RootedStumpFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/RootedStumpFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/RootedStumpFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/RootedStumpFeature.java index 8a1941565a..0b4375ab19 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/RootedStumpFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/RootedStumpFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ScatteredRocksFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ScatteredRocksFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ScatteredRocksFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/ScatteredRocksFeature.java index fd0d7f7d78..3a0c4212cd 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ScatteredRocksFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ScatteredRocksFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ScrubFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ScrubFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ScrubFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/ScrubFeature.java index 3e963d880e..dd62c49675 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ScrubFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ScrubFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ShortBambooFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ShortBambooFeature.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ShortBambooFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/ShortBambooFeature.java index d2ab4b071a..ff4d0f91c8 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ShortBambooFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ShortBambooFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallBrownMushroomFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallBrownMushroomFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallBrownMushroomFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallBrownMushroomFeature.java index f33749820d..34f4a946b1 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallBrownMushroomFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallBrownMushroomFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallCrystalFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallCrystalFeature.java similarity index 92% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallCrystalFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallCrystalFeature.java index a1607d0403..8514d396ec 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallCrystalFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallCrystalFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -44,20 +44,20 @@ public boolean place(FeaturePlaceContext featurePlaceC switch (rand.nextInt(6)) { case 3: - cluster_state = BOPBlocks.ROSE_QUARTZ_CLUSTER.get().defaultBlockState(); + cluster_state = BOPBlocks.ROSE_QUARTZ_CLUSTER.defaultBlockState(); break; case 2: default: - cluster_state = BOPBlocks.LARGE_ROSE_QUARTZ_BUD.get().defaultBlockState(); + cluster_state = BOPBlocks.LARGE_ROSE_QUARTZ_BUD.defaultBlockState(); break; case 1: - cluster_state = BOPBlocks.MEDIUM_ROSE_QUARTZ_BUD.get().defaultBlockState(); + cluster_state = BOPBlocks.MEDIUM_ROSE_QUARTZ_BUD.defaultBlockState(); break; case 0: - cluster_state = BOPBlocks.SMALL_ROSE_QUARTZ_BUD.get().defaultBlockState(); + cluster_state = BOPBlocks.SMALL_ROSE_QUARTZ_BUD.defaultBlockState(); break; } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallDripleafFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallDripleafFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallDripleafFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallDripleafFeature.java index a4f00df315..983e732caf 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallDripleafFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallDripleafFeature.java @@ -2,7 +2,7 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallFumaroleFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallFumaroleFeature.java similarity index 83% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallFumaroleFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallFumaroleFeature.java index df415f67fd..4f46e2d1d4 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallFumaroleFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallFumaroleFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -36,18 +36,18 @@ public boolean place(FeaturePlaceContext featurePlaceC for(int j = 0; j < 64; ++j) { BlockPos blockpos = pos.offset(rand.nextInt(8) - rand.nextInt(8), rand.nextInt(4) - rand.nextInt(4), rand.nextInt(8) - rand.nextInt(8)); - if ((TreeFeature.isAirOrLeaves(world, blockpos) || world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE_BUD.get() || world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE_CLUSTER.get()) && world.getBlockState(blockpos.below()).getBlock() == BOPBlocks.BRIMSTONE.get()) + if ((TreeFeature.isAirOrLeaves(world, blockpos) || world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE_BUD || world.getBlockState(pos).getBlock() == BOPBlocks.BRIMSTONE_CLUSTER) && world.getBlockState(blockpos.below()).getBlock() == BOPBlocks.BRIMSTONE) { if (rand.nextInt(5) == 0) { if (rand.nextInt(2) == 0) { - world.setBlock(blockpos, BOPBlocks.BRIMSTONE.get().defaultBlockState(), 2); - world.setBlock(blockpos.above(), BOPBlocks.BRIMSTONE_FUMAROLE.get().defaultBlockState(), 2); + world.setBlock(blockpos, BOPBlocks.BRIMSTONE.defaultBlockState(), 2); + world.setBlock(blockpos.above(), BOPBlocks.BRIMSTONE_FUMAROLE.defaultBlockState(), 2); } else { - world.setBlock(blockpos, BOPBlocks.BRIMSTONE_FUMAROLE.get().defaultBlockState(), 2); + world.setBlock(blockpos, BOPBlocks.BRIMSTONE_FUMAROLE.defaultBlockState(), 2); world.setBlock(blockpos.above(), Blocks.AIR.defaultBlockState(), 2); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallGlowshroomFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallGlowshroomFeature.java similarity index 90% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallGlowshroomFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallGlowshroomFeature.java index 7091e15ac6..b3350f41bb 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallGlowshroomFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallGlowshroomFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -22,8 +22,8 @@ public class SmallGlowshroomFeature extends Feature { - protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MYCELIUM || world.getBlockState(pos).getBlock() == Blocks.STONE || world.getBlockState(pos).getBlock() == Blocks.DEEPSLATE || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK.get() || world.getBlockState(pos).getBlock() == Blocks.MUD; - protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() instanceof BushBlock || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_CARPET.get() || world.getBlockState(pos).getBlock() == Blocks.MOSS_CARPET; + protected SimpleBlockPredicate placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MYCELIUM || world.getBlockState(pos).getBlock() == Blocks.STONE || world.getBlockState(pos).getBlock() == Blocks.DEEPSLATE || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_BLOCK || world.getBlockState(pos).getBlock() == Blocks.MUD; + protected SimpleBlockPredicate replace = (world, pos) -> TreeFeature.isAirOrLeaves(world, pos) || world.getBlockState(pos).getBlock() instanceof BushBlock || world.getBlockState(pos).getBlock() == BOPBlocks.GLOWING_MOSS_CARPET || world.getBlockState(pos).getBlock() == Blocks.MOSS_CARPET; public SmallGlowshroomFeature(Codec deserializer) { @@ -64,7 +64,7 @@ public boolean place(FeaturePlaceContext featurePlaceC { for (int z = -1; z <= 1; z++) { - this.setBlock(world, pos.offset(x, height, z), BOPBlocks.GLOWSHROOM_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(x, height, z), BOPBlocks.GLOWSHROOM_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallRedMushroomFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallRedMushroomFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallRedMushroomFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallRedMushroomFeature.java index 7d64f087fe..cdc4f64293 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallRedMushroomFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallRedMushroomFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallToadstoolFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallToadstoolFeature.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallToadstoolFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallToadstoolFeature.java index 96f162c2c2..5aa776949f 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SmallToadstoolFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SmallToadstoolFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -60,7 +60,7 @@ public boolean place(FeaturePlaceContext featurePlaceC this.setBlock(world, pos.above(y), Blocks.MUSHROOM_STEM.defaultBlockState()); } - this.setBlock(world, pos.offset(0, height, 0), BOPBlocks.TOADSTOOL_BLOCK.get().defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); + this.setBlock(world, pos.offset(0, height, 0), BOPBlocks.TOADSTOOL_BLOCK.defaultBlockState().setValue(HugeMushroomBlock.DOWN, false)); return true; } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SparseDuneGrassFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SparseDuneGrassFeature.java similarity index 89% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SparseDuneGrassFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/SparseDuneGrassFeature.java index b0695f7b88..8ffd2ca3d3 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/SparseDuneGrassFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/SparseDuneGrassFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -36,15 +36,15 @@ public boolean place(FeaturePlaceContext featurePlaceC BlockPos blockpos = pos.offset(rand.nextInt(4) - rand.nextInt(4), rand.nextInt(2) - rand.nextInt(2), rand.nextInt(4) - rand.nextInt(4)); if (world.getBlockState(blockpos).canBeReplaced()) { - if (world.getBlockState(blockpos.below()).getBlock() == BOPBlocks.ORANGE_SAND.get()) + if (world.getBlockState(blockpos.below()).getBlock() == BOPBlocks.ORANGE_SAND) { - world.setBlock(blockpos, BOPBlocks.DUNE_GRASS.get().defaultBlockState(), 2); + world.setBlock(blockpos, BOPBlocks.DUNE_GRASS.defaultBlockState(), 2); } - else if (world.getBlockState(blockpos.below()).getBlock() == BOPBlocks.ORANGE_SANDSTONE.get()) + else if (world.getBlockState(blockpos.below()).getBlock() == BOPBlocks.ORANGE_SANDSTONE) { if (rand.nextInt(4) == 0) { - world.setBlock(blockpos, BOPBlocks.SPROUT.get().defaultBlockState(), 2); + world.setBlock(blockpos, BOPBlocks.SPROUT.defaultBlockState(), 2); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/StringyCobwebFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/StringyCobwebFeature.java similarity index 85% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/StringyCobwebFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/StringyCobwebFeature.java index 03ab6e1822..b9eddcefc4 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/StringyCobwebFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/StringyCobwebFeature.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.block.StringyCobwebBlock; -import biomesoplenty.forge.common.block.state.properties.ConnectedProperty; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.block.StringyCobwebBlock; +import biomesoplenty.block.properties.ConnectedProperty; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -68,7 +68,7 @@ public void placeCobweb(WorldGenLevel world, BlockPos pos, int length, Direction { if (this.respectsCutoff((WorldGenRegion)world, pos)) { - world.setBlock(pos, BOPBlocks.STRINGY_COBWEB.get().defaultBlockState().setValue(StringyCobwebBlock.FACING, dir).setValue(StringyCobwebBlock.CONNECTED, ConnectedProperty.BOTTOM), 2); + world.setBlock(pos, BOPBlocks.STRINGY_COBWEB.defaultBlockState().setValue(StringyCobwebBlock.FACING, dir).setValue(StringyCobwebBlock.CONNECTED, ConnectedProperty.BOTTOM), 2); } BlockPos nextStringPos = pos; @@ -79,13 +79,13 @@ public void placeCobweb(WorldGenLevel world, BlockPos pos, int length, Direction if (this.respectsCutoff((WorldGenRegion)world, nextStringPos)) { - world.setBlock(nextStringPos, BOPBlocks.STRINGY_COBWEB.get().defaultBlockState().setValue(StringyCobwebBlock.FACING, dir).setValue(StringyCobwebBlock.CONNECTED, ConnectedProperty.MIDDLE), 2); + world.setBlock(nextStringPos, BOPBlocks.STRINGY_COBWEB.defaultBlockState().setValue(StringyCobwebBlock.FACING, dir).setValue(StringyCobwebBlock.CONNECTED, ConnectedProperty.MIDDLE), 2); } } if (this.respectsCutoff((WorldGenRegion)world, nextStringPos)) { - world.setBlock(nextStringPos, BOPBlocks.STRINGY_COBWEB.get().defaultBlockState().setValue(StringyCobwebBlock.FACING, dir).setValue(StringyCobwebBlock.CONNECTED, ConnectedProperty.TOP), 2); + world.setBlock(nextStringPos, BOPBlocks.STRINGY_COBWEB.defaultBlockState().setValue(StringyCobwebBlock.FACING, dir).setValue(StringyCobwebBlock.CONNECTED, ConnectedProperty.TOP), 2); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ThinBambooFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ThinBambooFeature.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ThinBambooFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/ThinBambooFeature.java index c3564fc06d..e069526c62 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/ThinBambooFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/ThinBambooFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.common.util.SimpleBlockPredicate; +import biomesoplenty.util.SimpleBlockPredicate; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/WebbingFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/WebbingFeature.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/WebbingFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/WebbingFeature.java index de76903dc0..e8488a6107 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/WebbingFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/WebbingFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -48,7 +48,7 @@ public boolean place(FeaturePlaceContext featurePlaceC { BlockPos blockpos = new BlockPos(k, k1, l); BlockState blockstate = worldIn.getBlockState(blockpos); - BlockState webbingstate = BOPBlocks.WEBBING.get().defaultBlockState(); + BlockState webbingstate = BOPBlocks.WEBBING.defaultBlockState(); int faces = 0; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/YellowMapleLeafPileFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/misc/YellowMapleLeafPileFeature.java similarity index 91% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/YellowMapleLeafPileFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/misc/YellowMapleLeafPileFeature.java index f5e1aa332b..559b134e5a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/misc/YellowMapleLeafPileFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/misc/YellowMapleLeafPileFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.misc; +package biomesoplenty.worldgen.feature.misc; -import biomesoplenty.forge.api.block.BOPBlocks; +import biomesoplenty.api.block.BOPBlocks; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; @@ -40,9 +40,9 @@ public boolean place(FeaturePlaceContext featurePlaceC { for (int k = 0; k < 16; ++k) { - if (world.getBlockState(blockpos.above(k)).getBlock() == BOPBlocks.YELLOW_MAPLE_LEAVES.get()) + if (world.getBlockState(blockpos.above(k)).getBlock() == BOPBlocks.YELLOW_MAPLE_LEAVES) { - world.setBlock(blockpos, BOPBlocks.YELLOW_MAPLE_LEAF_PILE.get().defaultBlockState(), 2); + world.setBlock(blockpos, BOPBlocks.YELLOW_MAPLE_LEAF_PILE.defaultBlockState(), 2); ++i; } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BOPTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/BOPTreeFeature.java similarity index 93% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BOPTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/BOPTreeFeature.java index 59cd966f4e..506eefca46 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BOPTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/BOPTreeFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.worldgen.feature.configurations.BOPTreeConfiguration; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.worldgen.feature.configurations.BOPTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -118,7 +118,7 @@ protected boolean canReplace(LevelAccessor level, BlockPos pos) { return TreeFeature.isAirOrLeaves(level, pos) || level.isStateAtPosition(pos, (state) -> { Block block = state.getBlock(); - return state.is(BlockTags.REPLACEABLE_BY_TREES) || state.is(BlockTags.SAPLINGS) || block == Blocks.VINE || block == BOPBlocks.WILLOW_VINE.get() || block == BOPBlocks.DEAD_BRANCH.get() || block == Blocks.MOSS_CARPET || block == BOPBlocks.SPANISH_MOSS.get() || block instanceof BushBlock; + return state.is(BlockTags.REPLACEABLE_BY_TREES) || state.is(BlockTags.SAPLINGS) || block == Blocks.VINE || block == BOPBlocks.WILLOW_VINE || block == BOPBlocks.DEAD_BRANCH || block == Blocks.MOSS_CARPET || block == BOPBlocks.SPANISH_MOSS || block instanceof BushBlock; }); } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BasicTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/BasicTreeFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BasicTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/BasicTreeFeature.java index ba3934ff72..0645551590 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BasicTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/BasicTreeFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.worldgen.feature.configurations.BasicTreeConfiguration; +import biomesoplenty.worldgen.feature.configurations.BasicTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BigTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/BigTreeFeature.java similarity index 99% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BigTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/BigTreeFeature.java index fb1782779a..851b2e4d3a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BigTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/BigTreeFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.worldgen.feature.configurations.BigTreeConfiguration; +import biomesoplenty.worldgen.feature.configurations.BigTreeConfiguration; import com.google.common.collect.Lists; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BushTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/BushTreeFeature.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BushTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/BushTreeFeature.java index d3f7ed12e8..058aebbb49 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/BushTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/BushTreeFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.util.biome.GeneratorUtil; -import biomesoplenty.forge.common.worldgen.feature.configurations.BasicTreeConfiguration; +import biomesoplenty.util.biome.GeneratorUtil; +import biomesoplenty.worldgen.feature.configurations.BasicTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/CypressTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/CypressTreeFeature.java similarity index 94% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/CypressTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/CypressTreeFeature.java index 3c3bfb7b06..8c887f619b 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/CypressTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/CypressTreeFeature.java @@ -2,12 +2,12 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.block.WillowLeavesBlock; -import biomesoplenty.forge.common.util.biome.GeneratorUtil; -import biomesoplenty.forge.common.worldgen.feature.configurations.CypressTreeConfiguration; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.block.WillowLeavesBlock; +import biomesoplenty.util.biome.GeneratorUtil; +import biomesoplenty.worldgen.feature.configurations.CypressTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -19,7 +19,6 @@ import net.minecraft.world.level.block.GrowingPlantHeadBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import net.minecraft.world.level.levelgen.feature.TreeFeature; import net.minecraft.world.level.levelgen.feature.configurations.TreeConfiguration; import net.minecraft.world.level.levelgen.feature.foliageplacers.FoliagePlacer; import net.minecraft.world.level.material.Fluids; @@ -54,7 +53,7 @@ public boolean checkSpace(LevelAccessor world, BlockPos pos, int baseHeight, int } BlockPos pos2 = pos.offset(0, height - 2,0); - if (!TreeFeature.isAirOrLeaves(world, pos2)) + if (!isAirOrLeaves(world, pos2)) { return false; } @@ -259,7 +258,7 @@ private void placeSpanishMoss(LevelAccessor p_236429_1_, RandomSource p_236429_2 if (p_236429_1_.isEmptyBlock(blockpos$mutable)) { BlockState blockstate = p_236429_1_.getBlockState(blockpos$mutable.above()); - if (blockstate.getBlock() == BOPBlocks.WILLOW_LEAVES.get()) + if (blockstate.getBlock() == BOPBlocks.WILLOW_LEAVES) { int j = Mth.nextInt(p_236429_2_, 1, 3); @@ -277,7 +276,7 @@ private void placeSpanishMoss(LevelAccessor p_236429_1_, RandomSource p_236429_2 public static void placeSpanishMossColumn(LevelAccessor p_236427_0_, RandomSource p_236427_1_, BlockPos.MutableBlockPos p_236427_2_, int p_236427_3_, int p_236427_4_, int p_236427_5_) { BlockState leaves = p_236427_0_.getBlockState(p_236427_2_.above()); - if (leaves.getBlock() == BOPBlocks.WILLOW_LEAVES.get()) + if (leaves.getBlock() == BOPBlocks.WILLOW_LEAVES) { p_236427_0_.setBlock(p_236427_2_.above(), leaves.setValue(WillowLeavesBlock.MOSSY, Boolean.valueOf(true)), 2); } @@ -288,11 +287,11 @@ public static void placeSpanishMossColumn(LevelAccessor p_236427_0_, RandomSourc { if (i == p_236427_3_ || !p_236427_0_.isEmptyBlock(p_236427_2_.below())) { - p_236427_0_.setBlock(p_236427_2_, BOPBlocks.SPANISH_MOSS.get().defaultBlockState().setValue(GrowingPlantHeadBlock.AGE, Integer.valueOf(Mth.nextInt(p_236427_1_, p_236427_4_, p_236427_5_))), 2); + p_236427_0_.setBlock(p_236427_2_, BOPBlocks.SPANISH_MOSS.defaultBlockState().setValue(GrowingPlantHeadBlock.AGE, Integer.valueOf(Mth.nextInt(p_236427_1_, p_236427_4_, p_236427_5_))), 2); break; } - p_236427_0_.setBlock(p_236427_2_, BOPBlocks.SPANISH_MOSS_PLANT.get().defaultBlockState(), 2); + p_236427_0_.setBlock(p_236427_2_, BOPBlocks.SPANISH_MOSS_PLANT.defaultBlockState(), 2); } p_236427_2_.move(Direction.DOWN); @@ -303,7 +302,7 @@ public static void placeSpanishMossColumn(LevelAccessor p_236427_0_, RandomSourc @Override public boolean placeLeaves(LevelAccessor level, BlockPos pos, FoliagePlacer.FoliageSetter leaves, CypressTreeConfiguration config) { - if (TreeFeature.isAirOrLeaves(level, pos)) + if (isAirOrLeaves(level, pos)) { leaves.set(pos, config.foliageProvider.getState(level.getRandom(), pos)); return true; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/MagicTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/MagicTreeFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/MagicTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/MagicTreeFeature.java index e45a48a12c..3e83ba03bd 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/MagicTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/MagicTreeFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.worldgen.feature.configurations.MagicTreeConfiguration; +import biomesoplenty.worldgen.feature.configurations.MagicTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.util.RandomSource; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/MahoganyTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/MahoganyTreeFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/MahoganyTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/MahoganyTreeFeature.java index cb0f311b74..927e6a6b5f 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/MahoganyTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/MahoganyTreeFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.worldgen.feature.configurations.MahoganyTreeConfiguration; +import biomesoplenty.worldgen.feature.configurations.MahoganyTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/PalmTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/PalmTreeFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/PalmTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/PalmTreeFeature.java index edd2060bbb..6fa0bb880b 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/PalmTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/PalmTreeFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.util.biome.GeneratorUtil; -import biomesoplenty.forge.common.worldgen.feature.configurations.PalmTreeConfiguration; +import biomesoplenty.util.biome.GeneratorUtil; +import biomesoplenty.worldgen.feature.configurations.PalmTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/PineTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/PineTreeFeature.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/PineTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/PineTreeFeature.java index d389893384..f840241b93 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/PineTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/PineTreeFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.worldgen.feature.configurations.PineTreeConfiguration; +import biomesoplenty.worldgen.feature.configurations.PineTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/PoplarTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/PoplarTreeFeature.java similarity index 96% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/PoplarTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/PoplarTreeFeature.java index d1643a04e9..a498737fe5 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/PoplarTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/PoplarTreeFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.util.biome.GeneratorUtil; -import biomesoplenty.forge.common.worldgen.feature.configurations.PoplarTreeConfiguration; +import biomesoplenty.util.biome.GeneratorUtil; +import biomesoplenty.worldgen.feature.configurations.PoplarTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.tags.BlockTags; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/RedwoodTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/RedwoodTreeFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/RedwoodTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/RedwoodTreeFeature.java index ae07da191d..5f6bc988f3 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/RedwoodTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/RedwoodTreeFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.util.biome.GeneratorUtil; -import biomesoplenty.forge.common.worldgen.feature.configurations.TaigaTreeConfiguration; +import biomesoplenty.util.biome.GeneratorUtil; +import biomesoplenty.worldgen.feature.configurations.TaigaTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -16,7 +16,6 @@ import net.minecraft.world.level.WorldGenLevel; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.TreeConfiguration; import net.minecraft.world.level.levelgen.feature.foliageplacers.FoliagePlacer; @@ -252,7 +251,7 @@ else if (radius < 2) { BlockPos local = startPos.offset(x, -y, z); BlockState state = world.getBlockState(local); - if (!state.isSolid() || Feature.isDirt(state)) { + if (!state.isSolid() || isDirt(state)) { world.setBlock(local, Blocks.DIRT.defaultBlockState(), 3); } } diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/TaigaTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/TaigaTreeFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/TaigaTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/TaigaTreeFeature.java index 70afc5a26f..8ba1bab371 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/TaigaTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/TaigaTreeFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.util.biome.GeneratorUtil; -import biomesoplenty.forge.common.worldgen.feature.configurations.TaigaTreeConfiguration; +import biomesoplenty.util.biome.GeneratorUtil; +import biomesoplenty.worldgen.feature.configurations.TaigaTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/TwigletTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/TwigletTreeFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/TwigletTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/TwigletTreeFeature.java index c8b19ffcc6..de0c2a33a8 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/TwigletTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/TwigletTreeFeature.java @@ -2,9 +2,9 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.worldgen.feature.configurations.TwigletTreeConfiguration; +import biomesoplenty.worldgen.feature.configurations.TwigletTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/UmbranTreeFeature.java b/common/src/main/java/biomesoplenty/worldgen/feature/tree/UmbranTreeFeature.java similarity index 97% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/UmbranTreeFeature.java rename to common/src/main/java/biomesoplenty/worldgen/feature/tree/UmbranTreeFeature.java index abe2742916..c58473363f 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/tree/UmbranTreeFeature.java +++ b/common/src/main/java/biomesoplenty/worldgen/feature/tree/UmbranTreeFeature.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature.tree; +package biomesoplenty.worldgen.feature.tree; -import biomesoplenty.forge.common.util.biome.GeneratorUtil; -import biomesoplenty.forge.common.worldgen.feature.configurations.TaigaTreeConfiguration; +import biomesoplenty.util.biome.GeneratorUtil; +import biomesoplenty.worldgen.feature.configurations.TaigaTreeConfiguration; import com.mojang.serialization.Codec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPCavePlacements.java b/common/src/main/java/biomesoplenty/worldgen/placement/BOPCavePlacements.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPCavePlacements.java rename to common/src/main/java/biomesoplenty/worldgen/placement/BOPCavePlacements.java index ef23d635f8..73ec7371e2 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPCavePlacements.java +++ b/common/src/main/java/biomesoplenty/worldgen/placement/BOPCavePlacements.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.placement; +package biomesoplenty.worldgen.placement; -import biomesoplenty.forge.common.worldgen.feature.BOPCaveFeatures; -import biomesoplenty.forge.common.util.worldgen.BOPPlacementUtils; +import biomesoplenty.worldgen.feature.BOPCaveFeatures; +import biomesoplenty.util.worldgen.BOPPlacementUtils; import net.minecraft.core.Direction; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPMiscOverworldPlacements.java b/common/src/main/java/biomesoplenty/worldgen/placement/BOPMiscOverworldPlacements.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPMiscOverworldPlacements.java rename to common/src/main/java/biomesoplenty/worldgen/placement/BOPMiscOverworldPlacements.java index 308cc8ed76..2be0051f07 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPMiscOverworldPlacements.java +++ b/common/src/main/java/biomesoplenty/worldgen/placement/BOPMiscOverworldPlacements.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.placement; +package biomesoplenty.worldgen.placement; -import biomesoplenty.forge.common.worldgen.feature.BOPMiscOverworldFeatures; -import biomesoplenty.forge.common.util.worldgen.BOPPlacementUtils; +import biomesoplenty.worldgen.feature.BOPMiscOverworldFeatures; +import biomesoplenty.util.worldgen.BOPPlacementUtils; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; import net.minecraft.core.registries.Registries; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPNetherPlacements.java b/common/src/main/java/biomesoplenty/worldgen/placement/BOPNetherPlacements.java similarity index 98% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPNetherPlacements.java rename to common/src/main/java/biomesoplenty/worldgen/placement/BOPNetherPlacements.java index df76b1b384..ee5f742011 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPNetherPlacements.java +++ b/common/src/main/java/biomesoplenty/worldgen/placement/BOPNetherPlacements.java @@ -2,10 +2,10 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.placement; +package biomesoplenty.worldgen.placement; -import biomesoplenty.forge.common.worldgen.feature.BOPNetherFeatures; -import biomesoplenty.forge.common.util.worldgen.BOPPlacementUtils; +import biomesoplenty.worldgen.feature.BOPNetherFeatures; +import biomesoplenty.util.worldgen.BOPPlacementUtils; import com.google.common.collect.ImmutableList; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPTreePlacements.java b/common/src/main/java/biomesoplenty/worldgen/placement/BOPTreePlacements.java similarity index 92% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPTreePlacements.java rename to common/src/main/java/biomesoplenty/worldgen/placement/BOPTreePlacements.java index 001033ba79..f9686a5f15 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPTreePlacements.java +++ b/common/src/main/java/biomesoplenty/worldgen/placement/BOPTreePlacements.java @@ -2,11 +2,11 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.placement; +package biomesoplenty.worldgen.placement; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.worldgen.feature.BOPTreeFeatures; -import biomesoplenty.forge.common.util.worldgen.BOPPlacementUtils; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.worldgen.feature.BOPTreeFeatures; +import biomesoplenty.util.worldgen.BOPPlacementUtils; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; @@ -161,71 +161,71 @@ public static void bootstrap(BootstapContext context) final Holder> WILLOW_TREE = configuredFeatureGetter.getOrThrow(BOPTreeFeatures.WILLOW_TREE); final Holder> YELLOW_MAPLE_TREE = configuredFeatureGetter.getOrThrow(BOPTreeFeatures.YELLOW_MAPLE_TREE); - register(context, BOPTreePlacements.ACACIA_BUSH_TREE_CHECKED, ACACIA_BUSH_TREE, List.of(BlockPredicateFilter.forPredicate(BlockPredicate.matchesBlocks(new BlockPos(0, -1, 0), BOPBlocks.ORANGE_SAND.get())))); - register(context, BOPTreePlacements.ACACIA_TWIGLET_CHECKED, ACACIA_TWIGLET, List.of(BlockPredicateFilter.forPredicate(BlockPredicate.anyOf(BlockPredicate.matchesBlocks(new BlockPos(0, -1, 0), BOPBlocks.ORANGE_SAND.get()))))); - register(context, BOPTreePlacements.ACACIA_TWIGLET_SMALL_CHECKED, ACACIA_TWIGLET_SMALL, List.of(BlockPredicateFilter.forPredicate(BlockPredicate.anyOf(BlockPredicate.matchesBlocks(new BlockPos(0, -1, 0), Blocks.SAND, BOPBlocks.ORANGE_SAND.get()))))); - register(context, BOPTreePlacements.ASPEN_TREE_CHECKED, ASPEN_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.YELLOW_MAPLE_SAPLING.get()))); - register(context, BOPTreePlacements.BIG_FLOWERING_TREE_CHECKED, BIG_FLOWERING_OAK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FLOWERING_OAK_SAPLING.get()))); - register(context, BOPTreePlacements.BIG_HELLBARK_TREE_CHECKED, BIG_HELLBARK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.HELLBARK_SAPLING.get()))); - register(context, BOPTreePlacements.BIG_JACARANDA_TREE_CHECKED, BIG_JACARANDA_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.JACARANDA_SAPLING.get()))); - register(context, BOPTreePlacements.BIG_MAGIC_TREE_CHECKED, BIG_MAGIC_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.MAGIC_SAPLING.get()))); - register(context, BOPTreePlacements.BIG_RED_MAPLE_TREE_CHECKED, BIG_RED_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RED_MAPLE_SAPLING.get()))); + register(context, BOPTreePlacements.ACACIA_BUSH_TREE_CHECKED, ACACIA_BUSH_TREE, List.of(BlockPredicateFilter.forPredicate(BlockPredicate.matchesBlocks(new BlockPos(0, -1, 0), BOPBlocks.ORANGE_SAND)))); + register(context, BOPTreePlacements.ACACIA_TWIGLET_CHECKED, ACACIA_TWIGLET, List.of(BlockPredicateFilter.forPredicate(BlockPredicate.anyOf(BlockPredicate.matchesBlocks(new BlockPos(0, -1, 0), BOPBlocks.ORANGE_SAND))))); + register(context, BOPTreePlacements.ACACIA_TWIGLET_SMALL_CHECKED, ACACIA_TWIGLET_SMALL, List.of(BlockPredicateFilter.forPredicate(BlockPredicate.anyOf(BlockPredicate.matchesBlocks(new BlockPos(0, -1, 0), Blocks.SAND, BOPBlocks.ORANGE_SAND))))); + register(context, BOPTreePlacements.ASPEN_TREE_CHECKED, ASPEN_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.YELLOW_MAPLE_SAPLING))); + register(context, BOPTreePlacements.BIG_FLOWERING_TREE_CHECKED, BIG_FLOWERING_OAK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FLOWERING_OAK_SAPLING))); + register(context, BOPTreePlacements.BIG_HELLBARK_TREE_CHECKED, BIG_HELLBARK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.HELLBARK_SAPLING))); + register(context, BOPTreePlacements.BIG_JACARANDA_TREE_CHECKED, BIG_JACARANDA_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.JACARANDA_SAPLING))); + register(context, BOPTreePlacements.BIG_MAGIC_TREE_CHECKED, BIG_MAGIC_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.MAGIC_SAPLING))); + register(context, BOPTreePlacements.BIG_RED_MAPLE_TREE_CHECKED, BIG_RED_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RED_MAPLE_SAPLING))); register(context, BOPTreePlacements.BIG_OAK_TREE_CHECKED, BIG_OAK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.OAK_SAPLING))); - register(context, BOPTreePlacements.BIG_ORANGE_MAPLE_TREE_CHECKED, BIG_ORANGE_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.ORANGE_MAPLE_SAPLING.get()))); + register(context, BOPTreePlacements.BIG_ORANGE_MAPLE_TREE_CHECKED, BIG_ORANGE_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.ORANGE_MAPLE_SAPLING))); register(context, BOPTreePlacements.BIG_ORIGIN_TREE_CHECKED, BIG_ORIGIN_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.OAK_SAPLING))); - register(context, BOPTreePlacements.BIG_RAINBOW_BIRCH_TREE_CHECKED, BIG_RAINBOW_BIRCH_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RAINBOW_BIRCH_SAPLING.get()))); - register(context, BOPTreePlacements.BIG_YELLOW_MAPLE_TREE_CHECKED, BIG_YELLOW_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.YELLOW_MAPLE_SAPLING.get()))); + register(context, BOPTreePlacements.BIG_RAINBOW_BIRCH_TREE_CHECKED, BIG_RAINBOW_BIRCH_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RAINBOW_BIRCH_SAPLING))); + register(context, BOPTreePlacements.BIG_YELLOW_MAPLE_TREE_CHECKED, BIG_YELLOW_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.YELLOW_MAPLE_SAPLING))); register(context, BOPTreePlacements.CYPRESS_TREE_CHECKED, CYPRESS_TREE); register(context, BOPTreePlacements.CYPRESS_TREE_MEDIUM_CHECKED, CYPRESS_TREE_MEDIUM); register(context, BOPTreePlacements.DARK_OAK_POPLAR_TREE_CHECKED, DARK_OAK_POPLAR_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.DARK_OAK_SAPLING))); - register(context, BOPTreePlacements.DEAD_TREE_WASTELAND_CHECKED, DEAD_TREE_WASTELAND, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING.get()))); - register(context, BOPTreePlacements.DEAD_TWIGLET_TREE_CHECKED, DEAD_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING.get()))); - register(context, BOPTreePlacements.DEAD_TWIGLET_TREE_SMALL_CHECKED, DEAD_TWIGLET_TREE_SMALL, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING.get()))); - register(context, BOPTreePlacements.DYING_TREE_CHECKED, DYING_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING.get()))); - register(context, BOPTreePlacements.DYING_TREE_WASTELAND_CHECKED, DYING_TREE_WASTELAND, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING.get()))); - register(context, BOPTreePlacements.FIR_TREE_CHECKED, FIR_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FIR_SAPLING.get()))); - register(context, BOPTreePlacements.FIR_TREE_LARGE_CHECKED, FIR_TREE_LARGE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FIR_SAPLING.get()))); - register(context, BOPTreePlacements.FIR_TREE_SMALL_CHECKED, FIR_TREE_SMALL, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FIR_SAPLING.get()))); - register(context, BOPTreePlacements.FLOWERING_OAK_BUSH_CHECKED, FLOWERING_OAK_BUSH, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FLOWERING_OAK_SAPLING.get()))); - register(context, BOPTreePlacements.FLOWERING_OAK_TREE_BEES_CHECKED, FLOWERING_OAK_TREE_BEES, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FLOWERING_OAK_SAPLING.get()))); - register(context, BOPTreePlacements.FLOWERING_OAK_TREE_CHECKED, FLOWERING_OAK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FLOWERING_OAK_SAPLING.get()))); + register(context, BOPTreePlacements.DEAD_TREE_WASTELAND_CHECKED, DEAD_TREE_WASTELAND, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING))); + register(context, BOPTreePlacements.DEAD_TWIGLET_TREE_CHECKED, DEAD_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING))); + register(context, BOPTreePlacements.DEAD_TWIGLET_TREE_SMALL_CHECKED, DEAD_TWIGLET_TREE_SMALL, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING))); + register(context, BOPTreePlacements.DYING_TREE_CHECKED, DYING_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING))); + register(context, BOPTreePlacements.DYING_TREE_WASTELAND_CHECKED, DYING_TREE_WASTELAND, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING))); + register(context, BOPTreePlacements.FIR_TREE_CHECKED, FIR_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FIR_SAPLING))); + register(context, BOPTreePlacements.FIR_TREE_LARGE_CHECKED, FIR_TREE_LARGE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FIR_SAPLING))); + register(context, BOPTreePlacements.FIR_TREE_SMALL_CHECKED, FIR_TREE_SMALL, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FIR_SAPLING))); + register(context, BOPTreePlacements.FLOWERING_OAK_BUSH_CHECKED, FLOWERING_OAK_BUSH, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FLOWERING_OAK_SAPLING))); + register(context, BOPTreePlacements.FLOWERING_OAK_TREE_BEES_CHECKED, FLOWERING_OAK_TREE_BEES, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FLOWERING_OAK_SAPLING))); + register(context, BOPTreePlacements.FLOWERING_OAK_TREE_CHECKED, FLOWERING_OAK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FLOWERING_OAK_SAPLING))); register(context, BOPTreePlacements.GIANT_TREE_CHECKED, GIANT_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.DARK_OAK_SAPLING))); - register(context, BOPTreePlacements.HELLBARK_TREE_CHECKED, HELLBARK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.HELLBARK_SAPLING.get()))); - register(context, BOPTreePlacements.JACARANDA_TREE_BEES_CHECKED, JACARANDA_TREE_BEES, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.JACARANDA_SAPLING.get()))); - register(context, BOPTreePlacements.JACARANDA_TREE_CHECKED, JACARANDA_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.JACARANDA_SAPLING.get()))); + register(context, BOPTreePlacements.HELLBARK_TREE_CHECKED, HELLBARK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.HELLBARK_SAPLING))); + register(context, BOPTreePlacements.JACARANDA_TREE_BEES_CHECKED, JACARANDA_TREE_BEES, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.JACARANDA_SAPLING))); + register(context, BOPTreePlacements.JACARANDA_TREE_CHECKED, JACARANDA_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.JACARANDA_SAPLING))); register(context, BOPTreePlacements.JUNGLE_BUSH_CHECKED, JUNGLE_BUSH, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.JUNGLE_SAPLING))); register(context, BOPTreePlacements.JUNGLE_TWIGLET_TREE_CHECKED, JUNGLE_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.JUNGLE_SAPLING))); - register(context, BOPTreePlacements.MAGIC_TREE_CHECKED, MAGIC_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.MAGIC_SAPLING.get()))); - register(context, BOPTreePlacements.MAHOGANY_TREE_CHECKED, MAHOGANY_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.MAHOGANY_SAPLING.get()))); + register(context, BOPTreePlacements.MAGIC_TREE_CHECKED, MAGIC_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.MAGIC_SAPLING))); + register(context, BOPTreePlacements.MAHOGANY_TREE_CHECKED, MAHOGANY_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.MAHOGANY_SAPLING))); register(context, BOPTreePlacements.MANGROVE_TWIGLET_TREE_CHECKED, MANGROVE_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.OAK_SAPLING))); - register(context, BOPTreePlacements.RED_MAPLE_TREE_CHECKED, RED_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RED_MAPLE_SAPLING.get()))); - register(context, BOPTreePlacements.MAPLE_TWIGLET_TREE_CHECKED, MAPLE_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RED_MAPLE_SAPLING.get()))); + register(context, BOPTreePlacements.RED_MAPLE_TREE_CHECKED, RED_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RED_MAPLE_SAPLING))); + register(context, BOPTreePlacements.MAPLE_TWIGLET_TREE_CHECKED, MAPLE_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RED_MAPLE_SAPLING))); register(context, BOPTreePlacements.CHERRY_TWIGLET_TREE_CHECKED, CHERRY_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.CHERRY_SAPLING))); - register(context, BOPTreePlacements.SNOWBLOSSOM_TWIGLET_TREE_CHECKED, SNOWBLOSSOM_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.SNOWBLOSSOM_SAPLING.get()))); + register(context, BOPTreePlacements.SNOWBLOSSOM_TWIGLET_TREE_CHECKED, SNOWBLOSSOM_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.SNOWBLOSSOM_SAPLING))); register(context, BOPTreePlacements.OAK_BUSH_CHECKED, OAK_BUSH, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.OAK_SAPLING))); - register(context, BOPTreePlacements.ORANGE_MAPLE_TREE_CHECKED, ORANGE_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.ORANGE_MAPLE_SAPLING.get()))); + register(context, BOPTreePlacements.ORANGE_MAPLE_TREE_CHECKED, ORANGE_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.ORANGE_MAPLE_SAPLING))); register(context, BOPTreePlacements.ORIGIN_TREE_CHECKED, ORIGIN_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.OAK_SAPLING))); - register(context, BOPTreePlacements.PALM_TREE_CHECKED, PALM_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.PALM_SAPLING.get()))); - register(context, BOPTreePlacements.PINE_TREE_CHECKED, PINE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FIR_SAPLING.get()))); - register(context, BOPTreePlacements.RAINBOW_BIRCH_TREE_CHECKED, RAINBOW_BIRCH_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RAINBOW_BIRCH_SAPLING.get()))); - register(context, BOPTreePlacements.REDWOOD_TREE_CHECKED, REDWOOD_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.REDWOOD_SAPLING.get()))); - register(context, BOPTreePlacements.REDWOOD_TREE_LARGE_CHECKED, REDWOOD_TREE_LARGE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.REDWOOD_SAPLING.get()))); - register(context, BOPTreePlacements.REDWOOD_TREE_MEDIUM_CHECKED, REDWOOD_TREE_MEDIUM, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.REDWOOD_SAPLING.get()))); - register(context, BOPTreePlacements.SMALL_DEAD_TREE_CHECKED, SMALL_DEAD_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING.get()))); - register(context, BOPTreePlacements.SPARSE_ACACIA_TREE_CHECKED, SPARSE_ACACIA_TREE, List.of(BlockPredicateFilter.forPredicate(BlockPredicate.matchesBlocks(new BlockPos(0, -1, 0), BOPBlocks.ORANGE_SAND.get())))); + register(context, BOPTreePlacements.PALM_TREE_CHECKED, PALM_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.PALM_SAPLING))); + register(context, BOPTreePlacements.PINE_TREE_CHECKED, PINE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.FIR_SAPLING))); + register(context, BOPTreePlacements.RAINBOW_BIRCH_TREE_CHECKED, RAINBOW_BIRCH_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.RAINBOW_BIRCH_SAPLING))); + register(context, BOPTreePlacements.REDWOOD_TREE_CHECKED, REDWOOD_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.REDWOOD_SAPLING))); + register(context, BOPTreePlacements.REDWOOD_TREE_LARGE_CHECKED, REDWOOD_TREE_LARGE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.REDWOOD_SAPLING))); + register(context, BOPTreePlacements.REDWOOD_TREE_MEDIUM_CHECKED, REDWOOD_TREE_MEDIUM, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.REDWOOD_SAPLING))); + register(context, BOPTreePlacements.SMALL_DEAD_TREE_CHECKED, SMALL_DEAD_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING))); + register(context, BOPTreePlacements.SPARSE_ACACIA_TREE_CHECKED, SPARSE_ACACIA_TREE, List.of(BlockPredicateFilter.forPredicate(BlockPredicate.matchesBlocks(new BlockPos(0, -1, 0), BOPBlocks.ORANGE_SAND)))); register(context, BOPTreePlacements.SPARSE_OAK_TREE_CHECKED, SPARSE_OAK_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.OAK_SAPLING))); register(context, BOPTreePlacements.SPRUCE_BUSH_CHECKED, SPRUCE_BUSH, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.SPRUCE_SAPLING))); register(context, BOPTreePlacements.SPRUCE_POPLAR_TREE_CHECKED, SPRUCE_POPLAR_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.SPRUCE_SAPLING))); register(context, BOPTreePlacements.SPRUCE_TWIGLET_TREE_CHECKED, SPRUCE_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.SPRUCE_SAPLING))); - register(context, BOPTreePlacements.TALL_DEAD_TWIGLET_TREE_CHECKED, TALL_DEAD_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING.get()))); + register(context, BOPTreePlacements.TALL_DEAD_TWIGLET_TREE_CHECKED, TALL_DEAD_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.DEAD_SAPLING))); register(context, BOPTreePlacements.TALL_SPRUCE_TREE_BEES_CHECKED, TALL_SPRUCE_TREE_BEES, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.SPRUCE_SAPLING))); register(context, BOPTreePlacements.TALL_SPRUCE_TREE_CHECKED, TALL_SPRUCE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.SPRUCE_SAPLING))); register(context, BOPTreePlacements.TALL_TWIGLET_TREE_CHECKED, TALL_TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.OAK_SAPLING))); - register(context, BOPTreePlacements.TALL_UMBRAN_TREE_CHECKED, TALL_UMBRAN_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.UMBRAN_SAPLING.get()))); + register(context, BOPTreePlacements.TALL_UMBRAN_TREE_CHECKED, TALL_UMBRAN_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.UMBRAN_SAPLING))); register(context, BOPTreePlacements.TWIGLET_TREE_CHECKED, TWIGLET_TREE, List.of(PlacementUtils.filteredByBlockSurvival(Blocks.OAK_SAPLING))); - register(context, BOPTreePlacements.UMBRAN_TREE_CHECKED, UMBRAN_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.UMBRAN_SAPLING.get()))); - register(context, BOPTreePlacements.WILLOW_TREE_CHECKED, WILLOW_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.WILLOW_SAPLING.get()))); - register(context, BOPTreePlacements.YELLOW_MAPLE_TREE_CHECKED, YELLOW_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.YELLOW_MAPLE_SAPLING.get()))); + register(context, BOPTreePlacements.UMBRAN_TREE_CHECKED, UMBRAN_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.UMBRAN_SAPLING))); + register(context, BOPTreePlacements.WILLOW_TREE_CHECKED, WILLOW_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.WILLOW_SAPLING))); + register(context, BOPTreePlacements.YELLOW_MAPLE_TREE_CHECKED, YELLOW_MAPLE_TREE, List.of(PlacementUtils.filteredByBlockSurvival(BOPBlocks.YELLOW_MAPLE_SAPLING))); } protected static void register(BootstapContext context, ResourceKey placedFeatureKey, Holder> configuredFeature, PlacementModifier... modifiers) diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPVegetationPlacements.java b/common/src/main/java/biomesoplenty/worldgen/placement/BOPVegetationPlacements.java similarity index 99% rename from forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPVegetationPlacements.java rename to common/src/main/java/biomesoplenty/worldgen/placement/BOPVegetationPlacements.java index 27e1deb614..a04621792a 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/placement/BOPVegetationPlacements.java +++ b/common/src/main/java/biomesoplenty/worldgen/placement/BOPVegetationPlacements.java @@ -2,12 +2,12 @@ * Copyright 2022, the Glitchfiend Team. * All rights reserved. ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.placement; +package biomesoplenty.worldgen.placement; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.common.worldgen.feature.BOPTreeFeatures; -import biomesoplenty.forge.common.worldgen.feature.BOPVegetationFeatures; -import biomesoplenty.forge.common.util.worldgen.BOPPlacementUtils; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.worldgen.feature.BOPTreeFeatures; +import biomesoplenty.worldgen.feature.BOPVegetationFeatures; +import biomesoplenty.util.worldgen.BOPPlacementUtils; import com.google.common.collect.ImmutableList; import net.minecraft.core.Holder; import net.minecraft.core.HolderGetter; @@ -438,7 +438,7 @@ public static void bootstrap(BootstapContext context) register(context, BOPVegetationPlacements.TREES_FIELD, TREES_FIELD, treePlacement(PlacementUtils.countExtra(3, 0.1F, 1))); register(context, BOPVegetationPlacements.TREES_FIELD_FOREST, TREES_FIELD_FOREST, treePlacement(PlacementUtils.countExtra(9, 0.1F, 1))); register(context, BOPVegetationPlacements.TREES_FUNGAL_JUNGLE, TREES_FUNGAL_JUNGLE, treePlacement(PlacementUtils.countExtra(5, 0.1F, 1))); - register(context, BOPVegetationPlacements.TREES_FIR_CLEARING, FIR_TREE_SMALL, treePlacement(PlacementUtils.countExtra(1, 0.1F, 1), BOPBlocks.FIR_SAPLING.get())); + register(context, BOPVegetationPlacements.TREES_FIR_CLEARING, FIR_TREE_SMALL, treePlacement(PlacementUtils.countExtra(1, 0.1F, 1), BOPBlocks.FIR_SAPLING)); register(context, BOPVegetationPlacements.TREES_HOT_SPRINGS, TREES_HOT_SPRINGS, treePlacement(PlacementUtils.countExtra(2, 0.2F, 1))); register(context, BOPVegetationPlacements.TREES_JACARANDA_GLADE, TREES_JACARANDA_GLADE, treePlacement(PlacementUtils.countExtra(6, 0.2F, 15))); register(context, BOPVegetationPlacements.TREES_JADE_CLIFFS, TREES_JADE_CLIFFS, treePlacement(PlacementUtils.countExtra(25, 0.1F, 1))); @@ -465,7 +465,7 @@ public static void bootstrap(BootstapContext context) register(context, BOPVegetationPlacements.TREES_SCRUBLAND, TREES_SCRUBLAND, treePlacement(PlacementUtils.countExtra(0, 0.2F, 6))); register(context, BOPVegetationPlacements.TREES_SEASONAL_FOREST, TREES_SEASONAL_FOREST, treePlacement(PlacementUtils.countExtra(10, 0.1F, 1))); register(context, BOPVegetationPlacements.TREES_SEASONAL_PUMPKIN_PATCH, TREES_SEASONAL_PUMPKIN_PATCH, treePlacement(PlacementUtils.countExtra(6, 0.1F, 1))); - register(context, BOPVegetationPlacements.TREES_SNOWBLOSSOM_GROVE, TREES_SNOWBLOSSOM_GROVE, treePlacement(PlacementUtils.countExtra(7, 0.1F, 1), BOPBlocks.SNOWBLOSSOM_SAPLING.get())); + register(context, BOPVegetationPlacements.TREES_SNOWBLOSSOM_GROVE, TREES_SNOWBLOSSOM_GROVE, treePlacement(PlacementUtils.countExtra(7, 0.1F, 1), BOPBlocks.SNOWBLOSSOM_SAPLING)); register(context, BOPVegetationPlacements.TREES_SNOWY_CONIFEROUS_FOREST, TREES_SNOWY_CONIFEROUS_FOREST, treePlacement(PlacementUtils.countExtra(6, 0.1F, 1))); register(context, BOPVegetationPlacements.TREES_SNOWY_MAPLE_FOREST, TREES_SNOWY_MAPLE_FOREST, treePlacement(PlacementUtils.countExtra(8, 0.1F, 1))); register(context, BOPVegetationPlacements.TREES_TROPICS, TREES_TROPICS, treePlacement(PlacementUtils.countExtra(9, 0.2F, 1))); diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/barley.json b/common/src/main/resources/assets/biomesoplenty/blockstates/barley.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/barley.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/barley.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/black_sand.json b/common/src/main/resources/assets/biomesoplenty/blockstates/black_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/black_sand.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/black_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_wall.json b/common/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_wall.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/black_sandstone_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/blackstone_bulb.json b/common/src/main/resources/assets/biomesoplenty/blockstates/blackstone_bulb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/blackstone_bulb.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/blackstone_bulb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/blackstone_spines.json b/common/src/main/resources/assets/biomesoplenty/blockstates/blackstone_spines.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/blackstone_spines.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/blackstone_spines.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/blood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/blood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/blood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/blood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/blue_hydrangea.json b/common/src/main/resources/assets/biomesoplenty/blockstates/blue_hydrangea.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/blue_hydrangea.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/blue_hydrangea.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/bramble.json b/common/src/main/resources/assets/biomesoplenty/blockstates/bramble.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/bramble.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/bramble.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/bramble_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/bramble_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/bramble_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/bramble_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/brimstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/brimstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_wall.json b/common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_wall.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_brick_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_bricks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_bricks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_bricks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_bud.json b/common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_bud.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_cluster.json b/common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_cluster.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_cluster.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_cluster.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_fumarole.json b/common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_fumarole.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/brimstone_fumarole.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/brimstone_fumarole.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/burning_blossom.json b/common/src/main/resources/assets/biomesoplenty/blockstates/burning_blossom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/burning_blossom.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/burning_blossom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/bush.json b/common/src/main/resources/assets/biomesoplenty/blockstates/bush.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/bush.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/bush.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/cattail.json b/common/src/main/resources/assets/biomesoplenty/blockstates/cattail.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/cattail.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/cattail.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/chiseled_black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/chiseled_black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/chiseled_black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/chiseled_black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/chiseled_brimstone_bricks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/chiseled_brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/chiseled_brimstone_bricks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/chiseled_brimstone_bricks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/chiseled_orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/chiseled_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/chiseled_orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/chiseled_orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/chiseled_white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/chiseled_white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/chiseled_white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/chiseled_white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/clover.json b/common/src/main/resources/assets/biomesoplenty/blockstates/clover.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/clover.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/clover.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/cut_black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/cut_black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/cut_black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/cut_black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/cut_black_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/cut_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/cut_black_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/cut_black_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/cut_white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/cut_white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/cut_white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/cut_white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/cut_white_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/cut_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/cut_white_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/cut_white_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_branch.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_branch.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_branch.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_branch.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_grass.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_grass.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dead_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dead_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dead_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dead_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/desert_grass.json b/common/src/main/resources/assets/biomesoplenty/blockstates/desert_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/desert_grass.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/desert_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dried_salt.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dried_salt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dried_salt.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dried_salt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/dune_grass.json b/common/src/main/resources/assets/biomesoplenty/blockstates/dune_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/dune_grass.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/dune_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/eyebulb.json b/common/src/main/resources/assets/biomesoplenty/blockstates/eyebulb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/eyebulb.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/eyebulb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/fir_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/fir_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/fir_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/fir_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/flesh.json b/common/src/main/resources/assets/biomesoplenty/blockstates/flesh.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/flesh.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/flesh.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/flesh_tendons.json b/common/src/main/resources/assets/biomesoplenty/blockstates/flesh_tendons.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/flesh_tendons.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/flesh_tendons.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/flesh_tendons_strand.json b/common/src/main/resources/assets/biomesoplenty/blockstates/flesh_tendons_strand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/flesh_tendons_strand.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/flesh_tendons_strand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/flowering_oak_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/flowering_oak_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/flowering_oak_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/flowering_oak_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/flowering_oak_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/flowering_oak_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/flowering_oak_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/flowering_oak_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/glowflower.json b/common/src/main/resources/assets/biomesoplenty/blockstates/glowflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/glowflower.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/glowflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/glowing_moss_block.json b/common/src/main/resources/assets/biomesoplenty/blockstates/glowing_moss_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/glowing_moss_block.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/glowing_moss_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/glowing_moss_carpet.json b/common/src/main/resources/assets/biomesoplenty/blockstates/glowing_moss_carpet.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/glowing_moss_carpet.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/glowing_moss_carpet.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/glowshroom.json b/common/src/main/resources/assets/biomesoplenty/blockstates/glowshroom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/glowshroom.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/glowshroom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/glowshroom_block.json b/common/src/main/resources/assets/biomesoplenty/blockstates/glowshroom_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/glowshroom_block.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/glowshroom_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/glowworm_silk.json b/common/src/main/resources/assets/biomesoplenty/blockstates/glowworm_silk.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/glowworm_silk.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/glowworm_silk.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/glowworm_silk_strand.json b/common/src/main/resources/assets/biomesoplenty/blockstates/glowworm_silk_strand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/glowworm_silk_strand.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/glowworm_silk_strand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/goldenrod.json b/common/src/main/resources/assets/biomesoplenty/blockstates/goldenrod.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/goldenrod.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/goldenrod.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hair.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hair.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hair.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hair.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hanging_cobweb.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hanging_cobweb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hanging_cobweb.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hanging_cobweb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hanging_cobweb_strand.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hanging_cobweb_strand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hanging_cobweb_strand.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hanging_cobweb_strand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/hellbark_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/high_grass.json b/common/src/main/resources/assets/biomesoplenty/blockstates/high_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/high_grass.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/high_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/high_grass_plant.json b/common/src/main/resources/assets/biomesoplenty/blockstates/high_grass_plant.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/high_grass_plant.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/high_grass_plant.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/huge_clover_petal.json b/common/src/main/resources/assets/biomesoplenty/blockstates/huge_clover_petal.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/huge_clover_petal.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/huge_clover_petal.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/huge_lily_pad.json b/common/src/main/resources/assets/biomesoplenty/blockstates/huge_lily_pad.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/huge_lily_pad.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/huge_lily_pad.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/icy_iris.json b/common/src/main/resources/assets/biomesoplenty/blockstates/icy_iris.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/icy_iris.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/icy_iris.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/large_rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/blockstates/large_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/large_rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/large_rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/lavender.json b/common/src/main/resources/assets/biomesoplenty/blockstates/lavender.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/lavender.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/lavender.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/magic_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/magic_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/magic_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/magic_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mahogany_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/maple_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/maple_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/maple_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/maple_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/medium_rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/blockstates/medium_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/medium_rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/medium_rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/mossy_black_sand.json b/common/src/main/resources/assets/biomesoplenty/blockstates/mossy_black_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/mossy_black_sand.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/mossy_black_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/orange_cosmos.json b/common/src/main/resources/assets/biomesoplenty/blockstates/orange_cosmos.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/orange_cosmos.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/orange_cosmos.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/orange_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sand.json b/common/src/main/resources/assets/biomesoplenty/blockstates/orange_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sand.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/orange_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_wall.json b/common/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_wall.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/origin_grass_block.json b/common/src/main/resources/assets/biomesoplenty/blockstates/origin_grass_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/origin_grass_block.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/origin_grass_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/origin_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/origin_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/origin_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/origin_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/origin_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/origin_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/origin_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/origin_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/palm_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/palm_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/palm_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/palm_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pine_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pine_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pine_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pine_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pink_daffodil.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pink_daffodil.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pink_daffodil.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pink_daffodil.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pink_hibiscus.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pink_hibiscus.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pink_hibiscus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/porous_flesh.json b/common/src/main/resources/assets/biomesoplenty/blockstates/porous_flesh.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/porous_flesh.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/porous_flesh.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_burning_blossom.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_burning_blossom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_burning_blossom.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_burning_blossom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_dead_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_dead_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_dead_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_dead_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_fir_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_fir_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_fir_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_fir_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_flowering_oak_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_flowering_oak_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_flowering_oak_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_flowering_oak_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_glowflower.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_glowflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_glowflower.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_glowflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_glowshroom.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_glowshroom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_glowshroom.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_glowshroom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_hellbark_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_hellbark_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_hellbark_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_hellbark_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_jacaranda_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_jacaranda_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_jacaranda_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_jacaranda_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_lavender.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_lavender.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_lavender.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_lavender.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_magic_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_magic_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_magic_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_magic_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_mahogany_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_mahogany_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_mahogany_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_mahogany_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_orange_cosmos.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_orange_cosmos.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_orange_cosmos.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_orange_cosmos.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_orange_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_orange_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_orange_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_orange_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_origin_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_origin_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_origin_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_origin_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_palm_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_palm_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_palm_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_palm_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_pine_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_pine_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_pine_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_pine_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_pink_daffodil.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_pink_daffodil.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_pink_daffodil.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_pink_daffodil.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_pink_hibiscus.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_pink_hibiscus.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_pink_hibiscus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_rainbow_birch_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_rainbow_birch_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_rainbow_birch_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_rainbow_birch_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_red_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_red_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_red_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_red_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_redwood_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_redwood_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_redwood_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_redwood_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_rose.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_rose.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_rose.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_rose.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_snowblossom_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_snowblossom_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_snowblossom_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_snowblossom_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_sprout.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_sprout.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_sprout.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_sprout.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_tiny_cactus.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_tiny_cactus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_tiny_cactus.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_tiny_cactus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_toadstool.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_toadstool.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_toadstool.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_toadstool.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_umbran_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_umbran_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_umbran_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_umbran_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_violet.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_violet.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_violet.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_violet.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_wildflower.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_wildflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_wildflower.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_wildflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_willow_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_willow_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_willow_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_willow_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_wilted_lily.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_wilted_lily.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_wilted_lily.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_wilted_lily.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/potted_yellow_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/potted_yellow_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/potted_yellow_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/potted_yellow_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/pus_bubble.json b/common/src/main/resources/assets/biomesoplenty/blockstates/pus_bubble.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/pus_bubble.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/pus_bubble.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/rainbow_birch_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/rainbow_birch_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/rainbow_birch_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/rainbow_birch_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/rainbow_birch_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/rainbow_birch_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/rainbow_birch_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/rainbow_birch_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/red_maple_leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/blockstates/red_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/red_maple_leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/red_maple_leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/red_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/red_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/red_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/red_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/red_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/red_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/red_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/red_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/redwood_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/redwood_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/redwood_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/reed.json b/common/src/main/resources/assets/biomesoplenty/blockstates/reed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/reed.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/reed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/rose.json b/common/src/main/resources/assets/biomesoplenty/blockstates/rose.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/rose.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/rose.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/rose_quartz_block.json b/common/src/main/resources/assets/biomesoplenty/blockstates/rose_quartz_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/rose_quartz_block.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/rose_quartz_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/rose_quartz_cluster.json b/common/src/main/resources/assets/biomesoplenty/blockstates/rose_quartz_cluster.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/rose_quartz_cluster.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/rose_quartz_cluster.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/sea_oats.json b/common/src/main/resources/assets/biomesoplenty/blockstates/sea_oats.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/sea_oats.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/sea_oats.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/small_rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/blockstates/small_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/small_rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/small_rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/smooth_black_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/smooth_white_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/snowblossom_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/snowblossom_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/snowblossom_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/snowblossom_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/snowblossom_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/snowblossom_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/snowblossom_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/snowblossom_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/spanish_moss.json b/common/src/main/resources/assets/biomesoplenty/blockstates/spanish_moss.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/spanish_moss.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/spanish_moss.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/spanish_moss_plant.json b/common/src/main/resources/assets/biomesoplenty/blockstates/spanish_moss_plant.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/spanish_moss_plant.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/spanish_moss_plant.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/spider_egg.json b/common/src/main/resources/assets/biomesoplenty/blockstates/spider_egg.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/spider_egg.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/spider_egg.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/sprout.json b/common/src/main/resources/assets/biomesoplenty/blockstates/sprout.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/sprout.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/sprout.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stringy_cobweb.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stringy_cobweb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stringy_cobweb.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stringy_cobweb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_dead_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_dead_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_dead_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_dead_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_dead_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_dead_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_dead_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_dead_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_fir_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_fir_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_fir_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_fir_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_fir_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_fir_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_fir_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_fir_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_hellbark_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_hellbark_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_hellbark_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_hellbark_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_hellbark_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_hellbark_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_hellbark_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_hellbark_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_jacaranda_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_jacaranda_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_jacaranda_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_jacaranda_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_jacaranda_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_jacaranda_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_jacaranda_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_magic_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_magic_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_magic_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_magic_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_magic_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_magic_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_magic_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_magic_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_mahogany_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_mahogany_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_mahogany_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_mahogany_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_mahogany_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_mahogany_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_mahogany_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_mahogany_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_maple_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_maple_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_maple_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_maple_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_maple_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_maple_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_maple_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_maple_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_palm_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_palm_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_palm_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_palm_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_palm_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_palm_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_palm_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_palm_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_pine_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_pine_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_pine_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_pine_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_pine_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_pine_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_pine_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_pine_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_redwood_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_redwood_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_redwood_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_redwood_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_redwood_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_redwood_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_redwood_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_redwood_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_umbran_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_umbran_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_umbran_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_umbran_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_umbran_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_umbran_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_umbran_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_umbran_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_willow_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_willow_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_willow_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_willow_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_willow_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/stripped_willow_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/stripped_willow_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/stripped_willow_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/tall_lavender.json b/common/src/main/resources/assets/biomesoplenty/blockstates/tall_lavender.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/tall_lavender.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/tall_lavender.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/thermal_calcite.json b/common/src/main/resources/assets/biomesoplenty/blockstates/thermal_calcite.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/thermal_calcite.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/thermal_calcite.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/thermal_calcite_vent.json b/common/src/main/resources/assets/biomesoplenty/blockstates/thermal_calcite_vent.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/thermal_calcite_vent.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/thermal_calcite_vent.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/tiny_cactus.json b/common/src/main/resources/assets/biomesoplenty/blockstates/tiny_cactus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/tiny_cactus.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/tiny_cactus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/toadstool.json b/common/src/main/resources/assets/biomesoplenty/blockstates/toadstool.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/toadstool.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/toadstool.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/toadstool_block.json b/common/src/main/resources/assets/biomesoplenty/blockstates/toadstool_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/toadstool_block.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/toadstool_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/tundra_shrub.json b/common/src/main/resources/assets/biomesoplenty/blockstates/tundra_shrub.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/tundra_shrub.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/tundra_shrub.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/umbran_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/umbran_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/umbran_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/violet.json b/common/src/main/resources/assets/biomesoplenty/blockstates/violet.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/violet.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/violet.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/watergrass.json b/common/src/main/resources/assets/biomesoplenty/blockstates/watergrass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/watergrass.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/watergrass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/waterlily.json b/common/src/main/resources/assets/biomesoplenty/blockstates/waterlily.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/waterlily.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/waterlily.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/webbing.json b/common/src/main/resources/assets/biomesoplenty/blockstates/webbing.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/webbing.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/webbing.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/white_petals.json b/common/src/main/resources/assets/biomesoplenty/blockstates/white_petals.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/white_petals.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/white_petals.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/white_sand.json b/common/src/main/resources/assets/biomesoplenty/blockstates/white_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/white_sand.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/white_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_wall.json b/common/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_wall.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/wildflower.json b/common/src/main/resources/assets/biomesoplenty/blockstates/wildflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/wildflower.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/wildflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_button.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_button.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_door.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_door.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_fence.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_fence.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_log.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_log.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_planks.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_planks.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_slab.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_slab.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_stairs.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_stairs.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_vine.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_vine.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_vine.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_vine.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_wall_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_wall_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_wall_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_wall_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_wall_sign.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_wall_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_wall_sign.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_wall_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/willow_wood.json b/common/src/main/resources/assets/biomesoplenty/blockstates/willow_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/willow_wood.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/willow_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/wilted_lily.json b/common/src/main/resources/assets/biomesoplenty/blockstates/wilted_lily.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/wilted_lily.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/wilted_lily.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/blockstates/yellow_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/cs_cz.json b/common/src/main/resources/assets/biomesoplenty/lang/cs_cz.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/cs_cz.json rename to common/src/main/resources/assets/biomesoplenty/lang/cs_cz.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/de_de.json b/common/src/main/resources/assets/biomesoplenty/lang/de_de.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/de_de.json rename to common/src/main/resources/assets/biomesoplenty/lang/de_de.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/en_us.json b/common/src/main/resources/assets/biomesoplenty/lang/en_us.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/en_us.json rename to common/src/main/resources/assets/biomesoplenty/lang/en_us.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/es_ar.json b/common/src/main/resources/assets/biomesoplenty/lang/es_ar.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/es_ar.json rename to common/src/main/resources/assets/biomesoplenty/lang/es_ar.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/es_es.json b/common/src/main/resources/assets/biomesoplenty/lang/es_es.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/es_es.json rename to common/src/main/resources/assets/biomesoplenty/lang/es_es.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/es_mx.json b/common/src/main/resources/assets/biomesoplenty/lang/es_mx.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/es_mx.json rename to common/src/main/resources/assets/biomesoplenty/lang/es_mx.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/fr_fr.json b/common/src/main/resources/assets/biomesoplenty/lang/fr_fr.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/fr_fr.json rename to common/src/main/resources/assets/biomesoplenty/lang/fr_fr.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/it_it.json b/common/src/main/resources/assets/biomesoplenty/lang/it_it.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/it_it.json rename to common/src/main/resources/assets/biomesoplenty/lang/it_it.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/ja_jp.json b/common/src/main/resources/assets/biomesoplenty/lang/ja_jp.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/ja_jp.json rename to common/src/main/resources/assets/biomesoplenty/lang/ja_jp.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/kk_kz.json b/common/src/main/resources/assets/biomesoplenty/lang/kk_kz.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/kk_kz.json rename to common/src/main/resources/assets/biomesoplenty/lang/kk_kz.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/ko_kr.json b/common/src/main/resources/assets/biomesoplenty/lang/ko_kr.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/ko_kr.json rename to common/src/main/resources/assets/biomesoplenty/lang/ko_kr.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/nl_nl.json b/common/src/main/resources/assets/biomesoplenty/lang/nl_nl.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/nl_nl.json rename to common/src/main/resources/assets/biomesoplenty/lang/nl_nl.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/pl_pl.json b/common/src/main/resources/assets/biomesoplenty/lang/pl_pl.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/pl_pl.json rename to common/src/main/resources/assets/biomesoplenty/lang/pl_pl.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/pt_br.json b/common/src/main/resources/assets/biomesoplenty/lang/pt_br.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/pt_br.json rename to common/src/main/resources/assets/biomesoplenty/lang/pt_br.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/ru_ru.json b/common/src/main/resources/assets/biomesoplenty/lang/ru_ru.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/ru_ru.json rename to common/src/main/resources/assets/biomesoplenty/lang/ru_ru.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/sv_se.json b/common/src/main/resources/assets/biomesoplenty/lang/sv_se.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/sv_se.json rename to common/src/main/resources/assets/biomesoplenty/lang/sv_se.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/uk_ua.json b/common/src/main/resources/assets/biomesoplenty/lang/uk_ua.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/uk_ua.json rename to common/src/main/resources/assets/biomesoplenty/lang/uk_ua.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/vi_vn.json b/common/src/main/resources/assets/biomesoplenty/lang/vi_vn.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/vi_vn.json rename to common/src/main/resources/assets/biomesoplenty/lang/vi_vn.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/zh_cn.json b/common/src/main/resources/assets/biomesoplenty/lang/zh_cn.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/zh_cn.json rename to common/src/main/resources/assets/biomesoplenty/lang/zh_cn.json diff --git a/forge/src/main/resources/assets/biomesoplenty/lang/zh_tw.json b/common/src/main/resources/assets/biomesoplenty/lang/zh_tw.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/lang/zh_tw.json rename to common/src/main/resources/assets/biomesoplenty/lang/zh_tw.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/barley_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/barley_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/barley_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/barley_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/barley_bottom_alt.json b/common/src/main/resources/assets/biomesoplenty/models/block/barley_bottom_alt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/barley_bottom_alt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/barley_bottom_alt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/barley_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/barley_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/barley_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/barley_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/barley_top_alt.json b/common/src/main/resources/assets/biomesoplenty/models/block/barley_top_alt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/barley_top_alt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/barley_top_alt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sand.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sand.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_side_tall.json b/common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_side_tall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_side_tall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/black_sandstone_wall_side_tall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/blackstone_bulb.json b/common/src/main/resources/assets/biomesoplenty/models/block/blackstone_bulb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/blackstone_bulb.json rename to common/src/main/resources/assets/biomesoplenty/models/block/blackstone_bulb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/blackstone_spines.json b/common/src/main/resources/assets/biomesoplenty/models/block/blackstone_spines.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/blackstone_spines.json rename to common/src/main/resources/assets/biomesoplenty/models/block/blackstone_spines.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/blood.json b/common/src/main/resources/assets/biomesoplenty/models/block/blood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/blood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/blood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/bramble.json b/common/src/main/resources/assets/biomesoplenty/models/block/bramble.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/bramble.json rename to common/src/main/resources/assets/biomesoplenty/models/block/bramble.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/bramble_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/bramble_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/bramble_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/bramble_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/bramble_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/bramble_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/bramble_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/bramble_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_side_tall.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_side_tall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_side_tall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_brick_wall_side_tall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_bricks.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_bricks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_bricks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_bud.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_bud.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_cluster_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_cluster_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_cluster_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_cluster_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_cluster_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_cluster_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_cluster_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_cluster_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_fumarole.json b/common/src/main/resources/assets/biomesoplenty/models/block/brimstone_fumarole.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/brimstone_fumarole.json rename to common/src/main/resources/assets/biomesoplenty/models/block/brimstone_fumarole.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/burning_blossom.json b/common/src/main/resources/assets/biomesoplenty/models/block/burning_blossom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/burning_blossom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/burning_blossom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/bush.json b/common/src/main/resources/assets/biomesoplenty/models/block/bush.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/bush.json rename to common/src/main/resources/assets/biomesoplenty/models/block/bush.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cattail_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/cattail_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cattail_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cattail_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cattail_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/cattail_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cattail_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cattail_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/chiseled_black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/chiseled_black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/chiseled_black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/chiseled_black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/chiseled_brimstone_bricks.json b/common/src/main/resources/assets/biomesoplenty/models/block/chiseled_brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/chiseled_brimstone_bricks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/chiseled_brimstone_bricks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/chiseled_orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/chiseled_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/chiseled_orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/chiseled_orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/chiseled_white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/chiseled_white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/chiseled_white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/chiseled_white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/clover_1.json b/common/src/main/resources/assets/biomesoplenty/models/block/clover_1.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/clover_1.json rename to common/src/main/resources/assets/biomesoplenty/models/block/clover_1.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/clover_2.json b/common/src/main/resources/assets/biomesoplenty/models/block/clover_2.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/clover_2.json rename to common/src/main/resources/assets/biomesoplenty/models/block/clover_2.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/clover_3.json b/common/src/main/resources/assets/biomesoplenty/models/block/clover_3.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/clover_3.json rename to common/src/main/resources/assets/biomesoplenty/models/block/clover_3.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/clover_4.json b/common/src/main/resources/assets/biomesoplenty/models/block/clover_4.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/clover_4.json rename to common/src/main/resources/assets/biomesoplenty/models/block/clover_4.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cross_with_overlay.json b/common/src/main/resources/assets/biomesoplenty/models/block/cross_with_overlay.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cross_with_overlay.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cross_with_overlay.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cut_black_sandstone_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/cut_white_sandstone_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_branch.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_branch.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_branch.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_branch.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_grass.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_grass.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dead_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/dead_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dead_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dead_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/desert_grass.json b/common/src/main/resources/assets/biomesoplenty/models/block/desert_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/desert_grass.json rename to common/src/main/resources/assets/biomesoplenty/models/block/desert_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dried_salt.json b/common/src/main/resources/assets/biomesoplenty/models/block/dried_salt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dried_salt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dried_salt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/dune_grass.json b/common/src/main/resources/assets/biomesoplenty/models/block/dune_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/dune_grass.json rename to common/src/main/resources/assets/biomesoplenty/models/block/dune_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/eyebulb_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/eyebulb_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/eyebulb_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/eyebulb_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/eyebulb_bottom_closed.json b/common/src/main/resources/assets/biomesoplenty/models/block/eyebulb_bottom_closed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/eyebulb_bottom_closed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/eyebulb_bottom_closed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/eyebulb_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/eyebulb_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/eyebulb_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/eyebulb_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/eyebulb_top_closed.json b/common/src/main/resources/assets/biomesoplenty/models/block/eyebulb_top_closed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/eyebulb_top_closed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/eyebulb_top_closed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/fir_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/fir_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/fir_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/fir_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/flat_on_floor.json b/common/src/main/resources/assets/biomesoplenty/models/block/flat_on_floor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/flat_on_floor.json rename to common/src/main/resources/assets/biomesoplenty/models/block/flat_on_floor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/flesh.json b/common/src/main/resources/assets/biomesoplenty/models/block/flesh.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/flesh.json rename to common/src/main/resources/assets/biomesoplenty/models/block/flesh.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/flesh_alt.json b/common/src/main/resources/assets/biomesoplenty/models/block/flesh_alt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/flesh_alt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/flesh_alt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons.json b/common/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons.json rename to common/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_alt.json b/common/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_alt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_alt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_alt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_strand.json b/common/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_strand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_strand.json rename to common/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_strand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_strand_alt.json b/common/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_strand_alt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_strand_alt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/flesh_tendons_strand_alt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/flowering_oak_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/flowering_oak_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/flowering_oak_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/flowering_oak_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/flowering_oak_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/flowering_oak_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/flowering_oak_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/flowering_oak_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/glowflower.json b/common/src/main/resources/assets/biomesoplenty/models/block/glowflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/glowflower.json rename to common/src/main/resources/assets/biomesoplenty/models/block/glowflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/glowing_moss_block.json b/common/src/main/resources/assets/biomesoplenty/models/block/glowing_moss_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/glowing_moss_block.json rename to common/src/main/resources/assets/biomesoplenty/models/block/glowing_moss_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/glowing_moss_carpet.json b/common/src/main/resources/assets/biomesoplenty/models/block/glowing_moss_carpet.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/glowing_moss_carpet.json rename to common/src/main/resources/assets/biomesoplenty/models/block/glowing_moss_carpet.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/glowshroom.json b/common/src/main/resources/assets/biomesoplenty/models/block/glowshroom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/glowshroom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/glowshroom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block.json b/common/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block.json rename to common/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block_inside.json b/common/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block_inside.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block_inside.json rename to common/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block_inside.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/glowshroom_block_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/glowworm_silk.json b/common/src/main/resources/assets/biomesoplenty/models/block/glowworm_silk.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/glowworm_silk.json rename to common/src/main/resources/assets/biomesoplenty/models/block/glowworm_silk.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/glowworm_silk_strand.json b/common/src/main/resources/assets/biomesoplenty/models/block/glowworm_silk_strand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/glowworm_silk_strand.json rename to common/src/main/resources/assets/biomesoplenty/models/block/glowworm_silk_strand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/goldenrod_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/goldenrod_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/goldenrod_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/goldenrod_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/goldenrod_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/goldenrod_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/goldenrod_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/goldenrod_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hair.json b/common/src/main/resources/assets/biomesoplenty/models/block/hair.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hair.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hair.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb.json b/common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_broken.json b/common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_broken.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_broken.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_broken.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_single.json b/common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_single.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_single.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_single.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand.json b/common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand_broken.json b/common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand_broken.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand_broken.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand_broken.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand_single.json b/common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand_single.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand_single.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hanging_cobweb_strand_single.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/hellbark_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/hellbark_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/hellbark_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/high_grass.json b/common/src/main/resources/assets/biomesoplenty/models/block/high_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/high_grass.json rename to common/src/main/resources/assets/biomesoplenty/models/block/high_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/high_grass_plant.json b/common/src/main/resources/assets/biomesoplenty/models/block/high_grass_plant.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/high_grass_plant.json rename to common/src/main/resources/assets/biomesoplenty/models/block/high_grass_plant.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/huge_clover_petal.json b/common/src/main/resources/assets/biomesoplenty/models/block/huge_clover_petal.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/huge_clover_petal.json rename to common/src/main/resources/assets/biomesoplenty/models/block/huge_clover_petal.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_north_east.json b/common/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_north_east.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_north_east.json rename to common/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_north_east.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_north_west.json b/common/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_north_west.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_north_west.json rename to common/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_north_west.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_south_east.json b/common/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_south_east.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_south_east.json rename to common/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_south_east.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_south_west.json b/common/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_south_west.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_south_west.json rename to common/src/main/resources/assets/biomesoplenty/models/block/huge_lily_pad_south_west.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/icy_iris_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/icy_iris_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/icy_iris_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/icy_iris_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/icy_iris_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/icy_iris_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/icy_iris_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/icy_iris_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/large_rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/models/block/large_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/large_rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/models/block/large_rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/lavender.json b/common/src/main/resources/assets/biomesoplenty/models/block/lavender.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/lavender.json rename to common/src/main/resources/assets/biomesoplenty/models/block/lavender.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/models/block/leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/models/block/leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/leaves_overlay.json b/common/src/main/resources/assets/biomesoplenty/models/block/leaves_overlay.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/leaves_overlay.json rename to common/src/main/resources/assets/biomesoplenty/models/block/leaves_overlay.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_leaves_alt.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_leaves_alt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_leaves_alt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_leaves_alt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/magic_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/magic_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/magic_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/magic_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/mahogany_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mahogany_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mahogany_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/maple_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/maple_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/maple_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/maple_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/medium_rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/models/block/medium_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/medium_rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/models/block/medium_rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/mossy_black_sand.json b/common/src/main/resources/assets/biomesoplenty/models/block/mossy_black_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/mossy_black_sand.json rename to common/src/main/resources/assets/biomesoplenty/models/block/mossy_black_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_cosmos.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_cosmos.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_cosmos.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_cosmos.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_maple_leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_maple_leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_maple_leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sand.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sand.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side_tall.json b/common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side_tall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side_tall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side_tall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json b/common/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json rename to common/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snow.json b/common/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snow.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snow.json rename to common/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snow.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/origin_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/origin_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/origin_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/origin_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/origin_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/origin_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/origin_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/origin_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/palm_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/palm_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/palm_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/palm_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_log_knot.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_log_knot.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_log_knot.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_log_knot.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pine_wood_knot.json b/common/src/main/resources/assets/biomesoplenty/models/block/pine_wood_knot.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pine_wood_knot.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pine_wood_knot.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pink_daffodil.json b/common/src/main/resources/assets/biomesoplenty/models/block/pink_daffodil.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pink_daffodil.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pink_daffodil.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pink_hibiscus.json b/common/src/main/resources/assets/biomesoplenty/models/block/pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pink_hibiscus.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pink_hibiscus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/porous_flesh.json b/common/src/main/resources/assets/biomesoplenty/models/block/porous_flesh.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/porous_flesh.json rename to common/src/main/resources/assets/biomesoplenty/models/block/porous_flesh.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_burning_blossom.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_burning_blossom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_burning_blossom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_burning_blossom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_dead_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_dead_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_dead_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_dead_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_fir_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_fir_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_fir_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_fir_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_flowering_oak_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_flowering_oak_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_flowering_oak_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_flowering_oak_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_glowflower.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_glowflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_glowflower.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_glowflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_glowshroom.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_glowshroom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_glowshroom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_glowshroom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_hellbark_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_hellbark_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_hellbark_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_hellbark_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_jacaranda_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_jacaranda_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_jacaranda_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_jacaranda_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_lavender.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_lavender.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_lavender.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_lavender.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_magic_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_magic_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_magic_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_magic_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_mahogany_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_mahogany_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_mahogany_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_mahogany_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_orange_cosmos.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_orange_cosmos.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_orange_cosmos.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_orange_cosmos.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_orange_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_orange_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_orange_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_orange_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_origin_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_origin_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_origin_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_origin_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_palm_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_palm_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_palm_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_palm_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_pine_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_pine_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_pine_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_pine_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_pink_daffodil.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_pink_daffodil.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_pink_daffodil.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_pink_daffodil.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_pink_hibiscus.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_pink_hibiscus.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_pink_hibiscus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_rainbow_birch_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_rainbow_birch_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_rainbow_birch_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_rainbow_birch_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_red_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_red_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_red_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_red_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_redwood_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_redwood_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_redwood_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_redwood_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_rose.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_rose.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_rose.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_rose.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_snowblossom_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_snowblossom_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_snowblossom_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_snowblossom_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_sprout.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_sprout.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_sprout.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_sprout.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus_alt.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus_alt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus_alt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_tiny_cactus_alt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_toadstool.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_toadstool.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_toadstool.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_toadstool.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_umbran_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_umbran_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_umbran_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_umbran_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_violet.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_violet.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_violet.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_violet.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_wildflower.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_wildflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_wildflower.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_wildflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_willow_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_willow_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_willow_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_willow_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_wilted_lily.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_wilted_lily.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_wilted_lily.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_wilted_lily.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/potted_yellow_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/potted_yellow_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/potted_yellow_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/potted_yellow_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/pus_bubble.json b/common/src/main/resources/assets/biomesoplenty/models/block/pus_bubble.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/pus_bubble.json rename to common/src/main/resources/assets/biomesoplenty/models/block/pus_bubble.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_leaves_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_leaves_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_leaves_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_leaves_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/rainbow_birch_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/red_maple_leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/models/block/red_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/red_maple_leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/models/block/red_maple_leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/red_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/red_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/red_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/red_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/red_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/red_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/red_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/red_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/redwood_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/redwood_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/redwood_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/redwood_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/reed_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/reed_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/reed_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/reed_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/reed_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/reed_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/reed_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/reed_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/rose.json b/common/src/main/resources/assets/biomesoplenty/models/block/rose.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/rose.json rename to common/src/main/resources/assets/biomesoplenty/models/block/rose.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/rose_quartz_block.json b/common/src/main/resources/assets/biomesoplenty/models/block/rose_quartz_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/rose_quartz_block.json rename to common/src/main/resources/assets/biomesoplenty/models/block/rose_quartz_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/rose_quartz_cluster.json b/common/src/main/resources/assets/biomesoplenty/models/block/rose_quartz_cluster.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/rose_quartz_cluster.json rename to common/src/main/resources/assets/biomesoplenty/models/block/rose_quartz_cluster.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/sea_oats_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/sea_oats_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/sea_oats_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/sea_oats_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/sea_oats_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/sea_oats_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/sea_oats_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/sea_oats_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/small_rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/models/block/small_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/small_rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/models/block/small_rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_black_sandstone_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/smooth_white_sandstone_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/snowblossom_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/snowblossom_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/snowblossom_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/snowblossom_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/snowblossom_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/snowblossom_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/snowblossom_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/snowblossom_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/spanish_moss.json b/common/src/main/resources/assets/biomesoplenty/models/block/spanish_moss.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/spanish_moss.json rename to common/src/main/resources/assets/biomesoplenty/models/block/spanish_moss.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/spanish_moss_plant.json b/common/src/main/resources/assets/biomesoplenty/models/block/spanish_moss_plant.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/spanish_moss_plant.json rename to common/src/main/resources/assets/biomesoplenty/models/block/spanish_moss_plant.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/spider_egg.json b/common/src/main/resources/assets/biomesoplenty/models/block/spider_egg.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/spider_egg.json rename to common/src/main/resources/assets/biomesoplenty/models/block/spider_egg.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/sprout.json b/common/src/main/resources/assets/biomesoplenty/models/block/sprout.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/sprout.json rename to common/src/main/resources/assets/biomesoplenty/models/block/sprout.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb.json b/common/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_alt.json b/common/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_alt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_alt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_alt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stringy_cobweb_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_dead_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_dead_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_dead_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_dead_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_dead_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_dead_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_dead_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_dead_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_fir_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_fir_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_fir_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_fir_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_fir_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_fir_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_fir_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_fir_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_hellbark_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_hellbark_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_hellbark_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_hellbark_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_hellbark_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_hellbark_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_hellbark_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_hellbark_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_jacaranda_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_jacaranda_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_jacaranda_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_jacaranda_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_jacaranda_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_jacaranda_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_jacaranda_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_magic_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_magic_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_magic_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_magic_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_magic_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_magic_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_magic_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_magic_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_mahogany_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_mahogany_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_mahogany_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_mahogany_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_mahogany_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_mahogany_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_mahogany_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_mahogany_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_maple_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_maple_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_maple_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_maple_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_maple_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_maple_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_maple_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_maple_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_palm_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_palm_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_palm_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_palm_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_palm_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_palm_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_palm_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_palm_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_pine_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_pine_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_pine_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_pine_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_pine_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_pine_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_pine_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_pine_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_redwood_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_redwood_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_redwood_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_redwood_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_redwood_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_redwood_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_redwood_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_redwood_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_umbran_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_umbran_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_umbran_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_umbran_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_umbran_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_umbran_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_umbran_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_umbran_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_willow_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_willow_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_willow_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_willow_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/stripped_willow_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/stripped_willow_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/stripped_willow_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/stripped_willow_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/tall_lavender_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/tall_lavender_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/tall_lavender_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/tall_lavender_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/tall_lavender_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/tall_lavender_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/tall_lavender_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/tall_lavender_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_2.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_2.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_2.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_2.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_3.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_3.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_3.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_3.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_4.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_4.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_4.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_4.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_5.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_5.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_5.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_5.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_2.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_2.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_2.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_2.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_3.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_3.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_3.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_3.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_4.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_4.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_4.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_4.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_5.json b/common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_5.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_5.json rename to common/src/main/resources/assets/biomesoplenty/models/block/thermal_calcite_vent_5.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus.json b/common/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus.json rename to common/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus_alt.json b/common/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus_alt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus_alt.json rename to common/src/main/resources/assets/biomesoplenty/models/block/tiny_cactus_alt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/toadstool.json b/common/src/main/resources/assets/biomesoplenty/models/block/toadstool.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/toadstool.json rename to common/src/main/resources/assets/biomesoplenty/models/block/toadstool.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/toadstool_block.json b/common/src/main/resources/assets/biomesoplenty/models/block/toadstool_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/toadstool_block.json rename to common/src/main/resources/assets/biomesoplenty/models/block/toadstool_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/toadstool_block_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/toadstool_block_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/toadstool_block_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/toadstool_block_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/tundra_shrub.json b/common/src/main/resources/assets/biomesoplenty/models/block/tundra_shrub.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/tundra_shrub.json rename to common/src/main/resources/assets/biomesoplenty/models/block/tundra_shrub.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/tundra_shrub_red.json b/common/src/main/resources/assets/biomesoplenty/models/block/tundra_shrub_red.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/tundra_shrub_red.json rename to common/src/main/resources/assets/biomesoplenty/models/block/tundra_shrub_red.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_log_holes.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_log_holes.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_log_holes.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_log_holes.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/umbran_wood_holes.json b/common/src/main/resources/assets/biomesoplenty/models/block/umbran_wood_holes.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/umbran_wood_holes.json rename to common/src/main/resources/assets/biomesoplenty/models/block/umbran_wood_holes.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/violet.json b/common/src/main/resources/assets/biomesoplenty/models/block/violet.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/violet.json rename to common/src/main/resources/assets/biomesoplenty/models/block/violet.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/watergrass_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/watergrass_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/watergrass_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/watergrass_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/watergrass_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/watergrass_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/watergrass_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/watergrass_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/waterlily.json b/common/src/main/resources/assets/biomesoplenty/models/block/waterlily.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/waterlily.json rename to common/src/main/resources/assets/biomesoplenty/models/block/waterlily.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/webbing.json b/common/src/main/resources/assets/biomesoplenty/models/block/webbing.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/webbing.json rename to common/src/main/resources/assets/biomesoplenty/models/block/webbing.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_petals_1.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_petals_1.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_petals_1.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_petals_1.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_petals_2.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_petals_2.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_petals_2.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_petals_2.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_petals_3.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_petals_3.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_petals_3.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_petals_3.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_petals_4.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_petals_4.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_petals_4.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_petals_4.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sand.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sand.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_side_tall.json b/common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_side_tall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_side_tall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_wall_side_tall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/wildflower.json b/common/src/main/resources/assets/biomesoplenty/models/block/wildflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/wildflower.json rename to common/src/main/resources/assets/biomesoplenty/models/block/wildflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_button.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_button.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_button_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_button_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_button_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_button_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_button_pressed.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_button_pressed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_button_pressed.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_button_pressed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_left.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_left.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_left.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_left.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_left_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_left_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_left_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_left_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_right.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_right.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_right.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_right.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_right_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_right_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_right_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_right_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_wall.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_wall_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_wall_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_wall_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_wall_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_inventory.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_inventory.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_inventory.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_inventory.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_post.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_post.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_post.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_post.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_side.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_side.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_fence_side.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_fence_side.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_leaves_mossy.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_leaves_mossy.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_leaves_mossy.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_leaves_mossy.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_log.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_log.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_planks.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_pressure_plate_down.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_pressure_plate_down.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_pressure_plate_down.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_pressure_plate_down.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_sign.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_slab.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_slab_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_slab_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_slab_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_slab_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_stairs_inner.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_stairs_inner.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_stairs_inner.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_stairs_inner.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_stairs_outer.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_stairs_outer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_stairs_outer.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_stairs_outer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_bottom.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_bottom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_bottom.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_bottom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_open.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_open.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_open.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_open.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_top.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_top.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_top.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_trapdoor_top.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1u.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1u.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1u.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1u.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2_opposite.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2_opposite.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2_opposite.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2_opposite.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u_opposite.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u_opposite.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u_opposite.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u_opposite.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3u.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3u.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3u.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3u.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4u.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4u.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4u.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4u.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_u.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_u.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_vine_u.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_vine_u.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/willow_wood.json b/common/src/main/resources/assets/biomesoplenty/models/block/willow_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/willow_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/block/willow_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/wilted_lily.json b/common/src/main/resources/assets/biomesoplenty/models/block/wilted_lily.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/wilted_lily.json rename to common/src/main/resources/assets/biomesoplenty/models/block/wilted_lily.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/block/yellow_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/barley.json b/common/src/main/resources/assets/biomesoplenty/models/item/barley.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/barley.json rename to common/src/main/resources/assets/biomesoplenty/models/item/barley.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/black_sand.json b/common/src/main/resources/assets/biomesoplenty/models/item/black_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/black_sand.json rename to common/src/main/resources/assets/biomesoplenty/models/item/black_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_wall.json b/common/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/item/black_sandstone_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/blackstone_bulb.json b/common/src/main/resources/assets/biomesoplenty/models/item/blackstone_bulb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/blackstone_bulb.json rename to common/src/main/resources/assets/biomesoplenty/models/item/blackstone_bulb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/blackstone_spines.json b/common/src/main/resources/assets/biomesoplenty/models/item/blackstone_spines.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/blackstone_spines.json rename to common/src/main/resources/assets/biomesoplenty/models/item/blackstone_spines.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/blood.json b/common/src/main/resources/assets/biomesoplenty/models/item/blood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/blood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/blood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/blood_bucket.json b/common/src/main/resources/assets/biomesoplenty/models/item/blood_bucket.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/blood_bucket.json rename to common/src/main/resources/assets/biomesoplenty/models/item/blood_bucket.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/blue_hydrangea.json b/common/src/main/resources/assets/biomesoplenty/models/item/blue_hydrangea.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/blue_hydrangea.json rename to common/src/main/resources/assets/biomesoplenty/models/item/blue_hydrangea.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/bop_icon.json b/common/src/main/resources/assets/biomesoplenty/models/item/bop_icon.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/bop_icon.json rename to common/src/main/resources/assets/biomesoplenty/models/item/bop_icon.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/bramble.json b/common/src/main/resources/assets/biomesoplenty/models/item/bramble.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/bramble.json rename to common/src/main/resources/assets/biomesoplenty/models/item/bramble.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/bramble_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/bramble_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/bramble_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/bramble_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/brimstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/brimstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/brimstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/brimstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_wall.json b/common/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/item/brimstone_brick_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_bricks.json b/common/src/main/resources/assets/biomesoplenty/models/item/brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_bricks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/brimstone_bricks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_bud.json b/common/src/main/resources/assets/biomesoplenty/models/item/brimstone_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_bud.json rename to common/src/main/resources/assets/biomesoplenty/models/item/brimstone_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_cluster.json b/common/src/main/resources/assets/biomesoplenty/models/item/brimstone_cluster.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_cluster.json rename to common/src/main/resources/assets/biomesoplenty/models/item/brimstone_cluster.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_fumarole.json b/common/src/main/resources/assets/biomesoplenty/models/item/brimstone_fumarole.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/brimstone_fumarole.json rename to common/src/main/resources/assets/biomesoplenty/models/item/brimstone_fumarole.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/burning_blossom.json b/common/src/main/resources/assets/biomesoplenty/models/item/burning_blossom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/burning_blossom.json rename to common/src/main/resources/assets/biomesoplenty/models/item/burning_blossom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/bush.json b/common/src/main/resources/assets/biomesoplenty/models/item/bush.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/bush.json rename to common/src/main/resources/assets/biomesoplenty/models/item/bush.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/cattail.json b/common/src/main/resources/assets/biomesoplenty/models/item/cattail.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/cattail.json rename to common/src/main/resources/assets/biomesoplenty/models/item/cattail.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/chiseled_black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/chiseled_black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/chiseled_black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/chiseled_black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/chiseled_brimstone_bricks.json b/common/src/main/resources/assets/biomesoplenty/models/item/chiseled_brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/chiseled_brimstone_bricks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/chiseled_brimstone_bricks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/chiseled_orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/chiseled_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/chiseled_orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/chiseled_orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/chiseled_white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/chiseled_white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/chiseled_white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/chiseled_white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/clover.json b/common/src/main/resources/assets/biomesoplenty/models/item/clover.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/clover.json rename to common/src/main/resources/assets/biomesoplenty/models/item/clover.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/cut_black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/cut_black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/cut_black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/cut_black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/cut_black_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/cut_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/cut_black_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/cut_black_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/cut_white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/cut_white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/cut_white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/cut_white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/cut_white_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/cut_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/cut_white_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/cut_white_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_branch.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_branch.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_branch.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_branch.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_grass.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_grass.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dead_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/dead_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dead_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dead_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/desert_grass.json b/common/src/main/resources/assets/biomesoplenty/models/item/desert_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/desert_grass.json rename to common/src/main/resources/assets/biomesoplenty/models/item/desert_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dried_salt.json b/common/src/main/resources/assets/biomesoplenty/models/item/dried_salt.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dried_salt.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dried_salt.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/dune_grass.json b/common/src/main/resources/assets/biomesoplenty/models/item/dune_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/dune_grass.json rename to common/src/main/resources/assets/biomesoplenty/models/item/dune_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/eyebulb.json b/common/src/main/resources/assets/biomesoplenty/models/item/eyebulb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/eyebulb.json rename to common/src/main/resources/assets/biomesoplenty/models/item/eyebulb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/fir_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/fir_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/fir_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/fir_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/flesh.json b/common/src/main/resources/assets/biomesoplenty/models/item/flesh.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/flesh.json rename to common/src/main/resources/assets/biomesoplenty/models/item/flesh.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/flesh_tendons.json b/common/src/main/resources/assets/biomesoplenty/models/item/flesh_tendons.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/flesh_tendons.json rename to common/src/main/resources/assets/biomesoplenty/models/item/flesh_tendons.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/flesh_tendons_strand.json b/common/src/main/resources/assets/biomesoplenty/models/item/flesh_tendons_strand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/flesh_tendons_strand.json rename to common/src/main/resources/assets/biomesoplenty/models/item/flesh_tendons_strand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/flowering_oak_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/flowering_oak_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/flowering_oak_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/flowering_oak_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/flowering_oak_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/flowering_oak_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/flowering_oak_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/flowering_oak_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/glowflower.json b/common/src/main/resources/assets/biomesoplenty/models/item/glowflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/glowflower.json rename to common/src/main/resources/assets/biomesoplenty/models/item/glowflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/glowing_moss_block.json b/common/src/main/resources/assets/biomesoplenty/models/item/glowing_moss_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/glowing_moss_block.json rename to common/src/main/resources/assets/biomesoplenty/models/item/glowing_moss_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/glowing_moss_carpet.json b/common/src/main/resources/assets/biomesoplenty/models/item/glowing_moss_carpet.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/glowing_moss_carpet.json rename to common/src/main/resources/assets/biomesoplenty/models/item/glowing_moss_carpet.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/glowshroom.json b/common/src/main/resources/assets/biomesoplenty/models/item/glowshroom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/glowshroom.json rename to common/src/main/resources/assets/biomesoplenty/models/item/glowshroom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/glowshroom_block.json b/common/src/main/resources/assets/biomesoplenty/models/item/glowshroom_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/glowshroom_block.json rename to common/src/main/resources/assets/biomesoplenty/models/item/glowshroom_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/glowworm_silk.json b/common/src/main/resources/assets/biomesoplenty/models/item/glowworm_silk.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/glowworm_silk.json rename to common/src/main/resources/assets/biomesoplenty/models/item/glowworm_silk.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/glowworm_silk_strand.json b/common/src/main/resources/assets/biomesoplenty/models/item/glowworm_silk_strand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/glowworm_silk_strand.json rename to common/src/main/resources/assets/biomesoplenty/models/item/glowworm_silk_strand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/goldenrod.json b/common/src/main/resources/assets/biomesoplenty/models/item/goldenrod.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/goldenrod.json rename to common/src/main/resources/assets/biomesoplenty/models/item/goldenrod.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hair.json b/common/src/main/resources/assets/biomesoplenty/models/item/hair.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hair.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hair.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hanging_cobweb.json b/common/src/main/resources/assets/biomesoplenty/models/item/hanging_cobweb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hanging_cobweb.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hanging_cobweb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hanging_cobweb_strand.json b/common/src/main/resources/assets/biomesoplenty/models/item/hanging_cobweb_strand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hanging_cobweb_strand.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hanging_cobweb_strand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/hellbark_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/hellbark_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/hellbark_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/high_grass.json b/common/src/main/resources/assets/biomesoplenty/models/item/high_grass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/high_grass.json rename to common/src/main/resources/assets/biomesoplenty/models/item/high_grass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/high_grass_plant.json b/common/src/main/resources/assets/biomesoplenty/models/item/high_grass_plant.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/high_grass_plant.json rename to common/src/main/resources/assets/biomesoplenty/models/item/high_grass_plant.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/huge_clover_petal.json b/common/src/main/resources/assets/biomesoplenty/models/item/huge_clover_petal.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/huge_clover_petal.json rename to common/src/main/resources/assets/biomesoplenty/models/item/huge_clover_petal.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/huge_lily_pad.json b/common/src/main/resources/assets/biomesoplenty/models/item/huge_lily_pad.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/huge_lily_pad.json rename to common/src/main/resources/assets/biomesoplenty/models/item/huge_lily_pad.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/icy_iris.json b/common/src/main/resources/assets/biomesoplenty/models/item/icy_iris.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/icy_iris.json rename to common/src/main/resources/assets/biomesoplenty/models/item/icy_iris.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/jacaranda_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/jacaranda_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/large_rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/models/item/large_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/large_rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/models/item/large_rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/lavender.json b/common/src/main/resources/assets/biomesoplenty/models/item/lavender.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/lavender.json rename to common/src/main/resources/assets/biomesoplenty/models/item/lavender.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/magic_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/magic_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/magic_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/magic_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/mahogany_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mahogany_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mahogany_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/maple_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/maple_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/maple_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/maple_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/medium_rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/models/item/medium_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/medium_rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/models/item/medium_rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/mossy_black_sand.json b/common/src/main/resources/assets/biomesoplenty/models/item/mossy_black_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/mossy_black_sand.json rename to common/src/main/resources/assets/biomesoplenty/models/item/mossy_black_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/music_disc_wanderer.json b/common/src/main/resources/assets/biomesoplenty/models/item/music_disc_wanderer.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/music_disc_wanderer.json rename to common/src/main/resources/assets/biomesoplenty/models/item/music_disc_wanderer.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/orange_cosmos.json b/common/src/main/resources/assets/biomesoplenty/models/item/orange_cosmos.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/orange_cosmos.json rename to common/src/main/resources/assets/biomesoplenty/models/item/orange_cosmos.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/orange_maple_leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/models/item/orange_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/orange_maple_leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/models/item/orange_maple_leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/orange_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/orange_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/orange_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/orange_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/orange_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/orange_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/orange_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/orange_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/orange_sand.json b/common/src/main/resources/assets/biomesoplenty/models/item/orange_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/orange_sand.json rename to common/src/main/resources/assets/biomesoplenty/models/item/orange_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_wall.json b/common/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json b/common/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json rename to common/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/origin_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/origin_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/origin_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/origin_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/origin_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/origin_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/origin_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/origin_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/palm_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/palm_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/palm_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/palm_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pine_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/pine_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pine_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pine_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pink_daffodil.json b/common/src/main/resources/assets/biomesoplenty/models/item/pink_daffodil.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pink_daffodil.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pink_daffodil.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pink_hibiscus.json b/common/src/main/resources/assets/biomesoplenty/models/item/pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pink_hibiscus.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pink_hibiscus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/porous_flesh.json b/common/src/main/resources/assets/biomesoplenty/models/item/porous_flesh.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/porous_flesh.json rename to common/src/main/resources/assets/biomesoplenty/models/item/porous_flesh.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_burning_blossom.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_burning_blossom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_burning_blossom.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_burning_blossom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_dead_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_dead_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_dead_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_dead_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_fir_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_fir_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_fir_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_fir_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_flowering_oak_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_flowering_oak_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_flowering_oak_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_flowering_oak_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_glowflower.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_glowflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_glowflower.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_glowflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_glowshroom.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_glowshroom.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_glowshroom.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_glowshroom.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_hellbark_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_hellbark_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_hellbark_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_hellbark_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_jacaranda_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_jacaranda_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_jacaranda_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_jacaranda_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_lavender.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_lavender.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_lavender.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_lavender.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_magic_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_magic_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_magic_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_magic_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_mahogany_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_mahogany_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_mahogany_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_mahogany_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_orange_cosmos.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_orange_cosmos.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_orange_cosmos.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_orange_cosmos.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_orange_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_orange_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_orange_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_orange_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_origin_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_origin_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_origin_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_origin_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_palm_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_palm_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_palm_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_palm_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_pine_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_pine_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_pine_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_pine_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_pink_daffodil.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_pink_daffodil.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_pink_daffodil.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_pink_daffodil.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_pink_hibiscus.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_pink_hibiscus.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_pink_hibiscus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_rainbow_birch_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_rainbow_birch_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_rainbow_birch_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_rainbow_birch_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_red_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_red_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_red_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_red_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_redwood_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_redwood_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_redwood_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_redwood_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_rose.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_rose.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_rose.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_rose.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_snowblossom_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_snowblossom_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_snowblossom_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_snowblossom_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_sprout.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_sprout.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_sprout.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_sprout.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_tiny_cactus.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_tiny_cactus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_tiny_cactus.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_tiny_cactus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_toadstool.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_toadstool.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_toadstool.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_toadstool.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_umbran_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_umbran_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_umbran_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_umbran_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_violet.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_violet.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_violet.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_violet.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_wildflower.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_wildflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_wildflower.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_wildflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_willow_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_willow_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_willow_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_willow_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_wilted_lily.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_wilted_lily.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_wilted_lily.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_wilted_lily.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/potted_yellow_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/potted_yellow_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/potted_yellow_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/potted_yellow_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/pus_bubble.json b/common/src/main/resources/assets/biomesoplenty/models/item/pus_bubble.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/pus_bubble.json rename to common/src/main/resources/assets/biomesoplenty/models/item/pus_bubble.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/rainbow_birch_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/rainbow_birch_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/rainbow_birch_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/rainbow_birch_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/rainbow_birch_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/rainbow_birch_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/rainbow_birch_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/rainbow_birch_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/red_maple_leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/models/item/red_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/red_maple_leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/models/item/red_maple_leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/red_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/red_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/red_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/red_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/red_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/red_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/red_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/red_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/redwood_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/redwood_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/redwood_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/redwood_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/reed.json b/common/src/main/resources/assets/biomesoplenty/models/item/reed.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/reed.json rename to common/src/main/resources/assets/biomesoplenty/models/item/reed.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/rose.json b/common/src/main/resources/assets/biomesoplenty/models/item/rose.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/rose.json rename to common/src/main/resources/assets/biomesoplenty/models/item/rose.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_block.json b/common/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_block.json rename to common/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_chunk.json b/common/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_chunk.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_chunk.json rename to common/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_chunk.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_cluster.json b/common/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_cluster.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_cluster.json rename to common/src/main/resources/assets/biomesoplenty/models/item/rose_quartz_cluster.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/sea_oats.json b/common/src/main/resources/assets/biomesoplenty/models/item/sea_oats.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/sea_oats.json rename to common/src/main/resources/assets/biomesoplenty/models/item/sea_oats.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/small_rose_quartz_bud.json b/common/src/main/resources/assets/biomesoplenty/models/item/small_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/small_rose_quartz_bud.json rename to common/src/main/resources/assets/biomesoplenty/models/item/small_rose_quartz_bud.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/smooth_black_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/snowblossom_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/snowblossom_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/snowblossom_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/snowblossom_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/snowblossom_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/snowblossom_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/snowblossom_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/snowblossom_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/spanish_moss.json b/common/src/main/resources/assets/biomesoplenty/models/item/spanish_moss.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/spanish_moss.json rename to common/src/main/resources/assets/biomesoplenty/models/item/spanish_moss.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/spanish_moss_plant.json b/common/src/main/resources/assets/biomesoplenty/models/item/spanish_moss_plant.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/spanish_moss_plant.json rename to common/src/main/resources/assets/biomesoplenty/models/item/spanish_moss_plant.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/spider_egg.json b/common/src/main/resources/assets/biomesoplenty/models/item/spider_egg.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/spider_egg.json rename to common/src/main/resources/assets/biomesoplenty/models/item/spider_egg.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/sprout.json b/common/src/main/resources/assets/biomesoplenty/models/item/sprout.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/sprout.json rename to common/src/main/resources/assets/biomesoplenty/models/item/sprout.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stringy_cobweb.json b/common/src/main/resources/assets/biomesoplenty/models/item/stringy_cobweb.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stringy_cobweb.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stringy_cobweb.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_dead_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_dead_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_dead_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_dead_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_dead_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_dead_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_dead_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_dead_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_fir_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_fir_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_fir_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_fir_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_fir_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_fir_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_fir_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_fir_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_hellbark_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_hellbark_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_hellbark_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_hellbark_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_hellbark_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_hellbark_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_hellbark_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_hellbark_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_jacaranda_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_jacaranda_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_jacaranda_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_jacaranda_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_jacaranda_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_jacaranda_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_jacaranda_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_magic_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_magic_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_magic_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_magic_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_magic_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_magic_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_magic_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_magic_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_mahogany_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_mahogany_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_mahogany_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_mahogany_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_mahogany_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_mahogany_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_mahogany_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_mahogany_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_maple_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_maple_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_maple_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_maple_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_maple_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_maple_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_maple_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_maple_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_palm_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_palm_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_palm_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_palm_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_palm_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_palm_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_palm_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_palm_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_pine_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_pine_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_pine_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_pine_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_pine_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_pine_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_pine_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_pine_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_redwood_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_redwood_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_redwood_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_redwood_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_redwood_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_redwood_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_redwood_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_redwood_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_umbran_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_umbran_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_umbran_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_umbran_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_umbran_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_umbran_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_umbran_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_umbran_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_willow_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_willow_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_willow_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_willow_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/stripped_willow_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/stripped_willow_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/stripped_willow_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/stripped_willow_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/tall_lavender.json b/common/src/main/resources/assets/biomesoplenty/models/item/tall_lavender.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/tall_lavender.json rename to common/src/main/resources/assets/biomesoplenty/models/item/tall_lavender.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/thermal_calcite.json b/common/src/main/resources/assets/biomesoplenty/models/item/thermal_calcite.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/thermal_calcite.json rename to common/src/main/resources/assets/biomesoplenty/models/item/thermal_calcite.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/thermal_calcite_vent.json b/common/src/main/resources/assets/biomesoplenty/models/item/thermal_calcite_vent.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/thermal_calcite_vent.json rename to common/src/main/resources/assets/biomesoplenty/models/item/thermal_calcite_vent.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/tiny_cactus.json b/common/src/main/resources/assets/biomesoplenty/models/item/tiny_cactus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/tiny_cactus.json rename to common/src/main/resources/assets/biomesoplenty/models/item/tiny_cactus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/toadstool.json b/common/src/main/resources/assets/biomesoplenty/models/item/toadstool.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/toadstool.json rename to common/src/main/resources/assets/biomesoplenty/models/item/toadstool.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/toadstool_block.json b/common/src/main/resources/assets/biomesoplenty/models/item/toadstool_block.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/toadstool_block.json rename to common/src/main/resources/assets/biomesoplenty/models/item/toadstool_block.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/tundra_shrub.json b/common/src/main/resources/assets/biomesoplenty/models/item/tundra_shrub.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/tundra_shrub.json rename to common/src/main/resources/assets/biomesoplenty/models/item/tundra_shrub.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/umbran_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/umbran_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/umbran_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/umbran_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/violet.json b/common/src/main/resources/assets/biomesoplenty/models/item/violet.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/violet.json rename to common/src/main/resources/assets/biomesoplenty/models/item/violet.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/watergrass.json b/common/src/main/resources/assets/biomesoplenty/models/item/watergrass.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/watergrass.json rename to common/src/main/resources/assets/biomesoplenty/models/item/watergrass.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/waterlily.json b/common/src/main/resources/assets/biomesoplenty/models/item/waterlily.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/waterlily.json rename to common/src/main/resources/assets/biomesoplenty/models/item/waterlily.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/webbing.json b/common/src/main/resources/assets/biomesoplenty/models/item/webbing.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/webbing.json rename to common/src/main/resources/assets/biomesoplenty/models/item/webbing.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/white_petals.json b/common/src/main/resources/assets/biomesoplenty/models/item/white_petals.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/white_petals.json rename to common/src/main/resources/assets/biomesoplenty/models/item/white_petals.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/white_sand.json b/common/src/main/resources/assets/biomesoplenty/models/item/white_sand.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/white_sand.json rename to common/src/main/resources/assets/biomesoplenty/models/item/white_sand.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/white_sandstone.json b/common/src/main/resources/assets/biomesoplenty/models/item/white_sandstone.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/white_sandstone.json rename to common/src/main/resources/assets/biomesoplenty/models/item/white_sandstone.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_wall.json b/common/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_wall.json rename to common/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_wall.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/wildflower.json b/common/src/main/resources/assets/biomesoplenty/models/item/wildflower.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/wildflower.json rename to common/src/main/resources/assets/biomesoplenty/models/item/wildflower.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_button.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_button.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_button.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_button.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_chest_boat.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_chest_boat.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_chest_boat.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_chest_boat.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_door.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_door.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_door.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_door.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_fence.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_fence.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_fence.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_fence.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_fence_gate.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_fence_gate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_fence_gate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_fence_gate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_hanging_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_hanging_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_hanging_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_hanging_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_log.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_log.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_log.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_log.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_planks.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_planks.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_planks.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_planks.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_pressure_plate.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_pressure_plate.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_pressure_plate.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_pressure_plate.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_sign.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_sign.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_sign.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_sign.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_slab.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_slab.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_slab.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_slab.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_stairs.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_stairs.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_stairs.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_stairs.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_trapdoor.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_trapdoor.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_trapdoor.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_trapdoor.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_vine.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_vine.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_vine.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_vine.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/willow_wood.json b/common/src/main/resources/assets/biomesoplenty/models/item/willow_wood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/willow_wood.json rename to common/src/main/resources/assets/biomesoplenty/models/item/willow_wood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/wilted_lily.json b/common/src/main/resources/assets/biomesoplenty/models/item/wilted_lily.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/wilted_lily.json rename to common/src/main/resources/assets/biomesoplenty/models/item/wilted_lily.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_leaf_pile.json b/common/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_leaf_pile.json rename to common/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_leaf_pile.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_sapling.json b/common/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_sapling.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_sapling.json rename to common/src/main/resources/assets/biomesoplenty/models/item/yellow_maple_sapling.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/dripping_blood.json b/common/src/main/resources/assets/biomesoplenty/particles/dripping_blood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/dripping_blood.json rename to common/src/main/resources/assets/biomesoplenty/particles/dripping_blood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/falling_blood.json b/common/src/main/resources/assets/biomesoplenty/particles/falling_blood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/falling_blood.json rename to common/src/main/resources/assets/biomesoplenty/particles/falling_blood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/glowworm.json b/common/src/main/resources/assets/biomesoplenty/particles/glowworm.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/glowworm.json rename to common/src/main/resources/assets/biomesoplenty/particles/glowworm.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/jacaranda_leaves.json b/common/src/main/resources/assets/biomesoplenty/particles/jacaranda_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/jacaranda_leaves.json rename to common/src/main/resources/assets/biomesoplenty/particles/jacaranda_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/landing_blood.json b/common/src/main/resources/assets/biomesoplenty/particles/landing_blood.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/landing_blood.json rename to common/src/main/resources/assets/biomesoplenty/particles/landing_blood.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/orange_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/particles/orange_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/orange_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/particles/orange_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/pus.json b/common/src/main/resources/assets/biomesoplenty/particles/pus.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/pus.json rename to common/src/main/resources/assets/biomesoplenty/particles/pus.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/red_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/particles/red_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/red_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/particles/red_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/snowblossom_leaves.json b/common/src/main/resources/assets/biomesoplenty/particles/snowblossom_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/snowblossom_leaves.json rename to common/src/main/resources/assets/biomesoplenty/particles/snowblossom_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/steam.json b/common/src/main/resources/assets/biomesoplenty/particles/steam.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/steam.json rename to common/src/main/resources/assets/biomesoplenty/particles/steam.json diff --git a/forge/src/main/resources/assets/biomesoplenty/particles/yellow_maple_leaves.json b/common/src/main/resources/assets/biomesoplenty/particles/yellow_maple_leaves.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/particles/yellow_maple_leaves.json rename to common/src/main/resources/assets/biomesoplenty/particles/yellow_maple_leaves.json diff --git a/forge/src/main/resources/assets/biomesoplenty/shaders/block.properties b/common/src/main/resources/assets/biomesoplenty/shaders/block.properties similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/shaders/block.properties rename to common/src/main/resources/assets/biomesoplenty/shaders/block.properties diff --git a/forge/src/main/resources/assets/biomesoplenty/sounds.json b/common/src/main/resources/assets/biomesoplenty/sounds.json similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/sounds.json rename to common/src/main/resources/assets/biomesoplenty/sounds.json diff --git a/forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/blot.ogg b/common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/blot.ogg similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/blot.ogg rename to common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/blot.ogg diff --git a/forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/cortisol.ogg b/common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/cortisol.ogg similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/cortisol.ogg rename to common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/cortisol.ogg diff --git a/forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/mesh.ogg b/common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/mesh.ogg similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/mesh.ogg rename to common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/mesh.ogg diff --git a/forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/redhead.ogg b/common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/redhead.ogg similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/redhead.ogg rename to common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/redhead.ogg diff --git a/forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/timber.ogg b/common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/timber.ogg similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/timber.ogg rename to common/src/main/resources/assets/biomesoplenty/sounds/music/game/nether/timber.ogg diff --git a/forge/src/main/resources/assets/biomesoplenty/sounds/records/wanderer.ogg b/common/src/main/resources/assets/biomesoplenty/sounds/records/wanderer.ogg similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/sounds/records/wanderer.ogg rename to common/src/main/resources/assets/biomesoplenty/sounds/records/wanderer.ogg diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/barley_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/barley_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/barley_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/barley_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/barley_bottom_alt.png b/common/src/main/resources/assets/biomesoplenty/textures/block/barley_bottom_alt.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/barley_bottom_alt.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/barley_bottom_alt.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/barley_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/barley_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/barley_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/barley_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/barley_top_alt.png b/common/src/main/resources/assets/biomesoplenty/textures/block/barley_top_alt.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/barley_top_alt.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/barley_top_alt.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/black_sand.png b/common/src/main/resources/assets/biomesoplenty/textures/block/black_sand.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/black_sand.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/black_sand.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/black_sandstone_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/blackstone_bulb.png b/common/src/main/resources/assets/biomesoplenty/textures/block/blackstone_bulb.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/blackstone_bulb.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/blackstone_bulb.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/blackstone_spines.png b/common/src/main/resources/assets/biomesoplenty/textures/block/blackstone_spines.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/blackstone_spines.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/blackstone_spines.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/blood_flow.png b/common/src/main/resources/assets/biomesoplenty/textures/block/blood_flow.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/blood_flow.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/blood_flow.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/blood_flow.png.mcmeta b/common/src/main/resources/assets/biomesoplenty/textures/block/blood_flow.png.mcmeta similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/blood_flow.png.mcmeta rename to common/src/main/resources/assets/biomesoplenty/textures/block/blood_flow.png.mcmeta diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/blood_still.png b/common/src/main/resources/assets/biomesoplenty/textures/block/blood_still.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/blood_still.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/blood_still.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/blood_still.png.mcmeta b/common/src/main/resources/assets/biomesoplenty/textures/block/blood_still.png.mcmeta similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/blood_still.png.mcmeta rename to common/src/main/resources/assets/biomesoplenty/textures/block/blood_still.png.mcmeta diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/blood_underwater.png b/common/src/main/resources/assets/biomesoplenty/textures/block/blood_underwater.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/blood_underwater.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/blood_underwater.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/blue_hydrangea_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/blue_hydrangea_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/blue_hydrangea_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/blue_hydrangea_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/blue_hydrangea_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/blue_hydrangea_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/blue_hydrangea_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/blue_hydrangea_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/bramble.png b/common/src/main/resources/assets/biomesoplenty/textures/block/bramble.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/bramble.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/bramble.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/bramble_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/bramble_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/bramble_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/bramble_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/bramble_thorns.png b/common/src/main/resources/assets/biomesoplenty/textures/block/bramble_thorns.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/bramble_thorns.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/bramble_thorns.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/brimstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/brimstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_bricks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_bricks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_bricks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_bricks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_bud.png b/common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_bud.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_bud.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_bud.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_cluster_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_cluster_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_cluster_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_cluster_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_cluster_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_cluster_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_cluster_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_cluster_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_fumarole.png b/common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_fumarole.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_fumarole.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_fumarole.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_fumarole_side.png b/common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_fumarole_side.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/brimstone_fumarole_side.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/brimstone_fumarole_side.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/burning_blossom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/burning_blossom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/burning_blossom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/burning_blossom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/bush.png b/common/src/main/resources/assets/biomesoplenty/textures/block/bush.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/bush.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/bush.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/cattail_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/cattail_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/cattail_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/cattail_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/cattail_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/cattail_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/cattail_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/cattail_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/chiseled_black_sandstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/chiseled_black_sandstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/chiseled_black_sandstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/chiseled_black_sandstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/chiseled_brimstone_bricks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/chiseled_brimstone_bricks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/chiseled_brimstone_bricks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/chiseled_brimstone_bricks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/chiseled_orange_sandstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/chiseled_orange_sandstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/chiseled_orange_sandstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/chiseled_orange_sandstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/chiseled_white_sandstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/chiseled_white_sandstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/chiseled_white_sandstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/chiseled_white_sandstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/clover.png b/common/src/main/resources/assets/biomesoplenty/textures/block/clover.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/clover.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/clover.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/clover_stem.png b/common/src/main/resources/assets/biomesoplenty/textures/block/clover_stem.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/clover_stem.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/clover_stem.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/cut_black_sandstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/cut_black_sandstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/cut_black_sandstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/cut_black_sandstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/cut_orange_sandstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/cut_orange_sandstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/cut_orange_sandstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/cut_orange_sandstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/cut_white_sandstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/cut_white_sandstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/cut_white_sandstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/cut_white_sandstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_branch.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_branch.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_branch.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_branch.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_grass.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_grass.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_grass.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_grass.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dead_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dead_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dead_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dead_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/desert_grass.png b/common/src/main/resources/assets/biomesoplenty/textures/block/desert_grass.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/desert_grass.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/desert_grass.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dried_salt.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dried_salt.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dried_salt.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dried_salt.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/dune_grass.png b/common/src/main/resources/assets/biomesoplenty/textures/block/dune_grass.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/dune_grass.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/dune_grass.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom.png.mcmeta b/common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom.png.mcmeta similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom.png.mcmeta rename to common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom.png.mcmeta diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom_closed.png b/common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom_closed.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom_closed.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_bottom_closed.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top.png.mcmeta b/common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top.png.mcmeta similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top.png.mcmeta rename to common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top.png.mcmeta diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top_closed.png b/common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top_closed.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top_closed.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/eyebulb_top_closed.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/fir_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/fir_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/fir_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/fir_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/fir_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/fir_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/fir_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/fir_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/fir_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/fir_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/fir_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/fir_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/fir_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/fir_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/fir_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/fir_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/fir_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/fir_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/fir_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/fir_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/fir_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/fir_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/fir_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/fir_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/fir_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/fir_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/fir_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/fir_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/fir_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/fir_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/fir_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/fir_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flesh.png b/common/src/main/resources/assets/biomesoplenty/textures/block/flesh.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flesh.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/flesh.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flesh.png.mcmeta b/common/src/main/resources/assets/biomesoplenty/textures/block/flesh.png.mcmeta similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flesh.png.mcmeta rename to common/src/main/resources/assets/biomesoplenty/textures/block/flesh.png.mcmeta diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_alt.png b/common/src/main/resources/assets/biomesoplenty/textures/block/flesh_alt.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_alt.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/flesh_alt.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_alt.png.mcmeta b/common/src/main/resources/assets/biomesoplenty/textures/block/flesh_alt.png.mcmeta similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_alt.png.mcmeta rename to common/src/main/resources/assets/biomesoplenty/textures/block/flesh_alt.png.mcmeta diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons.png b/common/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_alt.png b/common/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_alt.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_alt.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_alt.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_strand.png b/common/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_strand.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_strand.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_strand.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_strand_alt.png b/common/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_strand_alt.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_strand_alt.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/flesh_tendons_strand_alt.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_leaves_overlay.png b/common/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_leaves_overlay.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_leaves_overlay.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_leaves_overlay.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/flowering_oak_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/glowflower.png b/common/src/main/resources/assets/biomesoplenty/textures/block/glowflower.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/glowflower.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/glowflower.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/glowing_moss_block.png b/common/src/main/resources/assets/biomesoplenty/textures/block/glowing_moss_block.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/glowing_moss_block.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/glowing_moss_block.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/glowshroom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/glowshroom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/glowshroom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/glowshroom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/glowshroom_block.png b/common/src/main/resources/assets/biomesoplenty/textures/block/glowshroom_block.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/glowshroom_block.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/glowshroom_block.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/glowshroom_block_inside.png b/common/src/main/resources/assets/biomesoplenty/textures/block/glowshroom_block_inside.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/glowshroom_block_inside.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/glowshroom_block_inside.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/glowworm_silk.png b/common/src/main/resources/assets/biomesoplenty/textures/block/glowworm_silk.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/glowworm_silk.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/glowworm_silk.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/glowworm_silk_strand.png b/common/src/main/resources/assets/biomesoplenty/textures/block/glowworm_silk_strand.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/glowworm_silk_strand.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/glowworm_silk_strand.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/goldenrod_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/goldenrod_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/goldenrod_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/goldenrod_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/goldenrod_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/goldenrod_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/goldenrod_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/goldenrod_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hair.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hair.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hair.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hair.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hair.png.mcmeta b/common/src/main/resources/assets/biomesoplenty/textures/block/hair.png.mcmeta similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hair.png.mcmeta rename to common/src/main/resources/assets/biomesoplenty/textures/block/hair.png.mcmeta diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_broken.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_broken.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_broken.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_broken.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_single.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_single.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_single.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_single.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand_broken.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand_broken.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand_broken.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand_broken.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand_single.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand_single.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand_single.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hanging_cobweb_strand_single.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/hellbark_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/hellbark_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/high_grass.png b/common/src/main/resources/assets/biomesoplenty/textures/block/high_grass.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/high_grass.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/high_grass.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/high_grass_plant.png b/common/src/main/resources/assets/biomesoplenty/textures/block/high_grass_plant.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/high_grass_plant.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/high_grass_plant.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_petal.png b/common/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_petal.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_petal.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_petal.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_stem.png b/common/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_stem.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_stem.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_stem.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_stem_back.png b/common/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_stem_back.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_stem_back.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/huge_clover_stem_back.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_north_east.png b/common/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_north_east.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_north_east.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_north_east.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_north_west.png b/common/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_north_west.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_north_west.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_north_west.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_south_east.png b/common/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_south_east.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_south_east.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_south_east.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_south_west.png b/common/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_south_west.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_south_west.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/huge_lily_pad_south_west.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/icy_iris_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/icy_iris_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/icy_iris_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/icy_iris_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/icy_iris_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/icy_iris_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/icy_iris_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/icy_iris_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/jacaranda_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/large_rose_quartz_bud.png b/common/src/main/resources/assets/biomesoplenty/textures/block/large_rose_quartz_bud.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/large_rose_quartz_bud.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/large_rose_quartz_bud.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/lavender.png b/common/src/main/resources/assets/biomesoplenty/textures/block/lavender.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/lavender.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/lavender.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/magic_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/magic_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/magic_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/magic_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/magic_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/magic_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/magic_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/magic_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/magic_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/magic_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/magic_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/magic_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/magic_leaves_alt.png b/common/src/main/resources/assets/biomesoplenty/textures/block/magic_leaves_alt.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/magic_leaves_alt.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/magic_leaves_alt.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/magic_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/magic_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/magic_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/magic_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/magic_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/magic_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/magic_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/magic_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/magic_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/magic_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/magic_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/magic_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/magic_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/magic_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/magic_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/magic_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/magic_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/magic_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/magic_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/magic_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mahogany_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mahogany_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/maple_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/maple_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/maple_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/maple_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/maple_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/maple_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/maple_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/maple_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/maple_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/maple_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/maple_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/maple_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/maple_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/maple_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/maple_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/maple_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/maple_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/maple_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/maple_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/maple_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/maple_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/maple_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/maple_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/maple_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/medium_rose_quartz_bud.png b/common/src/main/resources/assets/biomesoplenty/textures/block/medium_rose_quartz_bud.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/medium_rose_quartz_bud.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/medium_rose_quartz_bud.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mossy_black_sand_side.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mossy_black_sand_side.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mossy_black_sand_side.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mossy_black_sand_side.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/mossy_black_sand_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/mossy_black_sand_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/mossy_black_sand_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/mossy_black_sand_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/orange_cosmos.png b/common/src/main/resources/assets/biomesoplenty/textures/block/orange_cosmos.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/orange_cosmos.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/orange_cosmos.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_leaf_pile.png b/common/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_leaf_pile.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_leaf_pile.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_leaf_pile.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/orange_maple_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/orange_sand.png b/common/src/main/resources/assets/biomesoplenty/textures/block/orange_sand.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/orange_sand.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/orange_sand.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_side.png b/common/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_side.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_side.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_side.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_snow.png b/common/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_snow.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_snow.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_snow.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/origin_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/origin_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/origin_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/origin_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/origin_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/origin_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/origin_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/origin_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/palm_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/palm_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/palm_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/palm_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/palm_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/palm_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/palm_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/palm_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/palm_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/palm_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/palm_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/palm_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/palm_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/palm_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/palm_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/palm_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/palm_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/palm_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/palm_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/palm_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/palm_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/palm_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/palm_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/palm_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/palm_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/palm_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/palm_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/palm_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/palm_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/palm_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/palm_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/palm_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_leaves_overlay.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_leaves_overlay.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_leaves_overlay.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_leaves_overlay.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_log_knot.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_log_knot.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_log_knot.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_log_knot.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pine_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pine_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pine_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pine_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pink_daffodil.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pink_daffodil.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pink_daffodil.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pink_daffodil.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pink_daffodil_petals.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pink_daffodil_petals.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pink_daffodil_petals.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pink_daffodil_petals.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pink_hibiscus.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pink_hibiscus.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pink_hibiscus.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pink_hibiscus.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/porous_flesh.png b/common/src/main/resources/assets/biomesoplenty/textures/block/porous_flesh.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/porous_flesh.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/porous_flesh.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/porous_flesh.png.mcmeta b/common/src/main/resources/assets/biomesoplenty/textures/block/porous_flesh.png.mcmeta similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/porous_flesh.png.mcmeta rename to common/src/main/resources/assets/biomesoplenty/textures/block/porous_flesh.png.mcmeta diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/potted_glowshroom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/potted_glowshroom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/potted_glowshroom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/potted_glowshroom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/potted_lavender.png b/common/src/main/resources/assets/biomesoplenty/textures/block/potted_lavender.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/potted_lavender.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/potted_lavender.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/potted_sprout.png b/common/src/main/resources/assets/biomesoplenty/textures/block/potted_sprout.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/potted_sprout.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/potted_sprout.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/potted_violet.png b/common/src/main/resources/assets/biomesoplenty/textures/block/potted_violet.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/potted_violet.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/potted_violet.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pus_bubble.png b/common/src/main/resources/assets/biomesoplenty/textures/block/pus_bubble.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pus_bubble.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/pus_bubble.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/pus_bubble.png.mcmeta b/common/src/main/resources/assets/biomesoplenty/textures/block/pus_bubble.png.mcmeta similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/pus_bubble.png.mcmeta rename to common/src/main/resources/assets/biomesoplenty/textures/block/pus_bubble.png.mcmeta diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/rainbow_birch_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/rainbow_birch_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/rainbow_birch_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/rainbow_birch_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/rainbow_birch_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/rainbow_birch_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/rainbow_birch_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/rainbow_birch_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/red_maple_leaf_pile.png b/common/src/main/resources/assets/biomesoplenty/textures/block/red_maple_leaf_pile.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/red_maple_leaf_pile.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/red_maple_leaf_pile.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/red_maple_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/red_maple_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/red_maple_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/red_maple_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/red_maple_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/red_maple_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/red_maple_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/red_maple_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/redwood_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/redwood_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/redwood_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/redwood_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/redwood_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/redwood_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/redwood_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/redwood_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/redwood_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/redwood_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/redwood_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/redwood_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/redwood_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/redwood_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/redwood_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/redwood_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/redwood_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/reed_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/reed_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/reed_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/reed_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/reed_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/reed_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/reed_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/reed_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/rose.png b/common/src/main/resources/assets/biomesoplenty/textures/block/rose.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/rose.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/rose.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/rose_quartz_block.png b/common/src/main/resources/assets/biomesoplenty/textures/block/rose_quartz_block.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/rose_quartz_block.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/rose_quartz_block.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/rose_quartz_cluster.png b/common/src/main/resources/assets/biomesoplenty/textures/block/rose_quartz_cluster.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/rose_quartz_cluster.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/rose_quartz_cluster.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/sea_oats_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/sea_oats_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/sea_oats_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/sea_oats_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/sea_oats_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/sea_oats_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/sea_oats_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/sea_oats_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/small_rose_quartz_bud.png b/common/src/main/resources/assets/biomesoplenty/textures/block/small_rose_quartz_bud.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/small_rose_quartz_bud.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/small_rose_quartz_bud.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/snowblossom_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/snowblossom_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/snowblossom_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/snowblossom_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/snowblossom_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/snowblossom_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/snowblossom_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/snowblossom_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/spanish_moss.png b/common/src/main/resources/assets/biomesoplenty/textures/block/spanish_moss.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/spanish_moss.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/spanish_moss.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/spanish_moss_plant.png b/common/src/main/resources/assets/biomesoplenty/textures/block/spanish_moss_plant.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/spanish_moss_plant.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/spanish_moss_plant.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_side.png b/common/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_side.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_side.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_side.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/spider_egg_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/sprout.png b/common/src/main/resources/assets/biomesoplenty/textures/block/sprout.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/sprout.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/sprout.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_alt.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_alt.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_alt.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_alt.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stringy_cobweb_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_dead_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_dead_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_dead_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_dead_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_dead_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_dead_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_dead_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_dead_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_fir_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_fir_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_fir_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_fir_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_fir_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_fir_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_fir_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_fir_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_hellbark_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_hellbark_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_hellbark_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_hellbark_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_hellbark_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_hellbark_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_hellbark_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_hellbark_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_jacaranda_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_jacaranda_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_jacaranda_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_jacaranda_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_jacaranda_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_jacaranda_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_jacaranda_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_jacaranda_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_magic_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_magic_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_magic_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_magic_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_magic_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_magic_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_magic_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_magic_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_mahogany_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_mahogany_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_mahogany_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_mahogany_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_mahogany_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_mahogany_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_mahogany_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_mahogany_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_maple_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_maple_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_maple_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_maple_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_maple_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_maple_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_maple_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_maple_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_palm_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_palm_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_palm_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_palm_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_palm_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_palm_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_palm_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_palm_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_pine_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_pine_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_pine_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_pine_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_pine_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_pine_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_pine_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_pine_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_redwood_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_redwood_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_redwood_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_redwood_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_redwood_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_redwood_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_redwood_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_redwood_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_umbran_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_umbran_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_umbran_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_umbran_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_umbran_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_umbran_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_umbran_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_umbran_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_willow_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_willow_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_willow_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_willow_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_willow_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/stripped_willow_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/stripped_willow_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/stripped_willow_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/tall_lavender_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/tall_lavender_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/tall_lavender_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/tall_lavender_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/tall_lavender_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/tall_lavender_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/tall_lavender_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/tall_lavender_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_2.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_2.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_2.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_2.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_3.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_3.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_3.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_3.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_4.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_4.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_4.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_4.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_5.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_5.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_5.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_5.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_2.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_2.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_2.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_2.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_3.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_3.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_3.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_3.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_4.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_4.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_4.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_4.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_5.png b/common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_5.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_5.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/thermal_calcite_vent_5.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus.png b/common/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus_alt.png b/common/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus_alt.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus_alt.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/tiny_cactus_alt.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/toadstool.png b/common/src/main/resources/assets/biomesoplenty/textures/block/toadstool.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/toadstool.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/toadstool.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/toadstool_block.png b/common/src/main/resources/assets/biomesoplenty/textures/block/toadstool_block.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/toadstool_block.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/toadstool_block.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/tundra_shrub.png b/common/src/main/resources/assets/biomesoplenty/textures/block/tundra_shrub.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/tundra_shrub.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/tundra_shrub.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/tundra_shrub_red.png b/common/src/main/resources/assets/biomesoplenty/textures/block/tundra_shrub_red.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/tundra_shrub_red.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/tundra_shrub_red.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/umbran_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/umbran_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/umbran_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/umbran_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/umbran_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/umbran_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/umbran_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/umbran_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_log_holes.png b/common/src/main/resources/assets/biomesoplenty/textures/block/umbran_log_holes.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_log_holes.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/umbran_log_holes.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/umbran_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/umbran_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/umbran_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/umbran_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/umbran_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/umbran_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/umbran_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/umbran_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/umbran_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/violet.png b/common/src/main/resources/assets/biomesoplenty/textures/block/violet.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/violet.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/violet.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/waterlily_inner.png b/common/src/main/resources/assets/biomesoplenty/textures/block/waterlily_inner.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/waterlily_inner.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/waterlily_inner.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/waterlily_outer.png b/common/src/main/resources/assets/biomesoplenty/textures/block/waterlily_outer.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/waterlily_outer.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/waterlily_outer.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/waterlily_stem.png b/common/src/main/resources/assets/biomesoplenty/textures/block/waterlily_stem.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/waterlily_stem.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/waterlily_stem.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/webbing.png b/common/src/main/resources/assets/biomesoplenty/textures/block/webbing.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/webbing.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/webbing.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/white_petals.png b/common/src/main/resources/assets/biomesoplenty/textures/block/white_petals.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/white_petals.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/white_petals.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/white_petals_stem.png b/common/src/main/resources/assets/biomesoplenty/textures/block/white_petals_stem.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/white_petals_stem.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/white_petals_stem.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/white_sand.png b/common/src/main/resources/assets/biomesoplenty/textures/block/white_sand.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/white_sand.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/white_sand.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone.png b/common/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/white_sandstone_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/wildflower.png b/common/src/main/resources/assets/biomesoplenty/textures/block/wildflower.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/wildflower.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/wildflower.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_door_bottom.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_door_bottom.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_door_bottom.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_door_bottom.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_door_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_door_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_door_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_door_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves_mossy.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves_mossy.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves_mossy.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves_mossy.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves_mossy_overlay.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves_mossy_overlay.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves_mossy_overlay.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_leaves_mossy_overlay.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_log.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_log.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_log.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_log.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_log_top.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_log_top.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_log_top.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_log_top.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_planks.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_planks.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_planks.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_planks.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_trapdoor.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_trapdoor.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_trapdoor.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_trapdoor.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/willow_vine.png b/common/src/main/resources/assets/biomesoplenty/textures/block/willow_vine.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/willow_vine.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/willow_vine.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/wilted_lily.png b/common/src/main/resources/assets/biomesoplenty/textures/block/wilted_lily.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/wilted_lily.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/wilted_lily.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_leaf_pile.png b/common/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_leaf_pile.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_leaf_pile.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_leaf_pile.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_leaves.png b/common/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_leaves.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_leaves.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_leaves.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_sapling.png b/common/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_sapling.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_sapling.png rename to common/src/main/resources/assets/biomesoplenty/textures/block/yellow_maple_sapling.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/dead.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/dead.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/dead.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/dead.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/fir.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/fir.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/fir.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/fir.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/hellbark.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/hellbark.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/hellbark.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/hellbark.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/jacaranda.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/jacaranda.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/jacaranda.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/jacaranda.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/magic.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/magic.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/magic.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/magic.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/mahogany.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/mahogany.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/mahogany.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/mahogany.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/maple.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/maple.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/maple.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/maple.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/palm.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/palm.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/palm.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/palm.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/pine.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/pine.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/pine.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/pine.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/redwood.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/redwood.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/redwood.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/redwood.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/umbran.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/umbran.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/umbran.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/umbran.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/willow.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/boat/willow.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/boat/willow.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/boat/willow.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/dead.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/dead.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/dead.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/dead.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/fir.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/fir.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/fir.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/fir.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/hellbark.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/hellbark.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/hellbark.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/hellbark.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/jacaranda.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/jacaranda.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/jacaranda.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/jacaranda.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/magic.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/magic.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/magic.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/magic.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/mahogany.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/mahogany.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/mahogany.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/mahogany.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/maple.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/maple.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/maple.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/maple.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/palm.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/palm.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/palm.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/palm.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/pine.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/pine.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/pine.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/pine.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/redwood.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/redwood.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/redwood.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/redwood.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/umbran.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/umbran.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/umbran.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/umbran.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/willow.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/willow.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/willow.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/chest_boat/willow.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/dead.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/dead.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/dead.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/dead.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/fir.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/fir.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/fir.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/fir.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/dead.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/dead.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/dead.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/dead.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/fir.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/fir.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/fir.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/fir.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/hellbark.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/hellbark.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/hellbark.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/hellbark.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/jacaranda.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/jacaranda.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/jacaranda.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/jacaranda.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/magic.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/magic.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/magic.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/magic.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/mahogany.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/mahogany.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/mahogany.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/mahogany.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/maple.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/maple.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/maple.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/maple.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/palm.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/palm.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/palm.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/palm.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/pine.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/pine.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/pine.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/pine.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/redwood.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/redwood.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/redwood.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/redwood.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/umbran.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/umbran.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/umbran.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/umbran.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/willow.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/willow.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/willow.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hanging/willow.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hellbark.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hellbark.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/hellbark.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/hellbark.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/jacaranda.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/jacaranda.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/jacaranda.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/jacaranda.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/magic.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/magic.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/magic.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/magic.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/mahogany.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/mahogany.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/mahogany.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/mahogany.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/maple.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/maple.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/maple.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/maple.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/palm.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/palm.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/palm.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/palm.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/pine.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/pine.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/pine.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/pine.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/redwood.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/redwood.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/redwood.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/redwood.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/umbran.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/umbran.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/umbran.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/umbran.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/willow.png b/common/src/main/resources/assets/biomesoplenty/textures/entity/signs/willow.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/entity/signs/willow.png rename to common/src/main/resources/assets/biomesoplenty/textures/entity/signs/willow.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/advancements/backgrounds/biomesoplenty.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/advancements/backgrounds/biomesoplenty.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/advancements/backgrounds/biomesoplenty.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/advancements/backgrounds/biomesoplenty.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/dead.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/dead.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/dead.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/dead.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/fir.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/fir.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/fir.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/fir.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/hellbark.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/hellbark.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/hellbark.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/hellbark.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/jacaranda.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/jacaranda.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/jacaranda.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/jacaranda.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/magic.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/magic.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/magic.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/magic.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/mahogany.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/mahogany.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/mahogany.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/mahogany.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/maple.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/maple.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/maple.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/maple.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/palm.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/palm.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/palm.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/palm.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/pine.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/pine.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/pine.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/pine.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/redwood.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/redwood.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/redwood.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/redwood.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/umbran.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/umbran.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/umbran.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/umbran.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/willow.png b/common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/willow.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/willow.png rename to common/src/main/resources/assets/biomesoplenty/textures/gui/hanging_signs/willow.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/barley.png b/common/src/main/resources/assets/biomesoplenty/textures/item/barley.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/barley.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/barley.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/blood_bucket.png b/common/src/main/resources/assets/biomesoplenty/textures/item/blood_bucket.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/blood_bucket.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/blood_bucket.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/bop_icon.png b/common/src/main/resources/assets/biomesoplenty/textures/item/bop_icon.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/bop_icon.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/bop_icon.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/bramble.png b/common/src/main/resources/assets/biomesoplenty/textures/item/bramble.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/bramble.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/bramble.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/cattail.png b/common/src/main/resources/assets/biomesoplenty/textures/item/cattail.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/cattail.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/cattail.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/clover.png b/common/src/main/resources/assets/biomesoplenty/textures/item/clover.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/clover.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/clover.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/dead_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/dead_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/dead_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/dead_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/dead_branch.png b/common/src/main/resources/assets/biomesoplenty/textures/item/dead_branch.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/dead_branch.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/dead_branch.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/dead_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/dead_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/dead_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/dead_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/dead_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/dead_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/dead_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/dead_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/dead_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/dead_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/dead_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/dead_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/dead_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/dead_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/dead_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/dead_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/eyebulb.png b/common/src/main/resources/assets/biomesoplenty/textures/item/eyebulb.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/eyebulb.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/eyebulb.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/fir_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/fir_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/fir_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/fir_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/fir_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/fir_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/fir_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/fir_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/fir_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/fir_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/fir_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/fir_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/fir_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/fir_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/fir_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/fir_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/fir_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/fir_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/fir_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/fir_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/glowworm_silk.png b/common/src/main/resources/assets/biomesoplenty/textures/item/glowworm_silk.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/glowworm_silk.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/glowworm_silk.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/hair.png b/common/src/main/resources/assets/biomesoplenty/textures/item/hair.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/hair.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/hair.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/hellbark_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/hellbark_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/high_grass.png b/common/src/main/resources/assets/biomesoplenty/textures/item/high_grass.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/high_grass.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/high_grass.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/huge_clover_petal.png b/common/src/main/resources/assets/biomesoplenty/textures/item/huge_clover_petal.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/huge_clover_petal.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/huge_clover_petal.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/huge_lily_pad.png b/common/src/main/resources/assets/biomesoplenty/textures/item/huge_lily_pad.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/huge_lily_pad.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/huge_lily_pad.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/jacaranda_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/magic_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/magic_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/magic_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/magic_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/magic_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/magic_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/magic_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/magic_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/magic_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/magic_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/magic_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/magic_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/magic_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/magic_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/magic_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/magic_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/magic_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/magic_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/magic_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/magic_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/mahogany_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/mahogany_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/maple_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/maple_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/maple_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/maple_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/maple_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/maple_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/maple_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/maple_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/maple_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/maple_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/maple_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/maple_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/maple_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/maple_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/maple_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/maple_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/maple_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/maple_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/maple_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/maple_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/music_disc_wanderer.png b/common/src/main/resources/assets/biomesoplenty/textures/item/music_disc_wanderer.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/music_disc_wanderer.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/music_disc_wanderer.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/orange_maple_leaf_pile.png b/common/src/main/resources/assets/biomesoplenty/textures/item/orange_maple_leaf_pile.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/orange_maple_leaf_pile.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/orange_maple_leaf_pile.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/palm_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/palm_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/palm_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/palm_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/palm_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/palm_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/palm_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/palm_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/palm_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/palm_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/palm_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/palm_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/palm_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/palm_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/palm_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/palm_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/palm_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/palm_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/palm_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/palm_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/pine_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/pine_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/pine_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/pine_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/pine_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/pine_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/pine_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/pine_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/pine_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/pine_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/pine_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/pine_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/pine_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/pine_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/pine_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/pine_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/pine_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/pine_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/pine_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/pine_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/pink_daffodil.png b/common/src/main/resources/assets/biomesoplenty/textures/item/pink_daffodil.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/pink_daffodil.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/pink_daffodil.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/pus_bubble.png b/common/src/main/resources/assets/biomesoplenty/textures/item/pus_bubble.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/pus_bubble.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/pus_bubble.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/red_maple_leaf_pile.png b/common/src/main/resources/assets/biomesoplenty/textures/item/red_maple_leaf_pile.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/red_maple_leaf_pile.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/red_maple_leaf_pile.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/redwood_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/redwood_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/redwood_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/redwood_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/redwood_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/redwood_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/redwood_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/redwood_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/redwood_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/redwood_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/redwood_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/reed.png b/common/src/main/resources/assets/biomesoplenty/textures/item/reed.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/reed.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/reed.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/rose_quartz_chunk.png b/common/src/main/resources/assets/biomesoplenty/textures/item/rose_quartz_chunk.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/rose_quartz_chunk.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/rose_quartz_chunk.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/sea_oats.png b/common/src/main/resources/assets/biomesoplenty/textures/item/sea_oats.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/sea_oats.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/sea_oats.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/spider_egg.png b/common/src/main/resources/assets/biomesoplenty/textures/item/spider_egg.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/spider_egg.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/spider_egg.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/stringy_cobweb.png b/common/src/main/resources/assets/biomesoplenty/textures/item/stringy_cobweb.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/stringy_cobweb.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/stringy_cobweb.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/umbran_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/umbran_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/umbran_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/umbran_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/umbran_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/umbran_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/umbran_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/umbran_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/umbran_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/umbran_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/umbran_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/watergrass.png b/common/src/main/resources/assets/biomesoplenty/textures/item/watergrass.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/watergrass.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/watergrass.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/waterlily.png b/common/src/main/resources/assets/biomesoplenty/textures/item/waterlily.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/waterlily.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/waterlily.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/white_petals.png b/common/src/main/resources/assets/biomesoplenty/textures/item/white_petals.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/white_petals.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/white_petals.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/willow_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/willow_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/willow_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/willow_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/willow_chest_boat.png b/common/src/main/resources/assets/biomesoplenty/textures/item/willow_chest_boat.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/willow_chest_boat.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/willow_chest_boat.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/willow_door.png b/common/src/main/resources/assets/biomesoplenty/textures/item/willow_door.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/willow_door.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/willow_door.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/willow_hanging_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/willow_hanging_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/willow_hanging_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/willow_hanging_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/willow_sign.png b/common/src/main/resources/assets/biomesoplenty/textures/item/willow_sign.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/willow_sign.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/willow_sign.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/item/yellow_maple_leaf_pile.png b/common/src/main/resources/assets/biomesoplenty/textures/item/yellow_maple_leaf_pile.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/item/yellow_maple_leaf_pile.png rename to common/src/main/resources/assets/biomesoplenty/textures/item/yellow_maple_leaf_pile.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/glowworm.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/glowworm.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/glowworm.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/glowworm.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_0.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_0.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_0.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_0.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_1.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_1.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_1.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_1.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_10.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_10.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_10.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_10.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_11.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_11.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_11.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_11.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_2.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_2.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_2.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_2.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_3.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_3.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_3.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_3.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_4.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_4.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_4.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_4.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_5.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_5.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_5.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_5.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_6.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_6.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_6.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_6.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_7.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_7.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_7.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_7.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_8.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_8.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_8.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_8.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_9.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_9.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_9.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/jacaranda_9.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_0.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_0.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_0.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_0.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_1.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_1.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_1.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_1.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_2.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_2.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_2.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_2.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_3.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_3.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_3.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/orange_maple_3.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/pus.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/pus.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/pus.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/pus.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_0.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_0.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_0.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_0.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_1.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_1.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_1.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_1.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_2.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_2.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_2.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_2.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_3.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_3.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_3.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/red_maple_3.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_0.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_0.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_0.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_0.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_1.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_1.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_1.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_1.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_10.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_10.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_10.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_10.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_11.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_11.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_11.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_11.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_2.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_2.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_2.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_2.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_3.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_3.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_3.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_3.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_4.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_4.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_4.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_4.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_5.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_5.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_5.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_5.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_6.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_6.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_6.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_6.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_7.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_7.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_7.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_7.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_8.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_8.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_8.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_8.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_9.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_9.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_9.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/snowblossom_9.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_0.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_0.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_0.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_0.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_1.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_1.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_1.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_1.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_10.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_10.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_10.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_10.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_11.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_11.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_11.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_11.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_2.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_2.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_2.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_2.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_3.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_3.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_3.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_3.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_4.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_4.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_4.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_4.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_5.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_5.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_5.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_5.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_6.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_6.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_6.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_6.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_7.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_7.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_7.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_7.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_8.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_8.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_8.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_8.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_9.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/steam_9.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/steam_9.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/steam_9.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_0.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_0.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_0.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_0.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_1.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_1.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_1.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_1.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_2.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_2.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_2.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_2.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_3.png b/common/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_3.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_3.png rename to common/src/main/resources/assets/biomesoplenty/textures/particle/yellow_maple_3.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/trims/color_palettes/glowworm_silk.png b/common/src/main/resources/assets/biomesoplenty/textures/trims/color_palettes/glowworm_silk.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/trims/color_palettes/glowworm_silk.png rename to common/src/main/resources/assets/biomesoplenty/textures/trims/color_palettes/glowworm_silk.png diff --git a/forge/src/main/resources/assets/biomesoplenty/textures/trims/color_palettes/rose_quartz.png b/common/src/main/resources/assets/biomesoplenty/textures/trims/color_palettes/rose_quartz.png similarity index 100% rename from forge/src/main/resources/assets/biomesoplenty/textures/trims/color_palettes/rose_quartz.png rename to common/src/main/resources/assets/biomesoplenty/textures/trims/color_palettes/rose_quartz.png diff --git a/forge/src/main/resources/assets/minecraft/atlases/armor_trims.json b/common/src/main/resources/assets/minecraft/atlases/armor_trims.json similarity index 100% rename from forge/src/main/resources/assets/minecraft/atlases/armor_trims.json rename to common/src/main/resources/assets/minecraft/atlases/armor_trims.json diff --git a/common/src/main/resources/biomesoplenty.accesswidener b/common/src/main/resources/biomesoplenty.accesswidener index 3fde5170fe..f8b4506c6c 100644 --- a/common/src/main/resources/biomesoplenty.accesswidener +++ b/common/src/main/resources/biomesoplenty.accesswidener @@ -1 +1,33 @@ accessWidener v1 named + +# Registration +accessible class net/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier +accessible method net/minecraft/world/level/block/state/properties/BlockSetType register (Lnet/minecraft/world/level/block/state/properties/BlockSetType;)Lnet/minecraft/world/level/block/state/properties/BlockSetType; +accessible method net/minecraft/world/level/block/state/properties/WoodType register (Lnet/minecraft/world/level/block/state/properties/WoodType;)Lnet/minecraft/world/level/block/state/properties/WoodType; +accessible class net/minecraft/client/particle/ParticleEngine$SpriteParticleRegistration +accessible method net/minecraft/core/particles/SimpleParticleType (Z)V + +# Block constructors +accessible method net/minecraft/world/level/block/StairBlock (Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +accessible method net/minecraft/world/level/block/DoorBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +accessible method net/minecraft/world/level/block/TrapDoorBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +accessible method net/minecraft/world/level/block/PressurePlateBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +accessible method net/minecraft/world/level/block/ButtonBlock (Lnet/minecraft/world/level/block/state/properties/BlockSetType;ILnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V +accessible method net/minecraft/world/level/block/PinkPetalsBlock (Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V + +# Boats +accessible field net/minecraft/world/entity/vehicle/Boat DATA_ID_TYPE Lnet/minecraft/network/syncher/EntityDataAccessor; +accessible field net/minecraft/world/entity/vehicle/Boat lastYd D +accessible field net/minecraft/world/entity/vehicle/Boat status Lnet/minecraft/world/entity/vehicle/Boat$Status; + +# Features +extendable method net/minecraft/world/level/levelgen/feature/TreeFeature doPlace (Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;Lnet/minecraft/world/level/levelgen/feature/configurations/TreeConfiguration;)Z + +# WorldGenRegion +accessible field net/minecraft/server/level/WorldGenRegion writeRadiusCutoff I + +# DamageSources +accessible method net/minecraft/world/damagesource/DamageSources source (Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/world/damagesource/DamageSource; + +# VillagerType +accessible field net/minecraft/world/entity/npc/VillagerType BY_BIOME Ljava/util/Map; \ No newline at end of file diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json b/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json rename to common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/all_biomes.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json b/common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json rename to common/src/main/resources/data/biomesoplenty/advancements/biomesoplenty/root.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_slab_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_slab_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_slab_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_slab_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_stairs_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_stairs_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_stairs_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/black_sandstone_stairs_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab_from_brimstone_bricks_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab_from_brimstone_bricks_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab_from_brimstone_bricks_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab_from_brimstone_bricks_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_slab_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs_from_brimstone_bricks_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs_from_brimstone_bricks_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs_from_brimstone_bricks_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs_from_brimstone_bricks_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_brick_stairs_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_bricks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_bricks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_bricks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_bricks_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_bricks_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_bricks_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/brimstone_bricks_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_black_sandstone.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_black_sandstone_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_black_sandstone_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_black_sandstone_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_black_sandstone_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks_from_brimstone_bricks_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks_from_brimstone_bricks_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks_from_brimstone_bricks_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks_from_brimstone_bricks_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_brimstone_bricks_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_white_sandstone.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_white_sandstone_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_white_sandstone_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_white_sandstone_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_white_sandstone_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab_from_cut_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab_from_cut_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab_from_cut_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_black_sandstone_slab_from_cut_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab_from_cut_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab_from_cut_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab_from_cut_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab_from_cut_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_white_sandstone_slab_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/dead_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/fir_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/hellbark_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/jacaranda_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/magic_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mahogany_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/maple_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mossy_cobblestone_from_willow_vine.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mossy_cobblestone_from_willow_vine.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mossy_cobblestone_from_willow_vine.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/mossy_cobblestone_from_willow_vine.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/palm_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/pine_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/redwood_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/rose_quartz_block.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/rose_quartz_block.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/rose_quartz_block.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/rose_quartz_block.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_slab_from_smooth_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_slab_from_smooth_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_slab_from_smooth_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_slab_from_smooth_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_stairs_from_smooth_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_stairs_from_smooth_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_stairs_from_smooth_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_black_sandstone_stairs_from_smooth_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_slab_from_smooth_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_slab_from_smooth_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_slab_from_smooth_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_slab_from_smooth_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_stairs_from_smooth_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_stairs_from_smooth_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_stairs_from_smooth_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_white_sandstone_stairs_from_smooth_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_dead_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_dead_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_dead_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_dead_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_fir_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_fir_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_fir_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_fir_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_hellbark_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_hellbark_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_hellbark_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_hellbark_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_jacaranda_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_jacaranda_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_jacaranda_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_magic_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_magic_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_magic_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_magic_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_mahogany_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_mahogany_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_mahogany_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_mahogany_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_maple_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_maple_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_maple_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_maple_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_palm_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_palm_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_palm_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_palm_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_pine_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_pine_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_pine_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_pine_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_redwood_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_redwood_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_redwood_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_redwood_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_umbran_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_umbran_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_umbran_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_umbran_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_willow_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_willow_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_willow_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/stripped_willow_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/umbran_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_slab_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_slab_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_slab_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_slab_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_stairs_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_stairs_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_stairs_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/white_sandstone_stairs_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_planks.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_planks.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_slab.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_slab.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_stairs.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_stairs.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_wood.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_wood.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/willow_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/black_sandstone_wall.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/black_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/black_sandstone_wall.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/black_sandstone_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/black_sandstone_wall_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/black_sandstone_wall_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/black_sandstone_wall_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/black_sandstone_wall_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall_from_brimstone_bricks_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall_from_brimstone_bricks_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall_from_brimstone_bricks_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall_from_brimstone_bricks_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/brimstone_brick_wall_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/dead_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/fir_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/hellbark_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/jacaranda_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/magic_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/mahogany_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/maple_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_maple_leaf_pile.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_maple_leaf_pile.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_maple_leaf_pile.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/palm_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/pine_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/red_maple_leaf_pile.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/red_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/red_maple_leaf_pile.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/red_maple_leaf_pile.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/redwood_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/umbran_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/white_sandstone_wall.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/white_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/white_sandstone_wall.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/white_sandstone_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/white_sandstone_wall_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/white_sandstone_wall_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/white_sandstone_wall_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/white_sandstone_wall_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_fence.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_fence.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_sign.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_sign.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/willow_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/yellow_maple_leaf_pile.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/yellow_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/yellow_maple_leaf_pile.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/decorations/yellow_maple_leaf_pile.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/food/rabbit_stew_from_toadstool.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/food/rabbit_stew_from_toadstool.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/food/rabbit_stew_from_toadstool.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/food/rabbit_stew_from_toadstool.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/brown_dye_from_cattail.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/brown_dye_from_cattail.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/brown_dye_from_cattail.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/brown_dye_from_cattail.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/cyan_dye_from_glowflower.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/cyan_dye_from_glowflower.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/cyan_dye_from_glowflower.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/cyan_dye_from_glowflower.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/gray_dye_from_wilted_lily.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/gray_dye_from_wilted_lily.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/gray_dye_from_wilted_lily.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/gray_dye_from_wilted_lily.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/green_dye_from_tiny_cactus.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/green_dye_from_tiny_cactus.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/green_dye_from_tiny_cactus.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/green_dye_from_tiny_cactus.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_blue_hydrangea.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_blue_hydrangea.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_blue_hydrangea.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_blue_hydrangea.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_icy_iris.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_icy_iris.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_icy_iris.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_icy_iris.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/magenta_dye_from_wildflower.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/magenta_dye_from_wildflower.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/magenta_dye_from_wildflower.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/magenta_dye_from_wildflower.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/orange_dye_from_burning_blossom.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/orange_dye_from_burning_blossom.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/orange_dye_from_burning_blossom.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/orange_dye_from_burning_blossom.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/orange_dye_from_orange_cosmos.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/orange_dye_from_orange_cosmos.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/orange_dye_from_orange_cosmos.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/orange_dye_from_orange_cosmos.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_daffodil.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_daffodil.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_daffodil.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_daffodil.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_hibiscus.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_hibiscus.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_hibiscus.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_lavender.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_lavender.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_lavender.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_lavender.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_tall_lavender.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_tall_lavender.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_tall_lavender.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_tall_lavender.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_violet.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_violet.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_violet.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/purple_dye_from_violet.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/red_dye_from_rose.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/red_dye_from_rose.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/red_dye_from_rose.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/red_dye_from_rose.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/red_dye_from_waterlily.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/red_dye_from_waterlily.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/red_dye_from_waterlily.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/red_dye_from_waterlily.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/white_dye_from_white_petals.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/white_dye_from_white_petals.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/white_dye_from_white_petals.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/white_dye_from_white_petals.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/yellow_dye_from_goldenrod.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/yellow_dye_from_goldenrod.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/misc/yellow_dye_from_goldenrod.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/misc/yellow_dye_from_goldenrod.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/dead_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/fir_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/hellbark_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/jacaranda_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/magic_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/mahogany_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/maple_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/palm_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/pine_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/redwood_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/umbran_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_button.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_button.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_door.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_door.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_fence_gate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_trapdoor.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/redstone/willow_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/dead_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/dead_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/dead_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/dead_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/dead_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/dead_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/dead_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/dead_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/fir_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/fir_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/fir_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/fir_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/fir_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/fir_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/fir_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/fir_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/hellbark_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/hellbark_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/hellbark_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/hellbark_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/hellbark_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/hellbark_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/hellbark_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/hellbark_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/jacaranda_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/jacaranda_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/jacaranda_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/jacaranda_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/jacaranda_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/jacaranda_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/jacaranda_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/jacaranda_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/magic_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/magic_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/magic_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/magic_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/magic_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/magic_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/magic_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/magic_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/mahogany_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/mahogany_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/mahogany_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/mahogany_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/mahogany_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/mahogany_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/mahogany_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/mahogany_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/maple_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/maple_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/maple_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/maple_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/maple_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/maple_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/maple_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/maple_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/palm_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/palm_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/palm_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/palm_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/palm_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/palm_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/palm_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/palm_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/pine_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/pine_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/pine_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/pine_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/pine_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/pine_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/pine_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/pine_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/redwood_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/redwood_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/redwood_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/redwood_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/redwood_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/redwood_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/redwood_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/redwood_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/umbran_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/umbran_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/umbran_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/umbran_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/umbran_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/umbran_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/umbran_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/umbran_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/willow_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/willow_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/willow_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/willow_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/willow_chest_boat.json b/common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/willow_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/willow_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/advancements/recipes/transportation/willow_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/advancements/all_biomes.json b/common/src/main/resources/data/biomesoplenty/loot_tables/advancements/all_biomes.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/advancements/all_biomes.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/advancements/all_biomes.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/barley.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/barley.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/barley.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/barley.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sand.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sand.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sand.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sand.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_wall.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_wall.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/black_sandstone_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/blackstone_bulb.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/blackstone_bulb.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/blackstone_bulb.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/blackstone_bulb.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/blackstone_spines.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/blackstone_spines.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/blackstone_spines.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/blackstone_spines.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/blue_hydrangea.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/blue_hydrangea.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/blue_hydrangea.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/blue_hydrangea.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/bramble.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/bramble.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/bramble.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/bramble.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/bramble_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/bramble_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/bramble_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/bramble_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_wall.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_wall.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_brick_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_bricks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_bricks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_bricks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_bud.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_bud.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_bud.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_bud.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_cluster.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_cluster.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_cluster.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_cluster.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_fumarole.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_fumarole.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_fumarole.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/brimstone_fumarole.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/burning_blossom.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/burning_blossom.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/burning_blossom.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/burning_blossom.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/bush.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/bush.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/bush.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/bush.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cattail.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cattail.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cattail.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cattail.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_black_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_brimstone_bricks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_brimstone_bricks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_brimstone_bricks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_white_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/clover.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/clover.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/clover.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/clover.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_black_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_black_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_black_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_black_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_white_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_white_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_white_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_white_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_branch.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_branch.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_branch.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_branch.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_grass.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_grass.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_grass.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_grass.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dead_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/desert_grass.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/desert_grass.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/desert_grass.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/desert_grass.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dried_salt.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dried_salt.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dried_salt.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dried_salt.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dune_grass.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dune_grass.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/dune_grass.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/dune_grass.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/eyebulb.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/eyebulb.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/eyebulb.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/eyebulb.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/fir_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh_tendons.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh_tendons.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh_tendons.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh_tendons.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh_tendons_strand.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh_tendons_strand.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh_tendons_strand.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flesh_tendons_strand.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flowering_oak_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flowering_oak_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flowering_oak_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flowering_oak_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flowering_oak_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flowering_oak_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/flowering_oak_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/flowering_oak_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowflower.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowflower.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowflower.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowflower.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowing_moss_block.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowing_moss_block.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowing_moss_block.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowing_moss_block.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowing_moss_carpet.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowing_moss_carpet.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowing_moss_carpet.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowing_moss_carpet.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowshroom.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowshroom.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowshroom.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowshroom.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowshroom_block.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowshroom_block.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowshroom_block.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowshroom_block.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowworm_silk.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowworm_silk.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowworm_silk.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowworm_silk.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowworm_silk_strand.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowworm_silk_strand.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowworm_silk_strand.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/glowworm_silk_strand.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/goldenrod.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/goldenrod.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/goldenrod.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/goldenrod.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hair.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hair.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hair.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hair.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hanging_cobweb.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hanging_cobweb.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hanging_cobweb.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hanging_cobweb.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hanging_cobweb_strand.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hanging_cobweb_strand.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hanging_cobweb_strand.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hanging_cobweb_strand.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/hellbark_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/high_grass.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/high_grass.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/high_grass.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/high_grass.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/high_grass_plant.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/high_grass_plant.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/high_grass_plant.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/high_grass_plant.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/huge_clover_petal.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/huge_clover_petal.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/huge_clover_petal.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/huge_clover_petal.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/huge_lily_pad.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/huge_lily_pad.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/huge_lily_pad.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/huge_lily_pad.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/icy_iris.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/icy_iris.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/icy_iris.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/icy_iris.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/jacaranda_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/large_rose_quartz_bud.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/large_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/large_rose_quartz_bud.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/large_rose_quartz_bud.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/lavender.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/lavender.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/lavender.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/lavender.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/magic_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mahogany_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/maple_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/medium_rose_quartz_bud.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/medium_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/medium_rose_quartz_bud.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/medium_rose_quartz_bud.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mossy_black_sand.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mossy_black_sand.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/mossy_black_sand.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/mossy_black_sand.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_cosmos.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_cosmos.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_cosmos.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_cosmos.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_leaf_pile.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_leaf_pile.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_leaf_pile.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_maple_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sand.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sand.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sand.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sand.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_wall.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_wall.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_grass_block.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_grass_block.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_grass_block.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_grass_block.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/origin_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/palm_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pine_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pink_daffodil.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pink_daffodil.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pink_daffodil.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pink_daffodil.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pink_hibiscus.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pink_hibiscus.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pink_hibiscus.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/porous_flesh.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/porous_flesh.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/porous_flesh.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/porous_flesh.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_blue_hydrangea.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_blue_hydrangea.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_blue_hydrangea.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_blue_hydrangea.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_burning_blossom.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_burning_blossom.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_burning_blossom.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_burning_blossom.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_dead_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_dead_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_dead_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_dead_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_fir_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_fir_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_fir_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_fir_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_flowering_oak_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_flowering_oak_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_flowering_oak_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_flowering_oak_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_glowflower.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_glowflower.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_glowflower.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_glowflower.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_glowshroom.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_glowshroom.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_glowshroom.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_glowshroom.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_hellbark_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_hellbark_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_hellbark_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_hellbark_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_jacaranda_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_jacaranda_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_jacaranda_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_jacaranda_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_lavender.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_lavender.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_lavender.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_lavender.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_magic_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_magic_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_magic_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_magic_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_mahogany_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_mahogany_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_mahogany_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_mahogany_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_orange_cosmos.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_orange_cosmos.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_orange_cosmos.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_orange_cosmos.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_orange_maple_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_orange_maple_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_orange_maple_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_orange_maple_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_origin_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_origin_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_origin_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_origin_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_palm_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_palm_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_palm_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_palm_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pine_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pine_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pine_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pine_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pink_daffodil.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pink_daffodil.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pink_daffodil.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pink_daffodil.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pink_hibiscus.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pink_hibiscus.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_pink_hibiscus.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_rainbow_birch_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_rainbow_birch_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_rainbow_birch_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_rainbow_birch_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_red_maple_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_red_maple_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_red_maple_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_red_maple_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_redwood_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_redwood_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_redwood_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_redwood_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_rose.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_rose.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_rose.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_rose.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_snowblossom_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_snowblossom_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_snowblossom_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_snowblossom_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_sprout.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_sprout.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_sprout.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_sprout.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_tiny_cactus.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_tiny_cactus.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_tiny_cactus.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_tiny_cactus.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_toadstool.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_toadstool.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_toadstool.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_toadstool.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_umbran_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_umbran_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_umbran_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_umbran_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_violet.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_violet.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_violet.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_violet.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_wildflower.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_wildflower.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_wildflower.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_wildflower.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_willow_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_willow_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_willow_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_willow_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_wilted_lily.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_wilted_lily.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_wilted_lily.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_wilted_lily.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_yellow_maple_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_yellow_maple_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_yellow_maple_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/potted_yellow_maple_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pus_bubble.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pus_bubble.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/pus_bubble.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/pus_bubble.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rainbow_birch_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rainbow_birch_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rainbow_birch_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rainbow_birch_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rainbow_birch_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rainbow_birch_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rainbow_birch_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rainbow_birch_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_leaf_pile.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_leaf_pile.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_leaf_pile.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/red_maple_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/redwood_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/reed.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/reed.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/reed.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/reed.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose_quartz_block.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose_quartz_block.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose_quartz_block.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose_quartz_block.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose_quartz_cluster.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose_quartz_cluster.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose_quartz_cluster.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/rose_quartz_cluster.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/sea_oats.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/sea_oats.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/sea_oats.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/sea_oats.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/small_rose_quartz_bud.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/small_rose_quartz_bud.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/small_rose_quartz_bud.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/small_rose_quartz_bud.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_black_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_white_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/snowblossom_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/snowblossom_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/snowblossom_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/snowblossom_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/snowblossom_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/snowblossom_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/snowblossom_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/snowblossom_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/spanish_moss.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/spanish_moss.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/spanish_moss.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/spanish_moss.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/spanish_moss_plant.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/spanish_moss_plant.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/spanish_moss_plant.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/spanish_moss_plant.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/spider_egg.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/spider_egg.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/spider_egg.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/spider_egg.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/sprout.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/sprout.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/sprout.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/sprout.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_dead_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_dead_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_dead_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_dead_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_dead_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_dead_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_dead_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_dead_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_fir_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_fir_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_fir_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_fir_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_fir_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_fir_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_fir_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_fir_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_hellbark_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_hellbark_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_hellbark_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_hellbark_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_hellbark_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_hellbark_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_hellbark_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_hellbark_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_jacaranda_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_jacaranda_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_jacaranda_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_jacaranda_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_jacaranda_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_jacaranda_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_jacaranda_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_magic_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_magic_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_magic_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_magic_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_magic_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_magic_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_magic_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_magic_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_mahogany_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_mahogany_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_mahogany_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_mahogany_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_mahogany_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_mahogany_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_mahogany_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_mahogany_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_maple_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_maple_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_maple_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_maple_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_maple_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_maple_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_maple_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_maple_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_palm_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_palm_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_palm_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_palm_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_palm_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_palm_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_palm_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_palm_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_pine_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_pine_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_pine_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_pine_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_pine_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_pine_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_pine_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_pine_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_redwood_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_redwood_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_redwood_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_redwood_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_redwood_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_redwood_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_redwood_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_redwood_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_umbran_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_umbran_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_umbran_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_umbran_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_umbran_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_umbran_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_umbran_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_umbran_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_willow_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_willow_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_willow_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_willow_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_willow_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_willow_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_willow_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/stripped_willow_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/tall_lavender.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/tall_lavender.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/tall_lavender.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/tall_lavender.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/thermal_calcite.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/thermal_calcite.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/thermal_calcite.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/thermal_calcite.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/thermal_calcite_vent.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/thermal_calcite_vent.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/thermal_calcite_vent.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/thermal_calcite_vent.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/tiny_cactus.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/tiny_cactus.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/tiny_cactus.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/tiny_cactus.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/toadstool.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/toadstool.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/toadstool.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/toadstool.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/toadstool_block.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/toadstool_block.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/toadstool_block.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/toadstool_block.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/tundra_shrub.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/tundra_shrub.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/tundra_shrub.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/tundra_shrub.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/umbran_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/violet.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/violet.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/violet.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/violet.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/watergrass.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/watergrass.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/watergrass.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/watergrass.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/waterlily.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/waterlily.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/waterlily.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/waterlily.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/webbing.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/webbing.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/webbing.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/webbing.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_petals.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_petals.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_petals.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_petals.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sand.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sand.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sand.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sand.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_wall.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_wall.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/white_sandstone_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/wildflower.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/wildflower.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/wildflower.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/wildflower.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_button.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_button.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_door.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_door.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_fence.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_fence.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_fence_gate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_log.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_log.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_log.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_log.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_planks.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_planks.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_sign.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_sign.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_slab.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_slab.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_stairs.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_stairs.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_trapdoor.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_vine.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_vine.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_vine.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_vine.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_wood.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_wood.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/willow_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/wilted_lily.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/wilted_lily.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/wilted_lily.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/wilted_lily.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_leaf_pile.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_leaf_pile.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_leaf_pile.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_leaves.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_leaves.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_leaves.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_leaves.json diff --git a/forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_sapling.json b/common/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_sapling.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_sapling.json rename to common/src/main/resources/data/biomesoplenty/loot_tables/blocks/yellow_maple_sapling.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_slab_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_slab_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_slab_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_slab_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_stairs_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_stairs_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_stairs_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_stairs_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_wall.json b/common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_wall.json rename to common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_wall_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_wall_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/black_sandstone_wall_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/black_sandstone_wall_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab_from_brimstone_bricks_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab_from_brimstone_bricks_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab_from_brimstone_bricks_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab_from_brimstone_bricks_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_slab_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs_from_brimstone_bricks_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs_from_brimstone_bricks_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs_from_brimstone_bricks_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs_from_brimstone_bricks_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_stairs_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall_from_brimstone_bricks_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall_from_brimstone_bricks_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall_from_brimstone_bricks_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall_from_brimstone_bricks_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_brick_wall_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_bricks.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_bricks.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_bricks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brimstone_bricks_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/brimstone_bricks_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brimstone_bricks_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/brimstone_bricks_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/brown_dye_from_cattail.json b/common/src/main/resources/data/biomesoplenty/recipes/brown_dye_from_cattail.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/brown_dye_from_cattail.json rename to common/src/main/resources/data/biomesoplenty/recipes/brown_dye_from_cattail.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/chiseled_black_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/chiseled_black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/chiseled_black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/chiseled_black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/chiseled_black_sandstone_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/chiseled_black_sandstone_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/chiseled_black_sandstone_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/chiseled_black_sandstone_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks.json b/common/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks.json rename to common/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks_from_brimstone_bricks_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks_from_brimstone_bricks_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks_from_brimstone_bricks_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks_from_brimstone_bricks_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks_from_brimstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks_from_brimstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks_from_brimstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/chiseled_brimstone_bricks_from_brimstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/chiseled_white_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/chiseled_white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/chiseled_white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/chiseled_white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/chiseled_white_sandstone_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/chiseled_white_sandstone_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/chiseled_white_sandstone_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/chiseled_white_sandstone_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab_from_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab_from_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab_from_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab_from_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab_from_cut_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab_from_cut_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab_from_cut_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_black_sandstone_slab_from_cut_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab_from_cut_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab_from_cut_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab_from_cut_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab_from_cut_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/cut_white_sandstone_slab_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/cyan_dye_from_glowflower.json b/common/src/main/resources/data/biomesoplenty/recipes/cyan_dye_from_glowflower.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/cyan_dye_from_glowflower.json rename to common/src/main/resources/data/biomesoplenty/recipes/cyan_dye_from_glowflower.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_button.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_door.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/dead_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/dead_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/dead_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/dead_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_button.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_door.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/fir_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/fir_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/fir_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/fir_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/gray_dye_from_wilted_lily.json b/common/src/main/resources/data/biomesoplenty/recipes/gray_dye_from_wilted_lily.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/gray_dye_from_wilted_lily.json rename to common/src/main/resources/data/biomesoplenty/recipes/gray_dye_from_wilted_lily.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/green_dye_from_tiny_cactus.json b/common/src/main/resources/data/biomesoplenty/recipes/green_dye_from_tiny_cactus.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/green_dye_from_tiny_cactus.json rename to common/src/main/resources/data/biomesoplenty/recipes/green_dye_from_tiny_cactus.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_button.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_door.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/hellbark_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/hellbark_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/hellbark_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/hellbark_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_button.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_door.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/jacaranda_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/jacaranda_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/light_blue_dye_from_blue_hydrangea.json b/common/src/main/resources/data/biomesoplenty/recipes/light_blue_dye_from_blue_hydrangea.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/light_blue_dye_from_blue_hydrangea.json rename to common/src/main/resources/data/biomesoplenty/recipes/light_blue_dye_from_blue_hydrangea.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/light_blue_dye_from_icy_iris.json b/common/src/main/resources/data/biomesoplenty/recipes/light_blue_dye_from_icy_iris.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/light_blue_dye_from_icy_iris.json rename to common/src/main/resources/data/biomesoplenty/recipes/light_blue_dye_from_icy_iris.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magenta_dye_from_wildflower.json b/common/src/main/resources/data/biomesoplenty/recipes/magenta_dye_from_wildflower.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magenta_dye_from_wildflower.json rename to common/src/main/resources/data/biomesoplenty/recipes/magenta_dye_from_wildflower.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_button.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_door.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/magic_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/magic_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/magic_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/magic_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_button.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_door.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mahogany_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/mahogany_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mahogany_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/mahogany_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_button.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_door.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/maple_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/maple_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/maple_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/maple_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mossy_cobblestone_from_willow_vine.json b/common/src/main/resources/data/biomesoplenty/recipes/mossy_cobblestone_from_willow_vine.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mossy_cobblestone_from_willow_vine.json rename to common/src/main/resources/data/biomesoplenty/recipes/mossy_cobblestone_from_willow_vine.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/mossy_stone_bricks_from_willow_vine.json b/common/src/main/resources/data/biomesoplenty/recipes/mossy_stone_bricks_from_willow_vine.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/mossy_stone_bricks_from_willow_vine.json rename to common/src/main/resources/data/biomesoplenty/recipes/mossy_stone_bricks_from_willow_vine.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_dye_from_burning_blossom.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_dye_from_burning_blossom.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_dye_from_burning_blossom.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_dye_from_burning_blossom.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_dye_from_orange_cosmos.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_dye_from_orange_cosmos.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_dye_from_orange_cosmos.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_dye_from_orange_cosmos.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_maple_leaf_pile.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_maple_leaf_pile.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_maple_leaf_pile.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_orange_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_orange_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_orange_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_orange_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall_from_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall_from_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall_from_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall_from_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_button.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_door.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/palm_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/palm_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/palm_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/palm_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_button.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_door.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pine_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/pine_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pine_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/pine_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pink_dye_from_pink_daffodil.json b/common/src/main/resources/data/biomesoplenty/recipes/pink_dye_from_pink_daffodil.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pink_dye_from_pink_daffodil.json rename to common/src/main/resources/data/biomesoplenty/recipes/pink_dye_from_pink_daffodil.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/pink_dye_from_pink_hibiscus.json b/common/src/main/resources/data/biomesoplenty/recipes/pink_dye_from_pink_hibiscus.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/pink_dye_from_pink_hibiscus.json rename to common/src/main/resources/data/biomesoplenty/recipes/pink_dye_from_pink_hibiscus.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_lavender.json b/common/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_lavender.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_lavender.json rename to common/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_lavender.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_tall_lavender.json b/common/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_tall_lavender.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_tall_lavender.json rename to common/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_tall_lavender.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_violet.json b/common/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_violet.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_violet.json rename to common/src/main/resources/data/biomesoplenty/recipes/purple_dye_from_violet.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/rabbit_stew_from_toadstool.json b/common/src/main/resources/data/biomesoplenty/recipes/rabbit_stew_from_toadstool.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/rabbit_stew_from_toadstool.json rename to common/src/main/resources/data/biomesoplenty/recipes/rabbit_stew_from_toadstool.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/red_dye_from_rose.json b/common/src/main/resources/data/biomesoplenty/recipes/red_dye_from_rose.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/red_dye_from_rose.json rename to common/src/main/resources/data/biomesoplenty/recipes/red_dye_from_rose.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/red_dye_from_waterlily.json b/common/src/main/resources/data/biomesoplenty/recipes/red_dye_from_waterlily.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/red_dye_from_waterlily.json rename to common/src/main/resources/data/biomesoplenty/recipes/red_dye_from_waterlily.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/red_maple_leaf_pile.json b/common/src/main/resources/data/biomesoplenty/recipes/red_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/red_maple_leaf_pile.json rename to common/src/main/resources/data/biomesoplenty/recipes/red_maple_leaf_pile.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_button.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_door.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/redwood_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/redwood_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/redwood_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/redwood_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/rose_quartz_block.json b/common/src/main/resources/data/biomesoplenty/recipes/rose_quartz_block.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/rose_quartz_block.json rename to common/src/main/resources/data/biomesoplenty/recipes/rose_quartz_block.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_slab_from_smooth_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_slab_from_smooth_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_slab_from_smooth_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_slab_from_smooth_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_stairs_from_smooth_black_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_stairs_from_smooth_black_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_stairs_from_smooth_black_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_black_sandstone_stairs_from_smooth_black_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_slab_from_smooth_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_slab_from_smooth_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_slab_from_smooth_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_slab_from_smooth_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_stairs_from_smooth_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_stairs_from_smooth_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_stairs_from_smooth_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/smooth_white_sandstone_stairs_from_smooth_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_dead_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_dead_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_dead_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_dead_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_fir_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_fir_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_fir_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_fir_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_hellbark_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_hellbark_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_hellbark_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_hellbark_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_jacaranda_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_jacaranda_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_jacaranda_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_jacaranda_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_magic_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_magic_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_magic_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_magic_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_mahogany_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_mahogany_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_mahogany_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_mahogany_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_maple_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_maple_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_maple_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_maple_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_palm_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_palm_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_palm_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_palm_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_pine_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_pine_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_pine_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_pine_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_redwood_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_redwood_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_redwood_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_redwood_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_umbran_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_umbran_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_umbran_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_umbran_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/stripped_willow_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/stripped_willow_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/stripped_willow_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/stripped_willow_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_button.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_door.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/umbran_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/umbran_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/umbran_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/umbran_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/white_dye_from_white_petals.json b/common/src/main/resources/data/biomesoplenty/recipes/white_dye_from_white_petals.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/white_dye_from_white_petals.json rename to common/src/main/resources/data/biomesoplenty/recipes/white_dye_from_white_petals.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone.json b/common/src/main/resources/data/biomesoplenty/recipes/white_sandstone.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone.json rename to common/src/main/resources/data/biomesoplenty/recipes/white_sandstone.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_slab_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_slab_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_slab_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_slab_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_stairs_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_stairs_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_stairs_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_stairs_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_wall.json b/common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_wall.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_wall.json rename to common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_wall.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_wall_from_white_sandstone_stonecutting.json b/common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_wall_from_white_sandstone_stonecutting.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/white_sandstone_wall_from_white_sandstone_stonecutting.json rename to common/src/main/resources/data/biomesoplenty/recipes/white_sandstone_wall_from_white_sandstone_stonecutting.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_button.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_button.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_button.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_button.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_chest_boat.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_chest_boat.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_chest_boat.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_chest_boat.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_door.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_door.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_door.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_door.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_fence.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_fence.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_fence.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_fence.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_fence_gate.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_fence_gate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_fence_gate.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_fence_gate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_hanging_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_hanging_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_hanging_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_hanging_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_planks.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_planks.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_planks.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_planks.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_pressure_plate.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_pressure_plate.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_pressure_plate.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_pressure_plate.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_sign.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_sign.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_sign.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_sign.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_slab.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_slab.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_slab.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_slab.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_stairs.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_stairs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_stairs.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_stairs.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_trapdoor.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_trapdoor.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_trapdoor.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_trapdoor.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/willow_wood.json b/common/src/main/resources/data/biomesoplenty/recipes/willow_wood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/willow_wood.json rename to common/src/main/resources/data/biomesoplenty/recipes/willow_wood.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/yellow_dye_from_goldenrod.json b/common/src/main/resources/data/biomesoplenty/recipes/yellow_dye_from_goldenrod.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/yellow_dye_from_goldenrod.json rename to common/src/main/resources/data/biomesoplenty/recipes/yellow_dye_from_goldenrod.json diff --git a/forge/src/main/resources/data/biomesoplenty/recipes/yellow_maple_leaf_pile.json b/common/src/main/resources/data/biomesoplenty/recipes/yellow_maple_leaf_pile.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/recipes/yellow_maple_leaf_pile.json rename to common/src/main/resources/data/biomesoplenty/recipes/yellow_maple_leaf_pile.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/blackstone_decoration_placeable.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/blackstone_decoration_placeable.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/blackstone_decoration_placeable.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/blackstone_decoration_placeable.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/brimstone_decoration_placeable.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/brimstone_decoration_placeable.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/brimstone_decoration_placeable.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/brimstone_decoration_placeable.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/dead_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/dead_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/dead_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/dead_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/fir_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/fir_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/fir_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/fir_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/flesh.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/flesh.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/flesh.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/flesh.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/flesh_decoration_placeable.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/flesh_decoration_placeable.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/flesh_decoration_placeable.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/flesh_decoration_placeable.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/hellbark_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/hellbark_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/hellbark_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/hellbark_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/jacaranda_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/jacaranda_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/jacaranda_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/jacaranda_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/magic_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/magic_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/magic_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/magic_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/mahogany_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/mahogany_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/mahogany_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/mahogany_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/maple_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/maple_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/maple_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/maple_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/palm_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/palm_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/palm_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/palm_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/pine_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/pine_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/pine_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/pine_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/redwood_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/redwood_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/redwood_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/redwood_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/umbran_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/umbran_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/umbran_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/umbran_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/blocks/willow_logs.json b/common/src/main/resources/data/biomesoplenty/tags/blocks/willow_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/blocks/willow_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/blocks/willow_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/fluids/blood.json b/common/src/main/resources/data/biomesoplenty/tags/fluids/blood.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/fluids/blood.json rename to common/src/main/resources/data/biomesoplenty/tags/fluids/blood.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/dead_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/dead_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/dead_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/dead_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/fir_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/fir_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/fir_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/fir_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/hellbark_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/hellbark_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/hellbark_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/hellbark_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/jacaranda_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/jacaranda_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/jacaranda_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/jacaranda_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/magic_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/magic_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/magic_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/magic_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/mahogany_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/mahogany_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/mahogany_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/mahogany_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/maple_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/maple_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/maple_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/maple_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/palm_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/palm_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/palm_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/palm_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/pine_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/pine_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/pine_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/pine_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/redwood_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/redwood_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/redwood_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/redwood_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/umbran_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/umbran_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/umbran_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/umbran_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/tags/items/willow_logs.json b/common/src/main/resources/data/biomesoplenty/tags/items/willow_logs.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/tags/items/willow_logs.json rename to common/src/main/resources/data/biomesoplenty/tags/items/willow_logs.json diff --git a/forge/src/main/resources/data/biomesoplenty/trim_material/glowworm_silk.json b/common/src/main/resources/data/biomesoplenty/trim_material/glowworm_silk.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/trim_material/glowworm_silk.json rename to common/src/main/resources/data/biomesoplenty/trim_material/glowworm_silk.json diff --git a/forge/src/main/resources/data/biomesoplenty/trim_material/rose_quartz.json b/common/src/main/resources/data/biomesoplenty/trim_material/rose_quartz.json similarity index 100% rename from forge/src/main/resources/data/biomesoplenty/trim_material/rose_quartz.json rename to common/src/main/resources/data/biomesoplenty/trim_material/rose_quartz.json diff --git a/forge/src/main/resources/data/forge/tags/blocks/dirt.json b/common/src/main/resources/data/forge/tags/blocks/dirt.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/blocks/dirt.json rename to common/src/main/resources/data/forge/tags/blocks/dirt.json diff --git a/forge/src/main/resources/data/forge/tags/blocks/fence_gates/wooden.json b/common/src/main/resources/data/forge/tags/blocks/fence_gates/wooden.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/blocks/fence_gates/wooden.json rename to common/src/main/resources/data/forge/tags/blocks/fence_gates/wooden.json diff --git a/forge/src/main/resources/data/forge/tags/blocks/fences/wooden.json b/common/src/main/resources/data/forge/tags/blocks/fences/wooden.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/blocks/fences/wooden.json rename to common/src/main/resources/data/forge/tags/blocks/fences/wooden.json diff --git a/forge/src/main/resources/data/forge/tags/blocks/sand.json b/common/src/main/resources/data/forge/tags/blocks/sand.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/blocks/sand.json rename to common/src/main/resources/data/forge/tags/blocks/sand.json diff --git a/forge/src/main/resources/data/forge/tags/blocks/sandstone.json b/common/src/main/resources/data/forge/tags/blocks/sandstone.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/blocks/sandstone.json rename to common/src/main/resources/data/forge/tags/blocks/sandstone.json diff --git a/forge/src/main/resources/data/forge/tags/items/fence_gates/wooden.json b/common/src/main/resources/data/forge/tags/items/fence_gates/wooden.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/items/fence_gates/wooden.json rename to common/src/main/resources/data/forge/tags/items/fence_gates/wooden.json diff --git a/forge/src/main/resources/data/forge/tags/items/fences/wooden.json b/common/src/main/resources/data/forge/tags/items/fences/wooden.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/items/fences/wooden.json rename to common/src/main/resources/data/forge/tags/items/fences/wooden.json diff --git a/forge/src/main/resources/data/forge/tags/items/mushrooms.json b/common/src/main/resources/data/forge/tags/items/mushrooms.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/items/mushrooms.json rename to common/src/main/resources/data/forge/tags/items/mushrooms.json diff --git a/forge/src/main/resources/data/forge/tags/items/music_discs.json b/common/src/main/resources/data/forge/tags/items/music_discs.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/items/music_discs.json rename to common/src/main/resources/data/forge/tags/items/music_discs.json diff --git a/forge/src/main/resources/data/forge/tags/items/sand.json b/common/src/main/resources/data/forge/tags/items/sand.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/items/sand.json rename to common/src/main/resources/data/forge/tags/items/sand.json diff --git a/forge/src/main/resources/data/forge/tags/items/sandstone.json b/common/src/main/resources/data/forge/tags/items/sandstone.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/items/sandstone.json rename to common/src/main/resources/data/forge/tags/items/sandstone.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_cave.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_cave.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_cave.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_cave.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_cold/overworld.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_cold/overworld.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_cold/overworld.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_cold/overworld.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_coniferous.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_coniferous.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_coniferous.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_coniferous.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_dense/overworld.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_dense/overworld.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_dense/overworld.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_dense/overworld.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_desert.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_desert.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_desert.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_desert.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_dry/nether.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_dry/nether.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_dry/nether.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_dry/nether.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_dry/overworld.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_dry/overworld.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_dry/overworld.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_dry/overworld.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_hot/nether.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_hot/nether.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_hot/nether.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_hot/nether.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_hot/overworld.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_hot/overworld.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_hot/overworld.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_hot/overworld.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_lush.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_lush.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_lush.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_lush.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_magical.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_magical.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_magical.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_magical.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_mountain.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_mountain.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_mountain.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_mountain.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_mushroom.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_mushroom.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_mushroom.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_mushroom.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_plains.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_plains.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_plains.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_plains.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_plateau.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_plateau.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_plateau.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_plateau.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_rare.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_rare.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_rare.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_rare.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_sandy.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_sandy.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_sandy.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_sandy.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_snowy.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_snowy.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_snowy.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_snowy.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_sparse/overworld.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_sparse/overworld.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_sparse/overworld.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_sparse/overworld.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_spooky.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_spooky.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_spooky.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_spooky.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_swamp.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_swamp.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_swamp.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_swamp.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_underground.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_underground.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_underground.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_underground.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_wasteland.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_wasteland.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_wasteland.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_wasteland.json diff --git a/forge/src/main/resources/data/forge/tags/worldgen/biome/is_wet/overworld.json b/common/src/main/resources/data/forge/tags/worldgen/biome/is_wet/overworld.json similarity index 100% rename from forge/src/main/resources/data/forge/tags/worldgen/biome/is_wet/overworld.json rename to common/src/main/resources/data/forge/tags/worldgen/biome/is_wet/overworld.json diff --git a/forge/src/main/resources/data/minecraft/recipes/tnt.json b/common/src/main/resources/data/minecraft/recipes/tnt.json similarity index 100% rename from forge/src/main/resources/data/minecraft/recipes/tnt.json rename to common/src/main/resources/data/minecraft/recipes/tnt.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/animals_spawnable_on.json b/common/src/main/resources/data/minecraft/tags/blocks/animals_spawnable_on.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/animals_spawnable_on.json rename to common/src/main/resources/data/minecraft/tags/blocks/animals_spawnable_on.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json b/common/src/main/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json rename to common/src/main/resources/data/minecraft/tags/blocks/azalea_root_replaceable.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/ceiling_hanging_signs.json b/common/src/main/resources/data/minecraft/tags/blocks/ceiling_hanging_signs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/ceiling_hanging_signs.json rename to common/src/main/resources/data/minecraft/tags/blocks/ceiling_hanging_signs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/climbable.json b/common/src/main/resources/data/minecraft/tags/blocks/climbable.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/climbable.json rename to common/src/main/resources/data/minecraft/tags/blocks/climbable.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/crystal_sound_blocks.json b/common/src/main/resources/data/minecraft/tags/blocks/crystal_sound_blocks.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/crystal_sound_blocks.json rename to common/src/main/resources/data/minecraft/tags/blocks/crystal_sound_blocks.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/dirt.json b/common/src/main/resources/data/minecraft/tags/blocks/dirt.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/dirt.json rename to common/src/main/resources/data/minecraft/tags/blocks/dirt.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/enderman_holdable.json b/common/src/main/resources/data/minecraft/tags/blocks/enderman_holdable.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/enderman_holdable.json rename to common/src/main/resources/data/minecraft/tags/blocks/enderman_holdable.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/fence_gates.json b/common/src/main/resources/data/minecraft/tags/blocks/fence_gates.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/fence_gates.json rename to common/src/main/resources/data/minecraft/tags/blocks/fence_gates.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/flower_pots.json b/common/src/main/resources/data/minecraft/tags/blocks/flower_pots.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/flower_pots.json rename to common/src/main/resources/data/minecraft/tags/blocks/flower_pots.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/flowers.json b/common/src/main/resources/data/minecraft/tags/blocks/flowers.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/flowers.json rename to common/src/main/resources/data/minecraft/tags/blocks/flowers.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/frog_prefer_jump_to.json b/common/src/main/resources/data/minecraft/tags/blocks/frog_prefer_jump_to.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/frog_prefer_jump_to.json rename to common/src/main/resources/data/minecraft/tags/blocks/frog_prefer_jump_to.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/inside_step_sound_blocks.json b/common/src/main/resources/data/minecraft/tags/blocks/inside_step_sound_blocks.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/inside_step_sound_blocks.json rename to common/src/main/resources/data/minecraft/tags/blocks/inside_step_sound_blocks.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/leaves.json b/common/src/main/resources/data/minecraft/tags/blocks/leaves.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/leaves.json rename to common/src/main/resources/data/minecraft/tags/blocks/leaves.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/logs.json b/common/src/main/resources/data/minecraft/tags/blocks/logs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/logs.json rename to common/src/main/resources/data/minecraft/tags/blocks/logs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/logs_that_burn.json b/common/src/main/resources/data/minecraft/tags/blocks/logs_that_burn.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/logs_that_burn.json rename to common/src/main/resources/data/minecraft/tags/blocks/logs_that_burn.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/mineable/axe.json b/common/src/main/resources/data/minecraft/tags/blocks/mineable/axe.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/mineable/axe.json rename to common/src/main/resources/data/minecraft/tags/blocks/mineable/axe.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/mineable/hoe.json b/common/src/main/resources/data/minecraft/tags/blocks/mineable/hoe.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/mineable/hoe.json rename to common/src/main/resources/data/minecraft/tags/blocks/mineable/hoe.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/common/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json rename to common/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/mineable/shovel.json b/common/src/main/resources/data/minecraft/tags/blocks/mineable/shovel.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/mineable/shovel.json rename to common/src/main/resources/data/minecraft/tags/blocks/mineable/shovel.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/non_flammable_wood.json b/common/src/main/resources/data/minecraft/tags/blocks/non_flammable_wood.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/non_flammable_wood.json rename to common/src/main/resources/data/minecraft/tags/blocks/non_flammable_wood.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/overworld_carver_replaceables.json b/common/src/main/resources/data/minecraft/tags/blocks/overworld_carver_replaceables.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/overworld_carver_replaceables.json rename to common/src/main/resources/data/minecraft/tags/blocks/overworld_carver_replaceables.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/overworld_natural_logs.json b/common/src/main/resources/data/minecraft/tags/blocks/overworld_natural_logs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/overworld_natural_logs.json rename to common/src/main/resources/data/minecraft/tags/blocks/overworld_natural_logs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/planks.json b/common/src/main/resources/data/minecraft/tags/blocks/planks.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/planks.json rename to common/src/main/resources/data/minecraft/tags/blocks/planks.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/replaceable.json b/common/src/main/resources/data/minecraft/tags/blocks/replaceable.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/replaceable.json rename to common/src/main/resources/data/minecraft/tags/blocks/replaceable.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/replaceable_by_trees.json b/common/src/main/resources/data/minecraft/tags/blocks/replaceable_by_trees.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/replaceable_by_trees.json rename to common/src/main/resources/data/minecraft/tags/blocks/replaceable_by_trees.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/sand.json b/common/src/main/resources/data/minecraft/tags/blocks/sand.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/sand.json rename to common/src/main/resources/data/minecraft/tags/blocks/sand.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/saplings.json b/common/src/main/resources/data/minecraft/tags/blocks/saplings.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/saplings.json rename to common/src/main/resources/data/minecraft/tags/blocks/saplings.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/sculk_replaceable.json b/common/src/main/resources/data/minecraft/tags/blocks/sculk_replaceable.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/sculk_replaceable.json rename to common/src/main/resources/data/minecraft/tags/blocks/sculk_replaceable.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/slabs.json b/common/src/main/resources/data/minecraft/tags/blocks/slabs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/slabs.json rename to common/src/main/resources/data/minecraft/tags/blocks/slabs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/small_flowers.json b/common/src/main/resources/data/minecraft/tags/blocks/small_flowers.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/small_flowers.json rename to common/src/main/resources/data/minecraft/tags/blocks/small_flowers.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/smelts_to_glass.json b/common/src/main/resources/data/minecraft/tags/blocks/smelts_to_glass.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/smelts_to_glass.json rename to common/src/main/resources/data/minecraft/tags/blocks/smelts_to_glass.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/sniffer_diggable_block.json b/common/src/main/resources/data/minecraft/tags/blocks/sniffer_diggable_block.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/sniffer_diggable_block.json rename to common/src/main/resources/data/minecraft/tags/blocks/sniffer_diggable_block.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/sniffer_egg_hatch_boost.json b/common/src/main/resources/data/minecraft/tags/blocks/sniffer_egg_hatch_boost.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/sniffer_egg_hatch_boost.json rename to common/src/main/resources/data/minecraft/tags/blocks/sniffer_egg_hatch_boost.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/stairs.json b/common/src/main/resources/data/minecraft/tags/blocks/stairs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/stairs.json rename to common/src/main/resources/data/minecraft/tags/blocks/stairs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/standing_signs.json b/common/src/main/resources/data/minecraft/tags/blocks/standing_signs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/standing_signs.json rename to common/src/main/resources/data/minecraft/tags/blocks/standing_signs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/sword_efficient.json b/common/src/main/resources/data/minecraft/tags/blocks/sword_efficient.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/sword_efficient.json rename to common/src/main/resources/data/minecraft/tags/blocks/sword_efficient.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/tall_flowers.json b/common/src/main/resources/data/minecraft/tags/blocks/tall_flowers.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/tall_flowers.json rename to common/src/main/resources/data/minecraft/tags/blocks/tall_flowers.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/valid_spawn.json b/common/src/main/resources/data/minecraft/tags/blocks/valid_spawn.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/valid_spawn.json rename to common/src/main/resources/data/minecraft/tags/blocks/valid_spawn.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/wall_hanging_signs.json b/common/src/main/resources/data/minecraft/tags/blocks/wall_hanging_signs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/wall_hanging_signs.json rename to common/src/main/resources/data/minecraft/tags/blocks/wall_hanging_signs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/wall_signs.json b/common/src/main/resources/data/minecraft/tags/blocks/wall_signs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/wall_signs.json rename to common/src/main/resources/data/minecraft/tags/blocks/wall_signs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/walls.json b/common/src/main/resources/data/minecraft/tags/blocks/walls.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/walls.json rename to common/src/main/resources/data/minecraft/tags/blocks/walls.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/wooden_buttons.json b/common/src/main/resources/data/minecraft/tags/blocks/wooden_buttons.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/wooden_buttons.json rename to common/src/main/resources/data/minecraft/tags/blocks/wooden_buttons.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/wooden_doors.json b/common/src/main/resources/data/minecraft/tags/blocks/wooden_doors.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/wooden_doors.json rename to common/src/main/resources/data/minecraft/tags/blocks/wooden_doors.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json b/common/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json rename to common/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/wooden_pressure_plates.json b/common/src/main/resources/data/minecraft/tags/blocks/wooden_pressure_plates.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/wooden_pressure_plates.json rename to common/src/main/resources/data/minecraft/tags/blocks/wooden_pressure_plates.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/wooden_slabs.json b/common/src/main/resources/data/minecraft/tags/blocks/wooden_slabs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/wooden_slabs.json rename to common/src/main/resources/data/minecraft/tags/blocks/wooden_slabs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/wooden_stairs.json b/common/src/main/resources/data/minecraft/tags/blocks/wooden_stairs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/wooden_stairs.json rename to common/src/main/resources/data/minecraft/tags/blocks/wooden_stairs.json diff --git a/forge/src/main/resources/data/minecraft/tags/blocks/wooden_trapdoors.json b/common/src/main/resources/data/minecraft/tags/blocks/wooden_trapdoors.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/blocks/wooden_trapdoors.json rename to common/src/main/resources/data/minecraft/tags/blocks/wooden_trapdoors.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/boats.json b/common/src/main/resources/data/minecraft/tags/items/boats.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/boats.json rename to common/src/main/resources/data/minecraft/tags/items/boats.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/chest_boats.json b/common/src/main/resources/data/minecraft/tags/items/chest_boats.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/chest_boats.json rename to common/src/main/resources/data/minecraft/tags/items/chest_boats.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/flowers.json b/common/src/main/resources/data/minecraft/tags/items/flowers.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/flowers.json rename to common/src/main/resources/data/minecraft/tags/items/flowers.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/hanging_signs.json b/common/src/main/resources/data/minecraft/tags/items/hanging_signs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/hanging_signs.json rename to common/src/main/resources/data/minecraft/tags/items/hanging_signs.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/leaves.json b/common/src/main/resources/data/minecraft/tags/items/leaves.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/leaves.json rename to common/src/main/resources/data/minecraft/tags/items/leaves.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/logs.json b/common/src/main/resources/data/minecraft/tags/items/logs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/logs.json rename to common/src/main/resources/data/minecraft/tags/items/logs.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/logs_that_burn.json b/common/src/main/resources/data/minecraft/tags/items/logs_that_burn.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/logs_that_burn.json rename to common/src/main/resources/data/minecraft/tags/items/logs_that_burn.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/music_discs.json b/common/src/main/resources/data/minecraft/tags/items/music_discs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/music_discs.json rename to common/src/main/resources/data/minecraft/tags/items/music_discs.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/non_flammable_wood.json b/common/src/main/resources/data/minecraft/tags/items/non_flammable_wood.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/non_flammable_wood.json rename to common/src/main/resources/data/minecraft/tags/items/non_flammable_wood.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/overworld_natural_logs.json b/common/src/main/resources/data/minecraft/tags/items/overworld_natural_logs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/overworld_natural_logs.json rename to common/src/main/resources/data/minecraft/tags/items/overworld_natural_logs.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/planks.json b/common/src/main/resources/data/minecraft/tags/items/planks.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/planks.json rename to common/src/main/resources/data/minecraft/tags/items/planks.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/sand.json b/common/src/main/resources/data/minecraft/tags/items/sand.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/sand.json rename to common/src/main/resources/data/minecraft/tags/items/sand.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/saplings.json b/common/src/main/resources/data/minecraft/tags/items/saplings.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/saplings.json rename to common/src/main/resources/data/minecraft/tags/items/saplings.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/signs.json b/common/src/main/resources/data/minecraft/tags/items/signs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/signs.json rename to common/src/main/resources/data/minecraft/tags/items/signs.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/slabs.json b/common/src/main/resources/data/minecraft/tags/items/slabs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/slabs.json rename to common/src/main/resources/data/minecraft/tags/items/slabs.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/small_flowers.json b/common/src/main/resources/data/minecraft/tags/items/small_flowers.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/small_flowers.json rename to common/src/main/resources/data/minecraft/tags/items/small_flowers.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/smelts_to_glass.json b/common/src/main/resources/data/minecraft/tags/items/smelts_to_glass.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/smelts_to_glass.json rename to common/src/main/resources/data/minecraft/tags/items/smelts_to_glass.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/stairs.json b/common/src/main/resources/data/minecraft/tags/items/stairs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/stairs.json rename to common/src/main/resources/data/minecraft/tags/items/stairs.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/tall_flowers.json b/common/src/main/resources/data/minecraft/tags/items/tall_flowers.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/tall_flowers.json rename to common/src/main/resources/data/minecraft/tags/items/tall_flowers.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/trim_materials.json b/common/src/main/resources/data/minecraft/tags/items/trim_materials.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/trim_materials.json rename to common/src/main/resources/data/minecraft/tags/items/trim_materials.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/walls.json b/common/src/main/resources/data/minecraft/tags/items/walls.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/walls.json rename to common/src/main/resources/data/minecraft/tags/items/walls.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/wooden_buttons.json b/common/src/main/resources/data/minecraft/tags/items/wooden_buttons.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/wooden_buttons.json rename to common/src/main/resources/data/minecraft/tags/items/wooden_buttons.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/wooden_doors.json b/common/src/main/resources/data/minecraft/tags/items/wooden_doors.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/wooden_doors.json rename to common/src/main/resources/data/minecraft/tags/items/wooden_doors.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/wooden_fences.json b/common/src/main/resources/data/minecraft/tags/items/wooden_fences.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/wooden_fences.json rename to common/src/main/resources/data/minecraft/tags/items/wooden_fences.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/wooden_pressure_plates.json b/common/src/main/resources/data/minecraft/tags/items/wooden_pressure_plates.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/wooden_pressure_plates.json rename to common/src/main/resources/data/minecraft/tags/items/wooden_pressure_plates.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/wooden_slabs.json b/common/src/main/resources/data/minecraft/tags/items/wooden_slabs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/wooden_slabs.json rename to common/src/main/resources/data/minecraft/tags/items/wooden_slabs.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/wooden_stairs.json b/common/src/main/resources/data/minecraft/tags/items/wooden_stairs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/wooden_stairs.json rename to common/src/main/resources/data/minecraft/tags/items/wooden_stairs.json diff --git a/forge/src/main/resources/data/minecraft/tags/items/wooden_trapdoors.json b/common/src/main/resources/data/minecraft/tags/items/wooden_trapdoors.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/items/wooden_trapdoors.json rename to common/src/main/resources/data/minecraft/tags/items/wooden_trapdoors.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/allows_surface_slime_spawns.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/allows_surface_slime_spawns.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/allows_surface_slime_spawns.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/allows_surface_slime_spawns.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_closer_water_fog.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_closer_water_fog.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_closer_water_fog.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_closer_water_fog.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/bastion_remnant.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/bastion_remnant.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/bastion_remnant.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/bastion_remnant.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/igloo.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/igloo.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/igloo.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/igloo.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/jungle_temple.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/jungle_temple.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/jungle_temple.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/jungle_temple.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/mineshaft.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/mineshaft.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/mineshaft.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/mineshaft.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/nether_fossil.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/nether_fossil.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/nether_fossil.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/nether_fossil.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/pillager_outpost.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/pillager_outpost.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/pillager_outpost.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/pillager_outpost.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_desert.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_desert.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_desert.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_desert.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_mountain.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_mountain.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_mountain.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_mountain.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_standard.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_standard.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_standard.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_standard.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_swamp.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_swamp.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_swamp.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/ruined_portal_swamp.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/swamp_hut.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/swamp_hut.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/swamp_hut.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/swamp_hut.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/trail_ruins.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/trail_ruins.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/trail_ruins.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/trail_ruins.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_desert.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_desert.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_desert.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_desert.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_plains.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_plains.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_plains.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_plains.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_savanna.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_savanna.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_savanna.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_savanna.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_snowy.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_snowy.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_snowy.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_snowy.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_taiga.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_taiga.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_taiga.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/village_taiga.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/woodland_mansion.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/woodland_mansion.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/woodland_mansion.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/has_structure/woodland_mansion.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/increased_fire_burnout.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/increased_fire_burnout.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/increased_fire_burnout.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/increased_fire_burnout.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_beach.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_beach.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_beach.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/is_beach.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_forest.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_forest.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_forest.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/is_forest.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_hill.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_hill.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_hill.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/is_hill.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_jungle.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_jungle.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_jungle.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/is_jungle.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_mountain.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_mountain.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_mountain.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/is_mountain.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_nether.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_nether.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_nether.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/is_nether.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_overworld.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_overworld.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_overworld.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/is_overworld.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_savanna.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_savanna.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_savanna.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/is_savanna.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_taiga.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/is_taiga.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/is_taiga.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/is_taiga.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/mineshaft_blocking.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/mineshaft_blocking.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/mineshaft_blocking.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/mineshaft_blocking.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/snow_golem_melts.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/snow_golem_melts.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/snow_golem_melts.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/snow_golem_melts.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_cold_variant_frogs.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_cold_variant_frogs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_cold_variant_frogs.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_cold_variant_frogs.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_gold_rabbits.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_gold_rabbits.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_gold_rabbits.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_gold_rabbits.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_snow_foxes.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_snow_foxes.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_snow_foxes.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_snow_foxes.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_warm_variant_frogs.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_warm_variant_frogs.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_warm_variant_frogs.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_warm_variant_frogs.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_white_rabbits.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_white_rabbits.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_white_rabbits.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/spawns_white_rabbits.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/stronghold_biased_to.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/stronghold_biased_to.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/stronghold_biased_to.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/stronghold_biased_to.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/water_on_map_outlines.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/water_on_map_outlines.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/water_on_map_outlines.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/water_on_map_outlines.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/without_patrol_spawns.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/without_patrol_spawns.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/without_patrol_spawns.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/without_patrol_spawns.json diff --git a/forge/src/main/resources/data/minecraft/tags/worldgen/biome/without_zombie_sieges.json b/common/src/main/resources/data/minecraft/tags/worldgen/biome/without_zombie_sieges.json similarity index 100% rename from forge/src/main/resources/data/minecraft/tags/worldgen/biome/without_zombie_sieges.json rename to common/src/main/resources/data/minecraft/tags/worldgen/biome/without_zombie_sieges.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/blocks/autumn_crops.json b/common/src/main/resources/data/sereneseasons/tags/blocks/autumn_crops.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/blocks/autumn_crops.json rename to common/src/main/resources/data/sereneseasons/tags/blocks/autumn_crops.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/blocks/spring_crops.json b/common/src/main/resources/data/sereneseasons/tags/blocks/spring_crops.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/blocks/spring_crops.json rename to common/src/main/resources/data/sereneseasons/tags/blocks/spring_crops.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/blocks/summer_crops.json b/common/src/main/resources/data/sereneseasons/tags/blocks/summer_crops.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/blocks/summer_crops.json rename to common/src/main/resources/data/sereneseasons/tags/blocks/summer_crops.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/blocks/unbreakable_infertile_crops.json b/common/src/main/resources/data/sereneseasons/tags/blocks/unbreakable_infertile_crops.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/blocks/unbreakable_infertile_crops.json rename to common/src/main/resources/data/sereneseasons/tags/blocks/unbreakable_infertile_crops.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/blocks/winter_crops.json b/common/src/main/resources/data/sereneseasons/tags/blocks/winter_crops.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/blocks/winter_crops.json rename to common/src/main/resources/data/sereneseasons/tags/blocks/winter_crops.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/items/autumn_crops.json b/common/src/main/resources/data/sereneseasons/tags/items/autumn_crops.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/items/autumn_crops.json rename to common/src/main/resources/data/sereneseasons/tags/items/autumn_crops.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/items/spring_crops.json b/common/src/main/resources/data/sereneseasons/tags/items/spring_crops.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/items/spring_crops.json rename to common/src/main/resources/data/sereneseasons/tags/items/spring_crops.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/items/summer_crops.json b/common/src/main/resources/data/sereneseasons/tags/items/summer_crops.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/items/summer_crops.json rename to common/src/main/resources/data/sereneseasons/tags/items/summer_crops.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/items/winter_crops.json b/common/src/main/resources/data/sereneseasons/tags/items/winter_crops.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/items/winter_crops.json rename to common/src/main/resources/data/sereneseasons/tags/items/winter_crops.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/worldgen/biome/blacklisted_biomes.json b/common/src/main/resources/data/sereneseasons/tags/worldgen/biome/blacklisted_biomes.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/worldgen/biome/blacklisted_biomes.json rename to common/src/main/resources/data/sereneseasons/tags/worldgen/biome/blacklisted_biomes.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/worldgen/biome/infertile_biomes.json b/common/src/main/resources/data/sereneseasons/tags/worldgen/biome/infertile_biomes.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/worldgen/biome/infertile_biomes.json rename to common/src/main/resources/data/sereneseasons/tags/worldgen/biome/infertile_biomes.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/worldgen/biome/lesser_color_change_biomes.json b/common/src/main/resources/data/sereneseasons/tags/worldgen/biome/lesser_color_change_biomes.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/worldgen/biome/lesser_color_change_biomes.json rename to common/src/main/resources/data/sereneseasons/tags/worldgen/biome/lesser_color_change_biomes.json diff --git a/forge/src/main/resources/data/sereneseasons/tags/worldgen/biome/tropical_biomes.json b/common/src/main/resources/data/sereneseasons/tags/worldgen/biome/tropical_biomes.json similarity index 100% rename from forge/src/main/resources/data/sereneseasons/tags/worldgen/biome/tropical_biomes.json rename to common/src/main/resources/data/sereneseasons/tags/worldgen/biome/tropical_biomes.json diff --git a/forge/src/main/resources/data/toughasnails/tags/blocks/cooling_blocks.json b/common/src/main/resources/data/toughasnails/tags/blocks/cooling_blocks.json similarity index 100% rename from forge/src/main/resources/data/toughasnails/tags/blocks/cooling_blocks.json rename to common/src/main/resources/data/toughasnails/tags/blocks/cooling_blocks.json diff --git a/forge/src/main/resources/data/toughasnails/tags/blocks/heating_blocks.json b/common/src/main/resources/data/toughasnails/tags/blocks/heating_blocks.json similarity index 100% rename from forge/src/main/resources/data/toughasnails/tags/blocks/heating_blocks.json rename to common/src/main/resources/data/toughasnails/tags/blocks/heating_blocks.json diff --git a/forge/src/main/resources/data/toughasnails/tags/worldgen/biome/cold_biomes.json b/common/src/main/resources/data/toughasnails/tags/worldgen/biome/cold_biomes.json similarity index 100% rename from forge/src/main/resources/data/toughasnails/tags/worldgen/biome/cold_biomes.json rename to common/src/main/resources/data/toughasnails/tags/worldgen/biome/cold_biomes.json diff --git a/forge/src/main/resources/data/toughasnails/tags/worldgen/biome/dirty_water_biomes.json b/common/src/main/resources/data/toughasnails/tags/worldgen/biome/dirty_water_biomes.json similarity index 100% rename from forge/src/main/resources/data/toughasnails/tags/worldgen/biome/dirty_water_biomes.json rename to common/src/main/resources/data/toughasnails/tags/worldgen/biome/dirty_water_biomes.json diff --git a/forge/src/main/resources/data/toughasnails/tags/worldgen/biome/hot_biomes.json b/common/src/main/resources/data/toughasnails/tags/worldgen/biome/hot_biomes.json similarity index 100% rename from forge/src/main/resources/data/toughasnails/tags/worldgen/biome/hot_biomes.json rename to common/src/main/resources/data/toughasnails/tags/worldgen/biome/hot_biomes.json diff --git a/forge/src/main/resources/data/toughasnails/tags/worldgen/biome/icy_biomes.json b/common/src/main/resources/data/toughasnails/tags/worldgen/biome/icy_biomes.json similarity index 100% rename from forge/src/main/resources/data/toughasnails/tags/worldgen/biome/icy_biomes.json rename to common/src/main/resources/data/toughasnails/tags/worldgen/biome/icy_biomes.json diff --git a/forge/src/main/resources/data/toughasnails/tags/worldgen/biome/neutral_biomes.json b/common/src/main/resources/data/toughasnails/tags/worldgen/biome/neutral_biomes.json similarity index 100% rename from forge/src/main/resources/data/toughasnails/tags/worldgen/biome/neutral_biomes.json rename to common/src/main/resources/data/toughasnails/tags/worldgen/biome/neutral_biomes.json diff --git a/forge/src/main/resources/data/toughasnails/tags/worldgen/biome/purified_water_biomes.json b/common/src/main/resources/data/toughasnails/tags/worldgen/biome/purified_water_biomes.json similarity index 100% rename from forge/src/main/resources/data/toughasnails/tags/worldgen/biome/purified_water_biomes.json rename to common/src/main/resources/data/toughasnails/tags/worldgen/biome/purified_water_biomes.json diff --git a/forge/src/main/resources/data/toughasnails/tags/worldgen/biome/warm_biomes.json b/common/src/main/resources/data/toughasnails/tags/worldgen/biome/warm_biomes.json similarity index 100% rename from forge/src/main/resources/data/toughasnails/tags/worldgen/biome/warm_biomes.json rename to common/src/main/resources/data/toughasnails/tags/worldgen/biome/warm_biomes.json diff --git a/fabric/src/main/java/biomesoplenty/fabric/core/BiomesOPlentyFabric.java b/fabric/src/main/java/biomesoplenty/fabric/core/BiomesOPlentyFabric.java new file mode 100644 index 0000000000..b8f2a7b769 --- /dev/null +++ b/fabric/src/main/java/biomesoplenty/fabric/core/BiomesOPlentyFabric.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright 2024, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ +package biomesoplenty.fabric.core; + +import biomesoplenty.core.BiomesOPlenty; +import glitchcore.fabric.GlitchCoreInitializer; +import terrablender.api.TerraBlenderApi; + +public class BiomesOPlentyFabric implements GlitchCoreInitializer, TerraBlenderApi +{ + @Override + public void onInitialize() + { + BiomesOPlenty.init(); + } + + @Override + public void onInitializeClient() + { + BiomesOPlenty.setupClient(); + } + + @Override + public void onTerraBlenderInitialized() + { + BiomesOPlenty.setupTerraBlender(); + } +} \ No newline at end of file diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 50ee9659b2..96c356001d 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -18,6 +18,9 @@ "entrypoints": { "glitchcore": [ "biomesoplenty.fabric.core.BiomesOPlentyFabric" + ], + "terrablender": [ + "biomesoplenty.fabric.core.BiomesOPlentyFabric" ] }, "mixins": [ diff --git a/forge/src/main/java/biomesoplenty/forge/api/block/BOPBlocks.java b/forge/src/main/java/biomesoplenty/forge/api/block/BOPBlocks.java deleted file mode 100644 index 03c40dab52..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/api/block/BOPBlocks.java +++ /dev/null @@ -1,415 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.api.block; - -import net.minecraft.world.level.block.Block; -import net.minecraftforge.registries.RegistryObject; - -public class BOPBlocks -{ - public static RegistryObject WHITE_SAND; - public static RegistryObject WHITE_SANDSTONE; - public static RegistryObject CUT_WHITE_SANDSTONE; - public static RegistryObject CUT_WHITE_SANDSTONE_SLAB; - public static RegistryObject CHISELED_WHITE_SANDSTONE; - public static RegistryObject SMOOTH_WHITE_SANDSTONE; - public static RegistryObject SMOOTH_WHITE_SANDSTONE_SLAB; - public static RegistryObject SMOOTH_WHITE_SANDSTONE_STAIRS; - public static RegistryObject WHITE_SANDSTONE_SLAB; - public static RegistryObject WHITE_SANDSTONE_STAIRS; - public static RegistryObject WHITE_SANDSTONE_WALL; - public static RegistryObject ORANGE_SAND; - public static RegistryObject ORANGE_SANDSTONE; - public static RegistryObject CUT_ORANGE_SANDSTONE; - public static RegistryObject CUT_ORANGE_SANDSTONE_SLAB; - public static RegistryObject CHISELED_ORANGE_SANDSTONE; - public static RegistryObject SMOOTH_ORANGE_SANDSTONE; - public static RegistryObject SMOOTH_ORANGE_SANDSTONE_SLAB; - public static RegistryObject SMOOTH_ORANGE_SANDSTONE_STAIRS; - public static RegistryObject ORANGE_SANDSTONE_SLAB; - public static RegistryObject ORANGE_SANDSTONE_STAIRS; - public static RegistryObject ORANGE_SANDSTONE_WALL; - public static RegistryObject MOSSY_BLACK_SAND; - public static RegistryObject BLACK_SAND; - public static RegistryObject BLACK_SANDSTONE; - public static RegistryObject CUT_BLACK_SANDSTONE; - public static RegistryObject CUT_BLACK_SANDSTONE_SLAB; - public static RegistryObject CHISELED_BLACK_SANDSTONE; - public static RegistryObject SMOOTH_BLACK_SANDSTONE; - public static RegistryObject SMOOTH_BLACK_SANDSTONE_SLAB; - public static RegistryObject SMOOTH_BLACK_SANDSTONE_STAIRS; - public static RegistryObject BLACK_SANDSTONE_SLAB; - public static RegistryObject BLACK_SANDSTONE_STAIRS; - public static RegistryObject BLACK_SANDSTONE_WALL; - - public static RegistryObject DRIED_SALT; - public static RegistryObject THERMAL_CALCITE; - public static RegistryObject THERMAL_CALCITE_VENT; - - public static RegistryObject FLESH; - public static RegistryObject POROUS_FLESH; - public static RegistryObject FLESH_TENDONS; - public static RegistryObject FLESH_TENDONS_STRAND; - public static RegistryObject EYEBULB; - public static RegistryObject HAIR; - public static RegistryObject PUS_BUBBLE; - - public static RegistryObject BRIMSTONE; - public static RegistryObject BRIMSTONE_BRICKS; - public static RegistryObject BRIMSTONE_BRICK_SLAB; - public static RegistryObject BRIMSTONE_BRICK_STAIRS; - public static RegistryObject BRIMSTONE_BRICK_WALL; - public static RegistryObject CHISELED_BRIMSTONE_BRICKS; - public static RegistryObject BRIMSTONE_FUMAROLE; - public static RegistryObject BRIMSTONE_CLUSTER; - public static RegistryObject BRIMSTONE_BUD; - public static RegistryObject BLACKSTONE_SPINES; - public static RegistryObject BLACKSTONE_BULB; - - public static RegistryObject ROSE_QUARTZ_BLOCK; - public static RegistryObject ROSE_QUARTZ_CLUSTER; - public static RegistryObject LARGE_ROSE_QUARTZ_BUD; - public static RegistryObject MEDIUM_ROSE_QUARTZ_BUD; - public static RegistryObject SMALL_ROSE_QUARTZ_BUD; - - public static RegistryObject TOADSTOOL; - public static RegistryObject TOADSTOOL_BLOCK; - public static RegistryObject GLOWSHROOM; - public static RegistryObject GLOWSHROOM_BLOCK; - public static RegistryObject GLOWING_MOSS_BLOCK; - public static RegistryObject GLOWING_MOSS_CARPET; - public static RegistryObject GLOWWORM_SILK; - public static RegistryObject GLOWWORM_SILK_STRAND; - - public static RegistryObject SPIDER_EGG; - public static RegistryObject HANGING_COBWEB; - public static RegistryObject HANGING_COBWEB_STRAND; - public static RegistryObject STRINGY_COBWEB; - public static RegistryObject WEBBING; - - public static RegistryObject ORIGIN_GRASS_BLOCK; - - public static RegistryObject ORIGIN_SAPLING; - public static RegistryObject ORIGIN_LEAVES; - public static RegistryObject FLOWERING_OAK_SAPLING; - public static RegistryObject FLOWERING_OAK_LEAVES; - public static RegistryObject SNOWBLOSSOM_SAPLING; - public static RegistryObject SNOWBLOSSOM_LEAVES; - public static RegistryObject RAINBOW_BIRCH_SAPLING; - public static RegistryObject RAINBOW_BIRCH_LEAVES; - public static RegistryObject FIR_SAPLING; - public static RegistryObject FIR_LEAVES; - public static RegistryObject FIR_LOG; - public static RegistryObject STRIPPED_FIR_LOG; - public static RegistryObject FIR_WOOD; - public static RegistryObject STRIPPED_FIR_WOOD; - public static RegistryObject FIR_PLANKS; - public static RegistryObject FIR_SLAB; - public static RegistryObject FIR_STAIRS; - public static RegistryObject FIR_FENCE; - public static RegistryObject FIR_FENCE_GATE; - public static RegistryObject FIR_DOOR; - public static RegistryObject FIR_TRAPDOOR; - public static RegistryObject FIR_PRESSURE_PLATE; - public static RegistryObject FIR_BUTTON; - public static RegistryObject FIR_SIGN; - public static RegistryObject FIR_WALL_SIGN; - public static RegistryObject FIR_HANGING_SIGN; - public static RegistryObject FIR_WALL_HANGING_SIGN; - public static RegistryObject PINE_SAPLING; - public static RegistryObject PINE_LEAVES; - public static RegistryObject PINE_LOG; - public static RegistryObject STRIPPED_PINE_LOG; - public static RegistryObject PINE_WOOD; - public static RegistryObject STRIPPED_PINE_WOOD; - public static RegistryObject PINE_PLANKS; - public static RegistryObject PINE_SLAB; - public static RegistryObject PINE_STAIRS; - public static RegistryObject PINE_FENCE; - public static RegistryObject PINE_FENCE_GATE; - public static RegistryObject PINE_DOOR; - public static RegistryObject PINE_TRAPDOOR; - public static RegistryObject PINE_PRESSURE_PLATE; - public static RegistryObject PINE_BUTTON; - public static RegistryObject PINE_SIGN; - public static RegistryObject PINE_WALL_SIGN; - public static RegistryObject PINE_HANGING_SIGN; - public static RegistryObject PINE_WALL_HANGING_SIGN; - public static RegistryObject RED_MAPLE_SAPLING; - public static RegistryObject RED_MAPLE_LEAF_PILE; - public static RegistryObject RED_MAPLE_LEAVES; - public static RegistryObject ORANGE_MAPLE_SAPLING; - public static RegistryObject ORANGE_MAPLE_LEAF_PILE; - public static RegistryObject ORANGE_MAPLE_LEAVES; - public static RegistryObject YELLOW_MAPLE_SAPLING; - public static RegistryObject YELLOW_MAPLE_LEAF_PILE; - public static RegistryObject YELLOW_MAPLE_LEAVES; - public static RegistryObject MAPLE_LOG; - public static RegistryObject STRIPPED_MAPLE_LOG; - public static RegistryObject MAPLE_WOOD; - public static RegistryObject STRIPPED_MAPLE_WOOD; - public static RegistryObject MAPLE_PLANKS; - public static RegistryObject MAPLE_SLAB; - public static RegistryObject MAPLE_STAIRS; - public static RegistryObject MAPLE_FENCE; - public static RegistryObject MAPLE_FENCE_GATE; - public static RegistryObject MAPLE_DOOR; - public static RegistryObject MAPLE_TRAPDOOR; - public static RegistryObject MAPLE_PRESSURE_PLATE; - public static RegistryObject MAPLE_BUTTON; - public static RegistryObject MAPLE_SIGN; - public static RegistryObject MAPLE_WALL_SIGN; - public static RegistryObject MAPLE_HANGING_SIGN; - public static RegistryObject MAPLE_WALL_HANGING_SIGN; - public static RegistryObject REDWOOD_SAPLING; - public static RegistryObject REDWOOD_LEAVES; - public static RegistryObject REDWOOD_LOG; - public static RegistryObject STRIPPED_REDWOOD_LOG; - public static RegistryObject REDWOOD_WOOD; - public static RegistryObject STRIPPED_REDWOOD_WOOD; - public static RegistryObject REDWOOD_PLANKS; - public static RegistryObject REDWOOD_SLAB; - public static RegistryObject REDWOOD_STAIRS; - public static RegistryObject REDWOOD_FENCE; - public static RegistryObject REDWOOD_FENCE_GATE; - public static RegistryObject REDWOOD_DOOR; - public static RegistryObject REDWOOD_TRAPDOOR; - public static RegistryObject REDWOOD_PRESSURE_PLATE; - public static RegistryObject REDWOOD_BUTTON; - public static RegistryObject REDWOOD_SIGN; - public static RegistryObject REDWOOD_WALL_SIGN; - public static RegistryObject REDWOOD_HANGING_SIGN; - public static RegistryObject REDWOOD_WALL_HANGING_SIGN; - public static RegistryObject MAHOGANY_SAPLING; - public static RegistryObject MAHOGANY_LEAVES; - public static RegistryObject MAHOGANY_LOG; - public static RegistryObject STRIPPED_MAHOGANY_LOG; - public static RegistryObject MAHOGANY_WOOD; - public static RegistryObject STRIPPED_MAHOGANY_WOOD; - public static RegistryObject MAHOGANY_PLANKS; - public static RegistryObject MAHOGANY_SLAB; - public static RegistryObject MAHOGANY_STAIRS; - public static RegistryObject MAHOGANY_FENCE; - public static RegistryObject MAHOGANY_FENCE_GATE; - public static RegistryObject MAHOGANY_DOOR; - public static RegistryObject MAHOGANY_TRAPDOOR; - public static RegistryObject MAHOGANY_PRESSURE_PLATE; - public static RegistryObject MAHOGANY_BUTTON; - public static RegistryObject MAHOGANY_SIGN; - public static RegistryObject MAHOGANY_WALL_SIGN; - public static RegistryObject MAHOGANY_HANGING_SIGN; - public static RegistryObject MAHOGANY_WALL_HANGING_SIGN; - public static RegistryObject JACARANDA_SAPLING; - public static RegistryObject JACARANDA_LEAVES; - public static RegistryObject JACARANDA_LOG; - public static RegistryObject STRIPPED_JACARANDA_LOG; - public static RegistryObject JACARANDA_WOOD; - public static RegistryObject STRIPPED_JACARANDA_WOOD; - public static RegistryObject JACARANDA_PLANKS; - public static RegistryObject JACARANDA_SLAB; - public static RegistryObject JACARANDA_STAIRS; - public static RegistryObject JACARANDA_FENCE; - public static RegistryObject JACARANDA_FENCE_GATE; - public static RegistryObject JACARANDA_DOOR; - public static RegistryObject JACARANDA_TRAPDOOR; - public static RegistryObject JACARANDA_PRESSURE_PLATE; - public static RegistryObject JACARANDA_BUTTON; - public static RegistryObject JACARANDA_SIGN; - public static RegistryObject JACARANDA_WALL_SIGN; - public static RegistryObject JACARANDA_HANGING_SIGN; - public static RegistryObject JACARANDA_WALL_HANGING_SIGN; - public static RegistryObject PALM_SAPLING; - public static RegistryObject PALM_LEAVES; - public static RegistryObject PALM_LOG; - public static RegistryObject STRIPPED_PALM_LOG; - public static RegistryObject PALM_WOOD; - public static RegistryObject STRIPPED_PALM_WOOD; - public static RegistryObject PALM_PLANKS; - public static RegistryObject PALM_SLAB; - public static RegistryObject PALM_STAIRS; - public static RegistryObject PALM_FENCE; - public static RegistryObject PALM_FENCE_GATE; - public static RegistryObject PALM_DOOR; - public static RegistryObject PALM_TRAPDOOR; - public static RegistryObject PALM_PRESSURE_PLATE; - public static RegistryObject PALM_BUTTON; - public static RegistryObject PALM_SIGN; - public static RegistryObject PALM_WALL_SIGN; - public static RegistryObject PALM_HANGING_SIGN; - public static RegistryObject PALM_WALL_HANGING_SIGN; - public static RegistryObject WILLOW_SAPLING; - public static RegistryObject WILLOW_VINE; - public static RegistryObject SPANISH_MOSS; - public static RegistryObject SPANISH_MOSS_PLANT; - public static RegistryObject WILLOW_LEAVES; - public static RegistryObject WILLOW_LOG; - public static RegistryObject STRIPPED_WILLOW_LOG; - public static RegistryObject WILLOW_WOOD; - public static RegistryObject STRIPPED_WILLOW_WOOD; - public static RegistryObject WILLOW_PLANKS; - public static RegistryObject WILLOW_SLAB; - public static RegistryObject WILLOW_STAIRS; - public static RegistryObject WILLOW_FENCE; - public static RegistryObject WILLOW_FENCE_GATE; - public static RegistryObject WILLOW_DOOR; - public static RegistryObject WILLOW_TRAPDOOR; - public static RegistryObject WILLOW_PRESSURE_PLATE; - public static RegistryObject WILLOW_BUTTON; - public static RegistryObject WILLOW_SIGN; - public static RegistryObject WILLOW_WALL_SIGN; - public static RegistryObject WILLOW_HANGING_SIGN; - public static RegistryObject WILLOW_WALL_HANGING_SIGN; - public static RegistryObject DEAD_SAPLING; - public static RegistryObject DEAD_BRANCH; - public static RegistryObject DEAD_LEAVES; - public static RegistryObject DEAD_LOG; - public static RegistryObject STRIPPED_DEAD_LOG; - public static RegistryObject DEAD_WOOD; - public static RegistryObject STRIPPED_DEAD_WOOD; - public static RegistryObject DEAD_PLANKS; - public static RegistryObject DEAD_SLAB; - public static RegistryObject DEAD_STAIRS; - public static RegistryObject DEAD_FENCE; - public static RegistryObject DEAD_FENCE_GATE; - public static RegistryObject DEAD_DOOR; - public static RegistryObject DEAD_TRAPDOOR; - public static RegistryObject DEAD_PRESSURE_PLATE; - public static RegistryObject DEAD_BUTTON; - public static RegistryObject DEAD_SIGN; - public static RegistryObject DEAD_WALL_SIGN; - public static RegistryObject DEAD_HANGING_SIGN; - public static RegistryObject DEAD_WALL_HANGING_SIGN; - public static RegistryObject MAGIC_SAPLING; - public static RegistryObject MAGIC_LEAVES; - public static RegistryObject MAGIC_LOG; - public static RegistryObject STRIPPED_MAGIC_LOG; - public static RegistryObject MAGIC_WOOD; - public static RegistryObject STRIPPED_MAGIC_WOOD; - public static RegistryObject MAGIC_PLANKS; - public static RegistryObject MAGIC_SLAB; - public static RegistryObject MAGIC_STAIRS; - public static RegistryObject MAGIC_FENCE; - public static RegistryObject MAGIC_FENCE_GATE; - public static RegistryObject MAGIC_DOOR; - public static RegistryObject MAGIC_TRAPDOOR; - public static RegistryObject MAGIC_PRESSURE_PLATE; - public static RegistryObject MAGIC_BUTTON; - public static RegistryObject MAGIC_SIGN; - public static RegistryObject MAGIC_WALL_SIGN; - public static RegistryObject MAGIC_HANGING_SIGN; - public static RegistryObject MAGIC_WALL_HANGING_SIGN; - public static RegistryObject UMBRAN_SAPLING; - public static RegistryObject UMBRAN_LEAVES; - public static RegistryObject UMBRAN_LOG; - public static RegistryObject STRIPPED_UMBRAN_LOG; - public static RegistryObject UMBRAN_WOOD; - public static RegistryObject STRIPPED_UMBRAN_WOOD; - public static RegistryObject UMBRAN_PLANKS; - public static RegistryObject UMBRAN_SLAB; - public static RegistryObject UMBRAN_STAIRS; - public static RegistryObject UMBRAN_FENCE; - public static RegistryObject UMBRAN_FENCE_GATE; - public static RegistryObject UMBRAN_DOOR; - public static RegistryObject UMBRAN_TRAPDOOR; - public static RegistryObject UMBRAN_PRESSURE_PLATE; - public static RegistryObject UMBRAN_BUTTON; - public static RegistryObject UMBRAN_SIGN; - public static RegistryObject UMBRAN_WALL_SIGN; - public static RegistryObject UMBRAN_HANGING_SIGN; - public static RegistryObject UMBRAN_WALL_HANGING_SIGN; - public static RegistryObject HELLBARK_SAPLING; - public static RegistryObject HELLBARK_LEAVES; - public static RegistryObject HELLBARK_LOG; - public static RegistryObject STRIPPED_HELLBARK_LOG; - public static RegistryObject HELLBARK_WOOD; - public static RegistryObject STRIPPED_HELLBARK_WOOD; - public static RegistryObject HELLBARK_PLANKS; - public static RegistryObject HELLBARK_SLAB; - public static RegistryObject HELLBARK_STAIRS; - public static RegistryObject HELLBARK_FENCE; - public static RegistryObject HELLBARK_FENCE_GATE; - public static RegistryObject HELLBARK_DOOR; - public static RegistryObject HELLBARK_TRAPDOOR; - public static RegistryObject HELLBARK_PRESSURE_PLATE; - public static RegistryObject HELLBARK_BUTTON; - public static RegistryObject HELLBARK_SIGN; - public static RegistryObject HELLBARK_WALL_SIGN; - public static RegistryObject HELLBARK_HANGING_SIGN; - public static RegistryObject HELLBARK_WALL_HANGING_SIGN; - - public static RegistryObject ROSE; - public static RegistryObject VIOLET; - public static RegistryObject LAVENDER; - public static RegistryObject TALL_LAVENDER; - public static RegistryObject BLUE_HYDRANGEA; - public static RegistryObject WILDFLOWER; - public static RegistryObject GOLDENROD; - public static RegistryObject ORANGE_COSMOS; - public static RegistryObject PINK_DAFFODIL; - public static RegistryObject PINK_HIBISCUS; - public static RegistryObject WHITE_PETALS; - public static RegistryObject ICY_IRIS; - public static RegistryObject GLOWFLOWER; - public static RegistryObject WILTED_LILY; - public static RegistryObject BURNING_BLOSSOM; - - public static RegistryObject SPROUT; - public static RegistryObject BUSH; - public static RegistryObject HIGH_GRASS; - public static RegistryObject HIGH_GRASS_PLANT; - public static RegistryObject CLOVER; - public static RegistryObject HUGE_CLOVER_PETAL; - public static RegistryObject HUGE_LILY_PAD; - public static RegistryObject WATERLILY; - - public static RegistryObject DUNE_GRASS; - public static RegistryObject DESERT_GRASS; - public static RegistryObject DEAD_GRASS; - public static RegistryObject TUNDRA_SHRUB; - public static RegistryObject BARLEY; - public static RegistryObject SEA_OATS; - public static RegistryObject CATTAIL; - public static RegistryObject REED; - public static RegistryObject WATERGRASS; - - public static RegistryObject TINY_CACTUS; - public static RegistryObject BRAMBLE; - public static RegistryObject BRAMBLE_LEAVES; - - public static RegistryObject BLOOD; - - public static RegistryObject POTTED_ORIGIN_SAPLING; - public static RegistryObject POTTED_FLOWERING_OAK_SAPLING; - public static RegistryObject POTTED_SNOWBLOSSOM_SAPLING; - public static RegistryObject POTTED_RAINBOW_BIRCH_SAPLING; - public static RegistryObject POTTED_FIR_SAPLING; - public static RegistryObject POTTED_PINE_SAPLING; - public static RegistryObject POTTED_RED_MAPLE_SAPLING; - public static RegistryObject POTTED_ORANGE_MAPLE_SAPLING; - public static RegistryObject POTTED_YELLOW_MAPLE_SAPLING; - public static RegistryObject POTTED_REDWOOD_SAPLING; - public static RegistryObject POTTED_MAHOGANY_SAPLING; - public static RegistryObject POTTED_JACARANDA_SAPLING; - public static RegistryObject POTTED_PALM_SAPLING; - public static RegistryObject POTTED_WILLOW_SAPLING; - public static RegistryObject POTTED_DEAD_SAPLING; - public static RegistryObject POTTED_MAGIC_SAPLING; - public static RegistryObject POTTED_UMBRAN_SAPLING; - public static RegistryObject POTTED_HELLBARK_SAPLING; - public static RegistryObject POTTED_ROSE; - public static RegistryObject POTTED_VIOLET; - public static RegistryObject POTTED_LAVENDER; - public static RegistryObject POTTED_WILDFLOWER; - public static RegistryObject POTTED_ORANGE_COSMOS; - public static RegistryObject POTTED_PINK_DAFFODIL; - public static RegistryObject POTTED_PINK_HIBISCUS; - public static RegistryObject POTTED_GLOWFLOWER; - public static RegistryObject POTTED_WILTED_LILY; - public static RegistryObject POTTED_BURNING_BLOSSOM; - public static RegistryObject POTTED_SPROUT; - public static RegistryObject POTTED_TINY_CACTUS; - public static RegistryObject POTTED_TOADSTOOL; - public static RegistryObject POTTED_GLOWSHROOM; -} diff --git a/forge/src/main/java/biomesoplenty/forge/api/item/BOPItems.java b/forge/src/main/java/biomesoplenty/forge/api/item/BOPItems.java deleted file mode 100644 index 9a64bf4a60..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/api/item/BOPItems.java +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.api.item; - -import net.minecraft.world.item.Item; -import net.minecraftforge.registries.RegistryObject; - -public class BOPItems -{ - public static RegistryObject BOP_ICON; - - public static RegistryObject ROSE_QUARTZ_CHUNK; - public static RegistryObject BLOOD_BUCKET; - public static RegistryObject MUSIC_DISC_WANDERER; - public static RegistryObject FIR_SIGN; - public static RegistryObject FIR_HANGING_SIGN; - public static RegistryObject PINE_SIGN; - public static RegistryObject PINE_HANGING_SIGN; - public static RegistryObject MAPLE_SIGN; - public static RegistryObject MAPLE_HANGING_SIGN; - public static RegistryObject REDWOOD_SIGN; - public static RegistryObject REDWOOD_HANGING_SIGN; - public static RegistryObject MAHOGANY_SIGN; - public static RegistryObject MAHOGANY_HANGING_SIGN; - public static RegistryObject JACARANDA_SIGN; - public static RegistryObject JACARANDA_HANGING_SIGN; - public static RegistryObject PALM_SIGN; - public static RegistryObject PALM_HANGING_SIGN; - public static RegistryObject WILLOW_SIGN; - public static RegistryObject WILLOW_HANGING_SIGN; - public static RegistryObject DEAD_SIGN; - public static RegistryObject DEAD_HANGING_SIGN; - public static RegistryObject MAGIC_SIGN; - public static RegistryObject MAGIC_HANGING_SIGN; - public static RegistryObject UMBRAN_SIGN; - public static RegistryObject UMBRAN_HANGING_SIGN; - public static RegistryObject HELLBARK_SIGN; - public static RegistryObject HELLBARK_HANGING_SIGN; - - public static RegistryObject FIR_BOAT; - public static RegistryObject FIR_CHEST_BOAT; - public static RegistryObject PINE_BOAT; - public static RegistryObject PINE_CHEST_BOAT; - public static RegistryObject MAPLE_BOAT; - public static RegistryObject MAPLE_CHEST_BOAT; - public static RegistryObject REDWOOD_BOAT; - public static RegistryObject REDWOOD_CHEST_BOAT; - public static RegistryObject MAHOGANY_BOAT; - public static RegistryObject MAHOGANY_CHEST_BOAT; - public static RegistryObject JACARANDA_BOAT; - public static RegistryObject JACARANDA_CHEST_BOAT; - public static RegistryObject PALM_BOAT; - public static RegistryObject PALM_CHEST_BOAT; - public static RegistryObject WILLOW_BOAT; - public static RegistryObject WILLOW_CHEST_BOAT; - public static RegistryObject DEAD_BOAT; - public static RegistryObject DEAD_CHEST_BOAT; - public static RegistryObject MAGIC_BOAT; - public static RegistryObject MAGIC_CHEST_BOAT; - public static RegistryObject UMBRAN_BOAT; - public static RegistryObject UMBRAN_CHEST_BOAT; - public static RegistryObject HELLBARK_BOAT; - public static RegistryObject HELLBARK_CHEST_BOAT; -} diff --git a/forge/src/main/java/biomesoplenty/forge/api/sound/BOPSounds.java b/forge/src/main/java/biomesoplenty/forge/api/sound/BOPSounds.java deleted file mode 100644 index b67675475e..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/api/sound/BOPSounds.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.api.sound; - -import net.minecraft.sounds.SoundEvent; -import net.minecraftforge.registries.RegistryObject; - -public class BOPSounds -{ - public static RegistryObject MUSIC_DISC_WANDERER; - public static RegistryObject MUSIC_BIOME_ORIGIN_VALLEY; - public static RegistryObject MUSIC_BIOME_CRYSTALLINE_CHASM; - public static RegistryObject MUSIC_BIOME_ERUPTING_INFERNO; - public static RegistryObject MUSIC_BIOME_UNDERGROWTH; - public static RegistryObject MUSIC_BIOME_VISCERAL_HEAP; - public static RegistryObject MUSIC_BIOME_WITHERED_ABYSS; - public static RegistryObject FLESH_TENDON_DRIP; - public static RegistryObject PUS_BUBBLE_POP; - public static RegistryObject SPIDER_EGG_BREAK; -} diff --git a/forge/src/main/java/biomesoplenty/forge/client/handler/ColorHandler.java b/forge/src/main/java/biomesoplenty/forge/client/handler/ColorHandler.java deleted file mode 100644 index 055f7f4d53..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/client/handler/ColorHandler.java +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.client.handler; - -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.core.BiomesOPlentyForge; -import net.minecraft.client.renderer.BiomeColors; -import net.minecraft.core.BlockPos; -import net.minecraft.tags.BlockTags; -import net.minecraft.util.Mth; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.level.BlockAndTintGetter; -import net.minecraft.world.level.FoliageColor; -import net.minecraft.world.level.GrassColor; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.RegisterColorHandlersEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; - -import java.awt.*; - -@Mod.EventBusSubscriber(modid = BiomesOPlentyForge.MOD_ID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD) -public class ColorHandler -{ - @SubscribeEvent - public static void registerItemColors(RegisterColorHandlersEvent.Item event) - { - event.getItemColors().register((stack, tintIndex) -> { - BlockState state = ((BlockItem)stack.getItem()).getBlock().defaultBlockState(); - return event.getBlockColors().getColor(state, null, null, tintIndex); }, - BOPBlocks.MOSSY_BLACK_SAND.get(), BOPBlocks.SPROUT.get(), BOPBlocks.BUSH.get(), BOPBlocks.HIGH_GRASS.get(), BOPBlocks.HIGH_GRASS_PLANT.get(), - BOPBlocks.CLOVER.get(), BOPBlocks.HUGE_CLOVER_PETAL.get(), BOPBlocks.HUGE_LILY_PAD.get(), BOPBlocks.FLOWERING_OAK_LEAVES.get(), - BOPBlocks.PINE_LEAVES.get(), BOPBlocks.MAHOGANY_LEAVES.get(), BOPBlocks.PALM_LEAVES.get(), BOPBlocks.WILLOW_LEAVES.get(), - BOPBlocks.WILLOW_VINE.get(), BOPBlocks.BRAMBLE_LEAVES.get()); - } - - @SubscribeEvent - public static void registerBlockColors(RegisterColorHandlersEvent.Block event) - { - //Grass Coloring - event.getBlockColors().register((state, world, pos, tintIndex) -> - world != null && pos != null ? BiomeColors.getAverageGrassColor(world, pos) : GrassColor.get(0.5D, 1.0D), - BOPBlocks.MOSSY_BLACK_SAND.get(), BOPBlocks.SPROUT.get(), BOPBlocks.HIGH_GRASS.get(), BOPBlocks.HIGH_GRASS_PLANT.get(), BOPBlocks.CLOVER.get(), - BOPBlocks.HUGE_CLOVER_PETAL.get(), BOPBlocks.BARLEY.get(), BOPBlocks.WATERGRASS.get(), BOPBlocks.POTTED_SPROUT.get()); - - //Foliage Coloring - event.getBlockColors().register((state, world, pos, tintIndex) -> - world != null && pos != null ? BiomeColors.getAverageFoliageColor(world, pos) : FoliageColor.getDefaultColor(), - BOPBlocks.BUSH.get(), BOPBlocks.FLOWERING_OAK_LEAVES.get(), BOPBlocks.PINE_LEAVES.get(), BOPBlocks.MAHOGANY_LEAVES.get(), - BOPBlocks.PALM_LEAVES.get(), BOPBlocks.WILLOW_LEAVES.get(), BOPBlocks.WILLOW_VINE.get(), BOPBlocks.BRAMBLE_LEAVES.get()); - - //Rainbow Birch Leaf Coloring - event.getBlockColors().register((state, world, pos, tintIndex) -> - world != null && pos != null ? getRainbowBirchColor(world, pos) : FoliageColor.getDefaultColor(), - BOPBlocks.RAINBOW_BIRCH_LEAVES.get()); - - //Flowerbed Coloring - event.getBlockColors().register((state, world, pos, tintIndex) -> { - if (tintIndex != 0) { return world != null && pos != null ? BiomeColors.getAverageGrassColor(world, pos) : GrassColor.getDefaultColor(); } - else { return -1; }}, - BOPBlocks.WHITE_PETALS.get()); - - //Lily Pad Coloring - event.getBlockColors().register((state, world, pos, tintIndex) -> { - return world != null && pos != null ? 2129968 : 7455580; }, - BOPBlocks.HUGE_LILY_PAD.get()); - } - - public static int getRainbowBirchColor(BlockAndTintGetter world, BlockPos pos) - { - float saturation; - if (world.getBlockState(pos.above()).is(BlockTags.SNOW)) - { - saturation = 0.3F; - } - else if (world.getBlockState(pos.above(2)).is(BlockTags.SNOW)) - { - saturation = 0.45F; - } - else - { - saturation = 0.6F; - } - - Color foliage = Color.getHSBColor(((float)pos.getX() + (float)pos.getY() + (float)pos.getZ() + (Mth.sin(((float)pos.getX() + (float)pos.getY() + (float)pos.getZ()) / 16) * 16) % 100) / 100, saturation, 1.0F); - - return foliage.getRGB(); - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/client/handler/EntityRendererHandler.java b/forge/src/main/java/biomesoplenty/forge/client/handler/EntityRendererHandler.java index 0558363965..3a1e1c5eaf 100644 --- a/forge/src/main/java/biomesoplenty/forge/client/handler/EntityRendererHandler.java +++ b/forge/src/main/java/biomesoplenty/forge/client/handler/EntityRendererHandler.java @@ -4,13 +4,14 @@ ******************************************************************************/ package biomesoplenty.forge.client.handler; -import biomesoplenty.forge.api.block.BOPBlockEntities; -import biomesoplenty.forge.api.entity.BOPEntities; +import biomesoplenty.api.block.BOPBlockEntities; +import biomesoplenty.api.entity.BOPEntities; +import biomesoplenty.core.BiomesOPlenty; import biomesoplenty.forge.client.renderer.BoatRendererBOP; -import biomesoplenty.forge.common.block.HangingSignBlockEntityBOP; -import biomesoplenty.forge.common.block.SignBlockEntityBOP; -import biomesoplenty.forge.common.entity.BoatBOP; -import biomesoplenty.forge.common.entity.ChestBoatBOP; +import biomesoplenty.block.HangingSignBlockEntityBOP; +import biomesoplenty.block.SignBlockEntityBOP; +import biomesoplenty.entity.BoatBOP; +import biomesoplenty.entity.ChestBoatBOP; import biomesoplenty.forge.core.BiomesOPlentyForge; import net.minecraft.client.model.BoatModel; import net.minecraft.client.model.ChestBoatModel; @@ -25,7 +26,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; -@Mod.EventBusSubscriber(modid = BiomesOPlentyForge.MOD_ID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD) +@Mod.EventBusSubscriber(modid = BiomesOPlenty.MOD_ID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD) public class EntityRendererHandler { @SubscribeEvent @@ -42,11 +43,11 @@ public static void onRegisterRenderers(EntityRenderersEvent.RegisterRenderers ev } // Register block entity renderers - event.registerBlockEntityRenderer((BlockEntityType)BOPBlockEntities.SIGN.get(), SignRenderer::new); - event.registerBlockEntityRenderer((BlockEntityType)BOPBlockEntities.HANGING_SIGN.get(), HangingSignRenderer::new); + event.registerBlockEntityRenderer((BlockEntityType)BOPBlockEntities.SIGN, SignRenderer::new); + event.registerBlockEntityRenderer((BlockEntityType)BOPBlockEntities.HANGING_SIGN, HangingSignRenderer::new); // Register entity renderers - event.registerEntityRenderer((EntityType) BOPEntities.BOAT.get(), context -> new BoatRendererBOP(context, false)); - event.registerEntityRenderer((EntityType) BOPEntities.CHEST_BOAT.get(), context -> new BoatRendererBOP(context, true)); + event.registerEntityRenderer((EntityType) BOPEntities.BOAT, context -> new BoatRendererBOP(context, false)); + event.registerEntityRenderer((EntityType) BOPEntities.CHEST_BOAT, context -> new BoatRendererBOP(context, true)); } } diff --git a/forge/src/main/java/biomesoplenty/forge/client/handler/ParticleFactoryHandler.java b/forge/src/main/java/biomesoplenty/forge/client/handler/ParticleFactoryHandler.java deleted file mode 100644 index cf641c1922..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/client/handler/ParticleFactoryHandler.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.client.handler; - -import biomesoplenty.forge.client.particle.*; -import biomesoplenty.forge.core.BiomesOPlentyForge; -import biomesoplenty.forge.init.ModParticles; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.RegisterParticleProvidersEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; - -@Mod.EventBusSubscriber(modid = BiomesOPlentyForge.MOD_ID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD) -public class ParticleFactoryHandler -{ - @SubscribeEvent - public static void registerParticleFactories(RegisterParticleProvidersEvent event) - { - event.registerSpriteSet(ModParticles.DRIPPING_BLOOD.get(), DripParticleBOP.BloodHangProvider::new); - event.registerSpriteSet(ModParticles.FALLING_BLOOD.get(), DripParticleBOP.BloodFallProvider::new); - event.registerSpriteSet(ModParticles.LANDING_BLOOD.get(), DripParticleBOP.BloodLandProvider::new); - event.registerSpriteSet(ModParticles.PUS.get(), PusParticle.Provider::new); - event.registerSpriteSet(ModParticles.GLOWWORM.get(), GlowwormParticle.Provider::new); - event.registerSpriteSet(ModParticles.STEAM.get(), SteamParticle.Provider::new); - event.registerSpriteSet(ModParticles.JACARANDA_LEAVES.get(), (p_277215_) -> { - return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { - return new LeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); - }; - }); - event.registerSpriteSet(ModParticles.SNOWBLOSSOM_LEAVES.get(), (p_277215_) -> { - return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { - return new LeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); - }; - }); - event.registerSpriteSet(ModParticles.RED_MAPLE_LEAVES.get(), (p_277215_) -> { - return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { - return new LargeLeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); - }; - }); - event.registerSpriteSet(ModParticles.ORANGE_MAPLE_LEAVES.get(), (p_277215_) -> { - return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { - return new LargeLeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); - }; - }); - event.registerSpriteSet(ModParticles.YELLOW_MAPLE_LEAVES.get(), (p_277215_) -> { - return (p_277217_, p_277218_, p_277219_, p_277220_, p_277221_, p_277222_, p_277223_, p_277224_) -> { - return new LargeLeafParticle(p_277218_, p_277219_, p_277220_, p_277221_, p_277215_); - }; - }); - } -} \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/client/renderer/BoatRendererBOP.java b/forge/src/main/java/biomesoplenty/forge/client/renderer/BoatRendererBOP.java index bc9b261043..5428fb7fd6 100644 --- a/forge/src/main/java/biomesoplenty/forge/client/renderer/BoatRendererBOP.java +++ b/forge/src/main/java/biomesoplenty/forge/client/renderer/BoatRendererBOP.java @@ -4,8 +4,9 @@ ******************************************************************************/ package biomesoplenty.forge.client.renderer; -import biomesoplenty.forge.common.entity.BoatBOP; -import biomesoplenty.forge.common.entity.ChestBoatBOP; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.entity.BoatBOP; +import biomesoplenty.entity.ChestBoatBOP; import biomesoplenty.forge.core.BiomesOPlentyForge; import com.google.common.collect.ImmutableMap; import com.mojang.datafixers.util.Pair; @@ -30,7 +31,7 @@ public BoatRendererBOP(EntityRendererProvider.Context context, boolean hasChest) { super(context, false); this.boatResources = Stream.of(BoatBOP.ModelType.values()).collect(ImmutableMap.toImmutableMap((key) -> key, (model) -> { - return Pair.of(new ResourceLocation(BiomesOPlentyForge.MOD_ID, getTextureLocation(model, hasChest)), createBoatModel(context, model, hasChest)); + return Pair.of(new ResourceLocation(BiomesOPlenty.MOD_ID, getTextureLocation(model, hasChest)), createBoatModel(context, model, hasChest)); })); } @@ -50,7 +51,7 @@ private static String getTextureLocation(BoatBOP.ModelType model, boolean hasChe private static ModelLayerLocation createLocation(String name, String layer) { - return new ModelLayerLocation(new ResourceLocation(BiomesOPlentyForge.MOD_ID, name), layer); + return new ModelLayerLocation(new ResourceLocation(BiomesOPlenty.MOD_ID, name), layer); } public static ModelLayerLocation createBoatModelName(BoatBOP.ModelType model) diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/DriedSaltBlock.java b/forge/src/main/java/biomesoplenty/forge/common/block/DriedSaltBlock.java deleted file mode 100644 index 91daf7fe1f..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/common/block/DriedSaltBlock.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.common.block; - -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.PlantType; - -public class DriedSaltBlock extends Block -{ - public DriedSaltBlock(Block.Properties properties) - { - super(properties); - } - - @Override - public boolean canSustainPlant(BlockState state, BlockGetter world, BlockPos pos, Direction facing, net.minecraftforge.common.IPlantable plantable) { - PlantType type = plantable.getPlantType(world, pos.relative(facing)); - - if (type == PlantType.DESERT) return true; - else if (type == PlantType.NETHER) return true; - else if (type == PlantType.CAVE) return true; - else if (type == PlantType.PLAINS) return true; - return false; - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/OriginGrassBlock.java b/forge/src/main/java/biomesoplenty/forge/common/block/OriginGrassBlock.java deleted file mode 100644 index 1b60dcd414..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/common/block/OriginGrassBlock.java +++ /dev/null @@ -1,33 +0,0 @@ -package biomesoplenty.forge.common.block; - -import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.GrassBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.ToolAction; -import net.minecraftforge.common.ToolActions; - -public class OriginGrassBlock extends GrassBlock -{ - public OriginGrassBlock(Properties properties) - { - super(properties); - } - - @Override - public BlockState getToolModifiedState(BlockState state, UseOnContext context, ToolAction toolAction, boolean simulate) - { - if (ToolActions.HOE_TILL == toolAction) - { - Block block = state.getBlock(); - - if (block == this && context.getLevel().getBlockState(context.getClickedPos().above()).isAir()) - { - return Blocks.FARMLAND.defaultBlockState(); - } - } - - return null; - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/common/block/SandBlockBOP.java b/forge/src/main/java/biomesoplenty/forge/common/block/SandBlockBOP.java deleted file mode 100644 index 45009b50f4..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/common/block/SandBlockBOP.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.common.block; - -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.tags.FluidTags; -import net.minecraft.util.ColorRGBA; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.ColoredFallingBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.FluidState; -import net.minecraftforge.common.PlantType; - -public class SandBlockBOP extends ColoredFallingBlock -{ - public SandBlockBOP(ColorRGBA dustColor, Block.Properties properties) - { - super(dustColor, properties); - } - - @Override - public boolean canSustainPlant(BlockState state, BlockGetter world, BlockPos pos, Direction facing, net.minecraftforge.common.IPlantable plantable) - { - PlantType type = plantable.getPlantType(world, pos.relative(facing)); - - if (type == PlantType.DESERT) return true; - else if (type == PlantType.CAVE) return true; - else if (type == PlantType.BEACH) - { - for(Direction direction : Direction.Plane.HORIZONTAL) { - BlockState blockstate1 = world.getBlockState(pos.relative(direction)); - FluidState fluidstate = world.getFluidState(pos.relative(direction)); - if (fluidstate.is(FluidTags.WATER) || blockstate1.is(Blocks.FROSTED_ICE)) { - return true; - } - } - } - - return super.canSustainPlant(state, world, pos, facing, plantable); - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/common/datagen/DataGenerationHandler.java b/forge/src/main/java/biomesoplenty/forge/common/datagen/DataGenerationHandler.java index 6e116af431..9b4a4f650d 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/datagen/DataGenerationHandler.java +++ b/forge/src/main/java/biomesoplenty/forge/common/datagen/DataGenerationHandler.java @@ -4,11 +4,13 @@ ******************************************************************************/ package biomesoplenty.forge.common.datagen; -import biomesoplenty.forge.common.util.worldgen.BOPFeatureUtils; -import biomesoplenty.forge.common.util.worldgen.BOPPlacementUtils; -import biomesoplenty.forge.common.worldgen.carver.BOPConfiguredCarvers; +import biomesoplenty.core.BiomesOPlenty; +import biomesoplenty.init.ModDamageTypes; +import biomesoplenty.util.worldgen.BOPFeatureUtils; +import biomesoplenty.util.worldgen.BOPPlacementUtils; +import biomesoplenty.worldgen.carver.BOPConfiguredCarvers; import biomesoplenty.forge.core.BiomesOPlentyForge; -import biomesoplenty.forge.init.ModBiomes; +import biomesoplenty.init.ModBiomes; import net.minecraft.core.Cloner; import net.minecraft.core.HolderLookup; import net.minecraft.core.RegistryAccess; @@ -27,7 +29,7 @@ import java.util.HashSet; import java.util.Set; -@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, modid = BiomesOPlentyForge.MOD_ID) +@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, modid = BiomesOPlenty.MOD_ID) public class DataGenerationHandler { private static final RegistrySetBuilder BUILDER = new RegistrySetBuilder() @@ -44,7 +46,7 @@ public static void onGatherData(GatherDataEvent event) PackOutput output = generator.getPackOutput(); ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); - generator.addProvider(event.includeServer(), new RegistriesDatapackGenerator(output, event.getLookupProvider().thenApply(r -> constructRegistries(r, BUILDER)), Set.of(BiomesOPlentyForge.MOD_ID))); + generator.addProvider(event.includeServer(), new RegistriesDatapackGenerator(output, event.getLookupProvider().thenApply(r -> constructRegistries(r, BUILDER)), Set.of(BiomesOPlenty.MOD_ID))); } private static HolderLookup.Provider constructRegistries(HolderLookup.Provider original, RegistrySetBuilder datapackEntriesBuilder) diff --git a/forge/src/main/java/biomesoplenty/forge/common/handler/MissingMappingsHandler.java b/forge/src/main/java/biomesoplenty/forge/common/handler/MissingMappingsHandler.java index 032d8258be..e30a05eff9 100644 --- a/forge/src/main/java/biomesoplenty/forge/common/handler/MissingMappingsHandler.java +++ b/forge/src/main/java/biomesoplenty/forge/common/handler/MissingMappingsHandler.java @@ -4,9 +4,10 @@ ******************************************************************************/ package biomesoplenty.forge.common.handler; -import biomesoplenty.forge.api.biome.BOPBiomes; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.api.item.BOPItems; +import biomesoplenty.api.biome.BOPBiomes; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.item.BOPItems; +import biomesoplenty.core.BiomesOPlenty; import biomesoplenty.forge.core.BiomesOPlentyForge; import net.minecraft.core.Registry; import net.minecraft.core.registries.Registries; @@ -217,7 +218,7 @@ public static Remapper create(ResourceKey> registry) public Remapper remap(String oldId, T replacement) { - this.remaps.put(new ResourceLocation(BiomesOPlentyForge.MOD_ID, oldId), replacement); + this.remaps.put(new ResourceLocation(BiomesOPlenty.MOD_ID, oldId), replacement); return this; } @@ -228,13 +229,13 @@ public Remapper remap(String oldId, RegistryObject replacement) public Remapper remap(String oldId, ResourceKey replacement) { - this.remapResourceKeys.put(new ResourceLocation(BiomesOPlentyForge.MOD_ID, oldId), replacement); + this.remapResourceKeys.put(new ResourceLocation(BiomesOPlenty.MOD_ID, oldId), replacement); return this; } public void run(MissingMappingsEvent event) { - for (var mapping : event.getMappings(this.registryKey, BiomesOPlentyForge.MOD_ID)) + for (var mapping : event.getMappings(this.registryKey, BiomesOPlenty.MOD_ID)) { if (this.remaps.containsKey(mapping.getKey())) { @@ -255,7 +256,7 @@ else if (this.remapResourceKeys.containsKey(mapping.getKey())) // Attempt to remap items based on block remappings if ((ResourceKey)this.registryKey == Registries.BLOCK) { - for (var mapping : event.getMappings(Registries.ITEM, BiomesOPlentyForge.MOD_ID)) + for (var mapping : event.getMappings(Registries.ITEM, BiomesOPlenty.MOD_ID)) { if (this.remaps.containsKey(mapping.getKey())) { diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/carver/BOPWorldCarvers.java b/forge/src/main/java/biomesoplenty/forge/common/worldgen/carver/BOPWorldCarvers.java deleted file mode 100644 index b4a85b944e..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/carver/BOPWorldCarvers.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.carver; - -import biomesoplenty.forge.core.BiomesOPlentyForge; -import net.minecraft.world.level.levelgen.carver.CarverConfiguration; -import net.minecraft.world.level.levelgen.carver.CaveCarverConfiguration; -import net.minecraft.world.level.levelgen.carver.WorldCarver; -import net.minecraftforge.registries.RegistryObject; - -import java.util.function.Supplier; - -public class BOPWorldCarvers -{ - //Carvers - - public static final RegistryObject> ORIGIN_CAVE = register("origin_cave", () -> new OriginCaveWorldCarver(CaveCarverConfiguration.CODEC)); - - private static > RegistryObject register(String key, Supplier carverSupplier) - { - return BiomesOPlentyForge.CARVER_REGISTER.register(key, carverSupplier); - } - - public static void setup() {} -} diff --git a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPBaseFeatures.java b/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPBaseFeatures.java deleted file mode 100644 index 82cb7dc389..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/common/worldgen/feature/BOPBaseFeatures.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.common.worldgen.feature; - -import biomesoplenty.forge.common.worldgen.feature.configurations.*; -import biomesoplenty.forge.core.BiomesOPlentyForge; -import biomesoplenty.forge.common.worldgen.feature.misc.*; -import biomesoplenty.forge.common.worldgen.feature.tree.*; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.LargeDripstoneConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; - -public class BOPBaseFeatures -{ - - public static final BOPTreeFeature BASIC_TREE = register("basic_tree", new BasicTreeFeature(BasicTreeConfiguration.CODEC)); - public static final Feature HIGH_GRASS = register("high_grass", new HighGrassFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature BIG_DRIPLEAF = register("big_dripleaf", new BigDripleafFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature BIG_PUMPKIN = register("big_pumpkin", new BigPumpkinFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature BLACK_SAND_SPLATTER = register("black_sand_splatter", new BlackSandSplatterFeature(NoneFeatureConfiguration.CODEC)); - public static final BOPTreeFeature BUSH_TREE = register("bush_tree", new BushTreeFeature(BasicTreeConfiguration.CODEC)); - public static final BOPTreeFeature BIG_TREE = register("big_tree", new BigTreeFeature(BigTreeConfiguration.CODEC)); - public static final Feature BRAMBLE = register("bramble", new BrambleFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature CORNER_COBWEBS = register("corner_cobwebs", new CornerCobwebFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature CRAG_MOSS = register("crag_moss", new CragMossFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature CRAG_SPLATTER = register("crag_splatter", new CragSplatterFeature(NoneFeatureConfiguration.CODEC)); - public static final BOPTreeFeature CYPRESS_TREE = register("cypress_tree", new CypressTreeFeature(CypressTreeConfiguration.CODEC)); - public static final Feature DRIPSTONE_SPLATTER = register("dripstone_splatter", new DripstoneSplatterFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature BONE_SPINE = register("bone_spine", new BoneSpineFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature EXTRA_GLOW_LICHEN = register("extra_glow_lichen", new ExtraGlowLichenFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature FALLEN_LOG = register("fallen_log", new FallenLogFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature FALLEN_FIR_LOG = register("fallen_fir_log", new FallenFirLogFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature FALLEN_BIRCH_LOG = register("fallen_birch_log", new FallenBirchLogFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature FALLEN_JACARANDA_LOG = register("fallen_jacaranda_log", new FallenJacarandaLogFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature FLESH_TENDON = register("flesh_tendon", new FleshTendonFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature GIANT_GLOWSHROOM = register("giant_glowshroom", new GiantGlowshroomFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature HOT_SPRING_VENTS = register("hot_spring_vents", new HotSpringVentFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature MOSSY_BLACK_SAND_SPLATTER = register("mossy_black_sand_splatter", new GrassSplatterFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature HANGING_FLESH_TENDON = register("hanging_flesh_tendon", new HangingFleshTendonFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature HUGE_TOADSTOOL = register("huge_toadstool", new HugeToadstoolFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature HUGE_CLOVER = register("huge_clover", new HugeCloverFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature HUGE_LILY_PAD = register("huge_lily_pad", new HugeLilyPadFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature HUGE_GLOWSHROOM = register("huge_glowshroom", new HugeGlowshroomFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature INFERNO_SPLATTER = register("inferno_splatter", new InfernoSplatterFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature LARGE_FUMAROLE = register("large_fumarole", new LargeFumaroleFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature LARGE_ROSE_QUARTZ = register("large_rose_quartz", new LargeRoseQuartzFeature(LargeDripstoneConfiguration.CODEC)); - public static final BOPTreeFeature MAGIC_TREE = register("magic_tree", new MagicTreeFeature(MagicTreeConfiguration.CODEC)); - public static final BOPTreeFeature MAHOGANY_TREE = register("mahogany_tree", new MahoganyTreeFeature(MahoganyTreeConfiguration.CODEC)); - public static final Feature MEDIUM_GLOWSHROOM = register("medium_glowshroom", new MediumGlowshroomFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature MOSS_SPLATTER = register("moss_splatter", new MossSplatterFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature MUD_SPLATTER = register("mud_splatter", new MudSplatterFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature MYCELIUM_SPLATTER = register("mycelium_splatter", new MyceliumSplatterFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature NETHER_VINES = register("nether_vines", new NetherVinesFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature OBSIDIAN_SPLATTER = register("obsidian_splatter", new ObsidianSplatterFeature(NoneFeatureConfiguration.CODEC)); - public static final BOPTreeFeature PALM_TREE = register("palm_tree", new PalmTreeFeature(PalmTreeConfiguration.CODEC)); - public static final BOPTreeFeature PINE_TREE = register("pine_tree", new PineTreeFeature(PineTreeConfiguration.CODEC)); - public static final BOPTreeFeature POPLAR_TREE = register("poplar_tree", new PoplarTreeFeature(PoplarTreeConfiguration.CODEC)); - public static final Feature PUMPKIN_PATCH = register("pumpkin_patch", new PumpkinPatchFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature RED_MAPLE_LEAF_PILE = register("red_maple_leaf_pile", new RedMapleLeafPileFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature ORANGE_MAPLE_LEAF_PILE = register("orange_maple_leaf_pile", new OrangeMapleLeafPileFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature YELLOW_MAPLE_LEAF_PILE = register("yellow_maple_leaf_pile", new YellowMapleLeafPileFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SPARSE_DUNE_GRASS = register("sparse_dune_grass", new SparseDuneGrassFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature RAINFOREST_CLIFFS_VINES = register("rainforest_cliffs_vines", new RainforestCliffsVinesFeature(NoneFeatureConfiguration.CODEC)); - public static final BOPTreeFeature REDWOOD_TREE = register("redwood_tree", new RedwoodTreeFeature(TaigaTreeConfiguration.CODEC)); - public static final Feature ROOTED_STUMP = register("rooted_stump", new RootedStumpFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SCATTERED_ROCKS = register("scattered_rocks", new ScatteredRocksFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SCRUB = register("scrub", new ScrubFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SHORT_BAMBOO = register("short_bamboo", new ShortBambooFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature THIN_BAMBOO = register("thin_bamboo", new ThinBambooFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SMALL_BROWN_MUSHROOM = register("small_brown_mushroom", new SmallBrownMushroomFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SMALL_CRYSTAL = register("small_crystal", new SmallCrystalFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SMALL_DRIPLEAF = register("small_dripleaf", new SmallDripleafFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SMALL_FUMAROLE = register("small_fumarole", new SmallFumaroleFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SMALL_GLOWSHROOM = register("small_glowshroom", new SmallGlowshroomFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SMALL_RED_MUSHROOM = register("small_red_mushroom", new SmallRedMushroomFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature SMALL_TOADSTOOL = register("small_toadstool", new SmallToadstoolFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature STRINGY_COBWEB = register("stringy_cobweb", new StringyCobwebFeature(NoneFeatureConfiguration.CODEC)); - public static final BOPTreeFeature TAIGA_TREE = register("taiga_tree", new TaigaTreeFeature(TaigaTreeConfiguration.CODEC)); - public static final BOPTreeFeature TWIGLET_TREE = register("twiglet_tree", new TwigletTreeFeature(TwigletTreeConfiguration.CODEC)); - public static final BOPTreeFeature UMBRAN_TREE = register("umbran_tree", new UmbranTreeFeature(TaigaTreeConfiguration.CODEC)); - public static final Feature WEBBING = register("webbing", new WebbingFeature(NoneFeatureConfiguration.CODEC)); - public static final Feature ORIGIN_GRAVEL_CLIFFS = register("origin_gravel_cliffs", new OriginGravelCliffFeature(NoneFeatureConfiguration.CODEC)); - - private static > F register(String key, F value) - { - BiomesOPlentyForge.FEATURE_REGISTER.register(key, () -> value); - return value; - } - - public static void setup() {} -} diff --git a/forge/src/main/java/biomesoplenty/forge/core/BiomesOPlentyForge.java b/forge/src/main/java/biomesoplenty/forge/core/BiomesOPlentyForge.java index 213a9e8fb4..cf42c26008 100644 --- a/forge/src/main/java/biomesoplenty/forge/core/BiomesOPlentyForge.java +++ b/forge/src/main/java/biomesoplenty/forge/core/BiomesOPlentyForge.java @@ -5,8 +5,11 @@ package biomesoplenty.forge.core; -import biomesoplenty.forge.api.BOPAPI; +import biomesoplenty.api.BOPAPI; +import biomesoplenty.core.BiomesOPlenty; import biomesoplenty.forge.init.*; +import biomesoplenty.init.*; +import glitchcore.forge.GlitchCoreForge; import net.minecraft.core.particles.ParticleType; import net.minecraft.core.registries.Registries; import net.minecraft.sounds.SoundEvent; @@ -35,96 +38,30 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@Mod(value = BiomesOPlentyForge.MOD_ID) +@Mod(value = BiomesOPlenty.MOD_ID) public class BiomesOPlentyForge { - public static final String MOD_ID = BOPAPI.MOD_ID; - - public static final DeferredRegister BIOME_REGISTER = DeferredRegister.create(Registries.BIOME, BiomesOPlentyForge.MOD_ID); - public static final DeferredRegister BLOCK_REGISTER = DeferredRegister.create(Registries.BLOCK, MOD_ID); - public static final DeferredRegister> BLOCK_ENTITY_REGISTER = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, MOD_ID); - public static final DeferredRegister> CARVER_REGISTER = DeferredRegister.create(Registries.CARVER, MOD_ID); - public static final DeferredRegister CREATIVE_TAB_REGISTER = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID); - public static final DeferredRegister> CONFIGURED_CARVER_REGISTER = DeferredRegister.create(Registries.CONFIGURED_CARVER, MOD_ID); - public static final DeferredRegister> CONFIGURED_FEATURE_REGISTER = DeferredRegister.create(Registries.CONFIGURED_FEATURE, MOD_ID); - public static final DeferredRegister> ENTITY_TYPE_REGISTER = DeferredRegister.create(Registries.ENTITY_TYPE, MOD_ID); - public static final DeferredRegister> FEATURE_REGISTER = DeferredRegister.create(Registries.FEATURE, MOD_ID); - public static final DeferredRegister FLUID_REGISTER = DeferredRegister.create(Registries.FLUID, MOD_ID); - public static final DeferredRegister FORGE_FLUID_REGISTER = DeferredRegister.create(ForgeRegistries.Keys.FLUID_TYPES, MOD_ID); - public static final DeferredRegister ITEM_REGISTER = DeferredRegister.create(Registries.ITEM, MOD_ID); - public static final DeferredRegister> PARTICLES_REGISTER = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, MOD_ID); - public static final DeferredRegister PLACED_FEATURE_REGISTER = DeferredRegister.create(Registries.PLACED_FEATURE, MOD_ID); - public static final DeferredRegister SOUND_EVENT_REGISTER = DeferredRegister.create(Registries.SOUND_EVENT, MOD_ID); - public static final DeferredRegister DAMAGE_TYPE_REGISTER = DeferredRegister.create(Registries.DAMAGE_TYPE, MOD_ID); - - public static BiomesOPlentyForge instance; - public static final Logger LOGGER = LogManager.getLogger(MOD_ID); - public BiomesOPlentyForge() { - instance = this; - IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus(); bus.addListener(this::commonSetup); bus.addListener(this::clientSetup); - bus.addListener(this::loadComplete); - - // Register events for deferred registers - BIOME_REGISTER.register(bus); - BLOCK_REGISTER.register(bus); - BLOCK_ENTITY_REGISTER.register(bus); - CARVER_REGISTER.register(bus); - CREATIVE_TAB_REGISTER.register(bus); - CONFIGURED_CARVER_REGISTER.register(bus); - CONFIGURED_FEATURE_REGISTER.register(bus); - ENTITY_TYPE_REGISTER.register(bus); - FEATURE_REGISTER.register(bus); - FLUID_REGISTER.register(bus); - FORGE_FLUID_REGISTER.register(bus); - ITEM_REGISTER.register(bus); - PARTICLES_REGISTER.register(bus); - PLACED_FEATURE_REGISTER.register(bus); - SOUND_EVENT_REGISTER.register(bus); - DAMAGE_TYPE_REGISTER.register(bus); - - // Initialize the config file first so other things can rely on it - ModConfig.setup(); - - ModBlocks.setup(); - ModItems.setup(); - ModFluids.setup(); - ModEntities.setup(); - ModFeatures.setup(); - ModBiomes.setup(); - ModParticles.setup(); - ModSounds.setup(); - // Initialize the creative tab last after blocks and items have been setup - ModCreativeTab.setup(); + BiomesOPlenty.init(); + GlitchCoreForge.prepareModEventHandlers(bus); } private void commonSetup(final FMLCommonSetupEvent event) { event.enqueueWork(() -> { - ModBiomes.setupTerraBlender(); + BiomesOPlenty.setupTerraBlender(); ModVanillaCompat.setup(); - ModFluids.registerFluidInteractions(); }); } private void clientSetup(final FMLClientSetupEvent event) { - event.enqueueWork(() -> - { - ModBlocks.registerWoodTypes(); - ModBlocks.setRenderTypes(); - }); - } - - private void loadComplete(final FMLLoadCompleteEvent event) - { - // Setup tags - ModTags.setup(); + event.enqueueWork(BiomesOPlenty::setupClient); } } diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModBlocks.java b/forge/src/main/java/biomesoplenty/forge/init/ModBlocks.java deleted file mode 100644 index e1c6649d19..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModBlocks.java +++ /dev/null @@ -1,738 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.api.block.BOPBlockEntities; -import biomesoplenty.forge.api.block.BOPBlockSetTypes; -import biomesoplenty.forge.api.block.BOPFluids; -import biomesoplenty.forge.api.block.BOPWoodTypes; -import biomesoplenty.forge.api.sound.BOPSounds; -import biomesoplenty.forge.common.block.*; -import biomesoplenty.forge.common.block.trees.BOPTreeGrowers; -import biomesoplenty.forge.core.BiomesOPlentyForge; -import com.google.common.base.Suppliers; -import net.minecraft.client.renderer.ItemBlockRenderTypes; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.Sheets; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.util.ColorRGBA; -import net.minecraft.world.effect.MobEffects; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.PlaceOnWaterBlockItem; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.block.*; -import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.state.BlockBehaviour; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.NoteBlockInstrument; -import net.minecraft.world.level.material.FlowingFluid; -import net.minecraft.world.level.material.MapColor; -import net.minecraft.world.level.material.PushReaction; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.registries.RegistryObject; - -import static biomesoplenty.forge.api.block.BOPBlocks.*; - -import java.util.List; -import java.util.function.Supplier; - -public class ModBlocks -{ - public static void setup() - { - registerBlocks(); - registerBlockEntities(); - } - - public static void registerBlocks() - { - //Fluids - Supplier BLOOD_SUPPLIER = Suppliers.memoize(() -> (FlowingFluid) BOPFluids.BLOOD.get()); - BLOOD = registerBlock(() -> new BloodBlock(BLOOD_SUPPLIER, BlockBehaviour.Properties.of().replaceable().pushReaction(PushReaction.DESTROY).liquid().noCollission().randomTicks().noLootTable().mapColor(MapColor.CRIMSON_NYLIUM).sound(SoundType.EMPTY).strength(100.0F)), "blood"); - - //Terrain - WHITE_SAND = registerBlock(() -> new SandBlockBOP(new ColorRGBA(0xF3F1E4), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.QUARTZ).strength(0.5F).sound(SoundType.SAND)), "white_sand"); - WHITE_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(0.8F)), "white_sandstone"); - WHITE_SANDSTONE_STAIRS = registerBlock(() -> new StairBlock(WHITE_SANDSTONE.get().defaultBlockState(), Block.Properties.ofFullCopy(WHITE_SANDSTONE.get())), "white_sandstone_stairs"); - WHITE_SANDSTONE_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(WHITE_SANDSTONE.get())), "white_sandstone_slab"); - WHITE_SANDSTONE_WALL = registerBlock(() -> new WallBlock(Block.Properties.ofFullCopy(WHITE_SANDSTONE.get()).forceSolidOn()), "white_sandstone_wall"); - SMOOTH_WHITE_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(2.0F, 6.0F)), "smooth_white_sandstone"); - SMOOTH_WHITE_SANDSTONE_STAIRS = registerBlock(() -> new StairBlock(WHITE_SANDSTONE.get().defaultBlockState(), Block.Properties.ofFullCopy(SMOOTH_WHITE_SANDSTONE.get())), "smooth_white_sandstone_stairs"); - SMOOTH_WHITE_SANDSTONE_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(SMOOTH_WHITE_SANDSTONE.get())), "smooth_white_sandstone_slab"); - CUT_WHITE_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(0.8F)), "cut_white_sandstone"); - CUT_WHITE_SANDSTONE_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(CUT_WHITE_SANDSTONE.get())), "cut_white_sandstone_slab"); - CHISELED_WHITE_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.QUARTZ).requiresCorrectToolForDrops().strength(0.8F)), "chiseled_white_sandstone"); - - ORANGE_SAND = registerBlock(() -> new SandBlockBOP(new ColorRGBA(0xCC9A61), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_ORANGE).strength(0.5F).sound(SoundType.SAND)), "orange_sand"); - ORANGE_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(0.8F)), "orange_sandstone"); - ORANGE_SANDSTONE_STAIRS = registerBlock(() -> new StairBlock(ORANGE_SANDSTONE.get().defaultBlockState(), Block.Properties.ofFullCopy(ORANGE_SANDSTONE.get())), "orange_sandstone_stairs"); - ORANGE_SANDSTONE_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(ORANGE_SANDSTONE.get())), "orange_sandstone_slab"); - ORANGE_SANDSTONE_WALL = registerBlock(() -> new WallBlock(Block.Properties.ofFullCopy(ORANGE_SANDSTONE.get()).forceSolidOn()), "orange_sandstone_wall"); - SMOOTH_ORANGE_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(2.0F, 6.0F)), "smooth_orange_sandstone"); - SMOOTH_ORANGE_SANDSTONE_STAIRS = registerBlock(() -> new StairBlock(ORANGE_SANDSTONE.get().defaultBlockState(), Block.Properties.ofFullCopy(SMOOTH_ORANGE_SANDSTONE.get())), "smooth_orange_sandstone_stairs"); - SMOOTH_ORANGE_SANDSTONE_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(SMOOTH_ORANGE_SANDSTONE.get())), "smooth_orange_sandstone_slab"); - CUT_ORANGE_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(0.8F)), "cut_orange_sandstone"); - CUT_ORANGE_SANDSTONE_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(CUT_ORANGE_SANDSTONE.get())), "cut_orange_sandstone_slab"); - CHISELED_ORANGE_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_ORANGE).requiresCorrectToolForDrops().strength(0.8F)), "chiseled_orange_sandstone"); - - MOSSY_BLACK_SAND = registerBlock(() -> new OvergrownSandBlock(new ColorRGBA(0x2D2C2F), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_GREEN).strength(0.5F).randomTicks().sound(SoundType.MOSS)), "mossy_black_sand"); - BLACK_SAND = registerBlock(() -> new SandBlockBOP(new ColorRGBA(0x2D2C2F), BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).mapColor(MapColor.COLOR_BLACK).strength(0.5F).sound(SoundType.SAND)), "black_sand"); - BLACK_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(0.8F)), "black_sandstone"); - BLACK_SANDSTONE_STAIRS = registerBlock(() -> new StairBlock(BLACK_SANDSTONE.get().defaultBlockState(), Block.Properties.ofFullCopy(BLACK_SANDSTONE.get())), "black_sandstone_stairs"); - BLACK_SANDSTONE_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(BLACK_SANDSTONE.get())), "black_sandstone_slab"); - BLACK_SANDSTONE_WALL = registerBlock(() -> new WallBlock(Block.Properties.ofFullCopy(BLACK_SANDSTONE.get()).forceSolidOn()), "black_sandstone_wall"); - SMOOTH_BLACK_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(2.0F, 6.0F)), "smooth_black_sandstone"); - SMOOTH_BLACK_SANDSTONE_STAIRS = registerBlock(() -> new StairBlock(BLACK_SANDSTONE.get().defaultBlockState(), Block.Properties.ofFullCopy(SMOOTH_BLACK_SANDSTONE.get())), "smooth_black_sandstone_stairs"); - SMOOTH_BLACK_SANDSTONE_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(SMOOTH_BLACK_SANDSTONE.get())), "smooth_black_sandstone_slab"); - CUT_BLACK_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(0.8F)), "cut_black_sandstone"); - CUT_BLACK_SANDSTONE_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(CUT_BLACK_SANDSTONE.get())), "cut_black_sandstone_slab"); - CHISELED_BLACK_SANDSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_BLACK).requiresCorrectToolForDrops().strength(0.8F)), "chiseled_black_sandstone"); - - DRIED_SALT = registerBlock(() -> new DriedSaltBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(1.0F).sound(new SoundType(1.0F, 0.5F, SoundEvents.GRAVEL_BREAK, SoundEvents.GRAVEL_STEP, SoundEvents.GRAVEL_PLACE, SoundEvents.GRAVEL_HIT, SoundEvents.GRAVEL_FALL))), "dried_salt"); - - MapColor tc1 = MapColor.GOLD; - MapColor tc2 = MapColor.COLOR_YELLOW; - MapColor tc3 = MapColor.COLOR_ORANGE; - MapColor tc4 = MapColor.TERRACOTTA_ORANGE; - MapColor tc5 = MapColor.TERRACOTTA_RED; - THERMAL_CALCITE = registerBlock(() -> new ThermalCalciteBlock(BlockBehaviour.Properties.of().mapColor((blockState) -> blockState.getValue(ThermalCalciteBlock.DISTANCE) == 1 ? tc1 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 2 ? tc2 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 3 ? tc3 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 4 ? tc4 : tc5).instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.CALCITE).requiresCorrectToolForDrops().strength(0.75F)), "thermal_calcite"); - THERMAL_CALCITE_VENT = registerBlock(() -> new ThermalCalciteVentBlock(BlockBehaviour.Properties.of().mapColor((blockState) -> blockState.getValue(ThermalCalciteBlock.DISTANCE) == 1 ? tc1 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 2 ? tc2 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 3 ? tc3 : blockState.getValue(ThermalCalciteBlock.DISTANCE) == 4 ? tc4 : tc5).instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.CALCITE).requiresCorrectToolForDrops().strength(0.75F)), "thermal_calcite_vent"); - - FLESH = registerBlock(() -> new FleshBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_RED).strength(0.4F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL))), "flesh"); - POROUS_FLESH = registerBlock(() -> new FleshBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_RED).strength(0.4F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL))), "porous_flesh"); - FLESH_TENDONS = registerBlock(() -> new FleshTendonsBottomBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_RED).noCollission().strength(0.2F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL))), "flesh_tendons"); - FLESH_TENDONS_STRAND = registerBlock(() -> new FleshTendonsBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_RED).noCollission().strength(0.2F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL))), "flesh_tendons_strand"); - EYEBULB = registerBlock(() -> new EyebulbBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_RED).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(new SoundType(1.0F, 0.5F, SoundEvents.CORAL_BLOCK_BREAK, SoundEvents.CORAL_BLOCK_STEP, SoundEvents.CORAL_BLOCK_PLACE, SoundEvents.CORAL_BLOCK_HIT, SoundEvents.CORAL_BLOCK_FALL)).offsetType(BlockBehaviour.OffsetType.NONE)), "eyebulb"); - HAIR = registerBlock(() -> new HairBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.RAW_IRON).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.WOOL).offsetType(BlockBehaviour.OffsetType.XYZ)), "hair"); - PUS_BUBBLE = registerBlock(() -> new PusBubbleBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_PINK).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(new SoundType(1.0F, 1.0F, BOPSounds.PUS_BUBBLE_POP.get(), BOPSounds.PUS_BUBBLE_POP.get(), SoundEvents.CORAL_BLOCK_PLACE, BOPSounds.PUS_BUBBLE_POP.get(), BOPSounds.PUS_BUBBLE_POP.get()))), "pus_bubble"); - - BRIMSTONE = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_YELLOW).requiresCorrectToolForDrops().strength(0.5F)), "brimstone"); - BRIMSTONE_BRICKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_YELLOW).requiresCorrectToolForDrops().strength(1.0F, 3.0F)), "brimstone_bricks"); - BRIMSTONE_BRICK_STAIRS = registerBlock(() -> new StairBlock(BRIMSTONE_BRICKS.get().defaultBlockState(), Block.Properties.ofFullCopy(BRIMSTONE_BRICKS.get())), "brimstone_brick_stairs"); - BRIMSTONE_BRICK_SLAB = registerBlock(() -> new SlabBlock(Block.Properties.ofFullCopy(BRIMSTONE_BRICKS.get())), "brimstone_brick_slab"); - BRIMSTONE_BRICK_WALL = registerBlock(() -> new WallBlock(Block.Properties.ofFullCopy(BRIMSTONE_BRICKS.get()).forceSolidOn()), "brimstone_brick_wall"); - CHISELED_BRIMSTONE_BRICKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).mapColor(MapColor.COLOR_YELLOW).requiresCorrectToolForDrops().strength(1.0F, 3.0F)), "chiseled_brimstone_bricks"); - BRIMSTONE_FUMAROLE = registerBlock(() -> new BrimstoneFumaroleBlock(BlockBehaviour.Properties.ofFullCopy(BRIMSTONE.get())), "brimstone_fumarole"); - BRIMSTONE_CLUSTER = registerBlock(() -> new BrimstoneClusterBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_YELLOW).pushReaction(PushReaction.DESTROY).strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.NONE)), "brimstone_cluster"); - BRIMSTONE_BUD = registerBlock(() -> new BrimstoneBudBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_YELLOW).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.XZ)), "brimstone_bud"); - BLACKSTONE_SPINES = registerBlock(() -> new BlackstoneDecorationBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_BLACK).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.XZ)), "blackstone_spines"); - BLACKSTONE_BULB = registerBlock(() -> new BlackstoneDecorationBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_BLACK).pushReaction(PushReaction.DESTROY).noCollission().strength(0.2F).sound(SoundType.STONE).offsetType(BlockBehaviour.OffsetType.XZ).lightLevel((state) -> 2).emissiveRendering((state, world, pos) -> true)), "blackstone_bulb"); - - ROSE_QUARTZ_BLOCK = registerBlock(() -> new AmethystBlock(BlockBehaviour.Properties.of().mapColor(MapColor.CRIMSON_STEM).strength(1.5F).sound(SoundType.AMETHYST).requiresCorrectToolForDrops().lightLevel((state) -> 10)), "rose_quartz_block"); - ROSE_QUARTZ_CLUSTER = registerBlock(() -> new AmethystClusterBlock(7, 3, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).forceSolidOn().mapColor(MapColor.CRIMSON_STEM).noOcclusion().randomTicks().sound(SoundType.AMETHYST_CLUSTER).strength(1.5F).lightLevel((state) -> 8)), "rose_quartz_cluster"); - LARGE_ROSE_QUARTZ_BUD = registerBlock(() -> new AmethystClusterBlock(5, 3, BlockBehaviour.Properties.ofFullCopy(ROSE_QUARTZ_CLUSTER.get()).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.MEDIUM_AMETHYST_BUD).lightLevel((state) -> 7)), "large_rose_quartz_bud"); - MEDIUM_ROSE_QUARTZ_BUD = registerBlock(() -> new AmethystClusterBlock(4, 3, BlockBehaviour.Properties.ofFullCopy(ROSE_QUARTZ_CLUSTER.get()).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.LARGE_AMETHYST_BUD).lightLevel((state) -> 6)), "medium_rose_quartz_bud"); - SMALL_ROSE_QUARTZ_BUD = registerBlock(() -> new AmethystClusterBlock(3, 4, BlockBehaviour.Properties.ofFullCopy(ROSE_QUARTZ_CLUSTER.get()).pushReaction(PushReaction.DESTROY).forceSolidOn().sound(SoundType.SMALL_AMETHYST_BUD).lightLevel((state) -> 5)), "small_rose_quartz_bud"); - - TOADSTOOL = registerBlock(() -> new MushroomBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_ORANGE).noCollission().instabreak().sound(SoundType.GRASS)), "toadstool"); - TOADSTOOL_BLOCK = registerBlock(() -> new HugeMushroomBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_ORANGE).strength(0.2F).sound(SoundType.WOOD)), "toadstool_block"); - GLOWSHROOM = registerBlock(() -> new MushroomBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIAMOND).noCollission().instabreak().sound(SoundType.GRASS).lightLevel((state) -> 6).emissiveRendering((state, world, pos) -> true)), "glowshroom"); - GLOWSHROOM_BLOCK = registerBlock(() -> new HugeMushroomBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIAMOND).strength(0.2F).sound(SoundType.WOOD).lightLevel((state) -> 10).emissiveRendering((state, world, pos) -> true)), "glowshroom_block"); - GLOWING_MOSS_BLOCK = registerBlock(() -> new GlowingMossBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIAMOND).strength(0.1F).sound(SoundType.MOSS).lightLevel((state) -> 6)), "glowing_moss_block"); - GLOWING_MOSS_CARPET = registerBlock(() -> new CarpetBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIAMOND).strength(0.1F).sound(SoundType.MOSS_CARPET).lightLevel((state) -> 6)), "glowing_moss_carpet"); - GLOWWORM_SILK = registerBlock(() -> new GlowwormSilkBottomBlock(BlockBehaviour.Properties.of().mapColor(MapColor.DIAMOND).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL).lightLevel((state) -> 2).emissiveRendering((state, world, pos) -> true)), "glowworm_silk"); - GLOWWORM_SILK_STRAND = registerBlock(() -> new GlowwormSilkBlock(BlockBehaviour.Properties.of().mapColor(MapColor.DIAMOND).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL).lightLevel((state) -> 2).emissiveRendering((state, world, pos) -> true)), "glowworm_silk_strand"); - - SPIDER_EGG = registerBlock(() -> new SpiderEggBlock(BlockBehaviour.Properties.of().strength(0.1F).mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).sound(SoundType.METAL).lightLevel((state) -> 5)), "spider_egg"); - HANGING_COBWEB = registerBlock(() -> new HangingCobwebBottomBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL)), "hanging_cobweb"); - HANGING_COBWEB_STRAND = registerBlock(() -> new HangingCobwebBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL)), "hanging_cobweb_strand"); - STRINGY_COBWEB = registerBlock(() -> new StringyCobwebBlock(BlockBehaviour.Properties.of().noLootTable().mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL)), "stringy_cobweb"); - WEBBING = registerBlock(() -> new WebbingBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOL).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.WOOL)), "webbing"); - - ORIGIN_GRASS_BLOCK = registerBlock(() -> new OriginGrassBlock(BlockBehaviour.Properties.of().randomTicks().mapColor(MapColor.GRASS).strength(0.6F).randomTicks().sound(SoundType.GRASS)), "origin_grass_block"); - - //Trees - ORIGIN_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.ORIGIN, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "origin_sapling"); - ORIGIN_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.EMERALD).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "origin_leaves"); - FLOWERING_OAK_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.FLOWERING_OAK, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "flowering_oak_sapling"); - FLOWERING_OAK_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "flowering_oak_leaves"); - SNOWBLOSSOM_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.SNOWBLOSSOM, BlockBehaviour.Properties.of().mapColor(MapColor.SNOW).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.CHERRY_SAPLING)), "snowblossom_sapling"); - SNOWBLOSSOM_LEAVES = registerBlock(() -> new SnowblossomLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.SNOW).strength(0.2F).randomTicks().sound(SoundType.CHERRY_LEAVES).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "snowblossom_leaves"); - RAINBOW_BIRCH_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.RAINBOW_BIRCH, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS).lightLevel((state) -> 5)), "rainbow_birch_sapling"); - RAINBOW_BIRCH_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never).lightLevel((state) -> 8)), "rainbow_birch_leaves"); - - FIR_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.FIR, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "fir_sapling"); - FIR_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "fir_leaves"); - FIR_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_WHITE, MapColor.TERRACOTTA_LIGHT_GRAY), "fir_log"); - FIR_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F).sound(SoundType.WOOD)), "fir_wood"); - STRIPPED_FIR_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_WHITE, MapColor.TERRACOTTA_WHITE), "stripped_fir_log"); - STRIPPED_FIR_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F).sound(SoundType.WOOD)), "stripped_fir_wood"); - FIR_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_planks"); - FIR_STAIRS = registerBlock(() -> new StairBlock(FIR_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(FIR_PLANKS.get())), "fir_stairs"); - FIR_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_slab"); - FIR_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_fence"); - FIR_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.FIR, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_fence_gate"); - FIR_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(FIR_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "fir_door"); - FIR_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_WHITE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "fir_trapdoor"); - FIR_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.FIR, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(FIR_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "fir_pressure_plate"); - FIR_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.FIR, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "fir_button"); - FIR_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.FIR), "fir_sign"); - FIR_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(FIR_SIGN), BOPWoodTypes.FIR), "fir_wall_sign"); - FIR_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.FIR), "fir_hanging_sign"); - FIR_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(FIR_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(FIR_HANGING_SIGN), BOPWoodTypes.FIR), "fir_wall_hanging_sign"); - - PINE_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.PINE, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "pine_sapling"); - PINE_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "pine_leaves"); - PINE_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.DIRT), "pine_log"); - PINE_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "pine_wood"); - STRIPPED_PINE_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.TERRACOTTA_LIGHT_GREEN), "stripped_pine_log"); - STRIPPED_PINE_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "stripped_pine_wood"); - PINE_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_planks"); - PINE_STAIRS = registerBlock(() -> new StairBlock(PINE_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(PINE_PLANKS.get())), "pine_stairs"); - PINE_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_slab"); - PINE_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_fence"); - PINE_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.PINE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "pine_fence_gate"); - PINE_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(PINE_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "pine_door"); - PINE_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "pine_trapdoor"); - PINE_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.PINE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PINE_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "pine_pressure_plate"); - PINE_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.PINE, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "pine_button"); - PINE_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.PINE), "pine_sign"); - PINE_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(PINE_SIGN), BOPWoodTypes.PINE), "pine_wall_sign"); - PINE_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.PINE), "pine_hanging_sign"); - PINE_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PINE_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(PINE_HANGING_SIGN), BOPWoodTypes.PINE), "pine_wall_hanging_sign"); - - RED_MAPLE_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.RED_MAPLE, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "red_maple_sapling"); - RED_MAPLE_LEAF_PILE = registerBlock(() -> new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_RED).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "red_maple_leaf_pile"); - RED_MAPLE_LEAVES = registerBlock(() -> new RedMapleLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_RED).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "red_maple_leaves"); - ORANGE_MAPLE_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.ORANGE_MAPLE, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "orange_maple_sapling"); - ORANGE_MAPLE_LEAF_PILE = registerBlock(() -> new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_ORANGE).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "orange_maple_leaf_pile"); - ORANGE_MAPLE_LEAVES = registerBlock(() -> new OrangeMapleLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_ORANGE).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "orange_maple_leaves"); - YELLOW_MAPLE_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.YELLOW_MAPLE, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_YELLOW).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "yellow_maple_sapling"); - YELLOW_MAPLE_LEAF_PILE = registerBlock(() -> new LeafPileBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_YELLOW).replaceable().noCollission().instabreak().sound(SoundType.GRASS)), "yellow_maple_leaf_pile"); - YELLOW_MAPLE_LEAVES = registerBlock(() -> new YellowMapleLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_YELLOW).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "yellow_maple_leaves"); - MAPLE_LOG = registerBlock(() -> log(MapColor.DIRT, MapColor.TERRACOTTA_BROWN), "maple_log"); - MAPLE_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F).sound(SoundType.WOOD)), "maple_wood"); - STRIPPED_MAPLE_LOG = registerBlock(() -> log(MapColor.DIRT, MapColor.DIRT), "stripped_maple_log"); - STRIPPED_MAPLE_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F).sound(SoundType.WOOD)), "stripped_maple_wood"); - MAPLE_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "maple_planks"); - MAPLE_STAIRS = registerBlock(() -> new StairBlock(MAPLE_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(MAPLE_PLANKS.get())), "maple_stairs"); - MAPLE_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "maple_slab"); - MAPLE_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "maple_fence"); - MAPLE_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.MAPLE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "maple_fence_gate"); - MAPLE_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAPLE_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "maple_door"); - MAPLE_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.DIRT).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "maple_trapdoor"); - MAPLE_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.MAPLE, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAPLE_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "maple_pressure_plate"); - MAPLE_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.MAPLE, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "maple_button"); - MAPLE_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAPLE), "maple_sign"); - MAPLE_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(MAPLE_SIGN), BOPWoodTypes.MAPLE), "maple_wall_sign"); - MAPLE_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAPLE), "maple_hanging_sign"); - MAPLE_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAPLE_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(MAPLE_HANGING_SIGN), BOPWoodTypes.MAPLE), "maple_wall_hanging_sign"); - - REDWOOD_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.REDWOOD, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "redwood_sapling"); - REDWOOD_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "redwood_leaves"); - REDWOOD_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_ORANGE, MapColor.TERRACOTTA_ORANGE), "redwood_log"); - REDWOOD_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(2.0F).sound(SoundType.WOOD)), "redwood_wood"); - STRIPPED_REDWOOD_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_ORANGE, MapColor.TERRACOTTA_ORANGE), "stripped_redwood_log"); - STRIPPED_REDWOOD_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(2.0F).sound(SoundType.WOOD)), "stripped_redwood_wood"); - REDWOOD_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_planks"); - REDWOOD_STAIRS = registerBlock(() -> new StairBlock(REDWOOD_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(REDWOOD_PLANKS.get())), "redwood_stairs"); - REDWOOD_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_slab"); - REDWOOD_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_fence"); - REDWOOD_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.REDWOOD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_fence_gate"); - REDWOOD_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(REDWOOD_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "redwood_door"); - REDWOOD_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_ORANGE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "redwood_trapdoor"); - REDWOOD_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.REDWOOD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(REDWOOD_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "redwood_pressure_plate"); - REDWOOD_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.REDWOOD, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "redwood_button"); - REDWOOD_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.REDWOOD), "redwood_sign"); - REDWOOD_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(REDWOOD_SIGN), BOPWoodTypes.REDWOOD), "redwood_wall_sign"); - REDWOOD_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.REDWOOD), "redwood_hanging_sign"); - REDWOOD_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(REDWOOD_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(REDWOOD_HANGING_SIGN), BOPWoodTypes.REDWOOD), "redwood_wall_hanging_sign"); - - MAHOGANY_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.MAHOGANY, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "mahogany_sapling"); - MAHOGANY_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "mahogany_leaves"); - MAHOGANY_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_PINK, MapColor.DIRT), "mahogany_log"); - MAHOGANY_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(2.0F).sound(SoundType.WOOD)), "mahogany_wood"); - STRIPPED_MAHOGANY_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_PINK, MapColor.TERRACOTTA_PINK), "stripped_mahogany_log"); - STRIPPED_MAHOGANY_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(2.0F).sound(SoundType.WOOD)), "stripped_mahogany_wood"); - MAHOGANY_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_planks"); - MAHOGANY_STAIRS = registerBlock(() -> new StairBlock(MAHOGANY_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(MAHOGANY_PLANKS.get())), "mahogany_stairs"); - MAHOGANY_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_slab"); - MAHOGANY_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_fence"); - MAHOGANY_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.MAHOGANY, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_fence_gate"); - MAHOGANY_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAHOGANY_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "mahogany_door"); - MAHOGANY_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_PINK).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "mahogany_trapdoor"); - MAHOGANY_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.MAHOGANY, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAHOGANY_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "mahogany_pressure_plate"); - MAHOGANY_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.MAHOGANY, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "mahogany_button"); - MAHOGANY_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAHOGANY), "mahogany_sign"); - MAHOGANY_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(MAHOGANY_SIGN), BOPWoodTypes.MAHOGANY), "mahogany_wall_sign"); - MAHOGANY_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAHOGANY), "mahogany_hanging_sign"); - MAHOGANY_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAHOGANY_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(MAHOGANY_HANGING_SIGN), BOPWoodTypes.MAHOGANY), "mahogany_wall_hanging_sign"); - - JACARANDA_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.JACARANDA, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_PURPLE).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.CHERRY_SAPLING)), "jacaranda_sapling"); - JACARANDA_LEAVES = registerBlock(() -> new JacarandaLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_PURPLE).strength(0.2F).randomTicks().sound(SoundType.CHERRY_LEAVES).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "jacaranda_leaves"); - JACARANDA_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_WHITE, MapColor.TERRACOTTA_LIGHT_GRAY), "jacaranda_log"); - JACARANDA_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F).sound(SoundType.WOOD)), "jacaranda_wood"); - STRIPPED_JACARANDA_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_WHITE, MapColor.QUARTZ), "stripped_jacaranda_log"); - STRIPPED_JACARANDA_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F).sound(SoundType.WOOD)), "stripped_jacaranda_wood"); - JACARANDA_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_planks"); - JACARANDA_STAIRS = registerBlock(() -> new StairBlock(JACARANDA_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(JACARANDA_PLANKS.get())), "jacaranda_stairs"); - JACARANDA_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_slab"); - JACARANDA_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_fence"); - JACARANDA_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.JACARANDA, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_fence_gate"); - JACARANDA_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(JACARANDA_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "jacaranda_door"); - JACARANDA_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.QUARTZ).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "jacaranda_trapdoor"); - JACARANDA_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.JACARANDA, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(JACARANDA_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "jacaranda_pressure_plate"); - JACARANDA_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.JACARANDA, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "jacaranda_button"); - JACARANDA_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.JACARANDA), "jacaranda_sign"); - JACARANDA_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(JACARANDA_SIGN), BOPWoodTypes.JACARANDA), "jacaranda_wall_sign"); - JACARANDA_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.JACARANDA), "jacaranda_hanging_sign"); - JACARANDA_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(JACARANDA_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(JACARANDA_HANGING_SIGN), BOPWoodTypes.JACARANDA), "jacaranda_wall_hanging_sign"); - - PALM_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.PALM, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "palm_sapling"); - PALM_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "palm_leaves"); - PALM_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_YELLOW, MapColor.PODZOL), "palm_log"); - PALM_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F).sound(SoundType.WOOD)), "palm_wood"); - STRIPPED_PALM_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_YELLOW, MapColor.TERRACOTTA_YELLOW), "stripped_palm_log"); - STRIPPED_PALM_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F).sound(SoundType.WOOD)), "stripped_palm_wood"); - PALM_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_planks"); - PALM_STAIRS = registerBlock(() -> new StairBlock(PALM_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(PALM_PLANKS.get())), "palm_stairs"); - PALM_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_slab"); - PALM_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_fence"); - PALM_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.PALM, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_fence_gate"); - PALM_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(PALM_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "palm_door"); - PALM_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_YELLOW).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "palm_trapdoor"); - PALM_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.PALM, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(PALM_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "palm_pressure_plate"); - PALM_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.PALM, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "palm_button"); - PALM_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.PALM), "palm_sign"); - PALM_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(PALM_SIGN), BOPWoodTypes.PALM), "palm_wall_sign"); - PALM_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.PALM), "palm_hanging_sign"); - PALM_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(PALM_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(PALM_HANGING_SIGN), BOPWoodTypes.PALM), "palm_wall_hanging_sign"); - - WILLOW_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.WILLOW, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "willow_sapling"); - WILLOW_VINE = registerBlock(() -> new VineBlock(BlockBehaviour.Properties.of().randomTicks().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().strength(0.2F).sound(SoundType.GRASS)), "willow_vine"); - SPANISH_MOSS = registerBlock(() -> new SpanishMossBottomBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().randomTicks().noCollission().instabreak().sound(SoundType.GRASS)), "spanish_moss"); - SPANISH_MOSS_PLANT = registerBlock(() -> new SpanishMossBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS)), "spanish_moss_plant"); - WILLOW_LEAVES = registerBlock(() -> new WillowLeavesBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "willow_leaves"); - WILLOW_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.TERRACOTTA_LIGHT_GREEN), "willow_log"); - WILLOW_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "willow_wood"); - STRIPPED_WILLOW_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_LIGHT_GREEN, MapColor.TERRACOTTA_LIGHT_GREEN), "stripped_willow_log"); - STRIPPED_WILLOW_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F).sound(SoundType.WOOD)), "stripped_willow_wood"); - WILLOW_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_planks"); - WILLOW_STAIRS = registerBlock(() -> new StairBlock(WILLOW_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(WILLOW_PLANKS.get())), "willow_stairs"); - WILLOW_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_slab"); - WILLOW_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_fence"); - WILLOW_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.WILLOW, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_fence_gate"); - WILLOW_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(WILLOW_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "willow_door"); - WILLOW_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "willow_trapdoor"); - WILLOW_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.WILLOW, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(WILLOW_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "willow_pressure_plate"); - WILLOW_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.WILLOW, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "willow_button"); - WILLOW_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.WILLOW), "willow_sign"); - WILLOW_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(WILLOW_SIGN), BOPWoodTypes.WILLOW), "willow_wall_sign"); - WILLOW_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.WILLOW), "willow_hanging_sign"); - WILLOW_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(WILLOW_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(WILLOW_HANGING_SIGN), BOPWoodTypes.WILLOW), "willow_wall_hanging_sign"); - - DEAD_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.DEAD, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "dead_sapling"); - DEAD_BRANCH = registerBlock(() -> new DeadBranchBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_GRAY).ignitedByLava().noCollission().instabreak().sound(SoundType.WOOD)), "dead_branch"); - DEAD_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.WOOD).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "dead_leaves"); - DEAD_LOG = registerBlock(() -> log(MapColor.STONE, MapColor.COLOR_GRAY), "dead_log"); - DEAD_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F).sound(SoundType.WOOD)), "dead_wood"); - STRIPPED_DEAD_LOG = registerBlock(() -> log(MapColor.STONE, MapColor.STONE), "stripped_dead_log"); - STRIPPED_DEAD_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F).sound(SoundType.WOOD)), "stripped_dead_wood"); - DEAD_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_planks"); - DEAD_STAIRS = registerBlock(() -> new StairBlock(DEAD_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(DEAD_PLANKS.get())), "dead_stairs"); - DEAD_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_slab"); - DEAD_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_fence"); - DEAD_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.DEAD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_fence_gate"); - DEAD_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(DEAD_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "dead_door"); - DEAD_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.STONE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "dead_trapdoor"); - DEAD_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.DEAD, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(DEAD_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "dead_pressure_plate"); - DEAD_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.DEAD, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "dead_button"); - DEAD_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.DEAD), "dead_sign"); - DEAD_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(DEAD_SIGN), BOPWoodTypes.DEAD), "dead_wall_sign"); - DEAD_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.DEAD), "dead_hanging_sign"); - DEAD_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(DEAD_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(DEAD_HANGING_SIGN), BOPWoodTypes.DEAD), "dead_wall_hanging_sign"); - - MAGIC_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.MAGIC, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_CYAN).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "magic_sapling"); - MAGIC_LEAVES = registerBlock(() -> new MagicLeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_CYAN).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "magic_leaves"); - MAGIC_LOG = registerBlock(() -> log(MapColor.COLOR_BLUE, MapColor.TERRACOTTA_LIGHT_BLUE), "magic_log"); - MAGIC_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F).sound(SoundType.WOOD)), "magic_wood"); - STRIPPED_MAGIC_LOG = registerBlock(() -> log(MapColor.COLOR_BLUE, MapColor.COLOR_BLUE), "stripped_magic_log"); - STRIPPED_MAGIC_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F).sound(SoundType.WOOD)), "stripped_magic_wood"); - MAGIC_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_planks"); - MAGIC_STAIRS = registerBlock(() -> new StairBlock(MAGIC_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(MAGIC_PLANKS.get())), "magic_stairs"); - MAGIC_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_slab"); - MAGIC_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_fence"); - MAGIC_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.MAGIC, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_fence_gate"); - MAGIC_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MAGIC_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "magic_door"); - MAGIC_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.COLOR_BLUE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "magic_trapdoor"); - MAGIC_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.MAGIC, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(MAGIC_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "magic_pressure_plate"); - MAGIC_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.MAGIC, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "magic_button"); - MAGIC_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().noCollission().forceSolidOn().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAGIC), "magic_sign"); - MAGIC_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().noCollission().forceSolidOn().strength(1.0F).sound(SoundType.WOOD).lootFrom(MAGIC_SIGN), BOPWoodTypes.MAGIC), "magic_wall_sign"); - MAGIC_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.MAGIC), "magic_hanging_sign"); - MAGIC_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(MAGIC_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(MAGIC_HANGING_SIGN), BOPWoodTypes.MAGIC), "magic_wall_hanging_sign"); - - UMBRAN_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.UMBRAN, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLUE).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "umbran_sapling"); - UMBRAN_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_BLUE).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).ignitedByLava().isRedstoneConductor(ModBlocks::never)), "umbran_leaves"); - UMBRAN_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_BLUE, MapColor.TERRACOTTA_BLUE), "umbran_log"); - UMBRAN_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F).sound(SoundType.WOOD)), "umbran_wood"); - STRIPPED_UMBRAN_LOG = registerBlock(() -> log(MapColor.TERRACOTTA_BLUE, MapColor.TERRACOTTA_BLUE), "stripped_umbran_log"); - STRIPPED_UMBRAN_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F).sound(SoundType.WOOD)), "stripped_umbran_wood"); - UMBRAN_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_planks"); - UMBRAN_STAIRS = registerBlock(() -> new StairBlock(UMBRAN_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(UMBRAN_PLANKS.get())), "umbran_stairs"); - UMBRAN_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_slab"); - UMBRAN_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_fence"); - UMBRAN_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.UMBRAN, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_fence_gate"); - UMBRAN_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(UMBRAN_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "umbran_door"); - UMBRAN_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor(MapColor.TERRACOTTA_BLUE).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "umbran_trapdoor"); - UMBRAN_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.UMBRAN, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().mapColor(UMBRAN_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "umbran_pressure_plate"); - UMBRAN_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.UMBRAN, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "umbran_button"); - UMBRAN_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.UMBRAN), "umbran_sign"); - UMBRAN_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(UMBRAN_SIGN), BOPWoodTypes.UMBRAN), "umbran_wall_sign"); - UMBRAN_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.UMBRAN), "umbran_hanging_sign"); - UMBRAN_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(UMBRAN_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).ignitedByLava().forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(UMBRAN_HANGING_SIGN), BOPWoodTypes.UMBRAN), "umbran_wall_hanging_sign"); - - HELLBARK_SAPLING = registerBlock(() -> new SaplingBlockBOP(BOPTreeGrowers.HELLBARK, BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_PURPLE).pushReaction(PushReaction.DESTROY).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)), "hellbark_sapling"); - HELLBARK_LEAVES = registerBlock(() -> new LeavesBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_PURPLE).strength(0.2F).randomTicks().sound(SoundType.GRASS).noOcclusion().isValidSpawn(ModBlocks::ocelotOrParrot).isSuffocating(ModBlocks::never).isViewBlocking(ModBlocks::never).isRedstoneConductor(ModBlocks::never)), "hellbark_leaves"); - HELLBARK_LOG = registerBlock(() -> logNonIgniting(MapColor.TERRACOTTA_GRAY, MapColor.COLOR_LIGHT_GRAY), "hellbark_log"); - HELLBARK_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F).sound(SoundType.WOOD)), "hellbark_wood"); - STRIPPED_HELLBARK_LOG = registerBlock(() -> logNonIgniting(MapColor.TERRACOTTA_GRAY, MapColor.TERRACOTTA_GRAY), "stripped_hellbark_log"); - STRIPPED_HELLBARK_WOOD = registerBlock(() -> new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F).sound(SoundType.WOOD)), "stripped_hellbark_wood"); - HELLBARK_PLANKS = registerBlock(() -> new Block(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_planks"); - HELLBARK_STAIRS = registerBlock(() -> new StairBlock(HELLBARK_PLANKS.get().defaultBlockState(), Block.Properties.ofFullCopy(HELLBARK_PLANKS.get())), "hellbark_stairs"); - HELLBARK_SLAB = registerBlock(() -> new SlabBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_slab"); - HELLBARK_FENCE = registerBlock(() -> new FenceBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_fence"); - HELLBARK_FENCE_GATE = registerBlock(() -> new FenceGateBlock(BOPWoodTypes.HELLBARK, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.get().defaultMapColor()).strength(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_fence_gate"); - HELLBARK_DOOR = registerBlock(() -> new DoorBlock(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).mapColor(HELLBARK_PLANKS.get().defaultMapColor()).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "hellbark_door"); - HELLBARK_TRAPDOOR = registerBlock(() -> new TrapDoorBlock(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor(MapColor.TERRACOTTA_GRAY).strength(3.0F).sound(SoundType.WOOD).noOcclusion()), "hellbark_trapdoor"); - HELLBARK_PRESSURE_PLATE = registerBlock(() -> new PressurePlateBlock(BOPBlockSetTypes.HELLBARK, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).instrument(NoteBlockInstrument.BASS).forceSolidOn().mapColor(HELLBARK_PLANKS.get().defaultMapColor()).noCollission().strength(0.5F).sound(SoundType.WOOD)), "hellbark_pressure_plate"); - HELLBARK_BUTTON = registerBlock(() -> new ButtonBlock(BOPBlockSetTypes.HELLBARK, 30, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).noCollission().strength(0.5F).sound(SoundType.WOOD)), "hellbark_button"); - HELLBARK_SIGN = registerBlockNoBlockItem(() -> new StandingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.HELLBARK), "hellbark_sign"); - HELLBARK_WALL_SIGN = registerBlockNoBlockItem(() -> new WallSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(HELLBARK_SIGN), BOPWoodTypes.HELLBARK), "hellbark_wall_sign"); - HELLBARK_HANGING_SIGN = registerBlockNoBlockItem(() -> new CeilingHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD), BOPWoodTypes.HELLBARK), "hellbark_hanging_sign"); - HELLBARK_WALL_HANGING_SIGN = registerBlockNoBlockItem(() -> new WallHangingSignBlockBOP(BlockBehaviour.Properties.of().mapColor(HELLBARK_PLANKS.get().defaultMapColor()).instrument(NoteBlockInstrument.BASS).forceSolidOn().noCollission().strength(1.0F).sound(SoundType.WOOD).lootFrom(HELLBARK_HANGING_SIGN), BOPWoodTypes.HELLBARK), "hellbark_wall_hanging_sign"); - - //Flowers - ROSE = registerBlock(() -> new FlowerBlockBOP(MobEffects.MOVEMENT_SPEED, 7, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "rose"); - VIOLET = registerBlock(() -> new FlowerBlockBOP(MobEffects.CONFUSION, 10, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "violet"); - LAVENDER = registerBlock(() -> new FlowerBlockBOP(MobEffects.HEALTH_BOOST, 5, BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_MAGENTA).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "lavender"); - TALL_LAVENDER = registerBlock(() -> new TallFlowerBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "tall_lavender"); - BLUE_HYDRANGEA = registerBlock(() -> new TallFlowerBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "blue_hydrangea"); - WILDFLOWER = registerBlock(() -> new FlowerBlockBOP(MobEffects.HUNGER, 10, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "wildflower"); - GOLDENROD = registerBlock(() -> new TallFlowerBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "goldenrod"); - ORANGE_COSMOS = registerBlock(() -> new FlowerBlockBOP(MobEffects.ABSORPTION, 7, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "orange_cosmos"); - PINK_DAFFODIL = registerBlock(() -> new FlowerBlockBOP(MobEffects.INVISIBILITY, 7, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "pink_daffodil"); - PINK_HIBISCUS = registerBlock(() -> new FlowerBlockBOP(MobEffects.REGENERATION, 5, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "pink_hibiscus"); - WHITE_PETALS = registerBlock(() -> new PinkPetalsBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).noCollission().sound(SoundType.PINK_PETALS).pushReaction(PushReaction.DESTROY)), "white_petals"); - ICY_IRIS = registerBlock(() -> new TallFlowerBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "icy_iris"); - GLOWFLOWER = registerBlock(() -> new FlowerBlockBOP(MobEffects.GLOWING, 10, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ).lightLevel((state) -> 9)), "glowflower"); - WILTED_LILY = registerBlock(() -> new FlowerBlockBOP(MobEffects.UNLUCK, 5, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "wilted_lily"); - BURNING_BLOSSOM = registerBlock(() -> new FlowerBlockBOP(MobEffects.FIRE_RESISTANCE, 7, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ).lightLevel((state) -> 7)), "burning_blossom"); - - //Plants - SPROUT = registerBlock(() -> new FoliageBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "sprout"); - BUSH = registerBlock(() -> new FoliageBlockBOP(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "bush"); - HIGH_GRASS = registerBlock(() -> new HighGrassBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).randomTicks().replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "high_grass"); - HIGH_GRASS_PLANT = registerBlock(() -> new HighGrassPlantBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "high_grass_plant"); - CLOVER = registerBlock(() -> new CloverBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).replaceable().ignitedByLava().noCollission().sound(SoundType.PINK_PETALS).pushReaction(PushReaction.DESTROY)), "clover"); - HUGE_CLOVER_PETAL = registerBlock(() -> new HugeCloverPetalBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).ignitedByLava().instabreak().sound(SoundType.PINK_PETALS)), "huge_clover_petal"); - HUGE_LILY_PAD = registerBlock(() -> new HugeLilyPadBlock(BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).pushReaction(PushReaction.DESTROY).instabreak().sound(SoundType.LILY_PAD).noOcclusion()), () -> new PlaceOnWaterBlockItem(HUGE_LILY_PAD.get(), new Item.Properties()), "huge_lily_pad"); - WATERLILY = registerBlock(() -> new WaterlilyBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.COLOR_PINK).noOcclusion().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), () -> new PlaceOnWaterBlockItem(WATERLILY.get(), new Item.Properties()), "waterlily"); - - DUNE_GRASS = registerBlock(() -> new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_LIGHT_GREEN).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "dune_grass"); - DESERT_GRASS = registerBlock(() -> new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_ORANGE).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "desert_grass"); - DEAD_GRASS = registerBlock(() -> new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.WOOD).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XYZ)), "dead_grass"); - TUNDRA_SHRUB = registerBlock(() -> new FoliageBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).replaceable().ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "tundra_shrub"); - BARLEY = registerBlock(() -> new DoublePlantBlockBOP(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.TERRACOTTA_YELLOW).ignitedByLava().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "barley"); - SEA_OATS = registerBlock(() -> new SeaOatsBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.SAND).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "sea_oats"); - CATTAIL = registerBlock(() -> new DoubleWatersidePlantBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIRT).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "cattail"); - REED = registerBlock(() -> new DoubleWaterPlantBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.DIRT).replaceable().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "reed"); - WATERGRASS = registerBlock(() -> new DoubleWaterPlantBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).replaceable().noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ)), "watergrass"); - - TINY_CACTUS = registerBlock(() -> new TinyCactusBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).noCollission().instabreak().sound(SoundType.WOOL).offsetType(BlockBehaviour.OffsetType.XZ)), "tiny_cactus"); - BRAMBLE = registerBlock(() -> new BrambleBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.NETHER).strength(0.4F).sound(SoundType.WOOD)), "bramble"); - BRAMBLE_LEAVES = registerBlock(() -> new BrambleLeavesBlock(BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).instabreak().sound(SoundType.GRASS)), "bramble_leaves"); - - //Potted Plants - POTTED_ORIGIN_SAPLING = registerBlock(() -> new FlowerPotBlock(ORIGIN_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_origin_sapling"); - POTTED_FLOWERING_OAK_SAPLING = registerBlock(() -> new FlowerPotBlock(FLOWERING_OAK_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_flowering_oak_sapling"); - POTTED_SNOWBLOSSOM_SAPLING = registerBlock(() -> new FlowerPotBlock(SNOWBLOSSOM_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_snowblossom_sapling"); - POTTED_RAINBOW_BIRCH_SAPLING = registerBlock(() -> new FlowerPotBlock(RAINBOW_BIRCH_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 5)), "potted_rainbow_birch_sapling"); - POTTED_FIR_SAPLING = registerBlock(() -> new FlowerPotBlock(FIR_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_fir_sapling"); - POTTED_PINE_SAPLING = registerBlock(() -> new FlowerPotBlock(PINE_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_pine_sapling"); - POTTED_RED_MAPLE_SAPLING = registerBlock(() -> new FlowerPotBlock(RED_MAPLE_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_red_maple_sapling"); - POTTED_ORANGE_MAPLE_SAPLING = registerBlock(() -> new FlowerPotBlock(ORANGE_MAPLE_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_orange_maple_sapling"); - POTTED_YELLOW_MAPLE_SAPLING = registerBlock(() -> new FlowerPotBlock(YELLOW_MAPLE_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_yellow_maple_sapling"); - POTTED_REDWOOD_SAPLING = registerBlock(() -> new FlowerPotBlock(REDWOOD_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_redwood_sapling"); - POTTED_MAHOGANY_SAPLING = registerBlock(() -> new FlowerPotBlock(MAHOGANY_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_mahogany_sapling"); - POTTED_JACARANDA_SAPLING = registerBlock(() -> new FlowerPotBlock(JACARANDA_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_jacaranda_sapling"); - POTTED_PALM_SAPLING = registerBlock(() -> new FlowerPotBlock(PALM_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_palm_sapling"); - POTTED_WILLOW_SAPLING = registerBlock(() -> new FlowerPotBlock(WILLOW_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_willow_sapling"); - POTTED_DEAD_SAPLING = registerBlock(() -> new FlowerPotBlock(DEAD_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_dead_sapling"); - POTTED_MAGIC_SAPLING = registerBlock(() -> new FlowerPotBlock(MAGIC_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_magic_sapling"); - POTTED_UMBRAN_SAPLING = registerBlock(() -> new FlowerPotBlock(UMBRAN_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_umbran_sapling"); - POTTED_HELLBARK_SAPLING = registerBlock(() -> new FlowerPotBlock(HELLBARK_SAPLING.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_hellbark_sapling"); - POTTED_ROSE = registerBlock(() -> new FlowerPotBlock(ROSE.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_rose"); - POTTED_VIOLET = registerBlock(() -> new FlowerPotBlock(VIOLET.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_violet"); - POTTED_LAVENDER = registerBlock(() -> new FlowerPotBlock(LAVENDER.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_lavender"); - POTTED_WILDFLOWER = registerBlock(() -> new FlowerPotBlock(WILDFLOWER.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_wildflower"); - POTTED_ORANGE_COSMOS = registerBlock(() -> new FlowerPotBlock(ORANGE_COSMOS.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_orange_cosmos"); - POTTED_PINK_DAFFODIL = registerBlock(() -> new FlowerPotBlock(PINK_DAFFODIL.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_pink_daffodil"); - POTTED_PINK_HIBISCUS = registerBlock(() -> new FlowerPotBlock(PINK_HIBISCUS.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_pink_hibiscus"); - POTTED_GLOWFLOWER = registerBlock(() -> new FlowerPotBlock(GLOWFLOWER.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 9)), "potted_glowflower"); - POTTED_WILTED_LILY = registerBlock(() -> new FlowerPotBlock(WILTED_LILY.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_wilted_lily"); - POTTED_BURNING_BLOSSOM = registerBlock(() -> new FlowerPotBlock(BURNING_BLOSSOM.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 7)), "potted_burning_blossom"); - POTTED_SPROUT = registerBlock(() -> new FlowerPotBlock(SPROUT.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_sprout"); - POTTED_TINY_CACTUS = registerBlock(() -> new FlowerPotBlock(TINY_CACTUS.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_tiny_cactus"); - POTTED_TOADSTOOL = registerBlock(() -> new FlowerPotBlock(TOADSTOOL.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak()), "potted_toadstool"); - POTTED_GLOWSHROOM = registerBlock(() -> new FlowerPotBlock(GLOWSHROOM.get(), BlockBehaviour.Properties.of().noOcclusion().pushReaction(PushReaction.DESTROY).instabreak().lightLevel((state) -> 6).emissiveRendering((state, world, pos) -> true)), "potted_glowshroom"); - } - - @OnlyIn(Dist.CLIENT) - public static void registerWoodTypes() - { - Sheets.addWoodType(BOPWoodTypes.FIR); - Sheets.addWoodType(BOPWoodTypes.PINE); - Sheets.addWoodType(BOPWoodTypes.MAPLE); - Sheets.addWoodType(BOPWoodTypes.REDWOOD); - Sheets.addWoodType(BOPWoodTypes.MAHOGANY); - Sheets.addWoodType(BOPWoodTypes.JACARANDA); - Sheets.addWoodType(BOPWoodTypes.PALM); - Sheets.addWoodType(BOPWoodTypes.WILLOW); - Sheets.addWoodType(BOPWoodTypes.DEAD); - Sheets.addWoodType(BOPWoodTypes.MAGIC); - Sheets.addWoodType(BOPWoodTypes.UMBRAN); - Sheets.addWoodType(BOPWoodTypes.HELLBARK); - } - - @OnlyIn(Dist.CLIENT) - public static void setRenderTypes() - { - RenderType transparentRenderType = RenderType.cutoutMipped(); - RenderType cutoutRenderType = RenderType.cutout(); - RenderType translucentRenderType = RenderType.translucent(); - - ItemBlockRenderTypes.setRenderLayer(MOSSY_BLACK_SAND.get(), transparentRenderType); - - ItemBlockRenderTypes.setRenderLayer(ORIGIN_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(FLOWERING_OAK_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(SNOWBLOSSOM_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(RAINBOW_BIRCH_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(FIR_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(PINE_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(RED_MAPLE_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(ORANGE_MAPLE_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(YELLOW_MAPLE_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(REDWOOD_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(MAHOGANY_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(JACARANDA_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(PALM_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(WILLOW_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(DEAD_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(MAGIC_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(UMBRAN_LEAVES.get(), transparentRenderType); - ItemBlockRenderTypes.setRenderLayer(HELLBARK_LEAVES.get(), transparentRenderType); - - ItemBlockRenderTypes.setRenderLayer(ORIGIN_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(FLOWERING_OAK_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(SNOWBLOSSOM_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(RAINBOW_BIRCH_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(FIR_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(PINE_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(RED_MAPLE_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(ORANGE_MAPLE_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(YELLOW_MAPLE_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(REDWOOD_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(MAHOGANY_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(JACARANDA_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(PALM_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WILLOW_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(DEAD_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(MAGIC_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(UMBRAN_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HELLBARK_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(ROSE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(VIOLET.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(LAVENDER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WILDFLOWER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(ORANGE_COSMOS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(PINK_DAFFODIL.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(PINK_HIBISCUS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WATERLILY.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WHITE_PETALS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(GLOWFLOWER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WILTED_LILY.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BURNING_BLOSSOM.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(TALL_LAVENDER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BLUE_HYDRANGEA.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(GOLDENROD.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(ICY_IRIS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WILLOW_VINE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(SPANISH_MOSS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(SPANISH_MOSS_PLANT.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(GLOWWORM_SILK.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(GLOWWORM_SILK_STRAND.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HANGING_COBWEB.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HANGING_COBWEB_STRAND.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(STRINGY_COBWEB.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WEBBING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(SPROUT.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BUSH.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HIGH_GRASS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HIGH_GRASS_PLANT.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(CLOVER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HUGE_CLOVER_PETAL.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HUGE_LILY_PAD.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(RED_MAPLE_LEAF_PILE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(ORANGE_MAPLE_LEAF_PILE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(YELLOW_MAPLE_LEAF_PILE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(DUNE_GRASS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(DESERT_GRASS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(DEAD_GRASS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(TUNDRA_SHRUB.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(CATTAIL.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BARLEY.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(SEA_OATS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(REED.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WATERGRASS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(DEAD_BRANCH.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(TINY_CACTUS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BRAMBLE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BRAMBLE_LEAVES.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(TOADSTOOL.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(GLOWSHROOM.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(PUS_BUBBLE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(FLESH_TENDONS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(FLESH_TENDONS_STRAND.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(EYEBULB.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HAIR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BRIMSTONE_BUD.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BRIMSTONE_CLUSTER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(ROSE_QUARTZ_CLUSTER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(LARGE_ROSE_QUARTZ_BUD.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(MEDIUM_ROSE_QUARTZ_BUD.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(SMALL_ROSE_QUARTZ_BUD.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BLACKSTONE_SPINES.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(BLACKSTONE_BULB.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(SPIDER_EGG.get(), cutoutRenderType); - - ItemBlockRenderTypes.setRenderLayer(FIR_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(PINE_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(MAPLE_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(REDWOOD_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(MAHOGANY_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(JACARANDA_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(PALM_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WILLOW_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(DEAD_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(MAGIC_DOOR.get(), translucentRenderType); - ItemBlockRenderTypes.setRenderLayer(UMBRAN_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HELLBARK_DOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(FIR_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(PINE_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(MAPLE_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(REDWOOD_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(MAHOGANY_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(JACARANDA_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(PALM_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(WILLOW_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(DEAD_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(MAGIC_TRAPDOOR.get(), translucentRenderType); - ItemBlockRenderTypes.setRenderLayer(UMBRAN_TRAPDOOR.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(HELLBARK_TRAPDOOR.get(), cutoutRenderType); - - ItemBlockRenderTypes.setRenderLayer(POTTED_ORIGIN_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_FLOWERING_OAK_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_SNOWBLOSSOM_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_RAINBOW_BIRCH_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_FIR_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_PINE_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_RED_MAPLE_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_ORANGE_MAPLE_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_YELLOW_MAPLE_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_REDWOOD_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_MAHOGANY_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_JACARANDA_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_PALM_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_WILLOW_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_DEAD_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_MAGIC_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_UMBRAN_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_HELLBARK_SAPLING.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_ROSE.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_VIOLET.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_LAVENDER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_WILDFLOWER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_ORANGE_COSMOS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_PINK_DAFFODIL.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_PINK_HIBISCUS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_GLOWFLOWER.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_WILTED_LILY.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_BURNING_BLOSSOM.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_SPROUT.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_TINY_CACTUS.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_TOADSTOOL.get(), cutoutRenderType); - ItemBlockRenderTypes.setRenderLayer(POTTED_GLOWSHROOM.get(), cutoutRenderType); - - ItemBlockRenderTypes.setRenderLayer(BLOOD.get(), translucentRenderType); - ItemBlockRenderTypes.setRenderLayer(BOPFluids.BLOOD.get(), translucentRenderType); - ItemBlockRenderTypes.setRenderLayer(BOPFluids.FLOWING_BLOOD.get(), translucentRenderType); - } - - public static void registerBlockEntities() - { - BOPBlockEntities.SIGN = registerBlockEntityType("sign", SignBlockEntityBOP::new, - () -> List.of(FIR_SIGN.get(), PINE_SIGN.get(), MAPLE_SIGN.get(), REDWOOD_SIGN.get(), MAHOGANY_SIGN.get(), JACARANDA_SIGN.get(), PALM_SIGN.get(), WILLOW_SIGN.get(), DEAD_SIGN.get(), MAGIC_SIGN.get(), UMBRAN_SIGN.get(), HELLBARK_SIGN.get(), - FIR_WALL_SIGN.get(), PINE_WALL_SIGN.get(), MAPLE_WALL_SIGN.get(), REDWOOD_WALL_SIGN.get(), MAHOGANY_WALL_SIGN.get(), JACARANDA_WALL_SIGN.get(), PALM_WALL_SIGN.get(), WILLOW_WALL_SIGN.get(), DEAD_WALL_SIGN.get(), MAGIC_WALL_SIGN.get(), UMBRAN_WALL_SIGN.get(), HELLBARK_WALL_SIGN.get())); - - BOPBlockEntities.HANGING_SIGN = registerBlockEntityType("hanging_sign", HangingSignBlockEntityBOP::new, - () -> List.of(FIR_HANGING_SIGN.get(), PINE_HANGING_SIGN.get(), MAPLE_HANGING_SIGN.get(), REDWOOD_HANGING_SIGN.get(), MAHOGANY_HANGING_SIGN.get(), JACARANDA_HANGING_SIGN.get(), PALM_HANGING_SIGN.get(), WILLOW_HANGING_SIGN.get(), DEAD_HANGING_SIGN.get(), MAGIC_HANGING_SIGN.get(), UMBRAN_HANGING_SIGN.get(), HELLBARK_HANGING_SIGN.get(), - FIR_WALL_HANGING_SIGN.get(), PINE_WALL_HANGING_SIGN.get(), MAPLE_WALL_HANGING_SIGN.get(), REDWOOD_WALL_HANGING_SIGN.get(), MAHOGANY_WALL_HANGING_SIGN.get(), JACARANDA_WALL_HANGING_SIGN.get(), PALM_WALL_HANGING_SIGN.get(), WILLOW_WALL_HANGING_SIGN.get(), DEAD_WALL_HANGING_SIGN.get(), MAGIC_WALL_HANGING_SIGN.get(), UMBRAN_WALL_HANGING_SIGN.get(), HELLBARK_WALL_HANGING_SIGN.get())); - } - - private static RotatedPillarBlock log(MapColor MapColor, MapColor MapColor2) { - return new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).ignitedByLava().mapColor((blockState) -> blockState.getValue(RotatedPillarBlock.AXIS) == Direction.Axis.Y ? MapColor : MapColor2).strength(2.0F).sound(SoundType.WOOD)); - } - - private static RotatedPillarBlock logNonIgniting(MapColor MapColor, MapColor MapColor2) { - return new RotatedPillarBlock(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASS).mapColor((blockState) -> blockState.getValue(RotatedPillarBlock.AXIS) == Direction.Axis.Y ? MapColor : MapColor2).strength(2.0F).sound(SoundType.WOOD)); - } - - public static RegistryObject registerBlock(Supplier blockSupplier, String name) - { - RegistryObject blockRegistryObject = BiomesOPlentyForge.BLOCK_REGISTER.register(name, blockSupplier); - BiomesOPlentyForge.ITEM_REGISTER.register(name, () -> new BlockItem(blockRegistryObject.get(), new Item.Properties())); - return blockRegistryObject; - } - - public static RegistryObject registerBlockNoBlockItem(Supplier blockSupplier, String name) - { - return registerBlock(blockSupplier, null, name); - } - - public static RegistryObject registerBlock(Supplier blockSupplier, Supplier itemBlockSupplier, String name) - { - RegistryObject blockRegistryObject = BiomesOPlentyForge.BLOCK_REGISTER.register(name, blockSupplier); - - if (itemBlockSupplier != null) - { - BiomesOPlentyForge.ITEM_REGISTER.register(name, itemBlockSupplier); - } - - return blockRegistryObject; - } - - public static RegistryObject> registerBlockEntityType(String name, BlockEntityType.BlockEntitySupplier factoryIn, Supplier> validBlocks) - { - return BiomesOPlentyForge.BLOCK_ENTITY_REGISTER.register(name, () -> BlockEntityType.Builder.of(factoryIn, validBlocks.get().toArray(new Block[0])).build(null)); - } - - private static Boolean always(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos) { - return (boolean)true; - } - - private static Boolean never(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos) { - return (boolean)false; - } - - private static Boolean ocelotOrParrot(BlockState p_50822_, BlockGetter p_50823_, BlockPos p_50824_, EntityType p_50825_) { - return (boolean)(p_50825_ == EntityType.OCELOT || p_50825_ == EntityType.PARROT); - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModCreativeTab.java b/forge/src/main/java/biomesoplenty/forge/init/ModCreativeTab.java deleted file mode 100644 index ea7b99de2e..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModCreativeTab.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.api.item.BOPItems; -import biomesoplenty.forge.core.BiomesOPlentyForge; -import com.google.common.collect.ImmutableList; -import net.minecraft.network.chat.Component; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.Block; -import net.minecraftforge.registries.RegistryObject; - -import java.lang.reflect.Field; -import java.util.List; - -public class ModCreativeTab -{ - private static final List> ITEM_BLACKLIST = ImmutableList.of(BOPItems.BOP_ICON); - - private static final List> BLOCK_BLACKLIST = ImmutableList.of(BOPBlocks.BLOOD, BOPBlocks.HIGH_GRASS_PLANT, BOPBlocks.SPANISH_MOSS_PLANT, - BOPBlocks.GLOWWORM_SILK_STRAND, BOPBlocks.HANGING_COBWEB_STRAND, BOPBlocks.STRINGY_COBWEB, BOPBlocks.FLESH_TENDONS_STRAND, BOPBlocks.POTTED_ORIGIN_SAPLING, - BOPBlocks.POTTED_FLOWERING_OAK_SAPLING, BOPBlocks.POTTED_SNOWBLOSSOM_SAPLING, BOPBlocks.POTTED_RAINBOW_BIRCH_SAPLING, - BOPBlocks.POTTED_FIR_SAPLING, BOPBlocks.POTTED_PINE_SAPLING, BOPBlocks.POTTED_RED_MAPLE_SAPLING, BOPBlocks.POTTED_ORANGE_MAPLE_SAPLING, - BOPBlocks.POTTED_YELLOW_MAPLE_SAPLING, BOPBlocks.POTTED_REDWOOD_SAPLING, BOPBlocks.POTTED_MAHOGANY_SAPLING, BOPBlocks.POTTED_JACARANDA_SAPLING, - BOPBlocks.POTTED_PALM_SAPLING, BOPBlocks.POTTED_WILLOW_SAPLING, BOPBlocks.POTTED_DEAD_SAPLING, BOPBlocks.POTTED_MAGIC_SAPLING, - BOPBlocks.POTTED_UMBRAN_SAPLING, BOPBlocks.POTTED_HELLBARK_SAPLING, BOPBlocks.POTTED_ROSE, BOPBlocks.POTTED_VIOLET, BOPBlocks.POTTED_LAVENDER, - BOPBlocks.POTTED_WILDFLOWER, BOPBlocks.POTTED_ORANGE_COSMOS, BOPBlocks.POTTED_PINK_DAFFODIL, BOPBlocks.POTTED_PINK_HIBISCUS, BOPBlocks.POTTED_GLOWFLOWER, - BOPBlocks.POTTED_WILTED_LILY, BOPBlocks.POTTED_BURNING_BLOSSOM, BOPBlocks.POTTED_SPROUT, BOPBlocks.POTTED_TINY_CACTUS, BOPBlocks.POTTED_TOADSTOOL, - BOPBlocks.POTTED_GLOWSHROOM); - - public static void setup() - { - BiomesOPlentyForge.CREATIVE_TAB_REGISTER.register("main", () -> - CreativeModeTab.builder() - .icon(() -> new ItemStack(BOPItems.BOP_ICON.get())) - .title(Component.translatable("itemGroup.biomesoplenty")) - .displayItems((displayParameters, output) -> { - // Add blocks - for (Field field : BOPBlocks.class.getFields()) - { - if (field.getType() != RegistryObject.class) continue; - - try - { - RegistryObject block = (RegistryObject)field.get(null); - if (!BLOCK_BLACKLIST.contains(block)) - output.accept(new ItemStack(block.get())); - } - catch (IllegalAccessException e) {} - } - - // Add items - for (Field field : BOPItems.class.getFields()) - { - if (field.getType() != RegistryObject.class) continue; - - try - { - RegistryObject item = (RegistryObject)field.get(null); - if (!ITEM_BLACKLIST.contains(item)) - output.accept(new ItemStack(item.get())); - } - catch (IllegalAccessException e) {} - } - }).build() - ); - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModEntities.java b/forge/src/main/java/biomesoplenty/forge/init/ModEntities.java deleted file mode 100644 index aae8ca61f3..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModEntities.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.api.entity.BOPEntities; -import biomesoplenty.forge.common.entity.BoatBOP; -import biomesoplenty.forge.common.entity.ChestBoatBOP; -import biomesoplenty.forge.core.BiomesOPlentyForge; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobCategory; -import net.minecraftforge.registries.RegistryObject; - -import java.util.function.Supplier; - -public class ModEntities -{ - public static void setup() - { - registerEntities(); - } - - public static void registerEntities() - { - BOPEntities.BOAT = registerEntity(() -> EntityType.Builder.of(BoatBOP::new, MobCategory.MISC).sized(1.375F, 0.5625F).clientTrackingRange(10).build(BiomesOPlentyForge.MOD_ID + ":boat"), "boat"); - BOPEntities.CHEST_BOAT = registerEntity(() -> EntityType.Builder.of(ChestBoatBOP::new, MobCategory.MISC).sized(1.375F, 0.5625F).clientTrackingRange(10).build(BiomesOPlentyForge.MOD_ID + ":chest_boat"), "chest_boat"); - } - - public static RegistryObject> registerEntity(Supplier> typeSupplier, String name) - { - return BiomesOPlentyForge.ENTITY_TYPE_REGISTER.register(name, typeSupplier); - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModFeatures.java b/forge/src/main/java/biomesoplenty/forge/init/ModFeatures.java deleted file mode 100644 index 931a9ca9e8..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModFeatures.java +++ /dev/null @@ -1,22 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.common.worldgen.carver.BOPWorldCarvers; -import biomesoplenty.forge.common.worldgen.feature.BOPBaseFeatures; - -public class ModFeatures -{ - public static void setup() - { - // Most of these setups do nothing and only serve to make sure initialization has happened at the right time - - // Features - BOPBaseFeatures.setup(); - - // Carvers - BOPWorldCarvers.setup(); - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModFluids.java b/forge/src/main/java/biomesoplenty/forge/init/ModFluids.java deleted file mode 100644 index 35aaae4cca..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModFluids.java +++ /dev/null @@ -1,132 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.api.block.BOPFluids; -import biomesoplenty.forge.common.block.BloodFluid; -import biomesoplenty.forge.core.BiomesOPlentyForge; -import com.mojang.blaze3d.shaders.FogShape; -import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.Camera; -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.ClientLevel; -import net.minecraft.client.renderer.FogRenderer; -import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.world.entity.Mob; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.material.Fluid; -import net.minecraft.world.level.material.FluidState; -import net.minecraft.world.level.pathfinder.BlockPathTypes; -import net.minecraftforge.client.extensions.common.IClientFluidTypeExtensions; -import net.minecraftforge.common.ForgeMod; -import net.minecraftforge.common.SoundActions; -import net.minecraftforge.fluids.FluidInteractionRegistry; -import net.minecraftforge.fluids.FluidType; -import net.minecraftforge.registries.ForgeRegistries; -import net.minecraftforge.registries.RegistryObject; -import org.jetbrains.annotations.Nullable; -import org.joml.Vector3f; - -import java.util.Map; -import java.util.function.Consumer; -import java.util.function.Supplier; - -import static biomesoplenty.forge.api.block.BOPFluids.*; - -public class ModFluids -{ - public static void setup() - { - registerFluids(); - } - - public static void registerFluids() - { - FLOWING_BLOOD = registerFluid(() -> new BloodFluid.Flowing(), "flowing_blood"); - BLOOD = registerFluid(() -> new BloodFluid.Source(), "blood"); - - BLOOD_TYPE = registerFluidType(() -> - new FluidType(FluidType.Properties.create() - .descriptionId("block.biomesoplenty.blood") - .fallDistanceModifier(0F) - .canExtinguish(true) - .sound(SoundActions.BUCKET_FILL, SoundEvents.BUCKET_FILL) - .sound(SoundActions.BUCKET_EMPTY, SoundEvents.BUCKET_EMPTY) - .sound(SoundActions.FLUID_VAPORIZE, SoundEvents.FIRE_EXTINGUISH) - .density(3000) - .viscosity(6000)) - { - @Override - public @Nullable BlockPathTypes getBlockPathType(FluidState state, BlockGetter level, BlockPos pos, @Nullable Mob mob, boolean canFluidLog) - { - return canFluidLog ? super.getBlockPathType(state, level, pos, mob, true) : null; - } - - @Override - public void initializeClient(Consumer consumer) - { - consumer.accept(new IClientFluidTypeExtensions() - { - private static final ResourceLocation BLOOD_UNDERWATER = new ResourceLocation("biomesoplenty:textures/block/blood_underwater.png"), - BLOOD_STILL = new ResourceLocation("biomesoplenty:block/blood_still"), - BLOOD_FLOW = new ResourceLocation("biomesoplenty:block/blood_flow"); - - @Override - public ResourceLocation getStillTexture() - { - return BLOOD_STILL; - } - - @Override - public ResourceLocation getFlowingTexture() { return BLOOD_FLOW; } - - @Override - public ResourceLocation getRenderOverlayTexture(Minecraft mc) { return BLOOD_UNDERWATER; } - - @Override - public Vector3f modifyFogColor(Camera camera, float partialTick, ClientLevel level, int renderDistance, float darkenWorldAmount, Vector3f fluidFogColor) - { - return new Vector3f(0.407F, 0.121F, 0.137F); - } - - @Override - public void modifyFogRender(Camera camera, FogRenderer.FogMode mode, float renderDistance, float partialTick, float nearDistance, float farDistance, FogShape shape) - { - RenderSystem.setShaderFogStart(0.125F); - RenderSystem.setShaderFogEnd(5.0F); - } - }); - } - }, "blood"); - } - - public static RegistryObject registerFluid(Supplier fluidSupplier, String name) - { - return BiomesOPlentyForge.FLUID_REGISTER.register(name, fluidSupplier); - } - - public static RegistryObject registerFluidType(Supplier fluidSupplier, String name) - { - return BiomesOPlentyForge.FORGE_FLUID_REGISTER.register(name, fluidSupplier); - } - - public static void registerFluidInteractions() - { - for (Map.Entry, FluidType> fluidType : ForgeRegistries.FLUID_TYPES.get().getEntries()) - { - if (fluidType.getValue() != ForgeMod.EMPTY_TYPE.get() && fluidType.getValue() != BOPFluids.BLOOD_TYPE.get()) - { - FluidInteractionRegistry.addInteraction(fluidType.getValue(), new FluidInteractionRegistry.InteractionInformation( - BOPFluids.BLOOD_TYPE.get(), - fluidState -> fluidState.isSource() ? BOPBlocks.FLESH.get().defaultBlockState() : BOPBlocks.POROUS_FLESH.get().defaultBlockState() - )); - } - } - } -} \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModItems.java b/forge/src/main/java/biomesoplenty/forge/init/ModItems.java deleted file mode 100644 index 2959fbadd5..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModItems.java +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.api.block.BOPFluids; -import biomesoplenty.forge.api.sound.BOPSounds; -import biomesoplenty.forge.common.entity.BoatBOP; -import biomesoplenty.forge.common.item.BoatItemBOP; -import biomesoplenty.forge.common.item.MusicDiscItemBOP; -import biomesoplenty.forge.core.BiomesOPlentyForge; -import com.google.common.base.Suppliers; -import net.minecraft.world.item.*; -import net.minecraft.world.level.material.Fluid; -import net.minecraftforge.registries.RegistryObject; - -import java.util.function.Supplier; - -import static biomesoplenty.forge.api.item.BOPItems.*; - -public class ModItems -{ - public static void setup() - { - registerItems(); - } - - private static void registerItems() - { - BOP_ICON = registerItem(() -> new Item(new Item.Properties()), "bop_icon"); - - ROSE_QUARTZ_CHUNK = registerItem(() -> new Item(new Item.Properties()), "rose_quartz_chunk"); - - MUSIC_DISC_WANDERER = registerItem(() -> new MusicDiscItemBOP(() -> BOPSounds.MUSIC_DISC_WANDERER.get()), "music_disc_wanderer"); - - Supplier BLOOD_SUPPLIER = Suppliers.memoize(() -> BOPFluids.BLOOD.get()); - BLOOD_BUCKET = registerItem(() -> new BucketItem(BLOOD_SUPPLIER, (new Item.Properties()).craftRemainder(Items.BUCKET).stacksTo(1)), "blood_bucket"); - - FIR_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.FIR_SIGN.get(), BOPBlocks.FIR_WALL_SIGN.get()), "fir_sign"); - FIR_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.FIR_HANGING_SIGN.get(), BOPBlocks.FIR_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "fir_hanging_sign"); - PINE_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.PINE_SIGN.get(), BOPBlocks.PINE_WALL_SIGN.get()), "pine_sign"); - PINE_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.PINE_HANGING_SIGN.get(), BOPBlocks.PINE_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "pine_hanging_sign"); - MAPLE_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.MAPLE_SIGN.get(), BOPBlocks.MAPLE_WALL_SIGN.get()), "maple_sign"); - MAPLE_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.MAPLE_HANGING_SIGN.get(), BOPBlocks.MAPLE_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "maple_hanging_sign"); - REDWOOD_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.REDWOOD_SIGN.get(), BOPBlocks.REDWOOD_WALL_SIGN.get()), "redwood_sign"); - REDWOOD_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.REDWOOD_HANGING_SIGN.get(), BOPBlocks.REDWOOD_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "redwood_hanging_sign"); - MAHOGANY_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.MAHOGANY_SIGN.get(), BOPBlocks.MAHOGANY_WALL_SIGN.get()), "mahogany_sign"); - MAHOGANY_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.MAHOGANY_HANGING_SIGN.get(), BOPBlocks.MAHOGANY_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "mahogany_hanging_sign"); - JACARANDA_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.JACARANDA_SIGN.get(), BOPBlocks.JACARANDA_WALL_SIGN.get()), "jacaranda_sign"); - JACARANDA_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.JACARANDA_HANGING_SIGN.get(), BOPBlocks.JACARANDA_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "jacaranda_hanging_sign"); - PALM_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.PALM_SIGN.get(), BOPBlocks.PALM_WALL_SIGN.get()), "palm_sign"); - PALM_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.PALM_HANGING_SIGN.get(), BOPBlocks.PALM_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "palm_hanging_sign"); - WILLOW_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.WILLOW_SIGN.get(), BOPBlocks.WILLOW_WALL_SIGN.get()), "willow_sign"); - WILLOW_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.WILLOW_HANGING_SIGN.get(), BOPBlocks.WILLOW_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "willow_hanging_sign"); - DEAD_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.DEAD_SIGN.get(), BOPBlocks.DEAD_WALL_SIGN.get()), "dead_sign"); - DEAD_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.DEAD_HANGING_SIGN.get(), BOPBlocks.DEAD_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "dead_hanging_sign"); - MAGIC_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.MAGIC_SIGN.get(), BOPBlocks.MAGIC_WALL_SIGN.get()), "magic_sign"); - MAGIC_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.MAGIC_HANGING_SIGN.get(), BOPBlocks.MAGIC_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "magic_hanging_sign"); - UMBRAN_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.UMBRAN_SIGN.get(), BOPBlocks.UMBRAN_WALL_SIGN.get()), "umbran_sign"); - UMBRAN_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.UMBRAN_HANGING_SIGN.get(), BOPBlocks.UMBRAN_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "umbran_hanging_sign"); - HELLBARK_SIGN = registerItem(() -> new SignItem((new Item.Properties()).stacksTo(16), BOPBlocks.HELLBARK_SIGN.get(), BOPBlocks.HELLBARK_WALL_SIGN.get()), "hellbark_sign"); - HELLBARK_HANGING_SIGN = registerItem(() -> new HangingSignItem(BOPBlocks.HELLBARK_HANGING_SIGN.get(), BOPBlocks.HELLBARK_WALL_HANGING_SIGN.get(), (new Item.Properties()).stacksTo(16)), "hellbark_hanging_sign"); - - FIR_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.FIR, (new Item.Properties()).stacksTo(1)), "fir_boat"); - FIR_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.FIR, (new Item.Properties()).stacksTo(1)), "fir_chest_boat"); - PINE_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.PINE, (new Item.Properties()).stacksTo(1)), "pine_boat"); - PINE_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.PINE, (new Item.Properties()).stacksTo(1)), "pine_chest_boat"); - MAPLE_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.MAPLE, (new Item.Properties()).stacksTo(1)), "maple_boat"); - MAPLE_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.MAPLE, (new Item.Properties()).stacksTo(1)), "maple_chest_boat"); - REDWOOD_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.REDWOOD, (new Item.Properties()).stacksTo(1)), "redwood_boat"); - REDWOOD_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.REDWOOD, (new Item.Properties()).stacksTo(1)), "redwood_chest_boat"); - MAHOGANY_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.MAHOGANY, (new Item.Properties()).stacksTo(1)), "mahogany_boat"); - MAHOGANY_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.MAHOGANY, (new Item.Properties()).stacksTo(1)), "mahogany_chest_boat"); - JACARANDA_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.JACARANDA, (new Item.Properties()).stacksTo(1)), "jacaranda_boat"); - JACARANDA_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.JACARANDA, (new Item.Properties()).stacksTo(1)), "jacaranda_chest_boat"); - PALM_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.PALM, (new Item.Properties()).stacksTo(1)), "palm_boat"); - PALM_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.PALM, (new Item.Properties()).stacksTo(1)), "palm_chest_boat"); - WILLOW_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.WILLOW, (new Item.Properties()).stacksTo(1)), "willow_boat"); - WILLOW_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.WILLOW, (new Item.Properties()).stacksTo(1)), "willow_chest_boat"); - DEAD_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.DEAD, (new Item.Properties()).stacksTo(1)), "dead_boat"); - DEAD_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.DEAD, (new Item.Properties()).stacksTo(1)), "dead_chest_boat"); - MAGIC_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.MAGIC, (new Item.Properties()).stacksTo(1)), "magic_boat"); - MAGIC_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.MAGIC, (new Item.Properties()).stacksTo(1)), "magic_chest_boat"); - UMBRAN_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.UMBRAN, (new Item.Properties()).stacksTo(1)), "umbran_boat"); - UMBRAN_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.UMBRAN, (new Item.Properties()).stacksTo(1)), "umbran_chest_boat"); - HELLBARK_BOAT = registerItem(() -> new BoatItemBOP(false, BoatBOP.ModelType.HELLBARK, (new Item.Properties()).stacksTo(1)), "hellbark_boat"); - HELLBARK_CHEST_BOAT = registerItem(() -> new BoatItemBOP(true, BoatBOP.ModelType.HELLBARK, (new Item.Properties()).stacksTo(1)), "hellbark_chest_boat"); - } - - public static RegistryObject registerItem(Supplier itemSupplier, String name) - { - return BiomesOPlentyForge.ITEM_REGISTER.register(name, itemSupplier); - } -} \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModParticles.java b/forge/src/main/java/biomesoplenty/forge/init/ModParticles.java deleted file mode 100644 index ea93caf456..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModParticles.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.core.BiomesOPlentyForge; -import net.minecraft.core.particles.SimpleParticleType; -import net.minecraftforge.registries.RegistryObject; - -import java.util.function.Supplier; - -public class ModParticles -{ - public static final RegistryObject DRIPPING_BLOOD = register("dripping_blood", () -> new SimpleParticleType(false)); - public static final RegistryObject FALLING_BLOOD = register("falling_blood", () -> new SimpleParticleType(false)); - public static final RegistryObject LANDING_BLOOD = register("landing_blood", () -> new SimpleParticleType(false)); - public static final RegistryObject PUS = register("pus", () -> new SimpleParticleType(false)); - public static final RegistryObject GLOWWORM = register("glowworm", () -> new SimpleParticleType(false)); - public static final RegistryObject STEAM = register("steam", () -> new SimpleParticleType(false)); - public static final RegistryObject JACARANDA_LEAVES = register("jacaranda_leaves", () -> new SimpleParticleType(false)); - public static final RegistryObject SNOWBLOSSOM_LEAVES = register("snowblossom_leaves", () -> new SimpleParticleType(false)); - public static final RegistryObject RED_MAPLE_LEAVES = register("red_maple_leaves", () -> new SimpleParticleType(false)); - public static final RegistryObject ORANGE_MAPLE_LEAVES = register("orange_maple_leaves", () -> new SimpleParticleType(false)); - public static final RegistryObject YELLOW_MAPLE_LEAVES = register("yellow_maple_leaves", () -> new SimpleParticleType(false)); - - public static void setup() {} - - private static RegistryObject register(String key, Supplier particleTypeSupplier) - { - return BiomesOPlentyForge.PARTICLES_REGISTER.register(key, particleTypeSupplier); - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModSounds.java b/forge/src/main/java/biomesoplenty/forge/init/ModSounds.java deleted file mode 100644 index 50af3e2c33..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModSounds.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.core.BiomesOPlentyForge; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.sounds.SoundEvent; -import net.minecraftforge.registries.RegistryObject; - -import static biomesoplenty.forge.api.sound.BOPSounds.*; - -public class ModSounds -{ - public static void setup() - { - registerSounds(); - } - - public static void registerSounds() - { - MUSIC_DISC_WANDERER = registerSound("music_disc.wanderer"); - MUSIC_BIOME_ORIGIN_VALLEY = registerSound("music.overworld.origin_valley"); - MUSIC_BIOME_CRYSTALLINE_CHASM = registerSound("music.nether.crystalline_chasm"); - MUSIC_BIOME_ERUPTING_INFERNO = registerSound("music.nether.erupting_inferno"); - MUSIC_BIOME_UNDERGROWTH = registerSound("music.nether.undergrowth"); - MUSIC_BIOME_VISCERAL_HEAP = registerSound("music.nether.visceral_heap"); - MUSIC_BIOME_WITHERED_ABYSS = registerSound("music.nether.withered_abyss"); - - FLESH_TENDON_DRIP = registerSound("block.flesh_tendon.drip"); - PUS_BUBBLE_POP = registerSound("block.pus_bubble.pop"); - SPIDER_EGG_BREAK = registerSound("block.spider_egg.break"); - } - - private static RegistryObject registerSound(String name) - { - ResourceLocation location = new ResourceLocation(BiomesOPlentyForge.MOD_ID, name); - SoundEvent event = SoundEvent.createVariableRangeEvent(location); - return BiomesOPlentyForge.SOUND_EVENT_REGISTER.register(name, () -> event); - } -} \ No newline at end of file diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModTags.java b/forge/src/main/java/biomesoplenty/forge/init/ModTags.java deleted file mode 100644 index 1f93bf713e..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModTags.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright 2022, the Glitchfiend Team. - * All rights reserved. - ******************************************************************************/ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.core.BiomesOPlentyForge; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.FluidTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.material.Fluid; - -public class ModTags -{ - public static void setup() - { - Blocks.setup(); - Fluids.setup(); - } - - public static class Blocks - { - private static void setup() {} - - public static final TagKey BLACKSTONE_DECORATION_PLACEABLE = BlockTags.create(new ResourceLocation(BiomesOPlentyForge.MOD_ID, "blackstone_decoration_placeable")); - public static final TagKey BRIMSTONE_DECORATION_PLACEABLE = BlockTags.create(new ResourceLocation(BiomesOPlentyForge.MOD_ID, "brimstone_decoration_placeable")); - public static final TagKey FLESH = BlockTags.create(new ResourceLocation(BiomesOPlentyForge.MOD_ID, "flesh")); - public static final TagKey FLESH_DECORATION_PLACEABLE = BlockTags.create(new ResourceLocation(BiomesOPlentyForge.MOD_ID, "flesh_decoration_placeable")); - } - - public static class Fluids - { - private static void setup() {} - - public static final TagKey BLOOD = FluidTags.create(new ResourceLocation(BiomesOPlentyForge.MOD_ID, "blood")); - } -} diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModVanillaCompat.java b/forge/src/main/java/biomesoplenty/forge/init/ModVanillaCompat.java index 80fa8cbe63..b8bef4d575 100644 --- a/forge/src/main/java/biomesoplenty/forge/init/ModVanillaCompat.java +++ b/forge/src/main/java/biomesoplenty/forge/init/ModVanillaCompat.java @@ -4,8 +4,8 @@ ******************************************************************************/ package biomesoplenty.forge.init; -import biomesoplenty.forge.api.block.BOPBlocks; -import biomesoplenty.forge.api.item.BOPItems; +import biomesoplenty.api.block.BOPBlocks; +import biomesoplenty.api.item.BOPItems; import com.google.common.collect.Maps; import net.minecraft.core.BlockPos; import net.minecraft.core.dispenser.BlockSource; @@ -40,284 +40,284 @@ public ItemStack execute(BlockSource p_123561_, ItemStack p_123562_) { } }; - DispenserBlock.registerBehavior(BOPItems.BLOOD_BUCKET.get(), dispenseBucketBehavior); + DispenserBlock.registerBehavior(BOPItems.BLOOD_BUCKET, dispenseBucketBehavior); //Flammability - registerFlammable(BOPBlocks.ORIGIN_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.FLOWERING_OAK_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.SNOWBLOSSOM_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.RAINBOW_BIRCH_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.FIR_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.FIR_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.FIR_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_FIR_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_FIR_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.FIR_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.FIR_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.FIR_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.FIR_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.FIR_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.PINE_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.PINE_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.PINE_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_PINE_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_PINE_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.PINE_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.PINE_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.PINE_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.PINE_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.PINE_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.RED_MAPLE_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.ORANGE_MAPLE_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.YELLOW_MAPLE_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.MAPLE_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.MAPLE_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_MAPLE_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_MAPLE_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.MAPLE_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.MAPLE_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.MAPLE_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.MAPLE_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.MAPLE_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.REDWOOD_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.REDWOOD_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.REDWOOD_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_REDWOOD_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_REDWOOD_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.REDWOOD_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.REDWOOD_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.REDWOOD_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.REDWOOD_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.REDWOOD_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.MAHOGANY_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.MAHOGANY_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.MAHOGANY_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_MAHOGANY_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_MAHOGANY_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.MAHOGANY_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.MAHOGANY_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.MAHOGANY_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.MAHOGANY_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.MAHOGANY_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.JACARANDA_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.JACARANDA_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.JACARANDA_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_JACARANDA_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_JACARANDA_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.JACARANDA_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.JACARANDA_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.JACARANDA_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.JACARANDA_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.JACARANDA_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.PALM_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.PALM_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.PALM_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_PALM_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_PALM_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.PALM_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.PALM_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.PALM_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.PALM_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.PALM_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.WILLOW_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.WILLOW_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.WILLOW_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_WILLOW_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_WILLOW_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.WILLOW_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.WILLOW_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.WILLOW_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.WILLOW_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.WILLOW_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.DEAD_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.DEAD_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.DEAD_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_DEAD_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_DEAD_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.DEAD_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.DEAD_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.DEAD_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.DEAD_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.DEAD_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.MAGIC_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.MAGIC_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.MAGIC_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_MAGIC_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_MAGIC_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.MAGIC_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.MAGIC_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.MAGIC_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.MAGIC_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.MAGIC_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.UMBRAN_LEAVES.get(), 30, 60); - registerFlammable(BOPBlocks.UMBRAN_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.UMBRAN_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_UMBRAN_LOG.get(), 5, 5); - registerFlammable(BOPBlocks.STRIPPED_UMBRAN_WOOD.get(), 5, 5); - registerFlammable(BOPBlocks.UMBRAN_PLANKS.get(), 5, 20); - registerFlammable(BOPBlocks.UMBRAN_SLAB.get(), 5, 20); - registerFlammable(BOPBlocks.UMBRAN_STAIRS.get(), 5, 20); - registerFlammable(BOPBlocks.UMBRAN_FENCE.get(), 5, 20); - registerFlammable(BOPBlocks.UMBRAN_FENCE_GATE.get(), 5, 20); - registerFlammable(BOPBlocks.ROSE.get(), 60, 100); - registerFlammable(BOPBlocks.VIOLET.get(), 60, 100); - registerFlammable(BOPBlocks.LAVENDER.get(), 60, 100); - registerFlammable(BOPBlocks.WILDFLOWER.get(), 60, 100); - registerFlammable(BOPBlocks.PINK_DAFFODIL.get(), 60, 100); - registerFlammable(BOPBlocks.PINK_HIBISCUS.get(), 60, 100); - registerFlammable(BOPBlocks.WHITE_PETALS.get(), 60, 100); - registerFlammable(BOPBlocks.GLOWFLOWER.get(), 60, 100); - registerFlammable(BOPBlocks.WILTED_LILY.get(), 60, 100); - registerFlammable(BOPBlocks.TALL_LAVENDER.get(), 60, 100); - registerFlammable(BOPBlocks.BLUE_HYDRANGEA.get(), 60, 100); - registerFlammable(BOPBlocks.GOLDENROD.get(), 60, 100); - registerFlammable(BOPBlocks.ICY_IRIS.get(), 60, 100); - registerFlammable(BOPBlocks.WILLOW_VINE.get(), 15, 100); - registerFlammable(BOPBlocks.SPANISH_MOSS.get(), 60, 100); - registerFlammable(BOPBlocks.SPANISH_MOSS_PLANT.get(), 60, 100); - registerFlammable(BOPBlocks.GLOWWORM_SILK.get(), 60, 100); - registerFlammable(BOPBlocks.GLOWWORM_SILK_STRAND.get(), 60, 100); - registerFlammable(BOPBlocks.HANGING_COBWEB.get(), 60, 100); - registerFlammable(BOPBlocks.HANGING_COBWEB_STRAND.get(), 60, 100); - registerFlammable(BOPBlocks.STRINGY_COBWEB.get(), 60, 100); - registerFlammable(BOPBlocks.WEBBING.get(), 60, 100); - registerFlammable(BOPBlocks.SPROUT.get(), 60, 100); - registerFlammable(BOPBlocks.BUSH.get(), 60, 100); - registerFlammable(BOPBlocks.HIGH_GRASS.get(), 60, 100); - registerFlammable(BOPBlocks.HIGH_GRASS_PLANT.get(), 60, 100); - registerFlammable(BOPBlocks.CLOVER.get(), 60, 100); - registerFlammable(BOPBlocks.HUGE_CLOVER_PETAL.get(), 60, 100); - registerFlammable(BOPBlocks.RED_MAPLE_LEAF_PILE.get(), 30, 60); - registerFlammable(BOPBlocks.ORANGE_MAPLE_LEAF_PILE.get(), 30, 60); - registerFlammable(BOPBlocks.YELLOW_MAPLE_LEAF_PILE.get(), 30, 60); - registerFlammable(BOPBlocks.DUNE_GRASS.get(), 60, 100); - registerFlammable(BOPBlocks.DESERT_GRASS.get(), 60, 100); - registerFlammable(BOPBlocks.DEAD_GRASS.get(), 60, 100); - registerFlammable(BOPBlocks.TUNDRA_SHRUB.get(), 60, 100); - registerFlammable(BOPBlocks.DEAD_BRANCH.get(), 60, 100); - registerFlammable(BOPBlocks.BARLEY.get(), 60, 100); + registerFlammable(BOPBlocks.ORIGIN_LEAVES, 30, 60); + registerFlammable(BOPBlocks.FLOWERING_OAK_LEAVES, 30, 60); + registerFlammable(BOPBlocks.SNOWBLOSSOM_LEAVES, 30, 60); + registerFlammable(BOPBlocks.RAINBOW_BIRCH_LEAVES, 30, 60); + registerFlammable(BOPBlocks.FIR_LEAVES, 30, 60); + registerFlammable(BOPBlocks.FIR_LOG, 5, 5); + registerFlammable(BOPBlocks.FIR_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_FIR_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_FIR_WOOD, 5, 5); + registerFlammable(BOPBlocks.FIR_PLANKS, 5, 20); + registerFlammable(BOPBlocks.FIR_SLAB, 5, 20); + registerFlammable(BOPBlocks.FIR_STAIRS, 5, 20); + registerFlammable(BOPBlocks.FIR_FENCE, 5, 20); + registerFlammable(BOPBlocks.FIR_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.PINE_LEAVES, 30, 60); + registerFlammable(BOPBlocks.PINE_LOG, 5, 5); + registerFlammable(BOPBlocks.PINE_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_PINE_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_PINE_WOOD, 5, 5); + registerFlammable(BOPBlocks.PINE_PLANKS, 5, 20); + registerFlammable(BOPBlocks.PINE_SLAB, 5, 20); + registerFlammable(BOPBlocks.PINE_STAIRS, 5, 20); + registerFlammable(BOPBlocks.PINE_FENCE, 5, 20); + registerFlammable(BOPBlocks.PINE_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.RED_MAPLE_LEAVES, 30, 60); + registerFlammable(BOPBlocks.ORANGE_MAPLE_LEAVES, 30, 60); + registerFlammable(BOPBlocks.YELLOW_MAPLE_LEAVES, 30, 60); + registerFlammable(BOPBlocks.MAPLE_LOG, 5, 5); + registerFlammable(BOPBlocks.MAPLE_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_MAPLE_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_MAPLE_WOOD, 5, 5); + registerFlammable(BOPBlocks.MAPLE_PLANKS, 5, 20); + registerFlammable(BOPBlocks.MAPLE_SLAB, 5, 20); + registerFlammable(BOPBlocks.MAPLE_STAIRS, 5, 20); + registerFlammable(BOPBlocks.MAPLE_FENCE, 5, 20); + registerFlammable(BOPBlocks.MAPLE_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.REDWOOD_LEAVES, 30, 60); + registerFlammable(BOPBlocks.REDWOOD_LOG, 5, 5); + registerFlammable(BOPBlocks.REDWOOD_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_REDWOOD_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_REDWOOD_WOOD, 5, 5); + registerFlammable(BOPBlocks.REDWOOD_PLANKS, 5, 20); + registerFlammable(BOPBlocks.REDWOOD_SLAB, 5, 20); + registerFlammable(BOPBlocks.REDWOOD_STAIRS, 5, 20); + registerFlammable(BOPBlocks.REDWOOD_FENCE, 5, 20); + registerFlammable(BOPBlocks.REDWOOD_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.MAHOGANY_LEAVES, 30, 60); + registerFlammable(BOPBlocks.MAHOGANY_LOG, 5, 5); + registerFlammable(BOPBlocks.MAHOGANY_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_MAHOGANY_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_MAHOGANY_WOOD, 5, 5); + registerFlammable(BOPBlocks.MAHOGANY_PLANKS, 5, 20); + registerFlammable(BOPBlocks.MAHOGANY_SLAB, 5, 20); + registerFlammable(BOPBlocks.MAHOGANY_STAIRS, 5, 20); + registerFlammable(BOPBlocks.MAHOGANY_FENCE, 5, 20); + registerFlammable(BOPBlocks.MAHOGANY_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.JACARANDA_LEAVES, 30, 60); + registerFlammable(BOPBlocks.JACARANDA_LOG, 5, 5); + registerFlammable(BOPBlocks.JACARANDA_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_JACARANDA_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_JACARANDA_WOOD, 5, 5); + registerFlammable(BOPBlocks.JACARANDA_PLANKS, 5, 20); + registerFlammable(BOPBlocks.JACARANDA_SLAB, 5, 20); + registerFlammable(BOPBlocks.JACARANDA_STAIRS, 5, 20); + registerFlammable(BOPBlocks.JACARANDA_FENCE, 5, 20); + registerFlammable(BOPBlocks.JACARANDA_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.PALM_LEAVES, 30, 60); + registerFlammable(BOPBlocks.PALM_LOG, 5, 5); + registerFlammable(BOPBlocks.PALM_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_PALM_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_PALM_WOOD, 5, 5); + registerFlammable(BOPBlocks.PALM_PLANKS, 5, 20); + registerFlammable(BOPBlocks.PALM_SLAB, 5, 20); + registerFlammable(BOPBlocks.PALM_STAIRS, 5, 20); + registerFlammable(BOPBlocks.PALM_FENCE, 5, 20); + registerFlammable(BOPBlocks.PALM_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.WILLOW_LEAVES, 30, 60); + registerFlammable(BOPBlocks.WILLOW_LOG, 5, 5); + registerFlammable(BOPBlocks.WILLOW_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_WILLOW_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_WILLOW_WOOD, 5, 5); + registerFlammable(BOPBlocks.WILLOW_PLANKS, 5, 20); + registerFlammable(BOPBlocks.WILLOW_SLAB, 5, 20); + registerFlammable(BOPBlocks.WILLOW_STAIRS, 5, 20); + registerFlammable(BOPBlocks.WILLOW_FENCE, 5, 20); + registerFlammable(BOPBlocks.WILLOW_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.DEAD_LEAVES, 30, 60); + registerFlammable(BOPBlocks.DEAD_LOG, 5, 5); + registerFlammable(BOPBlocks.DEAD_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_DEAD_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_DEAD_WOOD, 5, 5); + registerFlammable(BOPBlocks.DEAD_PLANKS, 5, 20); + registerFlammable(BOPBlocks.DEAD_SLAB, 5, 20); + registerFlammable(BOPBlocks.DEAD_STAIRS, 5, 20); + registerFlammable(BOPBlocks.DEAD_FENCE, 5, 20); + registerFlammable(BOPBlocks.DEAD_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.MAGIC_LEAVES, 30, 60); + registerFlammable(BOPBlocks.MAGIC_LOG, 5, 5); + registerFlammable(BOPBlocks.MAGIC_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_MAGIC_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_MAGIC_WOOD, 5, 5); + registerFlammable(BOPBlocks.MAGIC_PLANKS, 5, 20); + registerFlammable(BOPBlocks.MAGIC_SLAB, 5, 20); + registerFlammable(BOPBlocks.MAGIC_STAIRS, 5, 20); + registerFlammable(BOPBlocks.MAGIC_FENCE, 5, 20); + registerFlammable(BOPBlocks.MAGIC_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.UMBRAN_LEAVES, 30, 60); + registerFlammable(BOPBlocks.UMBRAN_LOG, 5, 5); + registerFlammable(BOPBlocks.UMBRAN_WOOD, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_UMBRAN_LOG, 5, 5); + registerFlammable(BOPBlocks.STRIPPED_UMBRAN_WOOD, 5, 5); + registerFlammable(BOPBlocks.UMBRAN_PLANKS, 5, 20); + registerFlammable(BOPBlocks.UMBRAN_SLAB, 5, 20); + registerFlammable(BOPBlocks.UMBRAN_STAIRS, 5, 20); + registerFlammable(BOPBlocks.UMBRAN_FENCE, 5, 20); + registerFlammable(BOPBlocks.UMBRAN_FENCE_GATE, 5, 20); + registerFlammable(BOPBlocks.ROSE, 60, 100); + registerFlammable(BOPBlocks.VIOLET, 60, 100); + registerFlammable(BOPBlocks.LAVENDER, 60, 100); + registerFlammable(BOPBlocks.WILDFLOWER, 60, 100); + registerFlammable(BOPBlocks.PINK_DAFFODIL, 60, 100); + registerFlammable(BOPBlocks.PINK_HIBISCUS, 60, 100); + registerFlammable(BOPBlocks.WHITE_PETALS, 60, 100); + registerFlammable(BOPBlocks.GLOWFLOWER, 60, 100); + registerFlammable(BOPBlocks.WILTED_LILY, 60, 100); + registerFlammable(BOPBlocks.TALL_LAVENDER, 60, 100); + registerFlammable(BOPBlocks.BLUE_HYDRANGEA, 60, 100); + registerFlammable(BOPBlocks.GOLDENROD, 60, 100); + registerFlammable(BOPBlocks.ICY_IRIS, 60, 100); + registerFlammable(BOPBlocks.WILLOW_VINE, 15, 100); + registerFlammable(BOPBlocks.SPANISH_MOSS, 60, 100); + registerFlammable(BOPBlocks.SPANISH_MOSS_PLANT, 60, 100); + registerFlammable(BOPBlocks.GLOWWORM_SILK, 60, 100); + registerFlammable(BOPBlocks.GLOWWORM_SILK_STRAND, 60, 100); + registerFlammable(BOPBlocks.HANGING_COBWEB, 60, 100); + registerFlammable(BOPBlocks.HANGING_COBWEB_STRAND, 60, 100); + registerFlammable(BOPBlocks.STRINGY_COBWEB, 60, 100); + registerFlammable(BOPBlocks.WEBBING, 60, 100); + registerFlammable(BOPBlocks.SPROUT, 60, 100); + registerFlammable(BOPBlocks.BUSH, 60, 100); + registerFlammable(BOPBlocks.HIGH_GRASS, 60, 100); + registerFlammable(BOPBlocks.HIGH_GRASS_PLANT, 60, 100); + registerFlammable(BOPBlocks.CLOVER, 60, 100); + registerFlammable(BOPBlocks.HUGE_CLOVER_PETAL, 60, 100); + registerFlammable(BOPBlocks.RED_MAPLE_LEAF_PILE, 30, 60); + registerFlammable(BOPBlocks.ORANGE_MAPLE_LEAF_PILE, 30, 60); + registerFlammable(BOPBlocks.YELLOW_MAPLE_LEAF_PILE, 30, 60); + registerFlammable(BOPBlocks.DUNE_GRASS, 60, 100); + registerFlammable(BOPBlocks.DESERT_GRASS, 60, 100); + registerFlammable(BOPBlocks.DEAD_GRASS, 60, 100); + registerFlammable(BOPBlocks.TUNDRA_SHRUB, 60, 100); + registerFlammable(BOPBlocks.DEAD_BRANCH, 60, 100); + registerFlammable(BOPBlocks.BARLEY, 60, 100); //Log Stripping - registerStrippable(BOPBlocks.FIR_LOG.get(), BOPBlocks.STRIPPED_FIR_LOG.get()); - registerStrippable(BOPBlocks.FIR_WOOD.get(), BOPBlocks.STRIPPED_FIR_WOOD.get()); - registerStrippable(BOPBlocks.PINE_LOG.get(), BOPBlocks.STRIPPED_PINE_LOG.get()); - registerStrippable(BOPBlocks.PINE_WOOD.get(), BOPBlocks.STRIPPED_PINE_WOOD.get()); - registerStrippable(BOPBlocks.MAPLE_LOG.get(), BOPBlocks.STRIPPED_MAPLE_LOG.get()); - registerStrippable(BOPBlocks.MAPLE_WOOD.get(), BOPBlocks.STRIPPED_MAPLE_WOOD.get()); - registerStrippable(BOPBlocks.REDWOOD_LOG.get(), BOPBlocks.STRIPPED_REDWOOD_LOG.get()); - registerStrippable(BOPBlocks.REDWOOD_WOOD.get(), BOPBlocks.STRIPPED_REDWOOD_WOOD.get()); - registerStrippable(BOPBlocks.MAHOGANY_LOG.get(), BOPBlocks.STRIPPED_MAHOGANY_LOG.get()); - registerStrippable(BOPBlocks.MAHOGANY_WOOD.get(), BOPBlocks.STRIPPED_MAHOGANY_WOOD.get()); - registerStrippable(BOPBlocks.JACARANDA_LOG.get(), BOPBlocks.STRIPPED_JACARANDA_LOG.get()); - registerStrippable(BOPBlocks.JACARANDA_WOOD.get(), BOPBlocks.STRIPPED_JACARANDA_WOOD.get()); - registerStrippable(BOPBlocks.PALM_LOG.get(), BOPBlocks.STRIPPED_PALM_LOG.get()); - registerStrippable(BOPBlocks.PALM_WOOD.get(), BOPBlocks.STRIPPED_PALM_WOOD.get()); - registerStrippable(BOPBlocks.WILLOW_LOG.get(), BOPBlocks.STRIPPED_WILLOW_LOG.get()); - registerStrippable(BOPBlocks.WILLOW_WOOD.get(), BOPBlocks.STRIPPED_WILLOW_WOOD.get()); - registerStrippable(BOPBlocks.DEAD_LOG.get(), BOPBlocks.STRIPPED_DEAD_LOG.get()); - registerStrippable(BOPBlocks.DEAD_WOOD.get(), BOPBlocks.STRIPPED_DEAD_WOOD.get()); - registerStrippable(BOPBlocks.MAGIC_LOG.get(), BOPBlocks.STRIPPED_MAGIC_LOG.get()); - registerStrippable(BOPBlocks.MAGIC_WOOD.get(), BOPBlocks.STRIPPED_MAGIC_WOOD.get()); - registerStrippable(BOPBlocks.UMBRAN_LOG.get(), BOPBlocks.STRIPPED_UMBRAN_LOG.get()); - registerStrippable(BOPBlocks.UMBRAN_WOOD.get(), BOPBlocks.STRIPPED_UMBRAN_WOOD.get()); - registerStrippable(BOPBlocks.HELLBARK_LOG.get(), BOPBlocks.STRIPPED_HELLBARK_LOG.get()); - registerStrippable(BOPBlocks.HELLBARK_WOOD.get(), BOPBlocks.STRIPPED_HELLBARK_WOOD.get()); + registerStrippable(BOPBlocks.FIR_LOG, BOPBlocks.STRIPPED_FIR_LOG); + registerStrippable(BOPBlocks.FIR_WOOD, BOPBlocks.STRIPPED_FIR_WOOD); + registerStrippable(BOPBlocks.PINE_LOG, BOPBlocks.STRIPPED_PINE_LOG); + registerStrippable(BOPBlocks.PINE_WOOD, BOPBlocks.STRIPPED_PINE_WOOD); + registerStrippable(BOPBlocks.MAPLE_LOG, BOPBlocks.STRIPPED_MAPLE_LOG); + registerStrippable(BOPBlocks.MAPLE_WOOD, BOPBlocks.STRIPPED_MAPLE_WOOD); + registerStrippable(BOPBlocks.REDWOOD_LOG, BOPBlocks.STRIPPED_REDWOOD_LOG); + registerStrippable(BOPBlocks.REDWOOD_WOOD, BOPBlocks.STRIPPED_REDWOOD_WOOD); + registerStrippable(BOPBlocks.MAHOGANY_LOG, BOPBlocks.STRIPPED_MAHOGANY_LOG); + registerStrippable(BOPBlocks.MAHOGANY_WOOD, BOPBlocks.STRIPPED_MAHOGANY_WOOD); + registerStrippable(BOPBlocks.JACARANDA_LOG, BOPBlocks.STRIPPED_JACARANDA_LOG); + registerStrippable(BOPBlocks.JACARANDA_WOOD, BOPBlocks.STRIPPED_JACARANDA_WOOD); + registerStrippable(BOPBlocks.PALM_LOG, BOPBlocks.STRIPPED_PALM_LOG); + registerStrippable(BOPBlocks.PALM_WOOD, BOPBlocks.STRIPPED_PALM_WOOD); + registerStrippable(BOPBlocks.WILLOW_LOG, BOPBlocks.STRIPPED_WILLOW_LOG); + registerStrippable(BOPBlocks.WILLOW_WOOD, BOPBlocks.STRIPPED_WILLOW_WOOD); + registerStrippable(BOPBlocks.DEAD_LOG, BOPBlocks.STRIPPED_DEAD_LOG); + registerStrippable(BOPBlocks.DEAD_WOOD, BOPBlocks.STRIPPED_DEAD_WOOD); + registerStrippable(BOPBlocks.MAGIC_LOG, BOPBlocks.STRIPPED_MAGIC_LOG); + registerStrippable(BOPBlocks.MAGIC_WOOD, BOPBlocks.STRIPPED_MAGIC_WOOD); + registerStrippable(BOPBlocks.UMBRAN_LOG, BOPBlocks.STRIPPED_UMBRAN_LOG); + registerStrippable(BOPBlocks.UMBRAN_WOOD, BOPBlocks.STRIPPED_UMBRAN_WOOD); + registerStrippable(BOPBlocks.HELLBARK_LOG, BOPBlocks.STRIPPED_HELLBARK_LOG); + registerStrippable(BOPBlocks.HELLBARK_WOOD, BOPBlocks.STRIPPED_HELLBARK_WOOD); // Flattening - registerFlattenable(BOPBlocks.ORIGIN_GRASS_BLOCK.get(), Blocks.DIRT_PATH.defaultBlockState()); + registerFlattenable(BOPBlocks.ORIGIN_GRASS_BLOCK, Blocks.DIRT_PATH.defaultBlockState()); //Compostable Blocks - registerCompostable(0.85F, BOPBlocks.GLOWSHROOM_BLOCK.get()); - registerCompostable(0.85F, BOPBlocks.TOADSTOOL_BLOCK.get()); + registerCompostable(0.85F, BOPBlocks.GLOWSHROOM_BLOCK); + registerCompostable(0.85F, BOPBlocks.TOADSTOOL_BLOCK); - registerCompostable(0.3F, BOPBlocks.ORIGIN_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.ORIGIN_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.FLOWERING_OAK_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.FLOWERING_OAK_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.SNOWBLOSSOM_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.SNOWBLOSSOM_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.RAINBOW_BIRCH_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.RAINBOW_BIRCH_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.FIR_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.FIR_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.PINE_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.PINE_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.RED_MAPLE_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.RED_MAPLE_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.ORANGE_MAPLE_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.ORANGE_MAPLE_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.YELLOW_MAPLE_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.YELLOW_MAPLE_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.REDWOOD_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.REDWOOD_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.MAHOGANY_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.MAHOGANY_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.JACARANDA_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.JACARANDA_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.PALM_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.PALM_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.WILLOW_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.WILLOW_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.DEAD_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.DEAD_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.MAGIC_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.MAGIC_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.UMBRAN_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.UMBRAN_LEAVES.get()); - registerCompostable(0.3F, BOPBlocks.HELLBARK_SAPLING.get()); - registerCompostable(0.3F, BOPBlocks.HELLBARK_LEAVES.get()); - registerCompostable(0.65F, BOPBlocks.GLOWING_MOSS_CARPET.get()); + registerCompostable(0.3F, BOPBlocks.ORIGIN_SAPLING); + registerCompostable(0.3F, BOPBlocks.ORIGIN_LEAVES); + registerCompostable(0.3F, BOPBlocks.FLOWERING_OAK_SAPLING); + registerCompostable(0.3F, BOPBlocks.FLOWERING_OAK_LEAVES); + registerCompostable(0.3F, BOPBlocks.SNOWBLOSSOM_SAPLING); + registerCompostable(0.3F, BOPBlocks.SNOWBLOSSOM_LEAVES); + registerCompostable(0.3F, BOPBlocks.RAINBOW_BIRCH_SAPLING); + registerCompostable(0.3F, BOPBlocks.RAINBOW_BIRCH_LEAVES); + registerCompostable(0.3F, BOPBlocks.FIR_SAPLING); + registerCompostable(0.3F, BOPBlocks.FIR_LEAVES); + registerCompostable(0.3F, BOPBlocks.PINE_SAPLING); + registerCompostable(0.3F, BOPBlocks.PINE_LEAVES); + registerCompostable(0.3F, BOPBlocks.RED_MAPLE_SAPLING); + registerCompostable(0.3F, BOPBlocks.RED_MAPLE_LEAVES); + registerCompostable(0.3F, BOPBlocks.ORANGE_MAPLE_SAPLING); + registerCompostable(0.3F, BOPBlocks.ORANGE_MAPLE_LEAVES); + registerCompostable(0.3F, BOPBlocks.YELLOW_MAPLE_SAPLING); + registerCompostable(0.3F, BOPBlocks.YELLOW_MAPLE_LEAVES); + registerCompostable(0.3F, BOPBlocks.REDWOOD_SAPLING); + registerCompostable(0.3F, BOPBlocks.REDWOOD_LEAVES); + registerCompostable(0.3F, BOPBlocks.MAHOGANY_SAPLING); + registerCompostable(0.3F, BOPBlocks.MAHOGANY_LEAVES); + registerCompostable(0.3F, BOPBlocks.JACARANDA_SAPLING); + registerCompostable(0.3F, BOPBlocks.JACARANDA_LEAVES); + registerCompostable(0.3F, BOPBlocks.PALM_SAPLING); + registerCompostable(0.3F, BOPBlocks.PALM_LEAVES); + registerCompostable(0.3F, BOPBlocks.WILLOW_SAPLING); + registerCompostable(0.3F, BOPBlocks.WILLOW_LEAVES); + registerCompostable(0.3F, BOPBlocks.DEAD_SAPLING); + registerCompostable(0.3F, BOPBlocks.DEAD_LEAVES); + registerCompostable(0.3F, BOPBlocks.MAGIC_SAPLING); + registerCompostable(0.3F, BOPBlocks.MAGIC_LEAVES); + registerCompostable(0.3F, BOPBlocks.UMBRAN_SAPLING); + registerCompostable(0.3F, BOPBlocks.UMBRAN_LEAVES); + registerCompostable(0.3F, BOPBlocks.HELLBARK_SAPLING); + registerCompostable(0.3F, BOPBlocks.HELLBARK_LEAVES); + registerCompostable(0.65F, BOPBlocks.GLOWING_MOSS_CARPET); - registerCompostable(0.65F, BOPBlocks.ROSE.get()); - registerCompostable(0.65F, BOPBlocks.VIOLET.get()); - registerCompostable(0.65F, BOPBlocks.LAVENDER.get()); - registerCompostable(0.65F, BOPBlocks.WILDFLOWER.get()); - registerCompostable(0.65F, BOPBlocks.ORANGE_COSMOS.get()); - registerCompostable(0.65F, BOPBlocks.PINK_DAFFODIL.get()); - registerCompostable(0.65F, BOPBlocks.PINK_HIBISCUS.get()); - registerCompostable(0.65F, BOPBlocks.WATERLILY.get()); - registerCompostable(0.3F, BOPBlocks.WHITE_PETALS.get()); - registerCompostable(0.65F, BOPBlocks.GLOWFLOWER.get()); - registerCompostable(0.65F, BOPBlocks.WILTED_LILY.get()); - registerCompostable(0.65F, BOPBlocks.BURNING_BLOSSOM.get()); + registerCompostable(0.65F, BOPBlocks.ROSE); + registerCompostable(0.65F, BOPBlocks.VIOLET); + registerCompostable(0.65F, BOPBlocks.LAVENDER); + registerCompostable(0.65F, BOPBlocks.WILDFLOWER); + registerCompostable(0.65F, BOPBlocks.ORANGE_COSMOS); + registerCompostable(0.65F, BOPBlocks.PINK_DAFFODIL); + registerCompostable(0.65F, BOPBlocks.PINK_HIBISCUS); + registerCompostable(0.65F, BOPBlocks.WATERLILY); + registerCompostable(0.3F, BOPBlocks.WHITE_PETALS); + registerCompostable(0.65F, BOPBlocks.GLOWFLOWER); + registerCompostable(0.65F, BOPBlocks.WILTED_LILY); + registerCompostable(0.65F, BOPBlocks.BURNING_BLOSSOM); - registerCompostable(0.65F, BOPBlocks.TALL_LAVENDER.get()); - registerCompostable(0.65F, BOPBlocks.BLUE_HYDRANGEA.get()); - registerCompostable(0.65F, BOPBlocks.GOLDENROD.get()); - registerCompostable(0.65F, BOPBlocks.ICY_IRIS.get()); + registerCompostable(0.65F, BOPBlocks.TALL_LAVENDER); + registerCompostable(0.65F, BOPBlocks.BLUE_HYDRANGEA); + registerCompostable(0.65F, BOPBlocks.GOLDENROD); + registerCompostable(0.65F, BOPBlocks.ICY_IRIS); - registerCompostable(0.5F, BOPBlocks.WILLOW_VINE.get()); - registerCompostable(0.5F, BOPBlocks.SPANISH_MOSS.get()); - registerCompostable(0.5F, BOPBlocks.SPANISH_MOSS_PLANT.get()); + registerCompostable(0.5F, BOPBlocks.WILLOW_VINE); + registerCompostable(0.5F, BOPBlocks.SPANISH_MOSS); + registerCompostable(0.5F, BOPBlocks.SPANISH_MOSS_PLANT); - registerCompostable(0.5F, BOPBlocks.SPROUT.get()); - registerCompostable(0.5F, BOPBlocks.BUSH.get()); - registerCompostable(0.5F, BOPBlocks.HIGH_GRASS.get()); - registerCompostable(0.5F, BOPBlocks.HIGH_GRASS_PLANT.get()); - registerCompostable(0.5F, BOPBlocks.CLOVER.get()); - registerCompostable(0.5F, BOPBlocks.HUGE_CLOVER_PETAL.get()); + registerCompostable(0.5F, BOPBlocks.SPROUT); + registerCompostable(0.5F, BOPBlocks.BUSH); + registerCompostable(0.5F, BOPBlocks.HIGH_GRASS); + registerCompostable(0.5F, BOPBlocks.HIGH_GRASS_PLANT); + registerCompostable(0.5F, BOPBlocks.CLOVER); + registerCompostable(0.5F, BOPBlocks.HUGE_CLOVER_PETAL); - registerCompostable(0.3F, BOPBlocks.RED_MAPLE_LEAF_PILE.get()); - registerCompostable(0.3F, BOPBlocks.ORANGE_MAPLE_LEAF_PILE.get()); - registerCompostable(0.3F, BOPBlocks.YELLOW_MAPLE_LEAF_PILE.get()); + registerCompostable(0.3F, BOPBlocks.RED_MAPLE_LEAF_PILE); + registerCompostable(0.3F, BOPBlocks.ORANGE_MAPLE_LEAF_PILE); + registerCompostable(0.3F, BOPBlocks.YELLOW_MAPLE_LEAF_PILE); - registerCompostable(0.5F, BOPBlocks.DUNE_GRASS.get()); - registerCompostable(0.5F, BOPBlocks.DESERT_GRASS.get()); - registerCompostable(0.5F, BOPBlocks.DEAD_GRASS.get()); - registerCompostable(0.5F, BOPBlocks.TUNDRA_SHRUB.get()); - registerCompostable(0.5F, BOPBlocks.CATTAIL.get()); - registerCompostable(0.5F, BOPBlocks.BARLEY.get()); - registerCompostable(0.5F, BOPBlocks.REED.get()); - registerCompostable(0.5F, BOPBlocks.WATERGRASS.get()); + registerCompostable(0.5F, BOPBlocks.DUNE_GRASS); + registerCompostable(0.5F, BOPBlocks.DESERT_GRASS); + registerCompostable(0.5F, BOPBlocks.DEAD_GRASS); + registerCompostable(0.5F, BOPBlocks.TUNDRA_SHRUB); + registerCompostable(0.5F, BOPBlocks.CATTAIL); + registerCompostable(0.5F, BOPBlocks.BARLEY); + registerCompostable(0.5F, BOPBlocks.REED); + registerCompostable(0.5F, BOPBlocks.WATERGRASS); - registerCompostable(0.3F, BOPBlocks.DEAD_BRANCH.get()); - registerCompostable(0.3F, BOPBlocks.BRAMBLE.get()); - registerCompostable(0.3F, BOPBlocks.BRAMBLE_LEAVES.get()); + registerCompostable(0.3F, BOPBlocks.DEAD_BRANCH); + registerCompostable(0.3F, BOPBlocks.BRAMBLE); + registerCompostable(0.3F, BOPBlocks.BRAMBLE_LEAVES); - registerCompostable(0.65F, BOPBlocks.TOADSTOOL.get()); - registerCompostable(0.65F, BOPBlocks.GLOWSHROOM.get()); - registerCompostable(0.65F, BOPBlocks.GLOWING_MOSS_BLOCK.get()); - registerCompostable(0.65F, BOPBlocks.HUGE_LILY_PAD.get()); + registerCompostable(0.65F, BOPBlocks.TOADSTOOL); + registerCompostable(0.65F, BOPBlocks.GLOWSHROOM); + registerCompostable(0.65F, BOPBlocks.GLOWING_MOSS_BLOCK); + registerCompostable(0.65F, BOPBlocks.HUGE_LILY_PAD); } public static void registerStrippable(Block log, Block stripped_log) { diff --git a/forge/src/main/java/biomesoplenty/forge/init/ModVillagerTrades.java b/forge/src/main/java/biomesoplenty/forge/init/ModVillagerTrades.java deleted file mode 100644 index 34c717ac87..0000000000 --- a/forge/src/main/java/biomesoplenty/forge/init/ModVillagerTrades.java +++ /dev/null @@ -1,167 +0,0 @@ -package biomesoplenty.forge.init; - -import biomesoplenty.forge.api.block.BOPBlocks; -import com.google.common.collect.ImmutableMap; -import it.unimi.dsi.fastutil.ints.Int2ObjectMap; -import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; -import net.minecraft.util.RandomSource; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.npc.VillagerTrades; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.trading.MerchantOffer; -import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.block.Block; -import net.minecraftforge.event.village.WandererTradesEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; - -@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE) -public class ModVillagerTrades -{ - @SubscribeEvent - public static void addWanderingVillagerTrades(WandererTradesEvent event) - { - //Cost, Amount, Trades Until Disabled, Villager XP - VillagerTrades.ItemListing[] WANDERING_TRADER_GENERIC = new VillagerTrades.ItemListing[]{ - new ItemsForEmeralds(BOPBlocks.FLOWERING_OAK_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.SNOWBLOSSOM_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.FIR_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.PINE_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.RED_MAPLE_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.ORANGE_MAPLE_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.YELLOW_MAPLE_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.REDWOOD_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.MAHOGANY_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.JACARANDA_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.PALM_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.WILLOW_SAPLING.get(), 5, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.DEAD_SAPLING.get(), 5, 1, 8, 1), - - new ItemsForEmeralds(BOPBlocks.VIOLET.get(), 1, 1, 12, 1), - new ItemsForEmeralds(BOPBlocks.LAVENDER.get(), 1, 1, 12, 1), - new ItemsForEmeralds(BOPBlocks.WILDFLOWER.get(), 1, 1, 12, 1), - new ItemsForEmeralds(BOPBlocks.ORANGE_COSMOS.get(), 1, 1, 12, 1), - new ItemsForEmeralds(BOPBlocks.PINK_DAFFODIL.get(), 1, 1, 12, 1), - new ItemsForEmeralds(BOPBlocks.PINK_HIBISCUS.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.WATERLILY.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.WILTED_LILY.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.TALL_LAVENDER.get(), 2, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.BLUE_HYDRANGEA.get(), 2, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.GOLDENROD.get(), 2, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.CLOVER.get(), 1, 1, 12, 1), - new ItemsForEmeralds(BOPBlocks.TOADSTOOL.get(), 1, 1, 12, 1), - new ItemsForEmeralds(BOPBlocks.GLOWSHROOM.get(), 2, 1, 6, 1), - new ItemsForEmeralds(BOPBlocks.GLOWING_MOSS_BLOCK.get(), 2, 2, 5, 1), - new ItemsForEmeralds(BOPBlocks.WILLOW_VINE.get(), 1, 1, 12, 1), - new ItemsForEmeralds(BOPBlocks.SPANISH_MOSS.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.HANGING_COBWEB.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.HIGH_GRASS.get(), 1, 1, 12, 1), - new ItemsForEmeralds(BOPBlocks.DUNE_GRASS.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.DESERT_GRASS.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.DEAD_GRASS.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.TUNDRA_SHRUB.get(), 1, 1, 8, 1), - - new ItemsForEmeralds(BOPBlocks.HUGE_CLOVER_PETAL.get(), 1, 1, 4, 1), - new ItemsForEmeralds(BOPBlocks.HUGE_LILY_PAD.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.CATTAIL.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.SEA_OATS.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.REED.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.WATERGRASS.get(), 1, 1, 8, 1), - new ItemsForEmeralds(BOPBlocks.TINY_CACTUS.get(), 1, 1, 8, 1), - - new ItemsForEmeralds(BOPBlocks.WHITE_SAND.get(), 1, 4, 6, 1), - new ItemsForEmeralds(BOPBlocks.ORANGE_SAND.get(), 1, 4, 6, 1), - new ItemsForEmeralds(BOPBlocks.BLACK_SAND.get(), 1, 4, 6, 1), - new ItemsForEmeralds(BOPBlocks.DRIED_SALT.get(), 1, 6, 8, 1), - new ItemsForEmeralds(BOPBlocks.THERMAL_CALCITE.get(), 1, 6, 8, 1) - }; - - VillagerTrades.ItemListing[] WANDERING_TRADER_RARE = new VillagerTrades.ItemListing[]{ - new ItemsForEmeralds(BOPBlocks.ORIGIN_SAPLING.get(), 5, 1, 4, 1), - new ItemsForEmeralds(BOPBlocks.RAINBOW_BIRCH_SAPLING.get(), 5, 1, 4, 1), - new ItemsForEmeralds(BOPBlocks.MAGIC_SAPLING.get(), 5, 1, 4, 1), - new ItemsForEmeralds(BOPBlocks.UMBRAN_SAPLING.get(), 5, 1, 4, 1), - new ItemsForEmeralds(BOPBlocks.HELLBARK_SAPLING.get(), 5, 1, 4, 1), - new ItemsForEmeralds(BOPBlocks.ORIGIN_GRASS_BLOCK.get(), 2, 1, 4, 1), - new ItemsForEmeralds(BOPBlocks.ROSE.get(), 1, 1, 6, 1), - new ItemsForEmeralds(BOPBlocks.GLOWFLOWER.get(), 1, 2, 5, 1), - new ItemsForEmeralds(BOPBlocks.BURNING_BLOSSOM.get(), 1, 1, 6, 1), - new ItemsForEmeralds(BOPBlocks.ICY_IRIS.get(), 2, 1, 4, 1), - new ItemsForEmeralds(BOPBlocks.GLOWWORM_SILK.get(), 6, 1, 2, 1), - new ItemsForEmeralds(BOPBlocks.SPIDER_EGG.get(), 6, 1, 1, 1)}; - - for (VillagerTrades.ItemListing trade : WANDERING_TRADER_GENERIC) - { - event.getGenericTrades().add(trade); - } - for (VillagerTrades.ItemListing trade : WANDERING_TRADER_RARE) - { - event.getRareTrades().add(trade); - } - } - - static class EmeraldForItems implements VillagerTrades.ItemListing { - private final Item item; - private final int cost; - private final int maxUses; - private final int villagerXp; - private final float priceMultiplier; - - public EmeraldForItems(ItemLike p_35657_, int p_35658_, int p_35659_, int p_35660_) { - this.item = p_35657_.asItem(); - this.cost = p_35658_; - this.maxUses = p_35659_; - this.villagerXp = p_35660_; - this.priceMultiplier = 0.05F; - } - - public MerchantOffer getOffer(Entity p_219682_, RandomSource p_219683_) { - ItemStack itemstack = new ItemStack(this.item, this.cost); - return new MerchantOffer(itemstack, new ItemStack(Items.EMERALD), this.maxUses, this.villagerXp, this.priceMultiplier); - } - } - - static class ItemsForEmeralds implements VillagerTrades.ItemListing { - private final ItemStack itemStack; - private final int emeraldCost; - private final int numberOfItems; - private final int maxUses; - private final int villagerXp; - private final float priceMultiplier; - - public ItemsForEmeralds(Block p_35765_, int p_35766_, int p_35767_, int p_35768_, int p_35769_) { - this(new ItemStack(p_35765_), p_35766_, p_35767_, p_35768_, p_35769_); - } - - public ItemsForEmeralds(Item p_35741_, int p_35742_, int p_35743_, int p_35744_) { - this(new ItemStack(p_35741_), p_35742_, p_35743_, 12, p_35744_); - } - - public ItemsForEmeralds(Item p_35746_, int p_35747_, int p_35748_, int p_35749_, int p_35750_) { - this(new ItemStack(p_35746_), p_35747_, p_35748_, p_35749_, p_35750_); - } - - public ItemsForEmeralds(ItemStack p_35752_, int p_35753_, int p_35754_, int p_35755_, int p_35756_) { - this(p_35752_, p_35753_, p_35754_, p_35755_, p_35756_, 0.05F); - } - - public ItemsForEmeralds(ItemStack p_35758_, int p_35759_, int p_35760_, int p_35761_, int p_35762_, float p_35763_) { - this.itemStack = p_35758_; - this.emeraldCost = p_35759_; - this.numberOfItems = p_35760_; - this.maxUses = p_35761_; - this.villagerXp = p_35762_; - this.priceMultiplier = p_35763_; - } - - public MerchantOffer getOffer(Entity p_219699_, RandomSource p_219700_) { - return new MerchantOffer(new ItemStack(Items.EMERALD, this.emeraldCost), new ItemStack(this.itemStack.getItem(), this.numberOfItems), this.maxUses, this.villagerXp, this.priceMultiplier); - } - } - - private static Int2ObjectMap toIntMap(ImmutableMap p_35631_) { - return new Int2ObjectOpenHashMap<>(p_35631_); - } -} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 32697a1b31..292888ebb0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -40,5 +40,5 @@ org.gradle.daemon=false # Dependencies nightconfig_version=3.6.7 -glitchcore_version=1.0.0.43 +glitchcore_version=1.0.0.44 terrablender_version=3.3.0.4 \ No newline at end of file diff --git a/neoforge/src/main/java/biomesoplenty/neoforge/core/BiomesOPlentyNeoForge.java b/neoforge/src/main/java/biomesoplenty/neoforge/core/BiomesOPlentyNeoForge.java new file mode 100644 index 0000000000..72318dfef5 --- /dev/null +++ b/neoforge/src/main/java/biomesoplenty/neoforge/core/BiomesOPlentyNeoForge.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright 2022, the Glitchfiend Team. + * All rights reserved. + ******************************************************************************/ + +package biomesoplenty.neoforge.core; + +import biomesoplenty.core.BiomesOPlenty; +import glitchcore.neoforge.GlitchCoreNeoForge; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; + +@Mod(value = BiomesOPlenty.MOD_ID) +public class BiomesOPlentyNeoForge +{ + public BiomesOPlentyNeoForge(IEventBus bus) + { + bus.addListener(this::commonSetup); + bus.addListener(this::clientSetup); + + BiomesOPlenty.init(); + GlitchCoreNeoForge.prepareModEventHandlers(bus); + } + + private void commonSetup(final FMLCommonSetupEvent event) + { + event.enqueueWork(() -> + { + BiomesOPlenty.setupTerraBlender(); + }); + } + + private void clientSetup(final FMLClientSetupEvent event) + { + event.enqueueWork(BiomesOPlenty::setupClient); + } +} diff --git a/neoforge/src/main/resources/META-INF/accesstransformer.cfg b/neoforge/src/main/resources/META-INF/accesstransformer.cfg index e69de29bb2..e52f7d142d 100644 --- a/neoforge/src/main/resources/META-INF/accesstransformer.cfg +++ b/neoforge/src/main/resources/META-INF/accesstransformer.cfg @@ -0,0 +1,32 @@ +# Items +public-f net.minecraft.world.item.AxeItem STRIPPABLES +public-f net.minecraft.world.item.HoeItem TILLABLES +public-f net.minecraft.world.item.ShovelItem FLATTENABLES + +# Blocks +public net.minecraft.world.level.block.Blocks log(Lnet/minecraft/world/level/material/MaterialColor;Lnet/minecraft/world/level/material/MaterialColor;)Lnet/minecraft/world/level/block/RotatedPillarBlock; +public net.minecraft.world.level.block.FireBlock setFlammable(Lnet/minecraft/world/level/block/Block;II)V +public net.minecraft.world.level.block.state.properties.BlockSetType register(Lnet/minecraft/world/level/block/state/properties/BlockSetType;)Lnet/minecraft/world/level/block/state/properties/BlockSetType; + +# Fluids +public-f net.minecraft.client.Camera level +public-f net.minecraft.client.Camera blockPosition +public net.minecraft.world.level.material.Material$Builder notSolidBlocking()Lnet/minecraft/world/level/material/Material$Builder; +public net.minecraft.world.level.material.Material$Builder destroyOnPush()Lnet/minecraft/world/level/material/Material$Builder; + +# Biomes +public net.minecraft.world.entity.npc.VillagerType BY_BIOME + +# Features +protected net.minecraft.world.level.levelgen.feature.TreeFeature doPlace(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/util/RandomSource;Lnet/minecraft/core/BlockPos;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;Lnet/minecraft/world/level/levelgen/feature/foliageplacers/FoliagePlacer$FoliageSetter;Lnet/minecraft/world/level/levelgen/feature/configurations/TreeConfiguration;)Z + +# Boats +public net.minecraft.world.entity.vehicle.Boat DATA_ID_TYPE +public net.minecraft.world.entity.vehicle.Boat lastYd +public net.minecraft.world.entity.vehicle.Boat status + +# WorldGenRegion +public net.minecraft.server.level.WorldGenRegion writeRadiusCutoff + +# DamageSources +public net.minecraft.world.damagesource.DamageSources *() \ No newline at end of file