diff --git a/build.gradle b/build.gradle index a8f42a6ff..174d8f4e8 100644 --- a/build.gradle +++ b/build.gradle @@ -17,6 +17,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' apply plugin: 'maven' apply plugin: 'eclipse' +apply plugin: 'idea' // define the properties file ext.configFile = file "build.properties" diff --git a/src/api/java/vazkii/botania/api/item/IHornHarvestable.java b/src/api/java/vazkii/botania/api/item/IHornHarvestable.java deleted file mode 100644 index 6a0128332..000000000 --- a/src/api/java/vazkii/botania/api/item/IHornHarvestable.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * This class was created by . It's distributed as - * part of the Botania Mod. Get the Source Code in github: - * https://github.com/Vazkii/Botania - * - * Botania is Open Source and distributed under the - * Botania License: http://botaniamod.net/license.php - * - * File Created @ [Oct 24, 2015, 11:16:00 PM (GMT)] - */ -package vazkii.botania.api.item; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -/** - * A Block that implements this can be uprooted by the various horns in Botania. - */ -public interface IHornHarvestable { - - /** - * Returns true if this block can be uprooted. - * Note that the stack param can be null if it's a drum breaking it. - */ - boolean canHornHarvest(World world, BlockPos pos, ItemStack stack, EnumHornType hornType); - - /** - * Returns true if harvestByHorn() should be called. If false it just uses the normal - * block breaking method. - * Note that the stack param can be null if it's a drum breaking it. - */ - boolean hasSpecialHornHarvest(World world, BlockPos pos, ItemStack stack, EnumHornType hornType); - - /** - * Called to harvest by a horn. - * Note that the stack param can be null if it's a drum breaking it. - */ - void harvestByHorn(World world, BlockPos pos, ItemStack stack, EnumHornType hornType); - - enum EnumHornType { - - /** - * Horn of the Wild, for grass and crops - */ - WILD, - - /** - * Horn of the Canopy, for leaves - */ - CANOPY, - - /** - * Horn of the Covering, for snow - */ - COVERING; - - public static EnumHornType getTypeForMeta(int meta) { - EnumHornType[] values = EnumHornType.values(); - return values[Math.min(values.length - 1, meta)]; - } - - } - -} diff --git a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java deleted file mode 100644 index b27ca1e83..000000000 --- a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java +++ /dev/null @@ -1,161 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.biome; - -import java.util.List; - -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; - -import net.minecraft.world.WorldType; -import net.minecraft.world.biome.Biome; - -public class BOPBiomes -{ - public static final IBiomeRegistry REG_INSTANCE = createRegistry(); - - /**A list of world types where BoP biome decoration does not occur**/ - public static List excludedDecoratedWorldTypes = Lists.newArrayList(); - - // normal biomes which have weights - public static Optional alps = Optional.absent(); - public static Optional bamboo_forest = Optional.absent(); - public static Optional bayou = Optional.absent(); - public static Optional bog = Optional.absent(); - public static Optional boreal_forest = Optional.absent(); - public static Optional brushland = Optional.absent(); - public static Optional chaparral = Optional.absent(); - public static Optional cherry_blossom_grove = Optional.absent(); - public static Optional cold_desert = Optional.absent(); - public static Optional coniferous_forest = Optional.absent(); - public static Optional crag = Optional.absent(); - public static Optional dead_forest = Optional.absent(); - public static Optional dead_swamp = Optional.absent(); - public static Optional eucalyptus_forest = Optional.absent(); - public static Optional fen = Optional.absent(); - public static Optional flower_field = Optional.absent(); - public static Optional grassland = Optional.absent(); - public static Optional grove = Optional.absent(); - public static Optional highland = Optional.absent(); - public static Optional land_of_lakes = Optional.absent(); - public static Optional lavender_fields = Optional.absent(); - public static Optional lush_desert = Optional.absent(); - public static Optional lush_swamp = Optional.absent(); - public static Optional mangrove = Optional.absent(); - public static Optional maple_woods = Optional.absent(); - public static Optional marsh = Optional.absent(); - public static Optional meadow = Optional.absent(); - public static Optional moor = Optional.absent(); - public static Optional mountain = Optional.absent(); - public static Optional mystic_grove = Optional.absent(); - public static Optional ominous_woods = Optional.absent(); - public static Optional orchard = Optional.absent(); - public static Optional outback = Optional.absent(); - public static Optional overgrown_cliffs = Optional.absent(); - public static Optional prairie = Optional.absent(); - public static Optional quagmire = Optional.absent(); - public static Optional rainforest = Optional.absent(); - public static Optional redwood_forest = Optional.absent(); - public static Optional sacred_springs = Optional.absent(); - public static Optional seasonal_forest = Optional.absent(); - public static Optional shield = Optional.absent(); - public static Optional shrubland = Optional.absent(); - public static Optional snowy_coniferous_forest = Optional.absent(); - public static Optional snowy_forest = Optional.absent(); - public static Optional steppe = Optional.absent(); - public static Optional temperate_rainforest = Optional.absent(); - public static Optional tropical_rainforest = Optional.absent(); - public static Optional tundra = Optional.absent(); - public static Optional wasteland = Optional.absent(); - public static Optional wetland = Optional.absent(); - public static Optional woodland = Optional.absent(); - public static Optional xeric_shrubland = Optional.absent(); - - // edge-biomes, sub-biomes and mutated-biomes - public static Optional alps_foothills = Optional.absent(); - public static Optional mountain_foothills = Optional.absent(); - public static Optional redwood_forest_edge = Optional.absent(); - public static Optional pasture = Optional.absent(); - public static Optional glacier = Optional.absent(); - public static Optional oasis = Optional.absent(); - public static Optional snowy_tundra = Optional.absent(); - public static Optional coral_reef = Optional.absent(); - public static Optional kelp_forest = Optional.absent(); - public static Optional origin_island = Optional.absent(); - public static Optional tropical_island = Optional.absent(); - public static Optional volcanic_island = Optional.absent(); - public static Optional flower_island = Optional.absent(); - public static Optional gravel_beach = Optional.absent(); - public static Optional white_beach = Optional.absent(); - public static Optional origin_beach = Optional.absent(); - - // nether biomes - public static Optional corrupted_sands = Optional.absent(); - public static Optional fungi_forest = Optional.absent(); - public static Optional phantasmagoric_inferno = Optional.absent(); - public static Optional undergarden = Optional.absent(); - public static Optional visceral_heap = Optional.absent(); - - //Biome extensions - public static IExtendedBiome end_extension; - public static IExtendedBiome mushroom_island_extension; - public static IExtendedBiome plains_extension; - public static IExtendedBiome flower_forest_extension; - public static IExtendedBiome forest_extension; - public static IExtendedBiome forest_hills_extension; - public static IExtendedBiome jungle_extension; - public static IExtendedBiome jungle_hills_extension; - public static IExtendedBiome desert_extension; - public static IExtendedBiome desert_hills_extension; - public static IExtendedBiome taiga_extension; - public static IExtendedBiome taiga_hills_extension; - public static IExtendedBiome mesa_extension; - public static IExtendedBiome mesa_plateau_extension; - public static IExtendedBiome ice_plains_extension; - public static IExtendedBiome ice_mountains_extension; - public static IExtendedBiome extreme_hills_extension; - public static IExtendedBiome extreme_hills_plus_extension; - public static IExtendedBiome swampland_extension; - public static IExtendedBiome birch_forest_extension; - public static IExtendedBiome birch_forest_hills_extension; - public static IExtendedBiome roofed_forest_extension; - public static IExtendedBiome savanna_extension; - public static IExtendedBiome savanna_plateau_extension; - public static IExtendedBiome ocean_extension; - public static IExtendedBiome cold_taiga_extension; - public static IExtendedBiome cold_taiga_hills_extension; - public static IExtendedBiome mega_taiga_extension; - public static IExtendedBiome mega_taiga_hills_extension; - public static IExtendedBiome hell_extension; - public static IExtendedBiome beach_extension; - - private static IBiomeRegistry createRegistry() - { - IBiomeRegistry instance = null; - - try - { - instance = (IBiomeRegistry)Class.forName("biomesoplenty.common.init.ModBiomes").newInstance(); - } - catch (Exception e) - { - e.printStackTrace(); - } - - return instance; - } - - public interface IBiomeRegistry - { - IExtendedBiome registerBiome(IExtendedBiome biome, String idName); - IExtendedBiome getExtendedBiome(Biome biome); - ImmutableSet getPresentBiomes(); - } -} diff --git a/src/main/java/biomesoplenty/api/biome/BiomeOwner.java b/src/main/java/biomesoplenty/api/biome/BiomeOwner.java deleted file mode 100644 index 74fcc62d5..000000000 --- a/src/main/java/biomesoplenty/api/biome/BiomeOwner.java +++ /dev/null @@ -1,14 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.biome; - -public enum BiomeOwner -{ - BIOMESOPLENTY, OTHER -} diff --git a/src/main/java/biomesoplenty/api/biome/IExtendedBiome.java b/src/main/java/biomesoplenty/api/biome/IExtendedBiome.java deleted file mode 100644 index 2c572d121..000000000 --- a/src/main/java/biomesoplenty/api/biome/IExtendedBiome.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.biome; - -import java.util.Map; - -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.api.generation.IGenerationManager; -import biomesoplenty.api.generation.IGenerator; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.biome.Biome; - -public interface IExtendedBiome -{ - void applySettings(IBOPWorldSettings settings); - void configure(IConfigObj conf); - - BiomeOwner getBiomeOwner(); - void addGenerator(String name, GeneratorStage stage, IGenerator generator); - IGenerationManager getGenerationManager(); - Map getWeightMap(); - void clearWeights(); - void addWeight(BOPClimates climate, int weight); - - ResourceLocation getBeachLocation(); - - /**Get the base biome associated with this extension**/ - Biome getBaseBiome(); - ResourceLocation getResourceLocation(); -} diff --git a/src/main/java/biomesoplenty/api/block/BOPBlocks.java b/src/main/java/biomesoplenty/api/block/BOPBlocks.java deleted file mode 100644 index ada3517b6..000000000 --- a/src/main/java/biomesoplenty/api/block/BOPBlocks.java +++ /dev/null @@ -1,159 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.block; - -import net.minecraft.block.Block; -import net.minecraftforge.fluids.Fluid; - -public class BOPBlocks -{ - public static Block bamboo_thatching; - public static Block ash_block; - public static Block white_sand; - public static Block bamboo; - public static Block coral; - public static Block seaweed; - public static Block gem_block; - public static Block gem_ore; - public static Block hive; - public static Block mushroom; - public static Block white_sandstone; - public static Block biome_block; - - public static Block blue_fire; - - public static Block flower_0; - public static Block flower_1; - public static Block log_0; - public static Block log_1; - public static Block log_2; - public static Block log_3; - public static Block log_4; - public static Block leaves_0; - public static Block leaves_1; - public static Block leaves_2; - public static Block leaves_3; - public static Block leaves_4; - public static Block leaves_5; - public static Block leaves_6; - public static Block sapling_0; - public static Block sapling_1; - public static Block sapling_2; - // TODO fruit tree leaves and saplings - public static Block planks_0; - public static Block wood_slab_0; - public static Block wood_slab_1; - public static Block double_wood_slab_0; - public static Block double_wood_slab_1; - public static Block sacred_oak_stairs; - public static Block cherry_stairs; - public static Block umbran_stairs; - public static Block fir_stairs; - public static Block ethereal_stairs; - public static Block magic_stairs; - public static Block mangrove_stairs; - public static Block palm_stairs; - public static Block redwood_stairs; - public static Block willow_stairs; - public static Block pine_stairs; - public static Block hellbark_stairs; - public static Block jacaranda_stairs; - public static Block mahogany_stairs; - public static Block ebony_stairs; - public static Block eucalyptus_stairs; - public static Block sacred_oak_fence; - public static Block cherry_fence; - public static Block umbran_fence; - public static Block fir_fence; - public static Block ethereal_fence; - public static Block magic_fence; - public static Block mangrove_fence; - public static Block palm_fence; - public static Block redwood_fence; - public static Block willow_fence; - public static Block pine_fence; - public static Block hellbark_fence; - public static Block jacaranda_fence; - public static Block mahogany_fence; - public static Block ebony_fence; - public static Block eucalyptus_fence; - public static Block sacred_oak_fence_gate; - public static Block cherry_fence_gate; - public static Block umbran_fence_gate; - public static Block fir_fence_gate; - public static Block ethereal_fence_gate; - public static Block magic_fence_gate; - public static Block mangrove_fence_gate; - public static Block palm_fence_gate; - public static Block redwood_fence_gate; - public static Block willow_fence_gate; - public static Block pine_fence_gate; - public static Block hellbark_fence_gate; - public static Block jacaranda_fence_gate; - public static Block mahogany_fence_gate; - public static Block ebony_fence_gate; - public static Block eucalyptus_fence_gate; - public static Block sacred_oak_door; - public static Block cherry_door; - public static Block umbran_door; - public static Block fir_door; - public static Block ethereal_door; - public static Block magic_door; - public static Block mangrove_door; - public static Block palm_door; - public static Block redwood_door; - public static Block willow_door; - public static Block pine_door; - public static Block hellbark_door; - public static Block jacaranda_door; - public static Block mahogany_door; - public static Block ebony_door; - public static Block eucalyptus_door; - - public static Block mud; - public static Block flesh; - public static Block grass; - public static Block grass_path; - public static Block waterlily; - public static Block dirt; - public static Block farmland_0; - public static Block farmland_1; - public static Block hard_ice; - public static Block dried_sand; - public static Block mud_brick_block; - public static Block crystal; - public static Block other_slab; - public static Block double_other_slab; - - public static Block mud_brick_stairs; - public static Block white_sandstone_stairs; - - public static Block ivy; - public static Block willow_vine; - - public static Block plant_0; - public static Block plant_1; - public static Block double_plant; - - public static Block bramble_plant; - - public static Block honey_block; - public static Block terrarium; - - public static Block sand; - public static Fluid sand_fluid; - public static Block honey; - public static Fluid honey_fluid; - public static Block blood; - public static Fluid blood_fluid; - public static Block poison; - public static Fluid poison_fluid; - public static Block hot_spring_water; - public static Fluid hot_spring_water_fluid; -} diff --git a/src/main/java/biomesoplenty/api/block/BlockQueries.java b/src/main/java/biomesoplenty/api/block/BlockQueries.java deleted file mode 100644 index ec75f1206..000000000 --- a/src/main/java/biomesoplenty/api/block/BlockQueries.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.block; - -public class BlockQueries -{ - public static IBlockPosQuery anything; - public static IBlockPosQuery nothing; - public static IBlockPosQuery hasWater; - public static IBlockPosQuery airAbove; - public static IBlockPosQuery airBelow; - public static IBlockPosQuery waterCovered; - public static IBlockPosQuery breakable; - public static IBlockPosQuery air; - public static IBlockPosQuery airOrLeaves; - public static IBlockPosQuery surfaceBlocks; - public static IBlockPosQuery groundBlocks; - public static IBlockPosQuery solid; - public static IBlockPosQuery replaceable; - - public static IBlockPosQuery fertile; - public static IBlockPosQuery fertileOrNetherrack; - public static IBlockPosQuery fertileOrSand; - public static IBlockPosQuery sustainsCave; - public static IBlockPosQuery sustainsNether; - public static IBlockPosQuery endish; - public static IBlockPosQuery hellish; - public static IBlockPosQuery litFertile; - public static IBlockPosQuery litBeach; - public static IBlockPosQuery litFertileWaterside; - public static IBlockPosQuery litSand; - public static IBlockPosQuery litDry; - public static IBlockPosQuery litDryWaterside; - public static IBlockPosQuery litFertileOrDry; - public static IBlockPosQuery spectralMoss; - public static IBlockPosQuery fertileSeaBed; - public static IBlockPosQuery underwater; - public static IBlockPosQuery suitableForReed; - public static IBlockPosQuery rootsCanDigThrough; -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/block/IBlockPosQuery.java b/src/main/java/biomesoplenty/api/block/IBlockPosQuery.java deleted file mode 100644 index fdcf00a12..000000000 --- a/src/main/java/biomesoplenty/api/block/IBlockPosQuery.java +++ /dev/null @@ -1,17 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.api.block; - -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -// for queries on a particular block position in the world -public interface IBlockPosQuery -{ - boolean matches(World world, BlockPos pos); -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/config/IBOPWorldSettings.java b/src/main/java/biomesoplenty/api/config/IBOPWorldSettings.java deleted file mode 100644 index bf047d373..000000000 --- a/src/main/java/biomesoplenty/api/config/IBOPWorldSettings.java +++ /dev/null @@ -1,19 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.api.config; - -public interface IBOPWorldSettings -{ - boolean isEnabled(GeneratorType type); - - enum GeneratorType - { - GEMS, POISON_IVY, BERRY_BUSHES, THORNS, QUICKSAND, LIQUID_POISON, HOT_SPRINGS, - NETHER_HIVES, END_FEATURES - } -} diff --git a/src/main/java/biomesoplenty/api/config/IConfigObj.java b/src/main/java/biomesoplenty/api/config/IConfigObj.java deleted file mode 100644 index 2257162c8..000000000 --- a/src/main/java/biomesoplenty/api/config/IConfigObj.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.api.config; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -import biomesoplenty.api.block.IBlockPosQuery; -import com.google.gson.JsonElement; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.ResourceLocation; - -public interface IConfigObj -{ - JsonElement serializeDefaults(); - void addMessage(String message); - void addMessage(String extraPrefix, String message); - List flushMessages(); - boolean isEmpty(); - boolean has(String name); - Set getKeys(); - - IConfigObj getObject(String name); - ArrayList getObjectArray(String name); - IConfigObj getObject(String name, boolean warnIfMissing); - ArrayList getObjectArray(String name, boolean warnIfMissing); - - // Use the methods below when you want to obtain a value from a config file, if it is present, but you have a default value to use if it isn't - // No warning messages will be logged using these methods if the value is missing - Boolean getBool(String name, Boolean defaultVal); - String getString(String name, String defaultVal); - Integer getInt(String name, Integer defaultVal); - Float getFloat(String name, Float defaultVal); - IBlockState getBlockState(String name, IBlockState defaultVal); - IBlockPosQuery getBlockPosQuery(String name, IBlockPosQuery defaultVal); - ResourceLocation getResourceLocation(String name, ResourceLocation defaultVal); - E getEnum(String name, E defaultVal, Class clazz); - - // Use the methods below when you want to obtain a value from a config file which SHOULD be present - // If the value is missing, a warning message is logged, and null is returned - Boolean getBool(String name); - String getString(String name); - Integer getInt(String name); - Float getFloat(String name); - IBlockState getBlockState(String name); - IBlockPosQuery getBlockPosQuery(String name); - ResourceLocation getResourceLocation(String name); - E getEnum(String name, Class clazz); - - // Use the methods below when you want to obtain an array of values from a config file, if it is present, but you have a default value to use if it isn't - // No warning messages will be logged using these methods if the value is missing - ArrayList getBoolArray(String name, ArrayList defaultVal); - ArrayList getStringArray(String name, ArrayList defaultVal); - ArrayList getIntArray(String name, ArrayList defaultVal); - ArrayList getFloatArray(String name, ArrayList defaultVal); - ArrayList getBlockStateArray(String name, ArrayList defaultVal); - ArrayList getBlockPosQueryArray(String name, ArrayList defaultVal); - ArrayList getResourceLocationArray(String name, ArrayList defaultVal); - ArrayList getEnumArray(String name, ArrayList defaultVal, Class clazz); - - // Use the methods below when you want to obtain an array of values from a config file which SHOULD be present - // If the value is missing, a warning message is logged, and null is returned - ArrayList getBoolArray(String name); - ArrayList getStringArray(String name); - ArrayList getIntArray(String name); - ArrayList getFloatArray(String name); - ArrayList getBlockStateArray(String name); - ArrayList getBlockPosQueryArray(String name); - ArrayList getResourceLocationArray(String name); - ArrayList getEnumArray(String name, Class clazz); - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/enums/BOPClimates.java b/src/main/java/biomesoplenty/api/enums/BOPClimates.java deleted file mode 100644 index 0dd21dbc6..000000000 --- a/src/main/java/biomesoplenty/api/enums/BOPClimates.java +++ /dev/null @@ -1,146 +0,0 @@ -package biomesoplenty.api.enums; - -import java.util.ArrayList; -import java.util.Iterator; - -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraftforge.common.BiomeManager.BiomeType; - -public enum BOPClimates { - - ICE_CAP (BiomeType.ICY), - TUNDRA (BiomeType.ICY), - BOREAL (BiomeType.COOL), - COLD_SWAMP (BiomeType.COOL), - WET_TEMPERATE (BiomeType.WARM), - DRY_TEMPERATE (BiomeType.WARM), - COOL_TEMPERATE (BiomeType.COOL), - WARM_TEMPERATE (BiomeType.WARM), - HOT_SWAMP (BiomeType.WARM), - TROPICAL (BiomeType.DESERT), - MEDITERANEAN (BiomeType.WARM), - SAVANNA (BiomeType.DESERT), - HOT_DESERT (BiomeType.DESERT), - WASTELAND (BiomeType.DESERT), - HELL (null); - - public final BiomeType biomeType; - private int totalBiomesWeight; - - private ArrayList landBiomes = new ArrayList(); - - BOPClimates(BiomeType biomeType) - { - this.biomeType = biomeType; - } - - public BOPClimates addBiome(int weight, Biome biome) - { - return this.addBiome(new WeightedBiomeEntry(weight, biome)); - } - - public BOPClimates addBiome(WeightedBiomeEntry biomeEntry) - { - this.totalBiomesWeight += biomeEntry.weight; - this.landBiomes.add(biomeEntry); - return this; - } - - public Biome getRandomBiome(BOPGenLayer layer) - { - int weight = layer.nextInt(this.totalBiomesWeight); - Iterator iterator = this.landBiomes.iterator(); - WeightedBiomeEntry item; - do - { - item = iterator.next(); - weight -= item.weight; - } - while (weight >= 0); - return item.biome; - } - - public Biome getRandomOceanBiome(BOPGenLayer layer, boolean deep) - { - return (deep ? Biomes.DEEP_OCEAN : Biomes.OCEAN); - } - - static - { - // set up vanilla biomes - - BOPClimates.ICE_CAP.addBiome(10,Biomes.ICE_PLAINS); - BOPClimates.TUNDRA.addBiome(10, Biomes.COLD_TAIGA).addBiome(10, Biomes.EXTREME_HILLS); - BOPClimates.BOREAL.addBiome(5, Biomes.REDWOOD_TAIGA).addBiome(5, Biomes.EXTREME_HILLS).addBiome(20, Biomes.TAIGA); - BOPClimates.COLD_SWAMP.addBiome(5, Biomes.SWAMPLAND); - BOPClimates.WET_TEMPERATE.addBiome(20, Biomes.ROOFED_FOREST).addBiome(5, Biomes.FOREST); - BOPClimates.DRY_TEMPERATE.addBiome(5, Biomes.PLAINS); - BOPClimates.COOL_TEMPERATE.addBiome(15, Biomes.FOREST).addBiome(10, Biomes.BIRCH_FOREST); - BOPClimates.WARM_TEMPERATE.addBiome(20, Biomes.PLAINS).addBiome(5, Biomes.BIRCH_FOREST); - BOPClimates.HOT_SWAMP.addBiome(5, Biomes.SWAMPLAND); - BOPClimates.TROPICAL.addBiome(15, Biomes.JUNGLE); - BOPClimates.MEDITERANEAN.addBiome(5, Biomes.PLAINS); - BOPClimates.SAVANNA.addBiome(20, Biomes.SAVANNA); - BOPClimates.HOT_DESERT.addBiome(30, Biomes.DESERT).addBiome(15, Biomes.MESA_CLEAR_ROCK); - BOPClimates.WASTELAND.addBiome(1, Biomes.DESERT); - BOPClimates.HELL.addBiome(30, Biomes.HELL); - } - - private static BOPClimates[] values = BOPClimates.values(); - - public static BOPClimates lookup(int i) {return values[i];} - - // map temperature and rainfall to climates - // temperature values from 0 (cold) to 8 (hot) and rainfall values from 0 (wet) to 11 (dry), index is (temperatureValue * 12) + rainfallValue - // we will contrive to make any combination equally likely, so the overall rarity of each climate is in proportion to the number of times it appears in the array - private static final BOPClimates[] climateMapping = new BOPClimates[] { - // 0 1 2 3 4 5 6 7 8 9 10 11 - TUNDRA, TUNDRA, TUNDRA, ICE_CAP, ICE_CAP, ICE_CAP, ICE_CAP, ICE_CAP, ICE_CAP, ICE_CAP, ICE_CAP, ICE_CAP, // 0 - BOREAL, BOREAL, BOREAL, TUNDRA, TUNDRA, TUNDRA, TUNDRA, TUNDRA, TUNDRA, TUNDRA, TUNDRA, TUNDRA, // 1 - COLD_SWAMP, COLD_SWAMP, COLD_SWAMP, BOREAL, BOREAL, BOREAL, BOREAL, BOREAL, BOREAL, BOREAL, BOREAL, BOREAL, // 2 - COLD_SWAMP, COLD_SWAMP, COLD_SWAMP, WET_TEMPERATE, COOL_TEMPERATE, COOL_TEMPERATE, COOL_TEMPERATE, COOL_TEMPERATE, COOL_TEMPERATE, DRY_TEMPERATE, DRY_TEMPERATE, DRY_TEMPERATE, // 3 - COLD_SWAMP, WET_TEMPERATE, WET_TEMPERATE, COOL_TEMPERATE, COOL_TEMPERATE, COOL_TEMPERATE, COOL_TEMPERATE, COOL_TEMPERATE, DRY_TEMPERATE, DRY_TEMPERATE, DRY_TEMPERATE, DRY_TEMPERATE, // 4 - WET_TEMPERATE, WET_TEMPERATE, WET_TEMPERATE, WARM_TEMPERATE, WARM_TEMPERATE, WARM_TEMPERATE, WARM_TEMPERATE, WARM_TEMPERATE, WARM_TEMPERATE, DRY_TEMPERATE, SAVANNA, SAVANNA, // 5 - HOT_SWAMP, HOT_SWAMP, HOT_SWAMP, WET_TEMPERATE, WARM_TEMPERATE, WARM_TEMPERATE, WARM_TEMPERATE, MEDITERANEAN, MEDITERANEAN, SAVANNA, HOT_DESERT, HOT_DESERT, // 6 - TROPICAL, TROPICAL, HOT_SWAMP, HOT_SWAMP, WET_TEMPERATE, WARM_TEMPERATE, MEDITERANEAN, MEDITERANEAN, SAVANNA, HOT_DESERT, HOT_DESERT, WASTELAND, // 7 - TROPICAL, TROPICAL, TROPICAL, HOT_SWAMP, HOT_SWAMP, MEDITERANEAN, MEDITERANEAN, SAVANNA, HOT_DESERT, HOT_DESERT, WASTELAND, WASTELAND // 8 - }; - - public static int[] getClimateMappingInts() - { - // 9 temperature values, 12 rainfall values, 12 * 9 = 108 - int[] out = new int[108]; - for (int i = 0; i < 108; i++) - { - out[i] = climateMapping[i].ordinal(); - } - return out; - } - - public static class WeightedBiomeEntry - { - public final int weight; - public final Biome biome; - - public WeightedBiomeEntry(int weight, Biome biome) - { - this.weight = weight; - this.biome = biome; - } - } - - // for debugging purposes - public static void printWeights() - { - for (BOPClimates climate : BOPClimates.values()) - { - for (WeightedBiomeEntry entry : climate.landBiomes) - { - System.out.println(climate.name()+" "+entry.biome.getBiomeName()+" "+entry.weight); - } - } - } - -} diff --git a/src/main/java/biomesoplenty/api/enums/BOPFlowers.java b/src/main/java/biomesoplenty/api/enums/BOPFlowers.java deleted file mode 100644 index 7c852ad81..000000000 --- a/src/main/java/biomesoplenty/api/enums/BOPFlowers.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.enums; - -import net.minecraft.util.IStringSerializable; - -public enum BOPFlowers implements IStringSerializable, IPagedVariants -{ - CLOVER, SWAMPFLOWER, DEATHBLOOM, GLOWFLOWER, BLUE_HYDRANGEA, ORANGE_COSMOS, PINK_DAFFODIL, WILDFLOWER, VIOLET, WHITE_ANEMONE, ENDERLOTUS, BROMELIAD, WILTED_LILY, PINK_HIBISCUS, LILY_OF_THE_VALLEY, BURNING_BLOSSOM, LAVENDER, GOLDENROD, BLUEBELLS, MINERS_DELIGHT, ICY_IRIS, ROSE; - - @Override - public String getName() { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/enums/BOPGems.java b/src/main/java/biomesoplenty/api/enums/BOPGems.java deleted file mode 100644 index 26b89af07..000000000 --- a/src/main/java/biomesoplenty/api/enums/BOPGems.java +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.enums; - -import net.minecraft.util.IStringSerializable; - -public enum BOPGems implements IStringSerializable -{ - AMETHYST, RUBY, PERIDOT, TOPAZ, TANZANITE, MALACHITE, SAPPHIRE, AMBER; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/enums/BOPPlants.java b/src/main/java/biomesoplenty/api/enums/BOPPlants.java deleted file mode 100644 index 146b62c0a..000000000 --- a/src/main/java/biomesoplenty/api/enums/BOPPlants.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.enums; - -import net.minecraft.util.IStringSerializable; - -public enum BOPPlants implements IStringSerializable, IPagedVariants -{ - - SHORTGRASS, MEDIUMGRASS, BUSH, SPROUT, POISONIVY, BERRYBUSH, SHRUB, WHEATGRASS, DAMPGRASS, KORU, CLOVERPATCH, LEAFPILE, DEADLEAFPILE, DEADGRASS, DESERTGRASS, DESERTSPROUTS, DUNEGRASS, SPECTRALFERN, THORN, WILDRICE, CATTAIL, RIVERCANE, TINYCACTUS, DEVILWEED, REED, ROOT, RAFFLESIA, BARLEY; - - @Override - public String getName() { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/enums/BOPTrees.java b/src/main/java/biomesoplenty/api/enums/BOPTrees.java deleted file mode 100644 index ca4aed50f..000000000 --- a/src/main/java/biomesoplenty/api/enums/BOPTrees.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.enums; - -import com.google.common.base.Predicate; - -import net.minecraft.util.IStringSerializable; - -public enum BOPTrees implements IStringSerializable, IPagedVariants -{ - - YELLOW_AUTUMN, ORANGE_AUTUMN, BAMBOO, MAGIC, UMBRAN, DEAD, FIR, ETHEREAL, ORIGIN, PINK_CHERRY, WHITE_CHERRY, MAPLE, HELLBARK, FLOWERING, JACARANDA, SACRED_OAK, MANGROVE, PALM, REDWOOD, WILLOW, PINE, MAHOGANY, EBONY, EUCALYPTUS, RED_BIG_FLOWER, YELLOW_BIG_FLOWER; - - @Override - public String getName() { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - - public boolean hasSapling() - { - switch(this) - { - case YELLOW_BIG_FLOWER: case RED_BIG_FLOWER: - return false; - default: - return true; - } - } - - public static Predicate withSaplings = new Predicate() - { - @Override - public boolean apply(BOPTrees tree) {return tree.hasSapling();} - }; -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/enums/BOPWoods.java b/src/main/java/biomesoplenty/api/enums/BOPWoods.java deleted file mode 100644 index 85f1df0cf..000000000 --- a/src/main/java/biomesoplenty/api/enums/BOPWoods.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.enums; - -import com.google.common.base.Predicate; - -import net.minecraft.util.IStringSerializable; - -public enum BOPWoods implements IStringSerializable, IPagedVariants -{ - - SACRED_OAK, CHERRY, UMBRAN, FIR, ETHEREAL, MAGIC, MANGROVE, PALM, REDWOOD, WILLOW, PINE, HELLBARK, JACARANDA, MAHOGANY, EBONY, EUCALYPTUS, GIANT_FLOWER, DEAD; - - @Override - public String getName() { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - public boolean hasPlanks() - { - switch (this) { - case GIANT_FLOWER: case DEAD: - return false; - default: - return true; - } - } - public boolean canMakeCharcoal() - { - switch (this) { - case GIANT_FLOWER: - return false; - default: - return true; - } - } - - public static Predicate withPlanks = new Predicate() - { - @Override - public boolean apply(BOPWoods wood) {return wood.hasPlanks();} - }; -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/enums/IPagedVariants.java b/src/main/java/biomesoplenty/api/enums/IPagedVariants.java deleted file mode 100644 index 09fea802d..000000000 --- a/src/main/java/biomesoplenty/api/enums/IPagedVariants.java +++ /dev/null @@ -1,5 +0,0 @@ -package biomesoplenty.api.enums; - -public interface IPagedVariants { - -} diff --git a/src/main/java/biomesoplenty/api/generation/BOPGenLayer.java b/src/main/java/biomesoplenty/api/generation/BOPGenLayer.java deleted file mode 100644 index a49a7750a..000000000 --- a/src/main/java/biomesoplenty/api/generation/BOPGenLayer.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.generation; -import net.minecraft.world.gen.layer.GenLayer; - -public abstract class BOPGenLayer extends GenLayer -{ - public BOPGenLayer(long seed) { - super(seed); - } - - // make nextInt public - @Override - public int nextInt(int a) - { - return super.nextInt(a); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/generation/BOPGeneratorBase.java b/src/main/java/biomesoplenty/api/generation/BOPGeneratorBase.java deleted file mode 100644 index 02dfe6747..000000000 --- a/src/main/java/biomesoplenty/api/generation/BOPGeneratorBase.java +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.generation; - -import java.util.Random; - -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; - -public abstract class BOPGeneratorBase extends WorldGenerator implements IGenerator -{ - protected final String identifier; - protected String name; - protected GeneratorStage stage; - protected float amountPerChunk; - - protected BOPGeneratorBase(float amountPerChunk) - { - this.identifier = Generators.registry.getIdentifier(this.getClass()); - - if (this.identifier == null) - { - throw new RuntimeException("The identifier for " + this.getClass().getCanonicalName() + " cannot be null!"); - } - - this.amountPerChunk = amountPerChunk; - } - - - protected static abstract class InnerBuilder, G extends BOPGeneratorBase> - { - protected T self() {return (T)this;} - protected float amountPerChunk; - public T amountPerChunk(float amountPerChunk) {this.amountPerChunk = amountPerChunk; return this.self();} - public abstract G create(); - } - - - @Override - public void setName(String name) - { - this.name = name; - } - - @Override - public void setStage(GeneratorStage stage) - { - this.stage = stage; - } - - @Override - public String getName() - { - return this.name; - } - - @Override - public GeneratorStage getStage() - { - return this.stage; - } - - @Override - public final String getIdentifier() - { - return this.identifier; - } - - public abstract BlockPos getScatterY(World world, Random random, int x, int z); - - public int getAmountToScatter(Random random) - { - int amount = MathHelper.floor(this.amountPerChunk); - float remainder = this.amountPerChunk - amount; - if (random.nextFloat() < remainder) {amount++;} - return amount; - } - - @Override - public void scatter(World world, Random random, BlockPos pos) - { - int amount = this.getAmountToScatter(random); - for (int i = 0; i < amount; i++) - { - int x = pos.getX() + random.nextInt(16) + 8; - int z = pos.getZ() + random.nextInt(16) + 8; - generate(world, random, this.getScatterY(world, random, x, z)); - } - } -} diff --git a/src/main/java/biomesoplenty/api/generation/GeneratorStage.java b/src/main/java/biomesoplenty/api/generation/GeneratorStage.java deleted file mode 100644 index 752da8012..000000000 --- a/src/main/java/biomesoplenty/api/generation/GeneratorStage.java +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.generation; - -import java.util.EnumMap; - -import com.google.common.collect.Maps; -import com.google.gson.annotations.SerializedName; - -import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate; - -public enum GeneratorStage -{ - @SerializedName("pre") - PRE(null), - @SerializedName("big_shroom") - BIG_SHROOM(Decorate.EventType.BIG_SHROOM), - @SerializedName("cactus") - CACTUS(Decorate.EventType.CACTUS), - @SerializedName("clay") - CLAY(Decorate.EventType.CLAY), - @SerializedName("dead_bush") - DEAD_BUSH(Decorate.EventType.DEAD_BUSH), - @SerializedName("desert_well") - DESERT_WELL(Decorate.EventType.DESERT_WELL), - @SerializedName("lilypad") - LILYPAD(Decorate.EventType.LILYPAD), - @SerializedName("flowers") - FLOWERS(Decorate.EventType.FLOWERS), - @SerializedName("fossil") - FOSSIL(Decorate.EventType.FOSSIL), - @SerializedName("grass") - GRASS(Decorate.EventType.GRASS), - @SerializedName("ice") - ICE(Decorate.EventType.ICE), - @SerializedName("lake_water") - LAKE_WATER(Decorate.EventType.LAKE_WATER), - @SerializedName("lake_lava") - LAKE_LAVA(Decorate.EventType.LAKE_LAVA), - @SerializedName("pumpkin") - PUMPKIN(Decorate.EventType.PUMPKIN), - @SerializedName("reed") - REED(Decorate.EventType.REED), - @SerializedName("rock") - ROCK(Decorate.EventType.ROCK), - @SerializedName("sand") - SAND(Decorate.EventType.SAND), - @SerializedName("sand_pass_2") - SAND_PASS2(Decorate.EventType.SAND_PASS2), - @SerializedName("shroom") - SHROOM(Decorate.EventType.SHROOM), - @SerializedName("tree") - TREE(Decorate.EventType.TREE), - @SerializedName("post") - POST(null), - @SerializedName("parent") - PARENT(null), - @SerializedName("ore_pre") - ORE_PRE(null), - @SerializedName("ore_post") - ORE_POST(null); - - private Decorate.EventType decorateType; - - GeneratorStage(Decorate.EventType decorateType) - { - this.decorateType = decorateType; - } - - public Decorate.EventType getDecorateType() - { - return this.decorateType; - } - - private static final EnumMap decorateTypeMapper = Maps.newEnumMap(Decorate.EventType.class); - static - { - decorateTypeMapper.put(Decorate.EventType.BIG_SHROOM, BIG_SHROOM); - decorateTypeMapper.put(Decorate.EventType.CACTUS, CACTUS); - decorateTypeMapper.put(Decorate.EventType.CLAY, CLAY); - decorateTypeMapper.put(Decorate.EventType.DEAD_BUSH, DEAD_BUSH); - decorateTypeMapper.put(Decorate.EventType.DESERT_WELL, DESERT_WELL); - decorateTypeMapper.put(Decorate.EventType.LILYPAD, LILYPAD); - decorateTypeMapper.put(Decorate.EventType.FLOWERS, FLOWERS); - decorateTypeMapper.put(Decorate.EventType.FOSSIL, FOSSIL); - decorateTypeMapper.put(Decorate.EventType.GRASS, GRASS); - decorateTypeMapper.put(Decorate.EventType.ICE, ICE); - decorateTypeMapper.put(Decorate.EventType.LAKE_WATER, LAKE_WATER); - decorateTypeMapper.put(Decorate.EventType.LAKE_LAVA, LAKE_LAVA); - decorateTypeMapper.put(Decorate.EventType.PUMPKIN, PUMPKIN); - decorateTypeMapper.put(Decorate.EventType.REED, REED); - decorateTypeMapper.put(Decorate.EventType.ROCK, ROCK); - decorateTypeMapper.put(Decorate.EventType.SAND, SAND); - decorateTypeMapper.put(Decorate.EventType.SAND_PASS2, SAND_PASS2); - decorateTypeMapper.put(Decorate.EventType.SHROOM, SHROOM); - decorateTypeMapper.put(Decorate.EventType.TREE, TREE); - } - - public static GeneratorStage mapDecorateType(Decorate.EventType decorateType) - { - //Somewhat of a hack, requires the ordering of our enum to be the same as the decorate event - return decorateType != Decorate.EventType.CUSTOM ? decorateTypeMapper.get(decorateType) : null; - } -} diff --git a/src/main/java/biomesoplenty/api/generation/Generators.java b/src/main/java/biomesoplenty/api/generation/Generators.java deleted file mode 100644 index 2fd103b13..000000000 --- a/src/main/java/biomesoplenty/api/generation/Generators.java +++ /dev/null @@ -1,18 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.api.generation; - -import net.minecraft.world.gen.layer.GenLayer; - -public class Generators -{ - public static IGeneratorRegistry registry; - - public static GenLayer biomeGenLayer; - public static GenLayer biomeIndexLayer; -} diff --git a/src/main/java/biomesoplenty/api/generation/IGenerationManager.java b/src/main/java/biomesoplenty/api/generation/IGenerationManager.java deleted file mode 100644 index 4037c1030..000000000 --- a/src/main/java/biomesoplenty/api/generation/IGenerationManager.java +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.api.generation; - -import com.google.common.collect.ImmutableCollection; - -import biomesoplenty.api.config.IConfigObj; - -public interface IGenerationManager -{ - void addGenerator(String name, GeneratorStage stage, IGenerator generator); - ImmutableCollection getGeneratorsForStage(GeneratorStage stage); - void removeGenerator(String name); - IGenerator getGenerator(String name); - void configure(IConfigObj conf); -} diff --git a/src/main/java/biomesoplenty/api/generation/IGenerator.java b/src/main/java/biomesoplenty/api/generation/IGenerator.java deleted file mode 100644 index 5ea697f25..000000000 --- a/src/main/java/biomesoplenty/api/generation/IGenerator.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.generation; - -import java.util.Random; - -import biomesoplenty.api.config.IConfigObj; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public interface IGenerator -{ - void scatter(World world, Random random, BlockPos pos); - boolean generate(World world, Random random, BlockPos pos); - - void setStage(GeneratorStage stage); - void setName(String name); - - /** - * A unique name used to classify the purpose of a generator. For example, emeralds and ruby use the - * same generator (and thus, have the same identifier) but have differing names. - */ - String getName(); - /**The identifier for this generator should be consistent across all instances of the same type*/ - String getIdentifier(); - GeneratorStage getStage(); - - interface IGeneratorBuilder - { - T create(); - } - - void configure(IConfigObj conf); -} diff --git a/src/main/java/biomesoplenty/api/generation/IGeneratorRegistry.java b/src/main/java/biomesoplenty/api/generation/IGeneratorRegistry.java deleted file mode 100644 index 7c9bed999..000000000 --- a/src/main/java/biomesoplenty/api/generation/IGeneratorRegistry.java +++ /dev/null @@ -1,20 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.api.generation; - -import biomesoplenty.api.config.IConfigObj; - -public interface IGeneratorRegistry -{ - void registerGenerator(String identifier, Class generatorClass, IGenerator.IGeneratorBuilder builder); - String getIdentifier(Class generatorClass); - Class getGeneratorClass(String identifier); - IGenerator.IGeneratorBuilder getGeneratorBuilder(String identifier); - boolean generatorExists(String identifier); - IGenerator createGenerator(IConfigObj conf); -} diff --git a/src/main/java/biomesoplenty/api/item/BOPItems.java b/src/main/java/biomesoplenty/api/item/BOPItems.java deleted file mode 100644 index c015c5740..000000000 --- a/src/main/java/biomesoplenty/api/item/BOPItems.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.item; - -import net.minecraft.item.Item; - -public class BOPItems -{ - - public static Item berries; - public static Item shroompowder; - public static Item peach; - public static Item earth; - public static Item persimmon; - public static Item filled_honeycomb; - public static Item pear; - public static Item ricebowl; - - public static Item fleshchunk; - public static Item mudball; - public static Item crystal_shard; - public static Item terrestrial_artifact; - public static Item honeycomb; - public static Item gem; - public static Item ash; - public static Item mud_brick; - public static Item blue_dye; - public static Item brown_dye; - public static Item green_dye; - public static Item white_dye; - public static Item black_dye; - public static Item other_slab; - - public static Item boat_sacred_oak; - public static Item boat_cherry; - public static Item boat_umbran; - public static Item boat_fir; - public static Item boat_ethereal; - public static Item boat_magic; - public static Item boat_mangrove; - public static Item boat_palm; - public static Item boat_redwood; - public static Item boat_willow; - public static Item boat_pine; - public static Item boat_hellbark; - public static Item boat_jacaranda; - public static Item boat_mahogany; - public static Item boat_ebony; - public static Item boat_eucalyptus; - - public static Item sacred_oak_door; - public static Item cherry_door; - public static Item umbran_door; - public static Item fir_door; - public static Item ethereal_door; - public static Item magic_door; - public static Item mangrove_door; - public static Item palm_door; - public static Item redwood_door; - public static Item willow_door; - public static Item pine_door; - public static Item hellbark_door; - public static Item jacaranda_door; - public static Item mahogany_door; - public static Item ebony_door; - public static Item eucalyptus_door; - - public static Item wood_slab_0; - public static Item wood_slab_1; - - public static Item biome_finder; - public static Item biome_essence; - public static Item jar_empty; - public static Item jar_filled; - - public static Item record_wanderer; - - // TODO: public static Item ancientStaff; - // TODO: public static Item bop_bucket; - - -} diff --git a/src/main/java/biomesoplenty/api/particle/BOPParticleTypes.java b/src/main/java/biomesoplenty/api/particle/BOPParticleTypes.java deleted file mode 100644 index d513fc05e..000000000 --- a/src/main/java/biomesoplenty/api/particle/BOPParticleTypes.java +++ /dev/null @@ -1,6 +0,0 @@ -package biomesoplenty.api.particle; - -public enum BOPParticleTypes -{ - MUD, PLAYER_TRAIL, CURSE -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/potion/BOPPotions.java b/src/main/java/biomesoplenty/api/potion/BOPPotions.java deleted file mode 100644 index 0c59905d7..000000000 --- a/src/main/java/biomesoplenty/api/potion/BOPPotions.java +++ /dev/null @@ -1,16 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.api.potion; - -import net.minecraft.potion.Potion; - -public class BOPPotions -{ - public static Potion curse; -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/api/sound/BOPSounds.java b/src/main/java/biomesoplenty/api/sound/BOPSounds.java deleted file mode 100644 index 3dd2a517e..000000000 --- a/src/main/java/biomesoplenty/api/sound/BOPSounds.java +++ /dev/null @@ -1,17 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.api.sound; - -import net.minecraft.util.SoundEvent; - -public class BOPSounds -{ - public static SoundEvent wasp_ambient; - public static SoundEvent wasp_hurt; - public static SoundEvent records_wanderer; -} diff --git a/src/main/java/biomesoplenty/client/gui/GuiBOPConfigureWorld.class b/src/main/java/biomesoplenty/client/gui/GuiBOPConfigureWorld.class deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/main/java/biomesoplenty/client/gui/GuiBOPConfigureWorld.java b/src/main/java/biomesoplenty/client/gui/GuiBOPConfigureWorld.java deleted file mode 100644 index 54e196c98..000000000 --- a/src/main/java/biomesoplenty/client/gui/GuiBOPConfigureWorld.java +++ /dev/null @@ -1,641 +0,0 @@ -package biomesoplenty.client.gui; - -import java.io.IOException; - -import com.google.common.base.Predicate; -import com.google.common.primitives.Floats; - -import biomesoplenty.common.world.BOPWorldSettings; -import biomesoplenty.common.world.BOPWorldSettings.BiomeSize; -import biomesoplenty.common.world.BOPWorldSettings.LandMassScheme; -import biomesoplenty.common.world.BOPWorldSettings.RainfallVariationScheme; -import biomesoplenty.common.world.BOPWorldSettings.TemperatureVariationScheme; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.client.gui.GuiCreateWorld; -import net.minecraft.client.gui.GuiListButton; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.gui.GuiSlider; -import net.minecraft.client.gui.GuiTextField; -import net.minecraft.client.renderer.BufferBuilder; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.client.resources.I18n; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatHelper, GuiBOPPageList.GuiResponder -{ - private GuiCreateWorld parentScreen; - - protected String screenTitle = "Customize World Settings"; - protected String pageInfo = "Page 1 of 3"; - protected String page0Title = "Basic Settings"; - protected String[] pageNames; - - private GuiBOPPageManager pageManager; - - //Navigation buttons, required on all pages - private GuiButton doneButton; - private GuiButton defaultsButton; - private GuiButton prevButton; - private GuiButton nextButton; - private GuiButton yesButton; - private GuiButton noButton; - - private int modalAction = 0; - private boolean field_175340_C = false; - private Predicate validFloatPredicate = new Predicate() - { - public boolean tryParseValidFloat(String p_178956_1_) - { - Float f = Floats.tryParse(p_178956_1_); - return p_178956_1_.length() == 0 || f != null && Floats.isFinite(f.floatValue()) && f.floatValue() >= 0.0F; - } - @Override - public boolean apply(Object p_apply_1_) - { - return this.tryParseValidFloat((String)p_apply_1_); - } - }; - - private BOPWorldSettings settings; - - - public GuiBOPConfigureWorld(GuiScreen parentScreen, String settingsStringIn) - { - this.parentScreen = (GuiCreateWorld)parentScreen; - - if (settingsStringIn.isEmpty()) - { - this.settings = new BOPWorldSettings(); - } else { - this.settings = new BOPWorldSettings(settingsStringIn); - } - } - - private enum Actions - { - PREVIOUS (301), - NEXT (302), - DEFAULTS (303), - DONE (304), - YES (305), - NO (306); - - private int id; - - Actions(int id) - { - this.id = id; - } - public int getId() - { - return this.id; - } - - public static Actions fromId(int id) - { - for (Actions action : Actions.values()) - { - if (action.id == id) - { - return action; - } - } - return null; - } - } - - @Override - public void initGui() - { - this.screenTitle = I18n.format("options.customizeTitle"); - - this.buttonList.clear(); - this.buttonList.add(this.prevButton = new GuiButton(Actions.PREVIOUS.getId(), 20, 5, 80, 20, I18n.format("createWorld.customize.custom.prev"))); - this.buttonList.add(this.nextButton = new GuiButton(Actions.NEXT.getId(), this.width - 100, 5, 80, 20, I18n.format("createWorld.customize.custom.next"))); - this.buttonList.add(this.defaultsButton = new GuiButton(Actions.DEFAULTS.getId(), this.width / 2 - 187, this.height - 27, 90, 20, I18n.format("createWorld.customize.custom.defaults"))); - this.buttonList.add(this.doneButton = new GuiButton(Actions.DONE.getId(), this.width / 2 + 98, this.height - 27, 90, 20, I18n.format("gui.done"))); - - this.yesButton = new GuiButton(Actions.YES.getId(), this.width / 2 - 55, 160, 50, 20, I18n.format("gui.yes")); - this.yesButton.visible = false; - this.buttonList.add(this.yesButton); - - this.noButton = new GuiButton(Actions.NO.getId(), this.width / 2 + 5, 160, 50, 20, I18n.format("gui.no")); - this.noButton.visible = false; - this.buttonList.add(this.noButton); - - this.setupPages(); - - } - - @Override - public void handleMouseInput() throws IOException - { - super.handleMouseInput(); - this.pageManager.getActivePage().handleMouseInput(); - } - - @Override - protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException - { - super.mouseClicked(mouseX, mouseY, mouseButton); - - if (this.modalAction == 0 && !this.field_175340_C) - { - this.pageManager.getActivePage().mouseClicked(mouseX, mouseY, mouseButton); - } - } - - @Override - protected void mouseReleased(int mouseX, int mouseY, int state) - { - super.mouseReleased(mouseX, mouseY, state); - - if (this.field_175340_C) - { - this.field_175340_C = false; - } - else if (this.modalAction == 0) - { - this.pageManager.getActivePage().mouseReleased(mouseX, mouseY, state); - } - } - - - private enum GuiEntries - { - TEMP_SCHEME (101), - GENERATE_BOP_GEMS (102), - AMPLITUDE (104), - BIOME_SIZE (105), - LAND_SCHEME (106), - RAIN_SCHEME (107), - GENERATE_POISON_IVY (117), - GENERATE_BERRY_BUSHES (119), - GENERATE_THORNS (120), - GENERATE_QUICKSAND (121), - GENERATE_LIQUID_POISON (122), - GENERATE_HOT_SPRINGS (123), - GENERATE_NETHER_HIVES (124), - GENERATE_END_FEATURES (126), - MAIN_NOISE_SCALE_X (127), - MAIN_NOISE_SCALE_Y (128), - MAIN_NOISE_SCALE_Z (129), - COORDINATE_SCALE (130), - HEIGHT_SCALE (131), - UPPER_LIMIT_SCALE (132), - LOWER_LIMIT_SCALE (133); - - private int id; - - GuiEntries(int id) - { - this.id = id; - } - public int getId() - { - return this.id; - } - - public static GuiEntries fromId(int id) - { - for (GuiEntries entry : GuiEntries.values()) - { - if (entry.id == id) - { - return entry; - } - } - return null; - } - } - - - private void setupPages() - { - this.pageNames = new String[3]; - - this.pageNames[0] = "World Settings"; - GuiBOPPageList.GuiFieldEntry[] page0Fields = new GuiBOPPageList.GuiFieldEntry[] { - new GuiBOPPageList.GuiEnumButtonEntry(GuiEntries.BIOME_SIZE.getId(), "Biome Size: %s", true, this.settings.biomeSize), - new GuiBOPPageList.GuiEnumButtonEntry(GuiEntries.LAND_SCHEME.getId(), "Land Mass: %s", true, this.settings.landScheme), - new GuiBOPPageList.GuiEnumButtonEntry(GuiEntries.TEMP_SCHEME.getId(), "Temperature: %s", true, this.settings.tempScheme), - new GuiBOPPageList.GuiEnumButtonEntry(GuiEntries.RAIN_SCHEME.getId(), "Rainfall: %s", true, this.settings.rainScheme), - new GuiBOPPageList.GuiSlideEntry(GuiEntries.AMPLITUDE.getId(), "Amplitude", true, this, 0.2F, 3.0F, this.settings.amplitude), - new GuiBOPPageList.GuiSlideEntry(GuiEntries.MAIN_NOISE_SCALE_X.getId(), "Main Noise Scale X", true, this, 1.0F, 5000.0F, this.settings.mainNoiseScaleX), - new GuiBOPPageList.GuiSlideEntry(GuiEntries.MAIN_NOISE_SCALE_Y.getId(), "Main Noise Scale Y", true, this, 1.0F, 5000.0F, this.settings.mainNoiseScaleY), - new GuiBOPPageList.GuiSlideEntry(GuiEntries.MAIN_NOISE_SCALE_Z.getId(), "Main Noise Scale Z", true, this, 1.0F, 5000.0F, this.settings.mainNoiseScaleZ), - new GuiBOPPageList.GuiSlideEntry(GuiEntries.COORDINATE_SCALE.getId(), "Coordinate Scale", true, this, 1.0F, 6000.0F, this.settings.coordinateScale), - new GuiBOPPageList.GuiSlideEntry(GuiEntries.HEIGHT_SCALE.getId(), "Height Scale", true, this, 1.0F, 6000.0F, this.settings.heightScale), - new GuiBOPPageList.GuiSlideEntry(GuiEntries.UPPER_LIMIT_SCALE.getId(), "Upper Limit Scale", true, this, 1.0F, 5000.0F, this.settings.upperLimitScale), - new GuiBOPPageList.GuiSlideEntry(GuiEntries.LOWER_LIMIT_SCALE.getId(), "Lower Limit Scale", true, this, 1.0F, 5000.0F, this.settings.lowerLimitScale), - }; - - this.pageNames[1] = "Biome Settings"; - GuiBOPPageList.GuiFieldEntry[] page1Fields = new GuiBOPPageList.GuiFieldEntry[] { - - }; - - this.pageNames[2] = "Feature Generation Settings"; - GuiBOPPageList.GuiFieldEntry[] page2Fields = new GuiBOPPageList.GuiFieldEntry[] { - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_BOP_GEMS.getId(), "BOP Gems", true, this.settings.generateBopGems), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_POISON_IVY.getId(), "Poison Ivy", true, this.settings.generatePoisonIvy), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_BERRY_BUSHES.getId(), "Berry Bushes", true, this.settings.generateBerryBushes), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_THORNS.getId(), "Thorns", true, this.settings.generateThorns), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_QUICKSAND.getId(), "Quicksand", true, this.settings.generateQuicksand), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_LIQUID_POISON.getId(), "Liquid Poison Pools", true, this.settings.generateLiquidPoison), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_HOT_SPRINGS.getId(), "Hot Spring Pools", true, this.settings.generateHotSprings), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_NETHER_HIVES.getId(), "Nether Hives", true, this.settings.generateNetherHives), - new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_END_FEATURES.getId(), "End Features", true, this.settings.generateEndFeatures) - }; - - this.pageManager = new GuiBOPPageManager(createTableForFields(page0Fields, page1Fields, page2Fields)); - this.pageManager.setup(); - - this.showNewPage(); - } - - private GuiBOPPageTable[] createTableForFields(GuiBOPPageList.GuiFieldEntry[]... fieldGroup) - { - GuiBOPPageTable[] output = new GuiBOPPageTable[fieldGroup.length]; - - for (int i = 0; i < fieldGroup.length; i++) - { - GuiBOPPageList.GuiFieldEntry[] fields = fieldGroup[i]; - output[i] = new GuiBOPPageTable(this.width, this.height, 32, this.height - 32, 25, i, this, fields); - } - - return output; - } - - public String serialize() - { - return this.settings.toString().replace("\n", ""); - } - - - - @Override - public String getText(int id, String name, float value) - { - return name + ": " + this.stringFormatFloat(id, value); - } - - private String stringFormatFloat(int fieldId, float value) - { - GuiEntries entry = GuiEntries.fromId(fieldId); - if (entry == null) {return "";} - - switch (entry) - { - case AMPLITUDE: - case MAIN_NOISE_SCALE_X: - case MAIN_NOISE_SCALE_Y: - case MAIN_NOISE_SCALE_Z: - case COORDINATE_SCALE: - case HEIGHT_SCALE: - case UPPER_LIMIT_SCALE: - case LOWER_LIMIT_SCALE: - return String.format("%5.3f", Float.valueOf(value)); - default: - return ""; - } - } - - - - - @Override - public void handleEnumSelection(int fieldId, int ordinal) - { - GuiEntries entry = GuiEntries.fromId(fieldId); - if (entry == null) {return;} - - switch (entry) - { - case LAND_SCHEME: - LandMassScheme[] land_values = LandMassScheme.values(); - this.settings.landScheme = land_values[ordinal % land_values.length]; - break; - case TEMP_SCHEME: - TemperatureVariationScheme[] temp_values = TemperatureVariationScheme.values(); - this.settings.tempScheme = temp_values[ordinal % temp_values.length]; - break; - case RAIN_SCHEME: - RainfallVariationScheme[] rain_values = RainfallVariationScheme.values(); - this.settings.rainScheme = rain_values[ordinal % rain_values.length]; - break; - case BIOME_SIZE: - BiomeSize[] size_values = BiomeSize.values(); - this.settings.biomeSize = size_values[ordinal % size_values.length]; - break; - default: - break; - } - - System.out.println("settings currently: "+this.settings.toJson()); - - } - - @Override - public void handleBooleanSelection(int fieldId, boolean value) - { - GuiEntries entry = GuiEntries.fromId(fieldId); - if (entry == null) {return;} - - switch (entry) - { - case GENERATE_BOP_GEMS: - this.settings.generateBopGems = value; - break; - case GENERATE_POISON_IVY: - this.settings.generatePoisonIvy = value; - break; - case GENERATE_BERRY_BUSHES: - this.settings.generateBerryBushes = value; - break; - case GENERATE_THORNS: - this.settings.generateThorns = value; - break; - case GENERATE_QUICKSAND: - this.settings.generateQuicksand = value; - break; - case GENERATE_LIQUID_POISON: - this.settings.generateLiquidPoison = value; - break; - case GENERATE_HOT_SPRINGS: - this.settings.generateHotSprings = value; - break; - case GENERATE_NETHER_HIVES: - this.settings.generateNetherHives = value; - break; - case GENERATE_END_FEATURES: - this.settings.generateEndFeatures = value; - break; - default: - break; - } - - System.out.println("settings currently: "+this.settings.toJson()); - - } - - - @Override - public void handleFloatSelection(int fieldId, float value) - { - GuiEntries entry = GuiEntries.fromId(fieldId); - if (entry == null) {return;} - - switch (entry) - { - case AMPLITUDE: - this.settings.amplitude = value; - break; - case MAIN_NOISE_SCALE_X: - this.settings.mainNoiseScaleX = value; - break; - case MAIN_NOISE_SCALE_Y: - this.settings.mainNoiseScaleY = value; - break; - case MAIN_NOISE_SCALE_Z: - this.settings.mainNoiseScaleZ = value; - break; - case COORDINATE_SCALE: - this.settings.coordinateScale = value; - break; - case HEIGHT_SCALE: - this.settings.heightScale = value; - break; - case UPPER_LIMIT_SCALE: - this.settings.upperLimitScale = value; - break; - case LOWER_LIMIT_SCALE: - this.settings.lowerLimitScale = value; - break; - default: - break; - } - - System.out.println("settings currently: "+this.settings.toJson()); - - } - - - @Override - public void handleStringSelection(int fieldId, String value) - { - } - - - @Override - public void handleIntSelection(int fieldId, int value) - { - } - - - // These 3 are the original functions required by GuiPageButtonList.GuiResponder - just pass off to the better named functions - @Override - public void setEntryValue(int fieldId, String value) {this.handleStringSelection(fieldId, value);} - @Override - public void setEntryValue(int fieldId, float value) {this.handleFloatSelection(fieldId, value);} - @Override - public void setEntryValue(int fieldId, boolean value) {this.handleBooleanSelection(fieldId, value);} - - - - @Override - protected void actionPerformed(GuiButton button) throws IOException - { - if (button.enabled) - { - Actions action = Actions.fromId(button.id); - if (action == null) {return;} - switch (action) - { - case DONE: - this.parentScreen.chunkProviderSettingsJson = this.settings.toJson(); - System.out.println("settings sent to world screen "+this.parentScreen.chunkProviderSettingsJson); - this.mc.displayGuiScreen(this.parentScreen); - break; - - case PREVIOUS: - this.pageManager.gotToPrevPage(); // prev page - this.showNewPage(); - break; - - case NEXT: - this.pageManager.goToNextPage(); // next page - this.showNewPage(); - break; - - case DEFAULTS: - this.confirmSetDefaults(button.id); - break; - - case YES: - this.handleModalClose(); - break; - - case NO: - this.modalAction = 0; - this.handleModalClose(); - } - } - } - - - private void doSetDefaults() - { - this.settings.setDefault(); - this.setupPages(); - } - - private void confirmSetDefaults(int actionId) - { - this.modalAction = actionId; - this.showModal(true); - } - - private void handleModalClose() throws IOException - { - Actions action = Actions.fromId(this.modalAction); - if (action != null) { - switch (action) - { - case DONE: - this.actionPerformed((GuiListButton)this.pageManager.getActivePage().getGui(300)); - break; - case DEFAULTS: - this.doSetDefaults(); - break; - default: - break; - } - } - this.modalAction = 0; - this.field_175340_C = true; - this.showModal(false); - } - - private void showModal(boolean flag) - { - this.yesButton.visible = flag; - this.noButton.visible = flag; - this.doneButton.enabled = !flag; - this.prevButton.enabled = !flag; - this.nextButton.enabled = !flag; - this.defaultsButton.enabled = !flag; - } - - private void showNewPage() - { - this.prevButton.enabled = this.pageManager.getActivePage().pageNumber != 0; - this.nextButton.enabled = this.pageManager.getActivePage().pageNumber != this.pageManager.getNumPages() - 1; - this.pageInfo = I18n.format("book.pageIndicator", Integer.valueOf(this.pageManager.getActivePage().pageNumber + 1), Integer.valueOf(this.pageManager.getNumPages())); - this.page0Title = this.pageNames[this.pageManager.getActivePage().pageNumber]; - } - - @Override - protected void keyTyped(char typedChar, int keyCode) throws IOException - { - super.keyTyped(typedChar, keyCode); - - if (this.modalAction == 0) - { - switch (keyCode) - { - case 200: - this.func_175327_a(1.0F); - break; - case 208: - this.func_175327_a(-1.0F); - break; - default: - this.pageManager.getActivePage().keyTyped(typedChar, keyCode); - } - } - } - - private void func_175327_a(float p_175327_1_) - { - Gui gui = this.pageManager.getActivePage().getFocusedGuiElement(); - - if (gui instanceof GuiTextField) - { - float f1 = p_175327_1_; - - if (GuiScreen.isShiftKeyDown()) - { - f1 = p_175327_1_ * 0.1F; - - if (GuiScreen.isCtrlKeyDown()) - { - f1 *= 0.1F; - } - } - else if (GuiScreen.isCtrlKeyDown()) - { - f1 = p_175327_1_ * 10.0F; - - if (GuiScreen.isAltKeyDown()) - { - f1 *= 10.0F; - } - } - - GuiTextField guitextfield = (GuiTextField)gui; - Float f2 = Floats.tryParse(guitextfield.getText()); - - if (f2 != null) - { - f2 = Float.valueOf(f2.floatValue() + f1); - int i = guitextfield.getId(); - String s = this.stringFormatFloat(guitextfield.getId(), f2.floatValue()); - guitextfield.setText(s); - this.setEntryValue(i, s); - } - } - } - - @Override - public void drawScreen(int mouseX, int mouseY, float partialTicks) - { - this.drawDefaultBackground(); - this.pageManager.getActivePage().drawScreen(mouseX, mouseY, partialTicks); - this.drawCenteredString(this.fontRenderer, this.screenTitle, this.width / 2, 2, 16777215); - this.drawCenteredString(this.fontRenderer, this.pageInfo, this.width / 2, 12, 16777215); - this.drawCenteredString(this.fontRenderer, this.page0Title, this.width / 2, 22, 16777215); - super.drawScreen(mouseX, mouseY, partialTicks); - - if (this.modalAction != 0) - { - drawRect(0, 0, this.width, this.height, Integer.MIN_VALUE); - this.drawHorizontalLine(this.width / 2 - 91, this.width / 2 + 90, 99, -2039584); - this.drawHorizontalLine(this.width / 2 - 91, this.width / 2 + 90, 185, -6250336); - this.drawVerticalLine(this.width / 2 - 91, 99, 185, -2039584); - this.drawVerticalLine(this.width / 2 + 90, 99, 185, -6250336); - GlStateManager.disableLighting(); - GlStateManager.disableFog(); - Tessellator tessellator = Tessellator.getInstance(); - BufferBuilder bufferBuilder = tessellator.getBuffer(); - this.mc.getTextureManager().bindTexture(OPTIONS_BACKGROUND); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - bufferBuilder.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR); - bufferBuilder.pos((double)(this.width / 2 - 90), 185.0D, 0.0D).tex(0.0D, 2.65625D).color(64, 64, 64, 64).endVertex(); - bufferBuilder.pos((double)(this.width / 2 + 90), 185.0D, 0.0D).tex(5.625D, 2.65625D).color(64, 64, 64, 64).endVertex(); - bufferBuilder.pos((double)(this.width / 2 + 90), 100.0D, 0.0D).tex(5.625D, 0.0D).color(64, 64, 64, 64).endVertex(); - bufferBuilder.pos((double)(this.width / 2 - 90), 100.0D, 0.0D).tex(0.0D, 0.0D).color(64, 64, 64, 64).endVertex(); - tessellator.draw(); - this.drawCenteredString(this.fontRenderer, I18n.format("createWorld.customize.custom.confirmTitle"), this.width / 2, 105, 16777215); - this.drawCenteredString(this.fontRenderer, I18n.format("createWorld.customize.custom.confirm1"), this.width / 2, 125, 16777215); - this.drawCenteredString(this.fontRenderer, I18n.format("createWorld.customize.custom.confirm2"), this.width / 2, 135, 16777215); - this.yesButton.drawButton(this.mc, mouseX, mouseY, partialTicks); - this.noButton.drawButton(this.mc, mouseX, mouseY, partialTicks); - } - } -} diff --git a/src/main/java/biomesoplenty/client/gui/GuiBOPFactory.java b/src/main/java/biomesoplenty/client/gui/GuiBOPFactory.java deleted file mode 100644 index 27be4109c..000000000 --- a/src/main/java/biomesoplenty/client/gui/GuiBOPFactory.java +++ /dev/null @@ -1,53 +0,0 @@ -package biomesoplenty.client.gui; - -import biomesoplenty.common.config.GameplayConfigurationHandler; -import biomesoplenty.common.remote.TrailManager; -import biomesoplenty.common.util.entity.PlayerUtil; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.util.text.translation.I18n; -import net.minecraftforge.common.config.ConfigElement; -import net.minecraftforge.fml.client.DefaultGuiFactory; -import net.minecraftforge.fml.client.config.DummyConfigElement.DummyCategoryElement; -import net.minecraftforge.fml.client.config.GuiConfig; -import net.minecraftforge.fml.client.config.IConfigElement; - -import java.util.ArrayList; -import java.util.List; - -import static biomesoplenty.common.config.GameplayConfigurationHandler.CONVENIENCE_SETTINGS; -import static biomesoplenty.common.config.MiscConfigurationHandler.*; - -public class GuiBOPFactory extends DefaultGuiFactory -{ - public GuiBOPFactory() - { - super(BiomesOPlenty.MOD_ID, BiomesOPlenty.MOD_NAME); - } - - @Override - public GuiScreen createConfigGui(GuiScreen parentScreen) - { - return new GuiConfig(parentScreen, getConfigElements(), modid, false, false, title); - } - - private static List getConfigElements() - { - List list = new ArrayList(); - - List convenience_settings = new ConfigElement(GameplayConfigurationHandler.config.getCategory(CONVENIENCE_SETTINGS.toLowerCase())).getChildElements(); - List gui_settings = new ConfigElement(config.getCategory(GUI_SETTINGS.toLowerCase())).getChildElements(); - List texture_settings = new ConfigElement(config.getCategory(VISUAL_SETTINGS.toLowerCase())).getChildElements(); - List trail_settings = new ConfigElement(config.getCategory(TRAIL_SETTINGS.toLowerCase())).getChildElements(); - - list.add(new DummyCategoryElement(I18n.translateToLocal("config.category.convenienceSettings.title"), "config.category.convenienceSettings", convenience_settings)); - list.add(new DummyCategoryElement(I18n.translateToLocal("config.category.guiSettings.title"), "config.category.guiSettings", gui_settings)); - list.add(new DummyCategoryElement(I18n.translateToLocal("config.category.textureSettings.title"), "config.category.textureSettings", texture_settings)); - if (TrailManager.trailsMap.containsKey(PlayerUtil.getClientPlayerUUID())) - { - list.add(new DummyCategoryElement(I18n.translateToLocal("config.category.trailSettings.title"), "config.category.trailSettings", trail_settings)); - } - - return list; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/client/gui/GuiBOPPageBiomes.java b/src/main/java/biomesoplenty/client/gui/GuiBOPPageBiomes.java deleted file mode 100644 index d26e51dd4..000000000 --- a/src/main/java/biomesoplenty/client/gui/GuiBOPPageBiomes.java +++ /dev/null @@ -1,15 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.client.gui; - -public class GuiBOPPageBiomes //extends GuiBOPPageDelegate -{ - //Subclass implementing GuiListExtended.IGuiListEntry - //Icon, label -} diff --git a/src/main/java/biomesoplenty/client/gui/GuiBOPPageDelegate.java b/src/main/java/biomesoplenty/client/gui/GuiBOPPageDelegate.java deleted file mode 100644 index ad3511487..000000000 --- a/src/main/java/biomesoplenty/client/gui/GuiBOPPageDelegate.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.client.gui; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiSlot; - -public abstract class GuiBOPPageDelegate extends GuiSlot -{ - public final int pageNumber; - - public GuiBOPPageDelegate(int width, int height, int top, int bottom, int slotHeight, int pageNumber) - { - super(Minecraft.getMinecraft(), width, height, top, bottom, slotHeight); - - this.pageNumber = pageNumber; - } - - public abstract void setup(); - - - public abstract void setVisible(boolean isVisible); - - public void mouseClicked(int mouseX, int mouseY, int mouseEvent) {} - public void mouseReleased(int mouseX, int mouseY, int state) {} - public void keyTyped(char typedChar, int keyCode) {} - public Gui getFocusedGuiElement() { return null; } - public Gui getGui(int fieldId) { return null; } -} diff --git a/src/main/java/biomesoplenty/client/gui/GuiBOPPageList.java b/src/main/java/biomesoplenty/client/gui/GuiBOPPageList.java deleted file mode 100644 index b2a909b52..000000000 --- a/src/main/java/biomesoplenty/client/gui/GuiBOPPageList.java +++ /dev/null @@ -1,383 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.client.gui; - -import com.google.common.base.MoreObjects; -import com.google.common.base.Objects; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.client.gui.GuiLabel; -import net.minecraft.client.gui.GuiListExtended; -import net.minecraft.client.gui.GuiPageButtonList; -import net.minecraft.client.gui.GuiSlider; -import net.minecraft.client.gui.GuiTextField; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public abstract class GuiBOPPageList extends GuiBOPPageDelegate -{ - public GuiBOPPageList(int width, int height, int top, int bottom, int slotHeight, int pageNumber) - { - super(width, height, top, bottom, slotHeight, pageNumber); - } - - @Override - protected void elementClicked(int slotIndex, boolean isDoubleClick, int mouseX, int mouseY) {} - - @Override - protected boolean isSelected(int slotIndex) - { - return false; - } - - @Override - protected void drawBackground() {} - - @Override - protected void drawSlot(int entryID, int p_180791_2_, int p_180791_3_, int p_180791_4_, int mouseXIn, int mouseYIn, float partialTicks) - { - this.getListEntry(entryID).drawEntry(entryID, p_180791_2_, p_180791_3_, this.getListWidth(), p_180791_4_, mouseXIn, mouseYIn, this.getSlotIndexFromScreenCoords(mouseXIn, mouseYIn) == entryID, partialTicks); - } - - // updateItemPos - @Override - protected void updateItemPos(int p_178040_1_, int p_178040_2_, int p_178040_3_, float partialTicks) - { - this.getListEntry(p_178040_1_).updatePosition(p_178040_1_, p_178040_2_, p_178040_3_, partialTicks); - } - - @Override - public void mouseClicked(int mouseX, int mouseY, int mouseEvent) - { - if (this.isMouseYWithinSlotBounds(mouseY)) - { - int l = this.getSlotIndexFromScreenCoords(mouseX, mouseY); - - if (l >= 0) - { - int i1 = this.left + this.width / 2 - this.getListWidth() / 2 + 2; - int j1 = this.top + 4 - this.getAmountScrolled() + l * this.slotHeight + this.headerPadding; - int k1 = mouseX - i1; - int l1 = mouseY - j1; - - if (this.getListEntry(l).mousePressed(l, mouseX, mouseY, mouseEvent, k1, l1)) - { - this.setEnabled(false); - } - } - } - } - - @Override - public void mouseReleased(int mouseX, int mouseY, int state) - { - for (int l = 0; l < this.getSize(); ++l) - { - int i1 = this.left + this.width / 2 - this.getListWidth() / 2 + 2; - int j1 = this.top + 4 - this.getAmountScrolled() + l * this.slotHeight + this.headerPadding; - int k1 = mouseX - i1; - int l1 = mouseY - j1; - this.getListEntry(l).mouseReleased(l, mouseX, mouseY, state, k1, l1); - } - - this.setEnabled(true); - } - - public abstract GuiListExtended.IGuiListEntry getListEntry(int rowNum); - - @SideOnly(Side.CLIENT) - public static class GuiSlideEntry extends GuiBOPPageList.GuiFieldEntry - { - private final GuiSlider.FormatHelper formatHelper; - private final float min; - private final float max; - private final float value; - - public GuiSlideEntry(int fieldId, String labelText, boolean isVisible, GuiSlider.FormatHelper formatHelper, float min, float max, float value) - { - super(fieldId, labelText, isVisible); - this.formatHelper = formatHelper; - this.min = min; - this.max = max; - this.value = value; - } - - public GuiSlider.FormatHelper getFormatHelper() - { - return this.formatHelper; - } - - public float getMin() - { - return this.min; - } - - public float getMax() - { - return this.max; - } - - public float getValue() - { - return this.value; - } - } - - @SideOnly(Side.CLIENT) - public interface GuiResponder extends GuiPageButtonList.GuiResponder - { - void handleEnumSelection(int fieldId, int ordinal); - - void handleBooleanSelection(int fieldId, boolean value); - - void handleFloatSelection(int fieldId, float value); - - void handleStringSelection(int fieldId, String value); - - void handleIntSelection(int fieldId, int value); - - } - - @SideOnly(Side.CLIENT) - public static class GuiFieldEntry - { - private final int fieldID; - private final String labelText; - private final boolean isVisible; - - public GuiFieldEntry(int fieldId, String labelText, boolean isVisible) - { - this.fieldID = fieldId; - this.labelText = labelText; - this.isVisible = isVisible; - } - - public int getFieldId() - { - return this.fieldID; - } - - public String getLabelText() - { - return this.labelText; - } - - public boolean isVisible() - { - return this.isVisible; - } - } - - @SideOnly(Side.CLIENT) - public static class GuiLabelEntry extends GuiFieldEntry - { - public GuiLabelEntry(int fieldId, String labelText, boolean isVisible) - { - super(fieldId, labelText, isVisible); - } - } - - @SideOnly(Side.CLIENT) - public static class GuiRowEntry implements GuiListExtended.IGuiListEntry - { - private final Minecraft minecraft = Minecraft.getMinecraft(); - private final Gui guiLeft; - private final Gui guiRight; - Gui focusedGui; - - public GuiRowEntry(Gui guiLeft, Gui guiRight) - { - this.guiLeft = guiLeft; - this.guiRight = guiRight; - } - - public Gui getGuiLeft() - { - return this.guiLeft; - } - - public Gui getGuiRight() - { - return this.guiRight; - } - - @Override - public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isVisible, float partialTicks) - { - this.drawGui(this.guiLeft, y, mouseX, mouseY, false, partialTicks); - this.drawGui(this.guiRight, y, mouseX, mouseY, false, partialTicks); - } - - private void drawGui(Gui gui, int y, int mouseX, int mouseY, boolean isVisible, float partialTicks) - { - if (gui != null) - { - if (gui instanceof GuiButton) - { - this.drawGuiButton((GuiButton)gui, y, mouseX, mouseY, isVisible, partialTicks); - } - else if (gui instanceof GuiTextField) - { - this.drawGuiTextField((GuiTextField)gui, y, isVisible); - } - else if (gui instanceof GuiLabel) - { - this.drawGuiLabel((GuiLabel)gui, y, mouseX, mouseY, isVisible); - } - } - } - - private void drawGuiButton(GuiButton guiButton, int y, int mouseX, int mouseY, boolean isVisible, float partialTicks) - { - guiButton.y = y; - - if (!isVisible) - { - guiButton.drawButton(this.minecraft, mouseX, mouseY, partialTicks); - } - } - - private void drawGuiTextField(GuiTextField guiTextField, int y, boolean isVisible) - { - guiTextField.y = y; - - if (!isVisible) - { - guiTextField.drawTextBox(); - } - } - - private void drawGuiLabel(GuiLabel guiLabel, int y, int mouseX, int mouseY, boolean isVisible) - { - guiLabel.y = y; - - if (!isVisible) - { - guiLabel.drawLabel(this.minecraft, mouseX, mouseY); - } - } - - // setSelected - public void updatePosition(int p_178011_1_, int p_178011_2_, int p_178011_3_, float partialTicks) - { - this.drawGui(this.guiLeft, p_178011_3_, 0, 0, true, partialTicks); - this.drawGui(this.guiRight, p_178011_3_, 0, 0, true, partialTicks); - } - - - @Override - public boolean mousePressed(int slotIndex, int x, int y, int mouseEvent, int relativeX, int relativeY) - { - return this.doMousePressed(this.guiLeft, x, y, mouseEvent) || this.doMousePressed(this.guiRight, x, y, mouseEvent); - } - - private boolean doMousePressed(Gui gui, int x, int y, int mouseEvent) - { - if (gui == null) - { - return false; - } - else if (gui instanceof GuiButton) - { - if (((GuiButton)gui).mousePressed(this.minecraft, x, y)) - { - this.focusedGui = gui; - return true; - } - else - { - return false; - } - } - else if (gui instanceof GuiTextField) - { - ((GuiTextField)gui).mouseClicked(x, y, mouseEvent); - - if (((GuiTextField)gui).isFocused()) - { - this.focusedGui = gui; - } - return false; - } - return false; - } - - - @Override - public void mouseReleased(int slotIndex, int x, int y, int mouseEvent, int relativeX, int relativeY) - { - this.doMouseReleased(this.guiLeft, x, y); - this.doMouseReleased(this.guiRight, x, y); - } - - public void doMouseReleased(Gui gui, int x, int y) - { - if (gui != null && (gui instanceof GuiButton)) - { - ((GuiButton)gui).mouseReleased(x, y); - } - } - - } - - @SideOnly(Side.CLIENT) - public static class GuiEnumButtonEntry extends GuiFieldEntry - { - private final T value; - - public GuiEnumButtonEntry(int fieldId, String textLabel, boolean isVisible, T value) - { - super(fieldId, textLabel, isVisible); - this.value = value; - } - - public T getValue() - { - return this.value; - } - } - - @SideOnly(Side.CLIENT) - public static class GuiButtonEntry extends GuiFieldEntry - { - private final boolean value; - - public GuiButtonEntry(int fieldId, String textLabel, boolean isVisible, boolean value) - { - super(fieldId, textLabel, isVisible); - this.value = value; - } - - public boolean getValue() - { - return this.value; - } - } - - @SideOnly(Side.CLIENT) - public static class EditBoxEntry extends GuiFieldEntry - { - private final Predicate validator; - - public EditBoxEntry(int fieldId, String labelText, boolean isVisible, Predicate validator) - { - super(fieldId, labelText, isVisible); - this.validator = MoreObjects.firstNonNull(validator, Predicates.alwaysTrue()); - } - - public Predicate getValidator() - { - return this.validator; - } - } -} diff --git a/src/main/java/biomesoplenty/client/gui/GuiBOPPageManager.java b/src/main/java/biomesoplenty/client/gui/GuiBOPPageManager.java deleted file mode 100644 index 1abb75b6c..000000000 --- a/src/main/java/biomesoplenty/client/gui/GuiBOPPageManager.java +++ /dev/null @@ -1,61 +0,0 @@ -package biomesoplenty.client.gui; - -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class GuiBOPPageManager -{ - private GuiBOPPageDelegate[] pages; - private GuiBOPPageDelegate activePage; - - public GuiBOPPageManager(GuiBOPPageDelegate ... pages) - { - this.pages = pages; - this.activePage = pages[0]; - } - - public void setup() - { - for (GuiBOPPageDelegate page : pages) - { - page.setup(); - } - } - - public GuiBOPPageDelegate getActivePage() - { - return this.activePage; - } - - public int getNumPages() - { - return this.pages.length; - } - - public void gotToPrevPage() - { - if (this.activePage.pageNumber > 0) - { - int newPageNumber = this.activePage.pageNumber - 1; - GuiBOPPageDelegate newPage = this.pages[newPageNumber]; - - this.activePage.setVisible(false); - newPage.setVisible(true); - this.activePage = newPage; - } - } - - public void goToNextPage() - { - if (this.activePage.pageNumber < this.pages.length - 1) - { - int newPageNumber = this.activePage.pageNumber + 1; - GuiBOPPageDelegate newPage = this.pages[newPageNumber]; - - this.activePage.setVisible(false); - newPage.setVisible(true); - this.activePage = newPage; - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/client/gui/GuiBOPPageTable.java b/src/main/java/biomesoplenty/client/gui/GuiBOPPageTable.java deleted file mode 100644 index eae2906b4..000000000 --- a/src/main/java/biomesoplenty/client/gui/GuiBOPPageTable.java +++ /dev/null @@ -1,370 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.client.gui; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.lwjgl.input.Mouse; - -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.client.gui.GuiLabel; -import net.minecraft.client.gui.GuiListButton; -import net.minecraft.client.gui.GuiListExtended; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.gui.GuiSlider; -import net.minecraft.client.gui.GuiTextField; - -public class GuiBOPPageTable extends GuiBOPPageList -{ - private final List allRows = new ArrayList(); - private final Map fieldIdToGuiMap = new HashMap(); - private final List allTextFieldGuis = new ArrayList(); - private final GuiBOPPageList.GuiFieldEntry[] fields; - private GuiBOPPageList.GuiResponder responder; - private Gui focusedGui; - - public GuiBOPPageTable(int width, int height, int top, int bottom, int slotHeight, int pageNumber, GuiBOPPageList.GuiResponder responder, GuiBOPPageList.GuiFieldEntry... fields) - { - super(width, height, top, bottom, slotHeight, pageNumber); - - this.responder = responder; - this.fields = fields; - } - - @Override - public void setVisible(boolean isVisible) - { - if (isVisible) - { - for (GuiBOPPageList.GuiFieldEntry field : this.fields) - { - if (field != null) - { - Gui gui = this.fieldIdToGuiMap.get(field.getFieldId()); - this.setVisible(gui, true); - } - } - } - else - { - for (GuiBOPPageList.GuiFieldEntry field : this.fields) - { - if (field != null) - { - Gui gui = this.fieldIdToGuiMap.get(field.getFieldId()); - this.setVisible(gui, false); - } - } - } - } - - private void setVisible(Gui gui, boolean isVisible) - { - if (gui instanceof GuiButton) - { - ((GuiButton)gui).visible = isVisible; - } - else if (gui instanceof GuiTextField) - { - ((GuiTextField)gui).setVisible(isVisible); - } - else if (gui instanceof GuiLabel) - { - ((GuiLabel)gui).visible = isVisible; - } - } - - @Override - public void setup() - { - // go through the fields in twos (so they go in 2 columns) - for (int k = 0; k < fields.length; k += 2) - { - GuiBOPPageList.GuiFieldEntry fieldLeft = fields[k]; - GuiBOPPageList.GuiFieldEntry fieldRight = k < fields.length - 1 ? fields[k + 1] : null; - - Gui guiLeft = this.createGui(fieldLeft, 0, fieldRight == null); - Gui guiRight = this.createGui(fieldRight, 160, fieldLeft == null); - - GuiBOPPageList.GuiRowEntry row = new GuiBOPPageList.GuiRowEntry(guiLeft, guiRight); - this.allRows.add(row); - - if (fieldLeft != null && guiLeft != null) - { - this.fieldIdToGuiMap.put(fieldLeft.getFieldId(), guiLeft); - - if (guiLeft instanceof GuiTextField) - { - this.allTextFieldGuis.add((GuiTextField)guiLeft); - } - } - - if (fieldRight != null && guiRight != null) - { - this.fieldIdToGuiMap.put(fieldRight.getFieldId(), guiRight); - - if (guiRight instanceof GuiTextField) - { - this.allTextFieldGuis.add((GuiTextField)guiRight); - } - } - } - - this.resetRows(); - } - - private void resetRows() - { - this.allRows.clear(); - - for (int i = 0; i < this.fields.length; i += 2) - { - GuiBOPPageList.GuiFieldEntry guilistentryLeft = this.fields[i]; - GuiBOPPageList.GuiFieldEntry guilistentryRight = i < this.fields.length - 1 ? this.fields[i + 1] : null; - Gui guiLeft = this.fieldIdToGuiMap.get(guilistentryLeft.getFieldId()); - Gui guiRight = guilistentryRight != null ? this.fieldIdToGuiMap.get(guilistentryRight.getFieldId()) : null; - GuiBOPPageList.GuiRowEntry guientry = new GuiBOPPageList.GuiRowEntry(guiLeft, guiRight); - this.allRows.add(guientry); - } - } - - @Override - public Gui getFocusedGuiElement() - { - return this.focusedGui; - } - - @Override - public Gui getGui(int fieldId) - { - return this.fieldIdToGuiMap.get(fieldId); - } - - - - private Gui createGui(GuiBOPPageList.GuiFieldEntry field, int xOffset, boolean hasNoNeighbor) - { - if (field instanceof GuiBOPPageList.GuiSlideEntry) - { - return this.createSlider(this.width / 2 - 155 + xOffset, 0, (GuiSlideEntry)field); - } - else if (field instanceof GuiBOPPageList.GuiButtonEntry) - { - return this.createListButton(this.width / 2 - 155 + xOffset, 0, (GuiButtonEntry)field); - } - else if (field instanceof GuiBOPPageList.EditBoxEntry) - { - return this.createTextField(this.width / 2 - 155 + xOffset, 0, (EditBoxEntry)field); - } - else if (field instanceof GuiBOPPageList.GuiLabelEntry) - { - return this.createLabel(this.width / 2 - 155 + xOffset, 0, (GuiLabelEntry)field, hasNoNeighbor); - } - else if (field instanceof GuiBOPPageList.GuiEnumButtonEntry) - { - return this.createEnumButton(this.width / 2 - 155 + xOffset, 0, (GuiEnumButtonEntry)field); - } - else - { - return null; - } - } - - //Mouse clicked - - private GuiSlider createSlider(int xPosition, int yPosition, GuiBOPPageList.GuiSlideEntry field) - { - GuiSlider guislider = new GuiSlider(this.responder, field.getFieldId(), xPosition, yPosition, field.getLabelText(), field.getMin(), field.getMax(), field.getValue(), field.getFormatHelper()); - guislider.visible = field.isVisible(); - return guislider; - } - - private GuiListButton createListButton(int xPosition, int yPosition, GuiBOPPageList.GuiButtonEntry field) - { - GuiListButton guilistbutton = new GuiListButton(this.responder, field.getFieldId(), xPosition, yPosition, field.getLabelText(), field.getValue()); - guilistbutton.visible = field.isVisible(); - return guilistbutton; - } - - private GuiEnumButton createEnumButton(int xPosition, int yPosition, GuiBOPPageList.GuiEnumButtonEntry field) - { - GuiEnumButton guienumbutton = new GuiEnumButton(this.responder, field.getFieldId(), xPosition, yPosition, field.getLabelText(), field.getValue()); - guienumbutton.visible = field.isVisible(); - return guienumbutton; - } - - private GuiTextField createTextField(int xPosition, int yPosition, GuiBOPPageList.EditBoxEntry field) - { - GuiTextField guitextfield = new GuiTextField(field.getFieldId(), this.mc.fontRenderer, xPosition, yPosition, 150, 20); - guitextfield.setText(field.getLabelText()); - guitextfield.setGuiResponder(this.responder); - guitextfield.setVisible(field.isVisible()); - guitextfield.setValidator(field.getValidator()); - return guitextfield; - } - - private GuiLabel createLabel(int xPosition, int yPosition, GuiBOPPageList.GuiLabelEntry field, boolean hasNoNeighbor) - { - GuiLabel guilabel; - - if (hasNoNeighbor) - { - guilabel = new GuiLabel(this.mc.fontRenderer, field.getFieldId(), xPosition, yPosition, this.width - xPosition * 2, 20, -1); - } - else - { - guilabel = new GuiLabel(this.mc.fontRenderer, field.getFieldId(), xPosition, yPosition, 150, 20, -1); - } - - guilabel.visible = field.isVisible(); - guilabel.addLine(field.getLabelText()); - guilabel.setCentered(); - return guilabel; - } - - @Override - public void keyTyped(char typedChar, int keyCode) - { - if (this.focusedGui instanceof GuiTextField) - { - GuiTextField guitextfield = (GuiTextField)this.focusedGui; - int j; - - //Check if aren't we are pasting text - if (!GuiScreen.isKeyComboCtrlV(keyCode)) - { - if (keyCode == 15) //Tab is pressed - { - guitextfield.setFocused(false); - int focusedGuiIndex = this.allTextFieldGuis.indexOf(this.focusedGui); - - if (GuiScreen.isShiftKeyDown()) - { - if (focusedGuiIndex == 0) //Jump back to the end of the list when at the start - { - focusedGuiIndex = this.allTextFieldGuis.size() - 1; - } - else - { - --focusedGuiIndex; //Cycle backwards through the text fields - } - } - else if (focusedGuiIndex == this.allTextFieldGuis.size() - 1) //Jump back to the start of the list when at the end - { - focusedGuiIndex = 0; - } - else - { - ++focusedGuiIndex; //Cycle forwards through the text fields - } - - this.focusedGui = this.allTextFieldGuis.get(focusedGuiIndex); - guitextfield = (GuiTextField)this.focusedGui; - guitextfield.setFocused(true); - int k1 = guitextfield.y + this.slotHeight; - j = guitextfield.y; - - if (k1 > this.bottom) - { - this.amountScrolled += (float)(k1 - this.bottom); - } - else if (j < this.top) - { - this.amountScrolled = (float)j; - } - } - else - { - guitextfield.textboxKeyTyped(typedChar, keyCode); - } - } - else - { - String s = GuiScreen.getClipboardString(); - String[] astring = s.split(";"); - j = this.allTextFieldGuis.indexOf(this.focusedGui); - int k = j; - String[] astring1 = astring; - int l = astring.length; - - for (int i1 = 0; i1 < l; ++i1) - { - String s1 = astring1[i1]; - this.allTextFieldGuis.get(k).setText(s1); - - if (k == this.allTextFieldGuis.size() - 1) - { - k = 0; - } - else - { - ++k; - } - - if (k == j) - { - break; - } - } - } - } - } - - public GuiBOPPageList.GuiRowEntry getRow(int rowNum) - { - return this.allRows.get(rowNum); - } - - @Override - public int getSize() - { - return this.allRows.size(); - } - - @Override - public int getListWidth() - { - return 400; - } - - @Override - protected int getScrollBarX() - { - return super.getScrollBarX() + 32; - } - - @Override - public GuiListExtended.IGuiListEntry getListEntry(int rowNum) - { - return this.getRow(rowNum); - } - - @Override - public void mouseClicked(int mouseX, int mouseY, int mouseButton) - { - super.mouseClicked(mouseX, mouseY, Mouse.getEventButton()); - int l = this.getSlotIndexFromScreenCoords(mouseX, mouseY); - - if (l >= 0) - { - GuiBOPPageTable.GuiRowEntry row = this.getRow(l); - - if (this.focusedGui != row.focusedGui && this.focusedGui != null && this.focusedGui instanceof GuiTextField) - { - ((GuiTextField)this.focusedGui).setFocused(false); - } - - this.focusedGui = row.focusedGui; - } - } -} diff --git a/src/main/java/biomesoplenty/client/gui/GuiEnumButton.java b/src/main/java/biomesoplenty/client/gui/GuiEnumButton.java deleted file mode 100644 index 8e5440647..000000000 --- a/src/main/java/biomesoplenty/client/gui/GuiEnumButton.java +++ /dev/null @@ -1,54 +0,0 @@ -package biomesoplenty.client.gui; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiButton; -import net.minecraft.client.resources.I18n; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class GuiEnumButton extends GuiButton -{ - private T value; - private String localizationStr; - private final GuiBOPPageList.GuiResponder guiResponder; - - public GuiEnumButton(GuiBOPPageList.GuiResponder responder, int fieldId, int x, int y, String localizationStr, T initialValue) - { - super(fieldId, x, y, 150, 20, ""); - this.localizationStr = localizationStr; - this.value = initialValue; - this.displayString = this.buildDisplayString(); - this.guiResponder = responder; - } - - private String buildDisplayString() - { - return I18n.format(this.localizationStr, this.value.toString()); - } - - public void setValue(T value) - { - this.value = value; - this.displayString = this.buildDisplayString(); - this.guiResponder.handleEnumSelection(this.id, value.ordinal()); - } - - @Override - public boolean mousePressed(Minecraft mc, int mouseX, int mouseY) - { - if (super.mousePressed(mc, mouseX, mouseY)) - { - Object[] values = this.value.getClass().getEnumConstants(); - int len = values.length; - this.value = (T)(values[(this.value.ordinal() + 1) % len]); - this.displayString = this.buildDisplayString(); - this.guiResponder.handleEnumSelection(this.id, this.value.ordinal()); - return true; - } - else - { - return false; - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/client/particle/EntityCurseFX.java b/src/main/java/biomesoplenty/client/particle/EntityCurseFX.java deleted file mode 100644 index 4ef86ea32..000000000 --- a/src/main/java/biomesoplenty/client/particle/EntityCurseFX.java +++ /dev/null @@ -1,130 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.client.particle; - -import biomesoplenty.core.ClientProxy; -import net.minecraft.client.particle.Particle; -import net.minecraft.client.renderer.BufferBuilder; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.entity.Entity; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.fml.client.FMLClientHandler; - -public class EntityCurseFX extends Particle -{ - private float defaultParticleScale; - - public EntityCurseFX(World world, double xCoordIn, double yCoordIn, double zCoordIn, double motionXIn, double motionYIn, double motionZIn) - { - this(world, xCoordIn, yCoordIn, zCoordIn, motionXIn, motionYIn, motionZIn, 1.0F); - } - - public EntityCurseFX(World world, double xCoordIn, double yCoordIn, double zCoordIn, double motionXIn, double motionYIn, double motionZIn, float par14) - { - super(world, xCoordIn, yCoordIn, zCoordIn, 0.0D, 0.0D, 0.0D); - - this.particleTextureIndexX = 7; - this.particleTextureIndexY = 5; - - this.motionX *= 0.10000000149011612D; - this.motionY *= 0.10000000149011612D; - this.motionZ *= 0.10000000149011612D; - this.motionX += motionXIn; - this.motionY += motionYIn; - this.motionZ += motionZIn; - this.particleScale = 1.0F; - this.defaultParticleScale = this.particleScale; - this.particleMaxAge = (int)((8.0D / (Math.random() * 0.8D + 0.2D)) * 8); - this.particleMaxAge = (int)((float)this.particleMaxAge * par14); - this.particleAge = world.rand.nextInt(3); - this.particleAlpha = 1.0F; - this.particleGravity = 0.02F; - this.canCollide = false; - } - - @Override - public int getFXLayer() - { - return 2; - } - - @Override - public void renderParticle(BufferBuilder buffer, Entity entity, float partialTicks, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) - { - // EffectRenderer will by default bind the vanilla particles texture, override with our own - FMLClientHandler.instance().getClient().renderEngine.bindTexture(ClientProxy.particleTexturesLocation); - - float scaleMultiplier = ((float)this.particleAge + partialTicks) / (float)this.particleMaxAge * 32.0F; - scaleMultiplier = MathHelper.clamp(scaleMultiplier, 0.0F, 1.0F); - this.particleScale = this.defaultParticleScale * scaleMultiplier; - - GlStateManager.depthMask(false); - GlStateManager.enableBlend(); - GlStateManager.blendFunc(770, 1); - - super.renderParticle(buffer, entity, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY); - - GlStateManager.disableBlend(); - GlStateManager.depthMask(true); - } - - @Override - public int getBrightnessForRender(float p_189214_1_) - { - float f = (float)this.particleMaxAge - (((float)this.particleAge + p_189214_1_) / (float)this.particleMaxAge); - f = MathHelper.clamp(f, 0.0F, 1.0F); - int i = super.getBrightnessForRender(p_189214_1_); - int j = i & 255; - int k = i >> 16 & 255; - j = j + (int)(f * 15.0F * 16.0F); - - if (j > 240) - { - j = 240; - } - - return j | k << 16; - } - - @Override - public void onUpdate() - { - prevPosX = posX; - prevPosY = posY; - prevPosZ = posZ; - - particleAge += 2; - - if (particleAge >= particleMaxAge) - { - this.setExpired(); - } - - this.particleTextureIndexX = 7 - this.particleAge * 8 / this.particleMaxAge; - this.move(motionX, motionY, motionZ); - - if (posY == prevPosY) - { - motionX *= 1.1D; - motionZ *= 1.1D; - } - - motionX *= 0.9599999785423279D; - motionY *= 0.9599999785423279D; - motionZ *= 0.9599999785423279D; - - if (onGround) - { - motionX *= 0.699999988079071D; - motionZ *= 0.699999988079071D; - } - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/client/particle/EntityTrailFX.java b/src/main/java/biomesoplenty/client/particle/EntityTrailFX.java deleted file mode 100644 index 3a3dcdaee..000000000 --- a/src/main/java/biomesoplenty/client/particle/EntityTrailFX.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.client.particle; - -import net.minecraft.client.particle.Particle; -import net.minecraft.client.renderer.BufferBuilder; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import net.minecraftforge.fml.client.FMLClientHandler; - -public class EntityTrailFX extends Particle -{ - private ResourceLocation trailResource; - /**The index of the flower to be spawned, values are 0-3*/ - private int particleIndex; - private double startY; - - public EntityTrailFX(World world, double x, double y, double z, String trailName) - { - super(world, x, y, z); - - this.trailResource = new ResourceLocation("biomesoplenty:textures/particles/" + trailName + ".png"); - this.motionX = this.motionY = this.motionZ = 0.0D; //Trail particles should not move - this.particleMaxAge = 550; - this.particleIndex = this.rand.nextInt(4); //Choose a random index on creation - this.startY = y; //Where y coordinate where this particle has started (before it moves downwards with time) - } - - @Override - public void renderParticle(BufferBuilder builder, Entity entity, float partialTicks, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY) - { - // EffectRenderer will by default bind the vanilla particles texture, override with our own - FMLClientHandler.instance().getClient().renderEngine.bindTexture(this.trailResource); - - //The overall maxU and maxV of the particle sheet is 1.0 (representing 16px) - float minU = (particleIndex % 2) * 0.5F; //Particles on the left side are 0, right are 0.5 - float maxU = minU + 0.5F; //Each flower is 8px wide (half of the overall sheet) - - float minV = (particleIndex / 2) * 0.5F; //Uses integer rounding errors (0 and 1 = 0, 2 and 3 = 1) - float maxV = minV + 0.5F; //Each flower is 8px high (half of the overall sheet) - - //Vanilla particle rendering - float alpha = 1.0F - Math.min(1.0F, 2.0F * this.particleAge / this.particleMaxAge); - float width = 0.15F; - float x = (float)(prevPosX + (posX - prevPosX) - interpPosX); - float y = (float)(prevPosY + (posY - prevPosY) - interpPosY); - float z = (float)(prevPosZ + (posZ - prevPosZ) - interpPosZ); - - int i = this.getBrightnessForRender(partialTicks); - int j = i >> 16 & 65535; - int k = i & 65535; - - builder.pos(x - width, y, z + width).tex(minU, maxV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex(); - builder.pos(x + width, y, z + width).tex(minU, minV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex(); - builder.pos(x + width, y, z - width).tex(maxU, minV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex(); - builder.pos(x - width, y, z - width).tex(maxU, maxV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex(); - } - - @Override - public int getFXLayer() - { - return 2; - } - - @Override - public void onUpdate() - { - super.onUpdate(); - - this.posY = this.startY - 0.01 * ((float)this.particleAge / (float)this.particleMaxAge); - this.prevPosY = this.posY; - } -} diff --git a/src/main/java/biomesoplenty/client/util/ModelUtils.java b/src/main/java/biomesoplenty/client/util/ModelUtils.java deleted file mode 100644 index a7ddba1f9..000000000 --- a/src/main/java/biomesoplenty/client/util/ModelUtils.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.client.util; - -import com.google.common.base.Function; - -import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.IModel; - -public class ModelUtils -{ - public static IBakedModel[] generateModelsForTextures(IModel model, TextureAtlasSprite[] textures) - { - IBakedModel[] output = new IBakedModel[textures.length]; - - for (int i = 0; i < output.length; i++) - { - final TextureAtlasSprite texture = textures[i]; - - //Defines how TextureAtlasSprites are obtained whilst baking - Function textureGetter = new Function() - { - public TextureAtlasSprite apply(ResourceLocation location) - { - return texture; - } - }; - - output[i] = model.bake(model.getDefaultState(), DefaultVertexFormats.ITEM, textureGetter); - } - - return output; - } -} diff --git a/src/main/java/biomesoplenty/client/util/TextureUtils.java b/src/main/java/biomesoplenty/client/util/TextureUtils.java deleted file mode 100644 index 5a9afb3ef..000000000 --- a/src/main/java/biomesoplenty/client/util/TextureUtils.java +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.client.util; - -import net.minecraft.util.ResourceLocation; - -public class TextureUtils -{ - public static final String TEXTURES_BASE_PATH = "textures"; - - public static ResourceLocation completeResourceLocation(ResourceLocation location, int mode) - { - return mode == 0 ? new ResourceLocation(location.getResourceDomain(), String.format("%s/%s%s", TEXTURES_BASE_PATH, location.getResourcePath(), ".png")) : new ResourceLocation(location.getResourceDomain(), String.format("%s/mipmaps/%s.%d%s", TEXTURES_BASE_PATH, location.getResourcePath(), Integer.valueOf(mode), ".png")); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/BOPBiome.java b/src/main/java/biomesoplenty/common/biome/BOPBiome.java deleted file mode 100644 index 33ff6fbc7..000000000 --- a/src/main/java/biomesoplenty/common/biome/BOPBiome.java +++ /dev/null @@ -1,328 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.biome; - -import biomesoplenty.api.biome.BiomeOwner; -import biomesoplenty.api.biome.IExtendedBiome; -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.api.generation.IGenerator; -import biomesoplenty.common.init.ModBiomes; -import biomesoplenty.common.world.GenerationManager; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; -import net.minecraftforge.fml.common.registry.ForgeRegistries; - -import java.util.*; - -public abstract class BOPBiome extends Biome implements IExtendedBiome -{ - protected GenerationManager generationManager = new GenerationManager(); - protected Map weightMap = new HashMap(); - - // defaults - - // -1 indicates the defaults as set by Vanilla will be used for the below fields - public int skyColor = -1; - public int fogColor = -1; - - /** 1.0 is the lowest possible amount of fog. 0.0 is the greatest.*/ - public float fogDensity = 1.0F; - - public boolean hasBiomeEssence = true; - - public final ResourceLocation location; - public IConfigObj conf; - - private BOPBiome(ResourceLocation idLoc, PropsBuilder defaultBuilder, IConfigObj conf) - { - super(configureBiomeProps(idLoc, defaultBuilder, conf)); - - this.location = idLoc; - this.conf = conf; - - this.decorator.treesPerChunk = -999; - this.decorator.flowersPerChunk = -999; - this.decorator.grassPerChunk = -999; - this.decorator.gravelPatchesPerChunk = -999; - this.decorator.sandPatchesPerChunk = -999; - //this.theBiomeDecorator.generateLakes = false; - } - - protected BOPBiome(String idName, PropsBuilder defaultBuilder) - { - this(new ResourceLocation(BiomesOPlenty.MOD_ID, idName), defaultBuilder, ModBiomes.readConfigFile(idName)); - } - - public static BOPBiome.BiomeProps configureBiomeProps(ResourceLocation idLoc, BOPBiome.PropsBuilder defaultBuilder, IConfigObj conf) - { - // If there isn't a valid config file, don't use it to configure the biome - if (conf.isEmpty()) - return defaultBuilder.build(); - - defaultBuilder.withTemperature(conf.getFloat("temperature", defaultBuilder.temperature)); - defaultBuilder.withRainfall(conf.getFloat("rainfall", defaultBuilder.rainfall)); - defaultBuilder.withWaterColor(conf.getInt("waterColor", defaultBuilder.waterColor)); - - Boolean enableRain = conf.getBool("enableRain", defaultBuilder.enableRain); - if (enableRain != null && !enableRain) defaultBuilder.withRainDisabled(); - - Boolean enableSnow = conf.getBool("enableSnow", defaultBuilder.enableSnow); - if (enableSnow != null && enableSnow) defaultBuilder.withSnowEnabled(); - - defaultBuilder.withBaseBiome(conf.getString("baseBiome", defaultBuilder.baseBiomeRegName)); - defaultBuilder.withGuiColour(conf.getInt("guiColour", defaultBuilder.guiColour)); - - return defaultBuilder.build(); - } - - @Override - public void applySettings(IBOPWorldSettings settings) {} - - @Override - public void configure(IConfigObj conf) - { - this.topBlock = conf.getBlockState("topBlock", this.topBlock); - this.fillerBlock = conf.getBlockState("fillerBlock", this.fillerBlock); - - this.skyColor = conf.getInt("skyColor", this.skyColor); - this.fogColor = conf.getInt("fogColor", this.fogColor); - this.fogDensity = conf.getFloat("fogDensity", this.fogDensity); - this.hasBiomeEssence = conf.getBool("hasBiomeEssence", this.hasBiomeEssence); - - // Allow weights to be overridden - IConfigObj confWeights = conf.getObject("weights"); - for (BOPClimates climate : BOPClimates.values()) - { - Integer weight = confWeights.getInt(climate.name().toLowerCase(), this.weightMap.get(climate)); - if (weight == null) {continue;} - if (weight.intValue() < 1) - { - this.weightMap.remove(climate); - } - else - { - this.weightMap.put(climate, weight); - } - } - - // Allow generators to be configured - IConfigObj confGenerators = conf.getObject("generators"); - this.generationManager.configure(confGenerators); - - // Allow spawnable entites to be configured - ArrayList confEntities = conf.getObjectArray("entities"); - if (confEntities != null) - { - for (IConfigObj confEntity : confEntities) - { - String entityName = confEntity.getString("name"); - EnumCreatureType creatureType = confEntity.getEnum("creatureType", EnumCreatureType.class); - if (entityName == null || creatureType == null) {continue;} - - // Look for an entity class matching this name - // case insensitive, dot used as mod delimiter, no spaces or underscores - // eg 'villager', 'Zombie', 'SQUID', 'enderdragon', 'biomesoplenty.wasp' all ok - Class entityClazz = ForgeRegistries.ENTITIES.getValue(new ResourceLocation(entityName)).getEntityClass(); - Class livingClazz = null; - if (!(entityClazz.isAssignableFrom(EntityLiving.class))) { - confEntity.addMessage("Entity " + entityName + " is not of type EntityLiving"); - continue; - } - else { - livingClazz = (Class )entityClazz; - } - - if (livingClazz == null) - { - confEntity.addMessage("No entity registered called " + entityName); - continue; - } - if (!creatureType.getCreatureClass().isAssignableFrom(livingClazz)) - { - confEntity.addMessage("Entity " + entityName + " is not of type " + creatureType); - continue; - } - - List spawns = this.getSpawnableList(creatureType); - Integer weight = confEntity.getInt("weight"); - if (weight != null && weight < 1) - { - // weight was set to zero (or negative) so find and remove this spawn - Iterator spawnIterator = spawns.iterator(); - while (spawnIterator.hasNext()) - { - SpawnListEntry entry = spawnIterator.next(); - if (entry.entityClass == livingClazz) - { - spawnIterator.remove(); - } - } - } - else - { - // weight was positive, or omitted, so update an existing spawn or add a new spawn - boolean foundIt = false; - for (SpawnListEntry entry : spawns) - { - if (entry.entityClass == entityClazz) - { - // the entry already exists - adjust the params - entry.itemWeight = confEntity.getInt("weight", entry.itemWeight); - entry.minGroupCount = confEntity.getInt("minGroupCount", entry.minGroupCount); - entry.maxGroupCount = confEntity.getInt("maxGroupCount", entry.maxGroupCount); - foundIt = true; - } - } - if (!foundIt) - { - // the entry does not exist - add it - SpawnListEntry entry = new SpawnListEntry(livingClazz, confEntity.getInt("weight", 10), confEntity.getInt("minGroupCount", 4), confEntity.getInt("maxGroupCount", 4)); - spawns.add(entry); - } - } - } - } - } - - @Override - public BiomeOwner getBiomeOwner() - { - return BiomeOwner.BIOMESOPLENTY; - } - - @Override - public void addGenerator(String name, GeneratorStage stage, IGenerator generator) - { - this.generationManager.addGenerator(name, stage, generator); - } - - public IGenerator getGenerator(String name) - { - return this.generationManager.getGenerator(name); - } - - public void removeGenerator(String name) - { - this.generationManager.removeGenerator(name); - } - - @Override - public GenerationManager getGenerationManager() - { - return this.generationManager; - } - - @Override - public Map getWeightMap() - { - return this.weightMap; - } - - @Override - public void addWeight(BOPClimates climate, int weight) - { - this.weightMap.put(climate, weight); - } - - @Override - public void clearWeights() - { - this.weightMap.clear(); - } - - // whether or not a biome essence item corresponding to this biome should be able to drop from biome blocks - public boolean hasBiomeEssence() - { - return this.hasBiomeEssence; - } - - public int getFogColor(BlockPos pos) { return this.fogColor; } - - public float getFogDensity(BlockPos pos) { return this.fogDensity; } - - @Override - public int getSkyColorByTemp(float temperature) - { - return (this.skyColor == -1) ? super.getSkyColorByTemp(temperature) : this.skyColor; - } - - @Override - public Biome getBaseBiome() - { - return this; - } - - @Override - public ResourceLocation getResourceLocation() - { - return this.location; - } - - public static class PropsBuilder - { - private final String biomeName; - - /**The colour of this biome as seen in guis**/ - private int guiColour = 0xffffff; - private float baseHeight = 0.1F; - private float heightVariation = 0.2F; - private float temperature = 0.5F; - private float rainfall = 0.5F; - private int waterColor = 16777215; - private boolean enableSnow = false; - private boolean enableRain = true; - private String baseBiomeRegName; - - public PropsBuilder(String name) { this.biomeName = name; } - - public PropsBuilder withGuiColour(Integer colour) { if (colour != null) this.guiColour = colour; return this; } - public PropsBuilder withTemperature(Float temperature) { if (temperature != null) this.temperature = temperature; return this; } - public PropsBuilder withRainfall(Float rainfall) { if (rainfall != null) this.rainfall = rainfall; return this; } - public PropsBuilder withBaseHeight(Float baseHeight) { if (baseHeight != null) this.baseHeight = baseHeight; return this; } - public PropsBuilder withHeightVariation(Float heightVariation) { if (heightVariation != null) this.heightVariation = heightVariation; return this; } - public PropsBuilder withRainDisabled() { this.enableRain = false; return this; } - public PropsBuilder withSnowEnabled() { this.enableSnow = true; return this; } - public PropsBuilder withWaterColor(Integer waterColor) { if (waterColor != null) this.waterColor = waterColor; return this; } - public PropsBuilder withBaseBiome(String name) { if (name != null) this.baseBiomeRegName = name; return this; } - - public BiomeProps build() - { - return new BiomeProps(this.biomeName, this.temperature, this.rainfall, this.baseHeight, this.heightVariation, this.enableRain, this.enableSnow, this.waterColor, this.baseBiomeRegName, this.guiColour); - } - } - - public static class BiomeProps extends BiomeProperties - { - /**The colour of this biome as seen in guis**/ - private int guiColour = 0xffffff; - - private BiomeProps(String name, float temperature, float rainfall, float baseHeight, float heightVariation, boolean enableRain, boolean enableSnow, int waterColor, String baseBiomeRegName, int guiColour) - { - super(name); - - this.setTemperature(temperature); - this.setRainfall(rainfall); - this.setBaseHeight(baseHeight); - this.setHeightVariation(heightVariation); - if (!enableRain) this.setRainDisabled(); - if (enableSnow) this.setSnowEnabled(); - this.setWaterColor(waterColor); - this.setBaseBiome(baseBiomeRegName); - - this.guiColour = guiColour; - } - } -} diff --git a/src/main/java/biomesoplenty/common/biome/nether/BOPHellBiome.java b/src/main/java/biomesoplenty/common/biome/nether/BOPHellBiome.java deleted file mode 100644 index 4fb0c7a9a..000000000 --- a/src/main/java/biomesoplenty/common/biome/nether/BOPHellBiome.java +++ /dev/null @@ -1,181 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.biome.nether; - -import java.util.Random; - -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.BOPBiome; -import biomesoplenty.common.init.ModBiomes; -import biomesoplenty.common.world.generator.GeneratorHive; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.monster.EntityMagmaCube; -import net.minecraft.entity.monster.EntityPigZombie; -import net.minecraft.init.Blocks; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.ChunkPrimer; - -public class BOPHellBiome extends BOPBiome -{ - public IBlockState wallBlock = Blocks.NETHERRACK.getDefaultState(); - public IBlockState roofTopBlock = Blocks.NETHERRACK.getDefaultState(); - public IBlockState roofFillerBlock = Blocks.NETHERRACK.getDefaultState(); - - public BOPHellBiome(String idName, PropsBuilder defaultBuilder) - { - super(idName, defaultBuilder); - - this.topBlock = Blocks.NETHERRACK.getDefaultState(); - this.fillerBlock = Blocks.NETHERRACK.getDefaultState(); - - this.spawnableCaveCreatureList.clear(); - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.clear(); - this.spawnableWaterCreatureList.clear(); - - this.spawnableMonsterList.add(new SpawnListEntry(EntityGhast.class, 50, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityPigZombie.class, 100, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityMagmaCube.class, 2, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityEnderman.class, 1, 4, 4)); - - this.addGenerator("hive", GeneratorStage.PRE, (new GeneratorHive.Builder()).amountPerChunk(0.2F).create()); - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - // Allow basic properties to be overridden - this.wallBlock = conf.getBlockState("wallBlock", this.wallBlock); - this.roofTopBlock = conf.getBlockState("roofTopBlock", this.roofTopBlock); - this.roofFillerBlock = conf.getBlockState("roofFillerBlock", this.roofFillerBlock); - - // log any warnings from parsing the config file - for (String msg : conf.flushMessages()) - BiomesOPlenty.logger.info(msg); - // write default values to a file - ModBiomes.writeDefaultConfigFile(ModBiomes.BOP_DEFAULTS_DIR, this.getResourceLocation().getResourcePath(), conf); - } - - @Override - public void applySettings(IBOPWorldSettings settings) - { - if (!settings.isEnabled(GeneratorType.GEMS)) {this.removeGenerator("ruby"); this.removeGenerator("topaz"); - this.removeGenerator("amber"); this.removeGenerator("peridot"); this.removeGenerator("malachite"); - this.removeGenerator("sapphire"); this.removeGenerator("tanzanite"); this.removeGenerator("amethyst");} - - if (!settings.isEnabled(GeneratorType.POISON_IVY)) {this.removeGenerator("poison_ivy");} - - if (!settings.isEnabled(GeneratorType.BERRY_BUSHES)) {this.removeGenerator("berry_bushes");} - - if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");} - - if (!settings.isEnabled(GeneratorType.THORNS)) {this.removeGenerator("thorns");} - - if (!settings.isEnabled(GeneratorType.QUICKSAND)) {this.removeGenerator("quicksand");} - - if (!settings.isEnabled(GeneratorType.HOT_SPRINGS)) {this.removeGenerator("hot_springs");} - - if (!settings.isEnabled(GeneratorType.LIQUID_POISON)) {this.removeGenerator("poison_lakes");} - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double stoneNoiseVal) - { - IBlockState roof = this.roofTopBlock; - IBlockState roofFiller = this.roofFillerBlock; - IBlockState wall = this.wallBlock; - IBlockState floor = this.topBlock; - IBlockState floorFiller = this.fillerBlock; - - int roofDepth = 4; - int floorDepth = 4; - - int localX = x & 15; - int localZ = z & 15; - int localY = 127; - boolean lastSolid = true; - - while (localY >= 0) - { - int blockSkip = 1; - IBlockState currentState = primer.getBlockState(localZ, localY, localX); - - if (currentState.getBlock() == Blocks.NETHERRACK) - { - // initially set to the wall material. this may be replaced later by a roof - primer.setBlockState(localZ, localY, localX, wall); - - // this must be a floor - if (!lastSolid) - { - primer.setBlockState(localZ, localY, localX, floor); - - // iterate over the next few blocks and replace them with the floor material. skip those - // blocks too as we've already checked and modified them - for (int floorOffset = 1; floorOffset <= floorDepth - 1 && localY - floorOffset >= 0; floorOffset++) - { - IBlockState state = primer.getBlockState(localZ, localY - floorOffset, localX); - blockSkip = floorOffset + 1; - - if (state.getBlock() == Blocks.NETHERRACK) - { - primer.setBlockState(localZ, localY - floorOffset, localX, floorFiller); - } - else break; - } - } - - // update lastSolid for next time - lastSolid = true; - } - else if (currentState.getMaterial() == Material.AIR) - { - // previous blocks must be a roof - if (lastSolid) - { - primer.setBlockState(localZ, localY + 1, localX, roof); - - // iterate over the previous few blocks to replace them with the roof material - for (int roofOffset = 2; roofOffset <= roofDepth && localY + roofOffset <= 127; roofOffset++) - { - IBlockState state = primer.getBlockState(localZ, localY + roofOffset, localX); - - // onllocalY replace netherrack or walls, if it's air or anything else then don't continue - if (state.getBlock() == Blocks.NETHERRACK || state == wall) - { - primer.setBlockState(localZ, localY + roofOffset, localX, roofFiller); - } - else break; - } - } - - // update lastSolid for next time - lastSolid = false; - } - - localY -= blockSkip; - } - } - - @Override - public ResourceLocation getBeachLocation() - { - return null; - } -} diff --git a/src/main/java/biomesoplenty/common/biome/nether/BiomeCorruptedSands.java b/src/main/java/biomesoplenty/common/biome/nether/BiomeCorruptedSands.java deleted file mode 100644 index 0655d8b19..000000000 --- a/src/main/java/biomesoplenty/common/biome/nether/BiomeCorruptedSands.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.biome.nether; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorBramble; -import biomesoplenty.common.world.generator.GeneratorFlora; -import net.minecraft.init.Blocks; - -public class BiomeCorruptedSands extends BOPHellBiome -{ - public BiomeCorruptedSands() - { - super("corrupted_sands", new PropsBuilder("Corrupted Sands").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled()); - - this.addWeight(BOPClimates.HELL, 5); - - this.topBlock = Blocks.SOUL_SAND.getDefaultState(); - this.fillerBlock = Blocks.SOUL_SAND.getDefaultState(); - this.wallBlock = Blocks.SOUL_SAND.getDefaultState(); - - this.hasBiomeEssence = false; - - IBlockPosQuery emptySoulsand = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - this.addGenerator("bramble", GeneratorStage.FLOWERS,(new GeneratorBramble.Builder()).amountPerChunk(40.0F).placeOn(emptySoulsand).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - - // splatter top blocks - //this.addGenerator("netherrack_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(5.0F).generationAttempts(128).scatterYMethod(ScatterYMethod.NETHER_SURFACE).replace(emptySoulsand).with(Blocks.NETHERRACK.getDefaultState()).create()); - this.addGenerator("dead_grass", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(5.0F).with(BOPPlants.DEADGRASS).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - this.addGenerator("thorns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(3.0F).placeOn(emptySoulsand).with(BOPPlants.THORN).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/nether/BiomeFungiForest.java b/src/main/java/biomesoplenty/common/biome/nether/BiomeFungiForest.java deleted file mode 100644 index 8d9cbe145..000000000 --- a/src/main/java/biomesoplenty/common/biome/nether/BiomeFungiForest.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.biome.nether; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorBigMushroom; -import biomesoplenty.common.world.generator.GeneratorFlora; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; - -public class BiomeFungiForest extends BOPHellBiome -{ - public IBlockState usualTopBlock; - public IBlockState alternateTopBlock; - - public BiomeFungiForest() - { - super("fungi_forest", new PropsBuilder("Fungi Forest").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled()); - - this.addWeight(BOPClimates.HELL, 5); - - this.hasBiomeEssence = false; - - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.MYCELIAL_NETHERRACK); - - // shrooms - IBlockPosQuery surfaceBlocks = BlockQuery.buildOr().states(this.topBlock).create(); - this.addGenerator("glowshroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.GLOWSHROOM).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(5.0F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - this.addGenerator("big_brown_mushroom", GeneratorStage.BIG_SHROOM,(new GeneratorBigMushroom.Builder()).amountPerChunk(2.0F).mushroomType(GeneratorBigMushroom.BigMushroomType.BROWN).scatterYMethod(ScatterYMethod.NETHER_SURFACE).placeOn(surfaceBlocks).create()); - this.addGenerator("big_red_mushroom", GeneratorStage.BIG_SHROOM,(new GeneratorBigMushroom.Builder()).amountPerChunk(30.0F).mushroomType(GeneratorBigMushroom.BigMushroomType.RED).scatterYMethod(ScatterYMethod.NETHER_SURFACE).minHeight(5).maxHeight(10).placeOn(surfaceBlocks).create()); - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 1.0D > 1.8D) ? this.alternateTopBlock : this.usualTopBlock; - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/nether/BiomePhantasmagoricInferno.java b/src/main/java/biomesoplenty/common/biome/nether/BiomePhantasmagoricInferno.java deleted file mode 100644 index e1f9381f6..000000000 --- a/src/main/java/biomesoplenty/common/biome/nether/BiomePhantasmagoricInferno.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.biome.nether; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorLakes; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; - -public class BiomePhantasmagoricInferno extends BOPHellBiome -{ - public BiomePhantasmagoricInferno() - { - super("phantasmagoric_inferno", new PropsBuilder("Phantasmagoric Inferno").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled()); - - this.addWeight(BOPClimates.HELL, 5); - - this.hasBiomeEssence = false; - - this.topBlock = BOPBlocks.ash_block.getDefaultState(); - this.fillerBlock = BOPBlocks.ash_block.getDefaultState(); - - // lava lakes - this.addGenerator("lava_lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(4.0F).liquid(Blocks.LAVA).frozenLiquid((IBlockState)null).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - - // splatter top blocks - IBlockPosQuery emptyAsh = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - - this.addGenerator("fire", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.5F).with(Blocks.FIRE.getDefaultState()).placeOn(emptyAsh).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - this.addGenerator("blue_fire", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.5F).with(BOPBlocks.blue_fire.getDefaultState()).placeOn(emptyAsh).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/nether/BiomeUndergarden.java b/src/main/java/biomesoplenty/common/biome/nether/BiomeUndergarden.java deleted file mode 100644 index 9ebf10d33..000000000 --- a/src/main/java/biomesoplenty/common/biome/nether/BiomeUndergarden.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.biome.nether; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLog; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorSplatter; -import biomesoplenty.common.world.generator.GeneratorVines; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.init.Blocks; - -public class BiomeUndergarden extends BOPHellBiome -{ - - public BiomeUndergarden() - { - super("undergarden", new PropsBuilder("Undergarden").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled()); - - this.addWeight(BOPClimates.HELL, 5); - - this.hasBiomeEssence = false; - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK); - - // splatter top blocks - IBlockPosQuery emptyOvergrownNetherrack = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - this.addGenerator("netherrack_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(7.0F).generationAttempts(128).scatterYMethod(ScatterYMethod.NETHER_SURFACE).replace(emptyOvergrownNetherrack).with(Blocks.NETHERRACK.getDefaultState()).create()); - - IBlockPosQuery suitableNetherrackPosition = BlockQuery.buildAnd().withAltitudeBetween(70, 120).states(Blocks.NETHERRACK.getDefaultState()).create(); - this.addGenerator("ivy", GeneratorStage.FLOWERS,(new GeneratorVines.Builder()).amountPerChunk(25.0F).generationAttempts(128).placeOn(suitableNetherrackPosition).with(BOPBlocks.ivy.getDefaultState()).minHeight(8).maxHeight(20).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.0F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("burning_blossom", 4, (new GeneratorFlora.Builder().scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BOPFlowers.BURNING_BLOSSOM).create())); - - // trees - IBlockPosQuery surfaceBlocks = BlockQuery.buildOr().states(this.topBlock, BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK)).create(); - GeneratorWeighted treeGenerator = new GeneratorWeighted(15.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("twiglet", 5, (new GeneratorTwigletTree.Builder()).scatterYMethod(ScatterYMethod.NETHER_SURFACE).placeOn(surfaceBlocks).minHeight(2).maxHeight(2).log(BlockBOPLog.paging.getVariantState(BOPWoods.HELLBARK)).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.HELLBARK)).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(15.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("devilweed", 5, (new GeneratorGrass.Builder()).with(BOPPlants.DEVILWEED).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).generationAttempts(16).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).generationAttempts(16).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).generationAttempts(16).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).generationAttempts(16).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/nether/BiomeVisceralHeap.java b/src/main/java/biomesoplenty/common/biome/nether/BiomeVisceralHeap.java deleted file mode 100644 index 1957e6cdf..000000000 --- a/src/main/java/biomesoplenty/common/biome/nether/BiomeVisceralHeap.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.biome.nether; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorLakes; -import net.minecraft.block.BlockBone; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; - -public class BiomeVisceralHeap extends BOPHellBiome -{ - - public BiomeVisceralHeap() - { - super("visceral_heap", new PropsBuilder("Visceral Heap").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled()); - - this.addWeight(BOPClimates.HELL, 5); - - this.hasBiomeEssence = false; - - this.topBlock = BOPBlocks.flesh.getDefaultState(); - this.fillerBlock = BOPBlocks.flesh.getDefaultState(); - this.wallBlock = BOPBlocks.flesh.getDefaultState(); - - // blood pools - this.addGenerator("blood_pools", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(6.0F).liquid(BOPBlocks.blood).frozenLiquid((IBlockState)null).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create()); - - IBlockPosQuery emptyFlesh = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - this.addGenerator("bones", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(1.5F).placeOn(emptyFlesh).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(Blocks.BONE_BLOCK.getDefaultState().withProperty(BlockBone.AXIS, EnumFacing.Axis.Y)).minHeight(1).maxHeight(4).create()); - this.addGenerator("eyebulbs", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).generationAttempts(16).amountPerChunk(1.0F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BlockBOPDoublePlant.DoublePlantType.EYEBULB).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BOPOverworldBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/BOPOverworldBiome.java deleted file mode 100644 index d95b5c284..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BOPOverworldBiome.java +++ /dev/null @@ -1,225 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.BOPBiome; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.init.ModBiomes; -import biomesoplenty.common.util.biome.BiomeUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.TerrainSettings; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.block.BlockSand; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; - -public class BOPOverworldBiome extends BOPBiome -{ - public IBlockState seaFloorBlock = Blocks.DIRT.getDefaultState(); - - public boolean canSpawnInBiome = true; - public boolean canGenerateVillages = true; - public boolean canGenerateRivers = true; - - public ResourceLocation beachBiomeLocation = BiomeUtils.getLocForBiome(Biomes.BEACH); - - public TerrainSettings terrainSettings = new TerrainSettings(); - public boolean noNeighborTerrainInfuence = false; - public int avgDirtDepth = 3; - - public BOPOverworldBiome(String idName, PropsBuilder defaultBuilder) - { - super(idName, defaultBuilder); - - this.terrainSettings.setDefaults(); - - // roots - this.addGenerator("roots", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(4.0F).with(BOPPlants.ROOT).create()); - - IBlockPosQuery suitableStonePosition = BlockQuery.buildAnd().withAltitudeBetween(0, 55).blocks(Blocks.STONE).create(); - this.addGenerator("miners_delight", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).generationAttempts(64).with(BOPFlowers.MINERS_DELIGHT).placeOn(suitableStonePosition).scatterYMethod(ScatterYMethod.BELOW_GROUND).create()); - this.addGenerator("glowshrooms", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).generationAttempts(64).placeOn(suitableStonePosition).with(BOPBlocks.mushroom.getDefaultState().withProperty(BlockBOPMushroom.VARIANT, BlockBOPMushroom.MushroomType.GLOWSHROOM)).scatterYMethod(ScatterYMethod.BELOW_GROUND).create()); - } - - @Override - public void applySettings(IBOPWorldSettings settings) - { - if (!settings.isEnabled(GeneratorType.GEMS)) {this.removeGenerator("ruby"); this.removeGenerator("topaz"); - this.removeGenerator("amber"); this.removeGenerator("peridot"); this.removeGenerator("malachite"); - this.removeGenerator("sapphire"); this.removeGenerator("tanzanite"); this.removeGenerator("amethyst");} - - if (!settings.isEnabled(GeneratorType.POISON_IVY)) {this.removeGenerator("poison_ivy");} - - if (!settings.isEnabled(GeneratorType.BERRY_BUSHES)) {this.removeGenerator("berry_bushes");} - - if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");} - - if (!settings.isEnabled(GeneratorType.THORNS)) {this.removeGenerator("thorns");} - - if (!settings.isEnabled(GeneratorType.QUICKSAND)) {this.removeGenerator("quicksand");} - - if (!settings.isEnabled(GeneratorType.HOT_SPRINGS)) {this.removeGenerator("hot_springs");} - - if (!settings.isEnabled(GeneratorType.LIQUID_POISON)) {this.removeGenerator("poison_lakes");} - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - // Allow basic properties to be overridden - - this.seaFloorBlock = conf.getBlockState("seaFloorBlock", this.seaFloorBlock); - - this.terrainSettings.avgHeight = conf.getFloat("averageHeight", (float)this.terrainSettings.avgHeight); - this.terrainSettings.variationBelow = conf.getFloat("variationBelow", (float)this.terrainSettings.variationBelow); - this.terrainSettings.variationAbove = conf.getFloat("variationAbove", (float)this.terrainSettings.variationAbove); - - this.canSpawnInBiome = conf.getBool("canSpawnInBiome", this.canSpawnInBiome); - this.canGenerateVillages = conf.getBool("canGenerateVillages", this.canGenerateVillages); - this.canGenerateRivers = conf.getBool("canGenerateRivers", this.canGenerateRivers); - - this.beachBiomeLocation = conf.getResourceLocation("beachBiomeLocation", this.beachBiomeLocation); - - // log any warnings from parsing the config file - for (String msg : conf.flushMessages()) - BiomesOPlenty.logger.info(msg); - // write default values to a file - ModBiomes.writeDefaultConfigFile(ModBiomes.BOP_DEFAULTS_DIR, this.getResourceLocation().getResourcePath(), conf); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double stoneNoiseVal) - { - IBlockState topBlock = this.topBlock; - IBlockState fillerBlock = this.fillerBlock; - IBlockState seaFloorBlock = this.seaFloorBlock; - - boolean hitFloorYet = false; - int topBlocksToFill = 0; - int dirtBlocksToFill = 0; - int seaFloorBlocksToFill = 0; - int dirtDepth = Math.max(0, (int)(stoneNoiseVal / 3.0D + this.avgDirtDepth + rand.nextDouble() * 0.25D)); - int seaFloorDepth = 1 + rand.nextInt(2); - - int localX = x & 15; - int localZ = z & 15; - - // start at the top and move downwards - for (int y = 255; y >= 0; --y) - { - - IBlockState state = primer.getBlockState(localZ, y, localX); - - // bedrock at the bottom - if (y <= rand.nextInt(5)) - { - primer.setBlockState(localZ, y, localX, Blocks.BEDROCK.getDefaultState()); - continue; - } - - if (state.getMaterial() == Material.AIR) - { - // topBlocks and dirtBlocks can occur after any pocket of air - topBlocksToFill = (topBlock == null ? 0 : 1); - dirtBlocksToFill = dirtDepth; - continue; - } - else if (!hitFloorYet && state.getMaterial() == Material.WATER) - { - // seaFloorBlocks can occur after surface water - seaFloorBlocksToFill = seaFloorDepth; - } - - if (state.getBlock() == Blocks.STONE) - { - hitFloorYet = true; - if (topBlocksToFill > 0) - { - if (y >= 62) - { - primer.setBlockState(localZ, y, localX, topBlock); - } - else if (y >= 56 - dirtDepth) - { - primer.setBlockState(localZ, y, localX, fillerBlock); - } - else - { - primer.setBlockState(localZ, y, localX, Blocks.GRAVEL.getDefaultState()); - dirtBlocksToFill = 0; - } - topBlocksToFill--; - } - else if (seaFloorBlocksToFill > 0) - { - primer.setBlockState(localZ, y, localX, seaFloorBlock); - --seaFloorBlocksToFill; - } - else if (dirtBlocksToFill > 0) - { - primer.setBlockState(localZ, y, localX, fillerBlock); - --dirtBlocksToFill; - - // add sandstone after a patch of sand - if (dirtBlocksToFill == 0 && fillerBlock.getBlock() == Blocks.SAND) - { - dirtBlocksToFill = rand.nextInt(4) + Math.max(0, y - 63); - fillerBlock = fillerBlock.getValue(BlockSand.VARIANT) == BlockSand.EnumType.RED_SAND ? Blocks.RED_SANDSTONE.getDefaultState() : Blocks.SANDSTONE.getDefaultState(); - } - if (dirtBlocksToFill == 0 && fillerBlock.getBlock() == BOPBlocks.white_sand) - { - dirtBlocksToFill = rand.nextInt(4) + Math.max(0, y - 63); - fillerBlock = BOPBlocks.white_sandstone.getDefaultState(); - } - } - } - } - } - - @Override - public ResourceLocation getBeachLocation() - { - return this.beachBiomeLocation; - } - - // the below two methods convert between our values and Vanilla. - // they're mostly used for mods like Pioneer rather than us. - - @Override - public float getBaseHeight() - { - return ((float)this.terrainSettings.avgHeight - 65.0F) / 17.0F; - } - - @Override - public float getHeightVariation() - { - // average the heightVariation values for above and below - return Math.abs((((float)this.terrainSettings.variationAbove - 7.0F) / (20.0F * 4.0F) + ((float)this.terrainSettings.variationBelow - 4.0F) / 20.0F) / 2.0F); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenAlps.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenAlps.java deleted file mode 100644 index 35d9dceec..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenAlps.java +++ /dev/null @@ -1,93 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import com.google.common.base.CaseFormat; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityLlama; -import net.minecraft.init.Blocks; - -public class BiomeGenAlps extends BOPOverworldBiome -{ - public enum AlpsType {ALPS, ALPS_FOOTHILLS} - - public AlpsType type; - - public BiomeGenAlps(AlpsType type) - { - super(type.name().toLowerCase(), new PropsBuilder(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, type.toString())).withGuiColour(13421772).withSnowEnabled().withTemperature(-0.25F).withRainfall(0.3F)); - - this.type = type; - - // terrain - switch (type) - { - case ALPS: - this.terrainSettings.avgHeight(198).heightVariation(12, 12).octaves(1, 1, 2, 2, 3, 3); - this.topBlock = Blocks.SNOW.getDefaultState(); - this.fillerBlock = Blocks.SNOW.getDefaultState(); - break; - - case ALPS_FOOTHILLS: - this.terrainSettings.avgHeight(120).heightVariation(48, 64).octaves(0, 1, 1, 3, 1, 0); - this.hasBiomeEssence = false; - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_STONE); - this.fillerBlock = Blocks.STONE.getDefaultState(); - break; - } - - this.canGenerateRivers = false; - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - if (type == AlpsType.ALPS) - { - this.addWeight(BOPClimates.TUNDRA, 3); - this.addWeight(BOPClimates.ICE_CAP, 5); - } - - this.avgDirtDepth = 8; - - this.spawnableCreatureList.clear(); - - // trees & logs - if (type == AlpsType.ALPS_FOOTHILLS) - { - this.spawnableCreatureList.add(new SpawnListEntry(EntityLlama.class, 5, 4, 6)); - - IBlockPosQuery emptyStone = BlockQuery.buildAnd().withAirAbove().states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_STONE)).create(); - GeneratorWeighted treeGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("fir", 1, (new GeneratorTaigaTree.Builder()).placeOn(emptyStone).log(BOPWoods.FIR).leaves(BOPTrees.FIR).minHeight(10).maxHeight(19).create()); - - // hot springs - this.addGenerator("hot_springs", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.5F).liquid(BOPBlocks.hot_spring_water).frozenLiquid((IBlockState)null).scatterYMethod(ScatterYMethod.AT_SURFACE).create()); - } - - // gem - this.addGenerator("emeralds", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(Blocks.EMERALD_ORE.getDefaultState()).create()); - - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBambooForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBambooForest.java deleted file mode 100644 index 05b50048c..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBambooForest.java +++ /dev/null @@ -1,129 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBulbTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockDirt; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; - -public class BiomeGenBambooForest extends BOPOverworldBiome -{ - - public IBlockState usualTopBlock; - public IBlockState alternateTopBlock; - - public BiomeGenBambooForest() - { - super("bamboo_forest", new PropsBuilder("Bamboo Forest").withGuiColour(0xA3E053).withRainfall(0.85F).withTemperature(0.9F)); - - // terrain - this.terrainSettings.avgHeight(68).heightVariation(5, 10); - - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.TROPICAL, 3); - - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.add(new SpawnListEntry(EntityOcelot.class, 2, 1, 1)); - - this.topBlock = Blocks.DIRT.getDefaultState().withProperty(BlockDirt.VARIANT, BlockDirt.DirtType.PODZOL); - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = Blocks.GRASS.getDefaultState(); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(30); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("bamboo", 3, (new GeneratorBulbTree.Builder()).minHeight(10).maxHeight(20).log(BOPBlocks.bamboo.getDefaultState()).leaves(BOPTrees.BAMBOO).create()); - treeGenerator.add("bamboo_thin", 1, (new GeneratorTwigletTree.Builder()).minHeight(5).maxHeight(10).leafChance(0.3F).log(BOPBlocks.bamboo.getDefaultState()).leaves(BOPTrees.BAMBOO).create()); - //treeGenerator.add("oak_bush", 1, (new GeneratorBush.Builder()).maxHeight(2).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(2.6F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("doublegrass", 2, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.GRASS).create()); - - // other plants - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(3.0F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("ferns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(4.0F).with(BlockTallGrass.EnumType.FERN).create()); - this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(5.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(4.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.BUSH).create()); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - - - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 3.0D > 1.8D) ? this.alternateTopBlock : this.usualTopBlock; - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xBBDD54); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xBBDD54); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBayou.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBayou.java deleted file mode 100644 index 7a6f1862a..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBayou.java +++ /dev/null @@ -1,136 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplatter; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBayouTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.monster.EntitySlime; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenBayou extends BOPOverworldBiome -{ - - public BiomeGenBayou() - { - super("bayou", new PropsBuilder("Bayou").withGuiColour(0x7DAD51).withTemperature(0.95F).withRainfall(0.9F).withWaterColor(0xFFD932)); - - // terrain - this.terrainSettings.avgHeight(62).heightVariation(6, 3).octaves(1, 1, 1, 1, 0, 0).sidewaysNoise(0.0F); - - //this.skyColor = 0xACC4BC; - this.seaFloorBlock = BOPBlocks.mud.getDefaultState(); - - this.canSpawnInBiome = false; - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.HOT_SWAMP, 10); - - this.spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 1, 3)); - - // mud - IBlockPosQuery emptyGrassOrDirt = BlockQuery.buildAnd().withAirAbove().states(this.topBlock, this.fillerBlock).create(); - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(1).maxRadius(3).with(BOPBlocks.mud.getDefaultState()).create()); - this.addGenerator("mud_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(0.2F).replace(emptyGrassOrDirt).with(BOPBlocks.mud.getDefaultState()).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(8); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("willow", 3, (new GeneratorBayouTree.Builder()).log(BOPWoods.WILLOW).leaves(BOPTrees.WILLOW).minHeight(6).maxHeight(12).minLeavesRadius(1).leavesGradient(2).create()); - treeGenerator.add("willow_large", 1, (new GeneratorBayouTree.Builder()).log(BOPWoods.WILLOW).leaves(BOPTrees.WILLOW).minHeight(10).maxHeight(18).minLeavesRadius(2).leavesGradient(3).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(2.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("doublegrass", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.GRASS).create()); - - // other plants - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.KORU).create()); - this.addGenerator("cattail", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(6.0F).with(BOPPlants.CATTAIL).create()); - this.addGenerator("double_cattail", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(8.0F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); - this.addGenerator("sugar_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(3.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(Blocks.REEDS.getDefaultState()).minHeight(1).maxHeight(3).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(2.5F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(2.0F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1.5F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1.5F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(4.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.8F).with(BOPPlants.REED).generationAttempts(32).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x7DAD51); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x9DDD66); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBog.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBog.java deleted file mode 100644 index 8ce341700..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBog.java +++ /dev/null @@ -1,194 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorBigMushroom; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.monster.EntitySlime; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenBog extends BOPOverworldBiome -{ - public IBlockState usualTopBlock; - public IBlockState alternateTopBlock; - - public BiomeGenBog() - { - super("bog", new PropsBuilder("Bog").withGuiColour(0xD8935F).withTemperature(0.5F).withRainfall(0.9F).withWaterColor(0xBCFF96)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(5, 1).octaves(1, 4, 3, 1, 1, 0); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY).withProperty(BlockBOPDirt.COARSE, true); - this.seaFloorBlock = BOPBlocks.mud.getDefaultState(); - - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.addWeight(BOPClimates.COLD_SWAMP, 7); - - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 1, 3)); - - // lakes - this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(1.0F).waterLakeForBiome(this).create()); - this.addGenerator("poison_lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.1F).liquid(BOPBlocks.poison).frozenLiquid((IBlockState)null).create()); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(BOPBlocks.mud.getDefaultState()).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(2); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak_tree", 1, (new GeneratorBigTree.Builder()).foliageHeight(1).maxHeight(15).create()); - treeGenerator.add("dark_oak_twiglet", 5, (new GeneratorTwigletTree.Builder()).log(BlockPlanks.EnumType.DARK_OAK).leaves(BlockPlanks.EnumType.DARK_OAK).minHeight(1).maxHeight(4).leafChance(0.3F, 0.9F).create()); - treeGenerator.add("oak_twiglet", 6, (new GeneratorTwigletTree.Builder()).minHeight(2).maxHeight(5).leafChance(0.3F, 0.9F).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.75F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // other plants - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.KORU).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(3.0F).with(BOPPlants.BUSH).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - this.addGenerator("cattail", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.CATTAIL).create()); - this.addGenerator("double_cattail", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.REED).generationAttempts(32).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.25F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - - this.addGenerator("big_brown_mushroom", GeneratorStage.BIG_SHROOM,(new GeneratorBigMushroom.Builder()).amountPerChunk(0.2F).minHeight(4).maxHeight(5).mushroomType(GeneratorBigMushroom.BigMushroomType.BROWN).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 1.0D > 1.9D) ? this.alternateTopBlock : this.usualTopBlock; - - double d0 = GRASS_COLOR_NOISE.getValue((double)x * 0.25D, (double)z * 0.25D); - - if (d0 > 0.0D) - { - int i = x & 15; - int j = z & 15; - - for (int k = 255; k >= 0; --k) - { - if (primer.getBlockState(j, k, i).getMaterial() != Material.AIR) - { - if (k == 62 && primer.getBlockState(j, k, i).getBlock() != Blocks.WATER) - { - primer.setBlockState(j, k, i, WATER); - } - - break; - } - } - } - - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xC1997C); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x9DAF60); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBorealForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBorealForest.java deleted file mode 100644 index b48342a9c..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBorealForest.java +++ /dev/null @@ -1,101 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - -public class BiomeGenBorealForest extends BOPOverworldBiome -{ - public BiomeGenBorealForest() - { - super("boreal_forest", new PropsBuilder("Boreal Forest").withGuiColour(0x9FB771).withTemperature(0.3F).withRainfall(0.6F)); - - // terrain - this.terrainSettings.avgHeight(70).heightVariation(15, 30); - - this.addWeight(BOPClimates.BOREAL, 5); - - this.canGenerateVillages = false; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 5, 4, 4)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // sand and gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(6).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(8); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak", 3, (new GeneratorBasicTree.Builder()).create()); - treeGenerator.add("yellow_autumn", 4, (new GeneratorBigTree.Builder()).log(BlockPlanks.EnumType.BIRCH).leaves(BOPTrees.YELLOW_AUTUMN).foliageHeight(2).maxHeight(13).create()); - treeGenerator.add("spruce", 5, (new GeneratorTaigaTree.Builder()).minHeight(10).maxHeight(19).create()); // TODO: implement pine cones - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.75F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("fern", 4, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.75F).with(BOPPlants.BUSH).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.REED).generationAttempts(32).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x9FB771); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xC9CE65); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBrushland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBrushland.java deleted file mode 100644 index 0a7984ee6..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenBrushland.java +++ /dev/null @@ -1,106 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenBrushland extends BOPOverworldBiome -{ - - public BiomeGenBrushland() - { - super("brushland", new PropsBuilder("Brushland").withGuiColour(0xC6C19B).withTemperature(1.5F).withRainfall(0.1F).withRainDisabled()); - - // terrain - this.terrainSettings.avgHeight(66).heightVariation(3, 20); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY); - this.addWeight(BOPClimates.SAVANNA, 10); - - this.canGenerateVillages = true; - - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - //sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - // quicksand - this.addGenerator("quicksand", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.2F).liquid(BOPBlocks.sand).frozenLiquid((IBlockState)null).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(6.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("brush", 1, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.ACACIA).leaves(BlockPlanks.EnumType.ACACIA).minHeight(3).maxHeight(5).leafLayers(2).create()); - treeGenerator.add("brush_twiglet", 2, (new GeneratorTwigletTree.Builder()).minHeight(1).maxHeight(2).log(BOPWoods.EBONY).leaves(BOPTrees.EBONY).create()); - treeGenerator.add("jungle_twiglet", 1, (new GeneratorTwigletTree.Builder()).minHeight(2).maxHeight(2).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.JUNGLE).trunkFruit(Blocks.COCOA.getDefaultState()).create()); - treeGenerator.add("brush_bush", 3, (new GeneratorFlora.Builder()).placeOn(this.topBlock).replace(Material.AIR).withNonDecayingLeaf(BlockPlanks.EnumType.OAK).generationAttempts(8).create()); - treeGenerator.add("decaying_tree", 2, (new GeneratorBigTree.Builder()).amountPerChunk(1.0F).log(BOPWoods.EBONY).leaves(BOPTrees.EBONY).minHeight(4).maxHeight(10).foliageHeight(1).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(9.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.SHRUB).create()); - this.addGenerator("thorns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.THORN).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xC6C19B); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xB3BA73); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenChaparral.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenChaparral.java deleted file mode 100644 index 40108ca42..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenChaparral.java +++ /dev/null @@ -1,143 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplotches; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityDonkey; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.ChunkPrimer; - -public class BiomeGenChaparral extends BOPOverworldBiome -{ - public IBlockState usualTopBlock; - public IBlockState usualFillerBlock; - public IBlockState alternateTopBlock; - public IBlockState alternateFillerBlock; - - public BiomeGenChaparral() - { - super("chaparral", new PropsBuilder("Chaparral").withGuiColour(0xC4D675).withTemperature(0.8F).withRainfall(0.4F)); - - // terrain - this.terrainSettings.avgHeight(80).heightVariation(10, 20); - - this.addWeight(BOPClimates.MEDITERANEAN, 10); - - this.usualTopBlock = this.topBlock; - this.usualFillerBlock = this.fillerBlock; - this.alternateTopBlock = Blocks.STONE.getDefaultState(); - this.alternateFillerBlock = Blocks.STONE.getDefaultState(); - - this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 1, 2, 6)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityDonkey.class, 1, 1, 1)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - this.canGenerateVillages = true; - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - // stone patches - IBlockPosQuery emptyStoneOrGrass = BlockQuery.buildAnd().withAirAbove().states(this.topBlock, Blocks.STONE.getDefaultState()).create(); - this.addGenerator("stone_patches", GeneratorStage.SAND, (new GeneratorSplotches.Builder()).amountPerChunk(4).splotchSize(15).replace(emptyStoneOrGrass).with(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_STONE)).scatterYMethod(ScatterYMethod.AT_SURFACE).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("rose", 8, (new GeneratorDoubleFlora.Builder()).amountPerChunk(1).with(BlockDoublePlant.EnumPlantType.ROSE).create()); - flowerGenerator.add("syringa", 4, (new GeneratorDoubleFlora.Builder()).amountPerChunk(1).with(BlockDoublePlant.EnumPlantType.SYRINGA).create()); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(7.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("twiglet", 3, (new GeneratorTwigletTree.Builder()).minHeight(2).maxHeight(2).log(BlockPlanks.EnumType.OAK).leaves(BlockPlanks.EnumType.OAK).create()); - treeGenerator.add("small_bush", 1, (new GeneratorFlora.Builder()).placeOn(this.topBlock).replace(Material.AIR).withNonDecayingLeaf(BlockPlanks.EnumType.OAK).create()); - - // other plants - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.75F).with(BOPPlants.BUSH).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.REED).generationAttempts(32).create()); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.usualFillerBlock = this.fillerBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - this.alternateFillerBlock = conf.getBlockState("alternateFillerBlock", this.alternateFillerBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 1.0D > 2.0D) ? this.alternateTopBlock : this.usualTopBlock; - this.fillerBlock = (noise + rand.nextDouble() * 1.0D > 2.0D) ? this.alternateFillerBlock : this.usualFillerBlock; - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } - - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xC4D675); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenCherryBlossomGrove.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenCherryBlossomGrove.java deleted file mode 100644 index fafe80ad3..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenCherryBlossomGrove.java +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenCherryBlossomGrove extends BOPOverworldBiome -{ - public BiomeGenCherryBlossomGrove() - { - super("cherry_blossom_grove", new PropsBuilder("Cherry Blossom Grove").withGuiColour(0xF88F8F).withTemperature(0.55F).withRainfall(0.8F)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(5, 25).sidewaysNoise(0.8F); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.COOL_TEMPERATE, 2); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(2.3F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("pink_daffodil", 4, (new GeneratorFlora.Builder().with(BOPFlowers.PINK_DAFFODIL).create())); - flowerGenerator.add("white_anemones", 3, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("clover", 2, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - flowerGenerator.add("syringa", 2, (new GeneratorDoubleFlora.Builder().with(BlockDoublePlant.EnumPlantType.SYRINGA).create())); - flowerGenerator.add("houstonia", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.HOUSTONIA).create())); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(3.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("pink_cherry", 2, (new GeneratorBasicTree.Builder()).log(BOPWoods.CHERRY).leaves(BOPTrees.PINK_CHERRY).create()); - treeGenerator.add("white_cherry", 1, (new GeneratorBasicTree.Builder()).log(BOPWoods.CHERRY).leaves(BOPTrees.WHITE_CHERRY).create()); - treeGenerator.add("large_pink_cherry", 4, (new GeneratorBigTree.Builder()).log(BOPWoods.CHERRY).leaves(BOPTrees.PINK_CHERRY).create()); - treeGenerator.add("large_white_cherry", 3, (new GeneratorBigTree.Builder()).log(BOPWoods.CHERRY).leaves(BOPTrees.WHITE_CHERRY).create()); - - // other plants - this.addGenerator("flax", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(6).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create()); - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.SPROUT).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.6F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x96EA9B); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xA3FFAA); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenColdDesert.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenColdDesert.java deleted file mode 100644 index 5a0759796..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenColdDesert.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.world.generator.GeneratorBlobs; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplatter; -import biomesoplenty.common.world.generator.GeneratorSplotches; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.monster.EntityPolarBear; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.ChunkPrimer; - -public class BiomeGenColdDesert extends BOPOverworldBiome -{ - - public IBlockState usualTopBlock; - public IBlockState alternateTopBlock; - - public BiomeGenColdDesert() - { - super("cold_desert", new PropsBuilder("Cold Desert").withGuiColour(0xB3AF9B).withTemperature(0.2F).withRainfall(0.0F)); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(5, 10).sidewaysNoise(0.7D); - - this.topBlock = Blocks.GRAVEL.getDefaultState(); - this.fillerBlock = Blocks.STONE.getDefaultState(); - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = Blocks.SNOW.getDefaultState(); - - this.canGenerateRivers = false; - - this.addWeight(BOPClimates.ICE_CAP, 10); - - this.spawnableCreatureList.clear(); - this.spawnableCreatureList.add(new SpawnListEntry(EntityPolarBear.class, 1, 1, 2)); - - // gravel, stone and boulders - IBlockPosQuery surface = new BlockQueryBlock(Blocks.STONE, Blocks.GRAVEL); - this.addGenerator("stone_patches", GeneratorStage.SAND, (new GeneratorSplotches.Builder()).amountPerChunk(6).splotchSize(24).placeOn(surface).replace(surface).with(Blocks.STONE.getDefaultState()).scatterYMethod(ScatterYMethod.AT_SURFACE).create()); - this.addGenerator("boulders", GeneratorStage.SAND_PASS2, (new GeneratorBlobs.Builder()).amountPerChunk(0.2F).placeOn(surface).with(Blocks.COBBLESTONE.getDefaultState()).minRadius(1.0F).maxRadius(3.0F).numBalls(4).scatterYMethod(ScatterYMethod.AT_SURFACE).create()); - this.addGenerator("hard_ice_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(1.0F).replace(surface).with(BOPBlocks.hard_ice.getDefaultState()).create()); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 3.0D > 1.8D) ? this.alternateTopBlock : this.usualTopBlock; - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenConiferousForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenConiferousForest.java deleted file mode 100644 index 24c020fe9..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenConiferousForest.java +++ /dev/null @@ -1,102 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.init.Blocks; -import net.minecraft.world.biome.Biome; - -public class BiomeGenConiferousForest extends BOPOverworldBiome -{ - - public BiomeGenConiferousForest() - { - super("coniferous_forest", new PropsBuilder("Coniferous Forest").withGuiColour(0x528F60).withTemperature(0.45F).withRainfall(0.5F)); - - // terrain - this.terrainSettings.avgHeight(68).heightVariation(10, 20); - - this.canGenerateVillages = true; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.addWeight(BOPClimates.BOREAL, 10); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - - this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 8, 4, 4)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(8.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("fir", 5, (new GeneratorTaigaTree.Builder()).log(BOPWoods.FIR).leaves(BOPTrees.FIR).minHeight(5).maxHeight(28).create()); - treeGenerator.add("mega_fir", 3, (new GeneratorTaigaTree.Builder()).log(BOPWoods.FIR).leaves(BOPTrees.FIR).minHeight(20).maxHeight(40).trunkWidth(2).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.7F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.8F).with(BOPPlants.REED).generationAttempts(32).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("bluebells", 1, (new GeneratorFlora.Builder().with(BOPFlowers.BLUEBELLS)).generationAttempts(128).create()); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.7F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 4, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).generationAttempts(128).create()); - grassGenerator.add("shortgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("fern", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenCoralReef.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenCoralReef.java deleted file mode 100644 index 28a23f57d..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenCoralReef.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.util.biome.BiomeUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; - -public class BiomeGenCoralReef extends BOPOverworldBiome -{ - public BiomeGenCoralReef() - { - super("coral_reef", new PropsBuilder("Coral Reef").withGuiColour(18285)); - - // terrain - this.terrainSettings.avgHeight(45).heightVariation(5, 10); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - - this.hasBiomeEssence = false; - - this.beachBiomeLocation = BiomeUtils.getLocForBiome(Biomes.OCEAN); - - clearWeights(); - - // coral - this.addGenerator("pink_coral", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(15.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.PINK)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("orange_coral", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(15.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ORANGE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("blue_coral", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(15.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.BLUE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("glowing_coral", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(15.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.GLOWING)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(3.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - - // gem - this.addGenerator("sapphire", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.SAPPHIRE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenCrag.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenCrag.java deleted file mode 100644 index fb38503f1..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenCrag.java +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplatter; -import biomesoplenty.common.world.generator.GeneratorSplotches; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; - -public class BiomeGenCrag extends BOPOverworldBiome -{ - public BiomeGenCrag() - { - super("crag", new PropsBuilder("Crag").withGuiColour(5209457).withTemperature(0.5F).withRainfall(0.5F)); - - // terrain - this.terrainSettings.avgHeight(100).heightVariation(80, 200).minHeight(40).sidewaysNoise(0.7F); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.COLD_SWAMP, 2); - - this.spawnableCreatureList.clear(); - - this.topBlock = Blocks.GRAVEL.getDefaultState(); - this.fillerBlock = Blocks.STONE.getDefaultState(); - - // gravel, cobblestone, overgrown stone - IBlockPosQuery surface = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - this.addGenerator("overgrown_stone_patches", GeneratorStage.SAND, (new GeneratorSplotches.Builder()).amountPerChunk(24).splotchSize(16).placeOn(surface).replace(surface).with(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_STONE)).scatterYMethod(ScatterYMethod.AT_SURFACE).create()); - this.addGenerator("cobblestone_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(4.0F).replace(surface).with(Blocks.COBBLESTONE.getDefaultState()).create()); - this.addGenerator("stone_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(4.0F).replace(surface).with(Blocks.STONE.getDefaultState()).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(4.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).generationAttempts(128).create()); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).generationAttempts(128).create()); - - // gem - this.addGenerator("emeralds", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(Blocks.EMERALD_ORE.getDefaultState()).create()); - - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenDeadForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenDeadForest.java deleted file mode 100644 index 64b7fee0d..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenDeadForest.java +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenDeadForest extends BOPOverworldBiome -{ - public BiomeGenDeadForest() - { - super("dead_forest", new PropsBuilder("Dead Forest").withGuiColour(0xBCA165).withTemperature(0.3F).withRainfall(0.3F)); - - // terrain - this.terrainSettings.avgHeight(68).heightVariation(8, 25); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.addWeight(BOPClimates.BOREAL, 3); - - // gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(2.5F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("spruce", 3, (new GeneratorTaigaTree.Builder()).minHeight(6).maxHeight(16).create()); // TODO: implement pine cones - treeGenerator.add("dying_tree", 5, (new GeneratorBigTree.Builder()).minHeight(5).maxHeight(12).foliageHeight(2).leaves(BOPTrees.DEAD).create()); - treeGenerator.add("oak", 3, (new GeneratorBasicTree.Builder()).leaves(BOPTrees.DEAD).create()); - treeGenerator.add("dead_tree", 1, (new GeneratorBigTree.Builder()).minHeight(5).maxHeight(12).foliageHeight(0).foliageDensity(0.5D).log(BOPWoods.DEAD).leaves(Blocks.AIR.getDefaultState()).create()); - - // other plants - this.addGenerator("thorns", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.THORN).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.8F).with(BOPPlants.REED).generationAttempts(32).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(3.5F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 4, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("dead_bushes", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.DEAD_BUSH).create()); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xBCA165); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xBCA165); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenDeadSwamp.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenDeadSwamp.java deleted file mode 100644 index 20643c432..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenDeadSwamp.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplotches; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenDeadSwamp extends BOPOverworldBiome -{ - - public BiomeGenDeadSwamp() - { - super("dead_swamp", new PropsBuilder("Dead Swamp").withGuiColour(0x8BAF48).withTemperature(0.6F).withRainfall(0.9F).withWaterColor(0xA2AD51)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(6, 3); - - //this.skyColor = 0x627268; - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - this.seaFloorBlock = BOPBlocks.mud.getDefaultState(); - - this.canSpawnInBiome = false; - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.COLD_SWAMP, 3); - - this.spawnableCreatureList.clear(); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(8).maxRadius(7).with(BOPBlocks.mud.getDefaultState()).create()); - this.addGenerator("mud_patches", GeneratorStage.SAND_PASS2, (new GeneratorSplotches.Builder()).amountPerChunk(1).splotchSize(12).replace(this.topBlock).with(BOPBlocks.mud.getDefaultState()).scatterYMethod(ScatterYMethod.AT_SURFACE).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(0.6F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("dying_tree", 3, (new GeneratorBigTree.Builder()).minHeight(5).maxHeight(12).foliageHeight(1).log(BOPWoods.DEAD).leaves(BOPTrees.DEAD).create()); - treeGenerator.add("dead_tree", 1, (new GeneratorBigTree.Builder()).minHeight(5).maxHeight(12).foliageHeight(0).foliageDensity(0.5D).log(BOPWoods.DEAD).leaves(Blocks.AIR.getDefaultState()).create()); - - // other plants - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.KORU).create()); - - // water plants - this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.3F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.REED).generationAttempts(32).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).generationAttempts(32).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.4F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 4, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x66704C); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x66704C); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenDummyTemplate.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenDummyTemplate.java deleted file mode 100644 index c5bc63cb1..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenDummyTemplate.java +++ /dev/null @@ -1,193 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorBigMushroom; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorMixedLily; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower.EnumFlowerType; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; - - -// This class is not intended to be used in the game -// It just contains one of every common generator, so it can be used as a template when creating new biomes - just delete lines you don't want and adjust weightings -public class BiomeGenDummyTemplate extends BOPOverworldBiome -{ - - public BiomeGenDummyTemplate() - { - super(null, null); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(6, 21).octaves(1, 1, 1, 1, 1, 1); - - this.skyColor = 0xFFFFFF; - - this.addWeight(BOPClimates.COOL_TEMPERATE, 10); - - // gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(BOPBlocks.mud.getDefaultState()).create()); - - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(9); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - // TODO: standard trees here? Is there such a thing as standard trees? - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(2.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("deadgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DEADGRASS).create()); - grassGenerator.add("desertgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DESERTGRASS).create()); - grassGenerator.add("dunegrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DUNEGRASS).create()); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("ferns", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("doublegrass", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.GRASS).create()); - - // other plants - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.BERRYBUSH).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.BUSH).create()); - this.addGenerator("cattails", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.CATTAIL).create()); - this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.CLOVERPATCH).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("desert_sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.DESERTSPROUTS).create()); - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.KORU).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.POISONIVY).create()); - this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SHRUB).create()); - this.addGenerator("spectral_ferns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SPECTRALFERN).create()); - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SPROUT).create()); - this.addGenerator("thorns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.THORN).create()); - this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.TINYCACTUS).create()); - this.addGenerator("wild_rice", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.WILDRICE).create()); - this.addGenerator("dead_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockTallGrass.EnumType.DEAD_BUSH).create()); - this.addGenerator("eyebulbs", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPDoublePlant.DoublePlantType.EYEBULB).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("tall_cattails", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); - this.addGenerator("tall_ferns", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.5F).with(BlockDoublePlant.EnumPlantType.FERN).create()); - this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create()); - this.addGenerator("sugar_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.litFertileWaterside).with(Blocks.REEDS.getDefaultState()).minHeight(1).maxHeight(3).create()); - // TODO root - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.REED).generationAttempts(32).create()); - this.addGenerator("mixed_lily", GeneratorStage.LILYPAD, (new GeneratorMixedLily.Builder()).amountPerChunk(0.5F).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.0F); - this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator); - flowerGenerator.add("alliums", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.ALLIUM).create())); - flowerGenerator.add("blue_orchids", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.BLUE_ORCHID).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.DANDELION).create())); - flowerGenerator.add("houstonias", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.HOUSTONIA).create())); - flowerGenerator.add("orange_tulips", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.ORANGE_TULIP).create())); - flowerGenerator.add("oxeye_daisies", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("pink_tulips", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.PINK_TULIP).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.POPPY).create())); - flowerGenerator.add("red_tulips", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.RED_TULIP).create())); - flowerGenerator.add("white_tulips", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.WHITE_TULIP).create())); - flowerGenerator.add("blue_hydrangeas", 1, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); - flowerGenerator.add("bluebells", 1, (new GeneratorFlora.Builder().with(BOPFlowers.BLUEBELLS).create())); - flowerGenerator.add("bromeliads", 1, (new GeneratorFlora.Builder().with(BOPFlowers.BROMELIAD).create())); - flowerGenerator.add("burning_blossoms", 1, (new GeneratorFlora.Builder().with(BOPFlowers.BURNING_BLOSSOM).create())); - flowerGenerator.add("clover", 1, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - flowerGenerator.add("wilted_lily", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WILTED_LILY).create())); - flowerGenerator.add("deathbloom", 1, (new GeneratorFlora.Builder().with(BOPFlowers.DEATHBLOOM).create())); - flowerGenerator.add("enterlotus", 1, (new GeneratorFlora.Builder().with(BOPFlowers.ENDERLOTUS).create())); - flowerGenerator.add("glowflower", 1, (new GeneratorFlora.Builder().with(BOPFlowers.GLOWFLOWER).create())); - flowerGenerator.add("goldenrods", 1, (new GeneratorFlora.Builder().with(BOPFlowers.GOLDENROD).create())); - flowerGenerator.add("icy_irises", 1, (new GeneratorFlora.Builder().with(BOPFlowers.ICY_IRIS).create())); - flowerGenerator.add("lavender", 1, (new GeneratorFlora.Builder().with(BOPFlowers.LAVENDER).create())); - flowerGenerator.add("lily_of_the_valley", 1, (new GeneratorFlora.Builder().with(BOPFlowers.LILY_OF_THE_VALLEY).create())); - flowerGenerator.add("miners_delight", 1, (new GeneratorFlora.Builder().with(BOPFlowers.MINERS_DELIGHT).create())); - flowerGenerator.add("orange_cosmos", 1, (new GeneratorFlora.Builder().with(BOPFlowers.ORANGE_COSMOS).create())); - flowerGenerator.add("pink_daffodil", 1, (new GeneratorFlora.Builder().with(BOPFlowers.PINK_DAFFODIL).create())); - flowerGenerator.add("hibiscus", 1, (new GeneratorFlora.Builder().with(BOPFlowers.PINK_HIBISCUS).create())); - flowerGenerator.add("roses", 1, (new GeneratorFlora.Builder().with(BOPFlowers.ROSE).create())); - flowerGenerator.add("swampflower", 1, (new GeneratorFlora.Builder().with(BOPFlowers.SWAMPFLOWER).create())); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("wildflowers", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WILDFLOWER).create())); - flowerGenerator.add("paeonias", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.PAEONIA).create()); - flowerGenerator.add("tall_roses", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.ROSE).create()); - flowerGenerator.add("sunflowers", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.SUNFLOWER).create()); - flowerGenerator.add("syringas", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.SYRINGA).create()); - - // shrooms - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - this.addGenerator("flat_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("glowshrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPMushroom.MushroomType.GLOWSHROOM).create()); - this.addGenerator("portobellos", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPMushroom.MushroomType.PORTOBELLO).create()); - this.addGenerator("shadow_shrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPMushroom.MushroomType.SHADOW_SHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - - // big mushrooms - GeneratorWeighted mushroomGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("big_mushrooms", GeneratorStage.BIG_SHROOM, mushroomGenerator); - mushroomGenerator.add("brown_mushroom", 1, (new GeneratorBigMushroom.Builder()).mushroomType(GeneratorBigMushroom.BigMushroomType.BROWN).create()); - mushroomGenerator.add("red_mushroom", 1, (new GeneratorBigMushroom.Builder()).mushroomType(GeneratorBigMushroom.BigMushroomType.RED).create()); - - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - - - } - - @Override - public void applySettings(IBOPWorldSettings settings) - { - if (!settings.isEnabled(GeneratorType.GEMS)) {this.removeGenerator("amber");} - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xFFFFFF); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xFFFFFF); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenEucalyptusForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenEucalyptusForest.java deleted file mode 100644 index 1b770e77c..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenEucalyptusForest.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBulbTree; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.passive.EntityParrot; -import net.minecraft.init.Blocks; - -public class BiomeGenEucalyptusForest extends BOPOverworldBiome -{ - - public BiomeGenEucalyptusForest() - { - super("eucalyptus_forest", new PropsBuilder("Eucalyptus Forest").withGuiColour(0x9DCC70).withTemperature(0.95F).withRainfall(0.9F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(10, 20); - - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.TROPICAL, 5); - - this.spawnableMonsterList.add(new SpawnListEntry(EntityOcelot.class, 2, 1, 1)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityParrot.class, 40, 1, 2)); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(10); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak_bush", 8, (new GeneratorBush.Builder()).maxHeight(2).create()); - treeGenerator.add("tall_eucalyptus", 1, (new GeneratorBulbTree.Builder()).minHeight(15).maxHeight(30).log(BOPWoods.EUCALYPTUS).leaves(BOPTrees.EUCALYPTUS).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(6); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 4, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("fern", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SPROUT).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BUSH).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("rafflesia", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.RAFFLESIA).create()); - this.addGenerator("melons", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.015625F).placeOn(this.topBlock).with(Blocks.MELON_BLOCK.getDefaultState()).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.TINY).create()); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenFen.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenFen.java deleted file mode 100644 index afee893b4..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenFen.java +++ /dev/null @@ -1,138 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenFen extends BOPOverworldBiome -{ - - public BiomeGenFen() - { - super("fen", new PropsBuilder("Fen").withGuiColour(0xBAC481).withTemperature(0.4F).withRainfall(0.4F)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(8, 6).octaves(1, 4, 3, 1, 1, 0); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - - this.canSpawnInBiome = false; - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.addWeight(BOPClimates.COLD_SWAMP, 7); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(1).maxRadius(7).with(BOPBlocks.mud.getDefaultState()).create()); - - // trees and logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(6); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak_tree", 1, (new GeneratorTwigletTree.Builder()).leaves(BOPTrees.DEAD).minHeight(5).maxHeight(10).leafChance(0.3F, 0.9F).create()); - treeGenerator.add("dark_oak_tree", 7, (new GeneratorBigTree.Builder()).log(BlockPlanks.EnumType.DARK_OAK).leaves(BlockPlanks.EnumType.DARK_OAK).foliageHeight(2).maxHeight(12).create()); - treeGenerator.add("birch_twiglet", 1, (new GeneratorTwigletTree.Builder()).log(BlockPlanks.EnumType.BIRCH).leaves(BlockPlanks.EnumType.BIRCH).minHeight(2).maxHeight(4).leafChance(0.3F, 0.9F).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(5.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 4, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("doublegrass", 3, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.GRASS).create()); - - // other plants - this.addGenerator("cattail", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.CATTAIL).create()); - this.addGenerator("double_cattail", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.25F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); - this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.1F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create()); - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.KORU).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(15.0F).with(BOPPlants.REED).generationAttempts(32).create()); - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(Blocks.WATERLILY.getDefaultState()).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xC1BE7F); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xABBF65); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenFlowerField.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenFlowerField.java deleted file mode 100644 index bad15869a..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenFlowerField.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorProfileTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockFlower.EnumFlowerType; -import net.minecraft.block.material.Material; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenFlowerField extends BOPOverworldBiome -{ - public BiomeGenFlowerField() - { - super("flower_field", new PropsBuilder("Flower Field").withGuiColour(4044093).withTemperature(0.7F).withRainfall(0.7F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(5, 5).octaves(0, 1, 2, 2, 1, 0); - - this.addWeight(BOPClimates.WARM_TEMPERATE, 2); - - this.canGenerateVillages = false; - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(3.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("small_bush", 1, (new GeneratorFlora.Builder()).placeOn(this.topBlock).replace(Material.AIR).withNonDecayingLeaf(BlockPlanks.EnumType.OAK).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(17.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("pink_tulip", 6, (new GeneratorFlora.Builder().with(EnumFlowerType.PINK_TULIP).create())); - flowerGenerator.add("white_tulip", 9, (new GeneratorFlora.Builder().with(EnumFlowerType.WHITE_TULIP).create())); - flowerGenerator.add("orange_tulip", 11, (new GeneratorFlora.Builder().with(EnumFlowerType.ORANGE_TULIP).create())); - flowerGenerator.add("red_tulip", 14, (new GeneratorFlora.Builder().with(EnumFlowerType.RED_TULIP).create())); - flowerGenerator.add("oxeye_daisy", 3, (new GeneratorFlora.Builder().with(EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 3, (new GeneratorFlora.Builder().with(EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 3, (new GeneratorFlora.Builder().with(EnumFlowerType.POPPY).create())); - flowerGenerator.add("white_anemone", 2, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE)).create()); - flowerGenerator.add("houstonia", 2, (new GeneratorFlora.Builder().with(EnumFlowerType.HOUSTONIA).create())); - flowerGenerator.add("rose", 1, (new GeneratorDoubleFlora.Builder()).amountPerChunk(1).with(BlockDoublePlant.EnumPlantType.ROSE).create()); - flowerGenerator.add("syringa", 1, (new GeneratorDoubleFlora.Builder()).amountPerChunk(1).with(BlockDoublePlant.EnumPlantType.SYRINGA).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(20.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenFlowerIsland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenFlowerIsland.java deleted file mode 100644 index 669e4a271..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenFlowerIsland.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorBigFlower; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplatter; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockFlower.EnumFlowerType; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenFlowerIsland extends BOPOverworldBiome -{ - - public BiomeGenFlowerIsland() - { - super("flower_island", new PropsBuilder("Flower Island").withGuiColour(0x74D374).withTemperature(0.8F).withRainfall(0.8F)); - - // terrain - this.terrainSettings.avgHeight(70).heightVariation(10, 15).octaves(0, 0, 1, 1, 2, 2); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.DAISY); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - - clearWeights(); - - this.spawnableMonsterList.clear(); - this.spawnableCreatureList.clear(); - - // regular grass - IBlockPosQuery emptyGrass = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - this.addGenerator("grass_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(6.0F).replace(emptyGrass).with(Blocks.GRASS.getDefaultState()).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(1); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("red_big_flowers", 1, (new GeneratorBigFlower.Builder()).flowerType(GeneratorBigFlower.BigFlowerType.RED).create()); - treeGenerator.add("yellow_big_flowers", 1, (new GeneratorBigFlower.Builder()).flowerType(GeneratorBigFlower.BigFlowerType.YELLOW).create()); - treeGenerator.add("oak_bush", 2, (new GeneratorBush.Builder()).maxHeight(2).altLeaves(BOPTrees.FLOWERING).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.75F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 4, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // other plants - this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create()); - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SPROUT).create()); - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(4.0F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("dandelion", 3, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 5, (new GeneratorFlora.Builder().with(EnumFlowerType.POPPY).create())); - flowerGenerator.add("white_anemones", 4, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("blue_hydrangeas", 2, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); - flowerGenerator.add("sunflowers", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.SUNFLOWER).create()); - flowerGenerator.add("oxeye_daisy", 2, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("rose", 2, (new GeneratorDoubleFlora.Builder().with(BlockDoublePlant.EnumPlantType.ROSE).create())); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x74D374); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x66E266); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGlacier.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGlacier.java deleted file mode 100644 index b94141ef1..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGlacier.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import net.minecraft.entity.monster.EntityPolarBear; -import net.minecraft.init.Blocks; -import net.minecraft.world.biome.Biome; - -public class BiomeGenGlacier extends BOPOverworldBiome -{ - - public BiomeGenGlacier() - { - super("glacier", new PropsBuilder("Glacier").withTemperature(-0.5F).withRainfall(0.2F).withGuiColour(11582425)); - - // terrain - this.terrainSettings.avgHeight(88).heightVariation(8, 10).octaves(0, 1, 1, 3, 1, 0); - - this.topBlock = Blocks.ICE.getDefaultState(); - this.fillerBlock = BOPBlocks.hard_ice.getDefaultState(); - - this.avgDirtDepth = 16; - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - this.hasBiomeEssence = false; - - this.spawnableCreatureList.clear(); - this.spawnableCreatureList.add(new SpawnListEntry(EntityPolarBear.class, 1, 1, 2)); - - clearWeights(); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGrassland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGrassland.java deleted file mode 100644 index 8dced4795..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGrassland.java +++ /dev/null @@ -1,101 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityDonkey; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - -public class BiomeGenGrassland extends BOPOverworldBiome { - - public BiomeGenGrassland() { - - super("grassland", new PropsBuilder("Grassland").withGuiColour(0x7FDB7D).withTemperature(0.6F).withRainfall(0.7F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(6, 25).octaves(0, 1, 2, 2, 1, 0).sidewaysNoise(0.1D); - - this.addWeight(BOPClimates.COOL_TEMPERATE, 7); - this.addWeight(BOPClimates.WET_TEMPERATE, 3); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.canGenerateVillages = true; - - this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityDonkey.class, 1, 1, 1)); - - // lakes - this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).waterLakeForBiome(this).amountPerChunk(0.2F).create()); - - // sand and gravel - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // other plants - this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(1.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create()); - this.addGenerator("sugar_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(4.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(Blocks.REEDS.getDefaultState()).minHeight(1).maxHeight(3).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(6).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.REED).generationAttempts(32).create()); - - // shrooms - this.addGenerator("portobellos", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.PORTOBELLO).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.6F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 4, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - - - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x7FDB7D); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x7FDB7D); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGravelBeach.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGravelBeach.java deleted file mode 100644 index f8dea6909..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGravelBeach.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import net.minecraft.init.Blocks; - -public class BiomeGenGravelBeach extends BOPOverworldBiome -{ - public BiomeGenGravelBeach() - { - super("gravel_beach", new PropsBuilder("Gravel Beach").withGuiColour(0x908884).withTemperature(0.6F).withRainfall(0.5F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(3, 4); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.hasBiomeEssence = false; - - this.spawnableCreatureList.clear(); - - this.decorator.deadBushPerChunk = 0; - this.decorator.reedsPerChunk = 0; - this.decorator.cactiPerChunk = 0; - - clearWeights(); - - this.topBlock = Blocks.GRAVEL.getDefaultState(); - this.fillerBlock = Blocks.GRAVEL.getDefaultState(); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGrove.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGrove.java deleted file mode 100644 index fc77ef302..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenGrove.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorProfileTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenGrove extends BOPOverworldBiome -{ - - public BiomeGenGrove() - { - super("grove", new PropsBuilder("Grove").withGuiColour(0x517F51).withTemperature(0.6F).withRainfall(0.8F)); - - // terrain - this.terrainSettings.avgHeight(66).heightVariation(8, 20).octaves(0, 1, 2, 2, 1, 0).sidewaysNoise(0.1D); - - this.addWeight(BOPClimates.COOL_TEMPERATE, 7); - - this.canGenerateVillages = true; - - // other plants - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SPROUT).create()); - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.BUSH).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.6F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(3); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("dark_poplar", 1, (new GeneratorProfileTree.Builder()).minHeight(6).maxHeight(14).log(BlockPlanks.EnumType.DARK_OAK).leaves(BlockPlanks.EnumType.DARK_OAK).profile(GeneratorProfileTree.TreeProfile.POPLAR).create()); - treeGenerator.add("poplar", 1, (new GeneratorProfileTree.Builder()).minHeight(8).maxHeight(18).log(BlockPlanks.EnumType.BIRCH).leaves(BlockPlanks.EnumType.BIRCH).profile(GeneratorProfileTree.TreeProfile.POPLAR).create()); - treeGenerator.add("bush", 1, (new GeneratorBush.Builder()).maxHeight(2).altLeaves(BOPTrees.FLOWERING).create()); - - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(2.0F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("clover", 4, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - flowerGenerator.add("white_anemones", 2, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("paeonias", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.PAEONIA).create()); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.3F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x639966); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x6CB070); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenHighland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenHighland.java deleted file mode 100644 index ebea3a6bb..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenHighland.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; - -public class BiomeGenHighland extends BOPOverworldBiome -{ - - public BiomeGenHighland() - { - super("highland", new PropsBuilder("Highland").withGuiColour(0x7CAD66).withTemperature(0.6F).withRainfall(0.8F)); - - // terrain - this.terrainSettings.avgHeight(100).heightVariation(35, 35).octaves(0, 1, 1, 3, 1, 0); - - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.COOL_TEMPERATE, 7); - - this.beachBiomeLocation = null; - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(10); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("doublegrass", 4, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.GRASS).create()); - - // gem - this.addGenerator("emerald", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(Blocks.EMERALD_ORE.getDefaultState()).create()); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenKelpForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenKelpForest.java deleted file mode 100644 index 13fad1570..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenKelpForest.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.util.biome.BiomeUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; - -public class BiomeGenKelpForest extends BOPOverworldBiome -{ - public BiomeGenKelpForest() - { - super("kelp_forest", new PropsBuilder("Kelp Forest").withGuiColour(27468)); - - // terrain - this.terrainSettings.avgHeight(40).heightVariation(5, 5); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - this.hasBiomeEssence = false; - - this.beachBiomeLocation = BiomeUtils.getLocForBiome(Biomes.OCEAN); - - clearWeights(); - - // algae - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(3.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - - // kelp - this.addGenerator("kelp", GeneratorStage.LILYPAD, (new GeneratorColumns.Builder()).amountPerChunk(5.0F).replace(BlockQueries.waterCovered).placeOn(BlockQueries.groundBlocks).with(BOPBlocks.seaweed.getDefaultState()).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("kelp_tall", GeneratorStage.LILYPAD, (new GeneratorColumns.Builder()).amountPerChunk(6.0F).replace(BlockQueries.waterCovered).placeOn(BlockQueries.groundBlocks).with(BOPBlocks.seaweed.getDefaultState()).minHeight(6).maxHeight(12).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - - // gem - this.addGenerator("sapphire", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.SAPPHIRE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLandOfLakes.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLandOfLakes.java deleted file mode 100644 index 30fd0713c..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLandOfLakes.java +++ /dev/null @@ -1,132 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenLandOfLakes extends BOPOverworldBiome -{ - - // TODO: fog color / closeness? what's that? - // TODO: should there be foliage colors / water colors? - - public BiomeGenLandOfLakes() - { - super("land_of_lakes", new PropsBuilder("Land of Lakes").withGuiColour(0x66A06E).withTemperature(0.5F).withRainfall(0.9F)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(10, 10).octaves(5, 5, 0, 0, 1, 1).sidewaysNoise(0.1D); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - this.seaFloorBlock = BOPBlocks.mud.getDefaultState(); - - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.COLD_SWAMP, 3); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(8).maxRadius(7).with(BOPBlocks.mud.getDefaultState()).create()); - - // lakes - this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(1.0F).waterLakeForBiome(this).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(40); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak", 5, (new GeneratorBasicTree.Builder()).create()); - treeGenerator.add("birch", 1, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.BIRCH).leaves(BlockPlanks.EnumType.BIRCH).create()); - treeGenerator.add("spruce", 3, (new GeneratorTaigaTree.Builder()).maxHeight(13).create()); // TODO: implement pine cones - - // other plants - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("wild_rice", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.WILDRICE).generationAttempts(64).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.REED).generationAttempts(32).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(10.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 5, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 5, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - double noise = GRASS_COLOR_NOISE.getValue((double)pos.getX() * 0.0225D, (double)pos.getZ() * 0.0225D); - return getModdedBiomeGrassColor(noise < -0.1D ? 13414508 : 13419628); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - double noise = GRASS_COLOR_NOISE.getValue((double)pos.getX() * 0.0225D, (double)pos.getZ() * 0.0225D); - return getModdedBiomeFoliageColor(noise < -0.1D ? 12766316 : 10730594); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLavenderFields.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLavenderFields.java deleted file mode 100644 index 8137a47ac..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLavenderFields.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenLavenderFields extends BOPOverworldBiome -{ - public BiomeGenLavenderFields() - { - super("lavender_fields", new PropsBuilder("Lavender Fields").withGuiColour(11035852).withTemperature(0.7F).withRainfall(0.7F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(4, 12); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.MEDITERANEAN, 3); - - // flowers - this.addGenerator("lavender", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(50).with(BOPFlowers.LAVENDER).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(1); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("jacaranda", 3, (new GeneratorBasicTree.Builder()).minHeight(4).maxHeight(7).log(BOPWoods.JACARANDA).leaves(BOPTrees.JACARANDA).create()); - treeGenerator.add("oak", 1, (new GeneratorBigTree.Builder()).altLeaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.FLOWERING).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(15); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - grassGenerator.add("tallgrass", 3, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(10601325); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(10601325); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushDesert.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushDesert.java deleted file mode 100644 index cfc40870e..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushDesert.java +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplatter; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenLushDesert extends BOPOverworldBiome -{ - public BiomeGenLushDesert() - { - super("lush_desert", new PropsBuilder("Lush Desert").withGuiColour(0x8AA92D).withTemperature(1.2F).withRainfall(0.4F)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(8, 40).octaves(2, 2, 1, 0, 1, 1); - - this.topBlock = Blocks.HARDENED_CLAY.getDefaultState(); - this.fillerBlock = Blocks.HARDENED_CLAY.getDefaultState(); - - this.canSpawnInBiome = false; - this.canGenerateVillages = true; - - this.addWeight(BOPClimates.SAVANNA, 2); - - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // trees - IBlockPosQuery suitableTreePosition = BlockQuery.buildAnd().withAltitudeBetween(62, 68).states(this.topBlock).withAirAbove().create(); - GeneratorWeighted treeGenerator = new GeneratorWeighted(4); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("decaying_tree", 3, (new GeneratorBigTree.Builder()).placeOn(suitableTreePosition).minHeight(5).log(BlockPlanks.EnumType.ACACIA).leaves(BlockPlanks.EnumType.ACACIA).maxHeight(12).foliageHeight(3).create()); - treeGenerator.add("twiglet", 5, (new GeneratorTwigletTree.Builder()).placeOn(suitableTreePosition).minHeight(2).maxHeight(2).log(BlockPlanks.EnumType.OAK).leaves(BlockPlanks.EnumType.OAK).create()); - treeGenerator.add("dead_tree", 1, (new GeneratorBigTree.Builder()).placeOn(suitableTreePosition).minHeight(5).maxHeight(12).foliageHeight(0).foliageDensity(0.5D).log(BOPWoods.DEAD).leaves(Blocks.AIR.getDefaultState()).create()); - - this.addGenerator("grass_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(4.0F).generationAttempts(128).replace(suitableTreePosition).with(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY)).create()); - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(5).maxRadius(7).replace(Blocks.HARDENED_CLAY.getDefaultState()).with(Blocks.SAND.getDefaultState()).create()); - - // oases - this.addGenerator("oases", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(10).maxRadius(7).replace(Blocks.HARDENED_CLAY.getDefaultState()).with(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY)).create()); - - // lakes - this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(1.5F).waterLakeForBiome(this).create()); - - // other plants - this.addGenerator("desertgrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(1.8F).with(BOPPlants.DESERTGRASS).generationAttempts(8).create()); - this.addGenerator("bromeliad", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder().amountPerChunk(0.2F).with(BOPFlowers.BROMELIAD).generationAttempts(8).create())); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.75F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(32).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.8F).with(BOPPlants.BUSH).create()); - this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.TINYCACTUS).create()); - this.addGenerator("dead_bushes", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(Blocks.DEADBUSH.getDefaultState()).create()); - this.addGenerator("cacti", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.2F).generationAttempts(3).placeOn(this.topBlock).with(Blocks.CACTUS.getDefaultState()).minHeight(1).maxHeight(2).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(4.0F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("wildflowers", 4, (new GeneratorFlora.Builder().with(BOPFlowers.WILDFLOWER).create())); - flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // water plants - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.REED).generationAttempts(32).create()); - - // grasses (note weighting must be quite high as the grasses will only grow on the splattered grass blocks) - GeneratorWeighted grassGenerator = new GeneratorWeighted(12.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 3, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushSwamp.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushSwamp.java deleted file mode 100644 index bd12dddf1..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenLushSwamp.java +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockFlower.EnumFlowerType; -import net.minecraft.block.material.Material; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.monster.EntitySlime; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenLushSwamp extends BOPOverworldBiome -{ - - public BiomeGenLushSwamp() - { - super("lush_swamp", new PropsBuilder("Lush Swamp").withGuiColour(0x57AE34).withTemperature(0.7F).withRainfall(1.0F)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(5, 10).octaves(1, 1, 1, 1, 0, 0).sidewaysNoise(0.0F); - - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.WET_TEMPERATE, 10); - - this.spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 1, 3)); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(0.5F).maxRadius(8).with(BOPBlocks.mud.getDefaultState()).create()); - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(0.5F).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - // lakes - this.addGenerator("poison_lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.1F).liquid(BOPBlocks.poison).frozenLiquid((IBlockState)null).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(6); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("swamp", 5, (new GeneratorBasicTree.Builder()).minHeight(8).maxHeight(12).maxLeavesRadius(2).leaves(Blocks.LEAVES.getDefaultState().withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).vine(Blocks.VINE.getDefaultState()).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.7F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.25F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("blue_hydrangeas", 2, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); - flowerGenerator.add("swampflower", 2, (new GeneratorFlora.Builder()).with(BOPFlowers.SWAMPFLOWER).create()); - flowerGenerator.add("blue_orchid", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.BLUE_ORCHID).create())); - flowerGenerator.add("houstonia", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.HOUSTONIA).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.KORU).create()); - this.addGenerator("cattail", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.CATTAIL).create()); - this.addGenerator("double_cattail", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("sugar_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.6F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(Blocks.REEDS.getDefaultState()).minHeight(1).maxHeight(3).create()); - this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.3F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(2.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.7F).with(BOPPlants.REED).generationAttempts(32).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - - // shrooms - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMangrove.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMangrove.java deleted file mode 100644 index ea2833fe2..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMangrove.java +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorMangroveTree; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenMangrove extends BOPOverworldBiome -{ - public BiomeGenMangrove() - { - super("mangrove", new PropsBuilder("Mangrove").withTemperature(0.85F).withRainfall(0.3F).withGuiColour(7251289).withWaterColor(0xCDFF51)); - - // terrain - this.terrainSettings.avgHeight(62).heightVariation(8, 2).octaves(0, 1, 2, 2, 1, 0); - - this.addWeight(BOPClimates.HOT_SWAMP, 7); - - this.seaFloorBlock = BOPBlocks.mud.getDefaultState(); - - this.topBlock = BOPBlocks.mud.getDefaultState(); - this.fillerBlock = BOPBlocks.mud.getDefaultState(); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - - this.spawnableCreatureList.clear(); - - this.beachBiomeLocation = null; - - // quicksand - this.addGenerator("quicksand", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.2F).liquid(BOPBlocks.sand).frozenLiquid((IBlockState)null).create()); - - // trees & logs - IBlockPosQuery emptyMud = BlockQuery.buildAnd().states(this.topBlock).create(); - GeneratorWeighted treeGenerator = new GeneratorWeighted(5); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("mangrove", 1, (new GeneratorMangroveTree.Builder()).placeOn(emptyMud).log(BOPWoods.MANGROVE).leaves(BOPTrees.MANGROVE).create()); - - // gem - this.addGenerator("sapphire", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.SAPPHIRE).create()); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - double d0 = GRASS_COLOR_NOISE.getValue((double)x * 0.25D, (double)z * 0.25D); - - if (d0 > 0.0D) - { - int i = x & 15; - int j = z & 15; - - for (int k = 255; k >= 0; --k) - { - if (primer.getBlockState(j, k, i).getMaterial() != Material.AIR) - { - if (k == 62 && primer.getBlockState(j, k, i).getBlock() != Blocks.WATER) - { - primer.setBlockState(j, k, i, WATER); - } - - break; - } - } - } - - this.generateBiomeTerrain(world, rand, primer, x, z, noise); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMapleWoods.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMapleWoods.java deleted file mode 100644 index 40c9fa24c..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMapleWoods.java +++ /dev/null @@ -1,81 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.init.Blocks; -import net.minecraft.world.biome.Biome; - -public class BiomeGenMapleWoods extends BOPOverworldBiome -{ - public BiomeGenMapleWoods() - { - super("maple_woods", new PropsBuilder("Maple Woods").withGuiColour(0x6AA369).withTemperature(0.25F).withRainfall(0.8F)); - - // terrain - this.terrainSettings.avgHeight(70).heightVariation(10, 25); - - this.addWeight(BOPClimates.BOREAL, 10); - - this.canGenerateVillages = false; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 5, 4, 4)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // sand and gravel - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(6).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(15); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("maple", 5, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.OAK).leaves(BOPTrees.MAPLE).minHeight(5).maxHeight(10).create()); - treeGenerator.add("spruce", 1, (new GeneratorTaigaTree.Builder()).minHeight(10).maxHeight(19).create()); // TODO: implement pine cones - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(8.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(2.0F).with(BOPPlants.REED).generationAttempts(32).create()); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMarsh.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMarsh.java deleted file mode 100644 index 96ec0400f..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMarsh.java +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.monster.EntitySlime; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenMarsh extends BOPOverworldBiome -{ - - // TODO: fog color / closeness? what's that? - // TODO: should there be foliage colors / water colors? - - public BiomeGenMarsh() - { - super("marsh", new PropsBuilder("Marsh").withGuiColour(0x66A06E).withTemperature(0.6F).withRainfall(0.8F)); - - // terrain - this.terrainSettings.avgHeight(62).heightVariation(5, 3).octaves(5, 5, 0, 0, 1, 1); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - this.seaFloorBlock = BOPBlocks.mud.getDefaultState(); - - this.canSpawnInBiome = false; - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.WET_TEMPERATE, 7); - - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 1, 3)); - - // lakes - this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.5F).waterLakeForBiome(this).create()); - - // other plants - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.KORU).create()); - - // water plants - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(10.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).generationAttempts(32).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.REED).generationAttempts(32).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(20.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("doublegrass", 10, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.GRASS).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMeadow.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMeadow.java deleted file mode 100644 index a6a63cbad..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMeadow.java +++ /dev/null @@ -1,113 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - -public class BiomeGenMeadow extends BOPOverworldBiome -{ - public BiomeGenMeadow() - { - super("meadow", new PropsBuilder("Meadow").withGuiColour(0x63B26D).withTemperature(0.4F).withRainfall(0.7F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(5, 5).octaves(0, 1, 2, 2, 1, 0).sidewaysNoise(0.1D); - - this.addWeight(BOPClimates.COOL_TEMPERATE, 3); - this.addWeight(BOPClimates.BOREAL, 7); - - this.canGenerateVillages = true; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(2); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak_bush", 4, (new GeneratorBush.Builder()).maxHeight(2).create()); - treeGenerator.add("spruce", 4, (new GeneratorTaigaTree.Builder()).maxHeight(13).create()); // TODO: implement pine cones - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.8F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("clover", 2, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - flowerGenerator.add("syringa", 1, (new GeneratorDoubleFlora.Builder().with(BlockDoublePlant.EnumPlantType.SYRINGA).create())); - flowerGenerator.add("sunflower", 2, (new GeneratorDoubleFlora.Builder().with(BlockDoublePlant.EnumPlantType.SUNFLOWER).create())); - flowerGenerator.add("rose", 1, (new GeneratorDoubleFlora.Builder().with(BlockDoublePlant.EnumPlantType.ROSE).create())); - flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("houstonia", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.HOUSTONIA).create())); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BUSH).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(6).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create()); - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.SPROUT).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.15F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.15F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.15F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.15F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.15F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.REED).generationAttempts(32).create()); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x63B26D); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x63B26D); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMoor.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMoor.java deleted file mode 100644 index ef301bb72..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMoor.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenMoor extends BOPOverworldBiome -{ - - public BiomeGenMoor() - { - super("moor", new PropsBuilder("Moor").withGuiColour(0x619365).withTemperature(0.6F).withRainfall(1.0F).withWaterColor(0x588276)); - - // terrain - this.terrainSettings.avgHeight(88).heightVariation(8, 10).octaves(0, 1, 1, 3, 1, 0); - - //this.skyColor =0xA0C5D3; - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.COLD_SWAMP, 5); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(1).maxRadius(7).with(BOPBlocks.mud.getDefaultState()).create()); - - // lakes - this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(1.5F).waterLakeForBiome(this).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.6F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("swampflower", 1, (new GeneratorFlora.Builder()).with(BOPFlowers.SWAMPFLOWER).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(2.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("shortgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // shrooms - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - - // other plants - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.6F).with(BOPPlants.KORU).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(6).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(5.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x619365); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x619365); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMountain.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMountain.java deleted file mode 100644 index 3282fc042..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMountain.java +++ /dev/null @@ -1,132 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import com.google.common.base.CaseFormat; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorPineTree; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityLlama; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.init.Blocks; -import net.minecraft.world.biome.Biome; - -public class BiomeGenMountain extends BOPOverworldBiome -{ - - public enum MountainType {MOUNTAIN, MOUNTAIN_FOOTHILLS} - - public MountainType type; - public IBlockState grassBlock; - public IBlockState dirtBlock; - public IBlockState coarseDirtBlock; - public IBlockState stoneBlock; - - public BiomeGenMountain(MountainType type) - { - super(type.name().toLowerCase(), new PropsBuilder(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, type.toString())).withGuiColour(0x80A355).withTemperature(0.5F).withRainfall(0.1F)); - - this.type = type; - - this.canSpawnInBiome = false; - - // terrain - switch (type) - { - case MOUNTAIN: - this.terrainSettings.avgHeight(140).heightVariation(30, 60).octaves(1, 1, 2, 2, 3, 3).sidewaysNoise(0.1D); - break; - - case MOUNTAIN_FOOTHILLS: - this.terrainSettings.avgHeight(100).heightVariation(15, 30).octaves(0, 1, 1, 3, 1, 0).sidewaysNoise(0.1D); - this.hasBiomeEssence = false; - break; - } - - this.canGenerateRivers = false; - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - if (type == MountainType.MOUNTAIN) - { - this.canGenerateVillages = false; - - // peaks are created in the biome gen layer, foothills don't have a weight - they only appear later around the peaks (in the biome edge layer) - this.addWeight(BOPClimates.DRY_TEMPERATE, 3); - - // only sheep and wolves on the peaks - this.spawnableCreatureList.clear(); - this.spawnableCreatureList.add(new SpawnListEntry(EntitySheep.class, 12, 4, 6)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 4, 4, 4)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityLlama.class, 5, 4, 6)); - } - - this.topBlock = Blocks.GRASS.getDefaultState(); - this.fillerBlock = Blocks.DIRT.getDefaultState(); - - // gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(6).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // lakes - this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(1.8F).waterLakeForBiome(this).create()); - - // trees & logs - IBlockPosQuery suitableTreePosition = BlockQuery.buildAnd().withAltitudeBetween(64, 140).materials(Material.GROUND, Material.GRASS).create(); - GeneratorWeighted treeGenerator = new GeneratorWeighted(3); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("pine", 2, (new GeneratorPineTree.Builder()).minHeight(6).maxHeight(18).log(BOPWoods.PINE).leaves(BOPTrees.PINE).placeOn(suitableTreePosition).create()); - treeGenerator.add("oak", 1, (new GeneratorBasicTree.Builder()).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).generationAttempts(128).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).generationAttempts(128).create()); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).generationAttempts(128).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).generationAttempts(128).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).generationAttempts(128).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).generationAttempts(type == MountainType.MOUNTAIN_FOOTHILLS ? 64 : 32).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.8F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.2F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - - if (type == MountainType.MOUNTAIN_FOOTHILLS) - { - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.BERRYBUSH).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.REED).generationAttempts(32).create()); - } - - // gem - this.addGenerator("emeralds", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(Blocks.EMERALD_ORE.getDefaultState()).create()); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMysticGrove.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMysticGrove.java deleted file mode 100644 index 4ed8dc42a..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenMysticGrove.java +++ /dev/null @@ -1,146 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorBigMushroom; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.monster.EntityWitch; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - -public class BiomeGenMysticGrove extends BOPOverworldBiome -{ - - public BiomeGenMysticGrove() - { - super("mystic_grove", new PropsBuilder("Mystic Grove").withGuiColour(0x69CFDB).withTemperature(0.7F).withRainfall(0.8F).withWaterColor(0xFF107A)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(5, 20); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - - this.skyColor = 0x88E8D0; - this.fogColor = 0xFFAAC9; - - this.canGenerateRivers = false; - this.canGenerateVillages = false; - this.canSpawnInBiome = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.WET_TEMPERATE, 1); - - this.spawnableCreatureList.clear(); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityWitch.class, 10, 4, 4)); - - // hot springs - this.addGenerator("hot_springs", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.5F).liquid(BOPBlocks.hot_spring_water).frozenLiquid((IBlockState)null).create()); - - // lakes - this.addGenerator("poison_lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.1F).liquid(BOPBlocks.poison).frozenLiquid((IBlockState)null).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(10); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("ivy_tree", 7, (new GeneratorBasicTree.Builder()).minHeight(5).maxHeight(9).maxLeavesRadius(2).leaves(Blocks.LEAVES.getDefaultState().withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).vine(BOPBlocks.ivy.getDefaultState()).create()); - treeGenerator.add("magic", 17, (new GeneratorBasicTree.Builder()).log(BOPWoods.MAGIC).leaves(BOPTrees.MAGIC).create()); - treeGenerator.add("jacaranda", 9, (new GeneratorBasicTree.Builder()).minHeight(4).maxHeight(7).log(BOPWoods.JACARANDA).leaves(BOPTrees.JACARANDA).create()); - treeGenerator.add("oak_large", 8, (new GeneratorBigTree.Builder()).altLeaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.FLOWERING).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("clover", 1, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - flowerGenerator.add("blue_hydrangeas", 2, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); - flowerGenerator.add("syringa", 1, (new GeneratorDoubleFlora.Builder().with(BlockDoublePlant.EnumPlantType.SYRINGA).create())); - flowerGenerator.add("glowflower", 5, (new GeneratorFlora.Builder().with(BOPFlowers.GLOWFLOWER).create())); - flowerGenerator.add("houstonia", 3, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.HOUSTONIA).create())); - flowerGenerator.add("pink_daffodil", 2, (new GeneratorFlora.Builder().with(BOPFlowers.PINK_DAFFODIL).create())); - flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - //other plants - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.SPROUT).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - - // shrooms - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("big_red_mushroom", GeneratorStage.BIG_SHROOM,(new GeneratorBigMushroom.Builder()).amountPerChunk(0.4F).mushroomType(GeneratorBigMushroom.BigMushroomType.RED).create()); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x69CFDB); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x70E099); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOasis.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOasis.java deleted file mode 100644 index 352844149..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOasis.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorPalmTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockPlanks; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenOasis extends BOPOverworldBiome -{ - public BiomeGenOasis() - { - super("oasis", new PropsBuilder("Oasis").withGuiColour(7712283).withTemperature(2.0F).withRainfall(0.5F).withRainDisabled()); - - // terrain - this.terrainSettings.avgHeight(62).heightVariation(5, 7); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - this.hasBiomeEssence = false; - - this.topBlock = Blocks.SAND.getDefaultState(); - this.fillerBlock = Blocks.SAND.getDefaultState(); - - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - clearWeights(); - - // lakes - //this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(1.2F).waterLakeForBiome(this).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(4.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("palm", 3, (new GeneratorPalmTree.Builder()).placeOn(BlockQueries.litSand).log(BOPWoods.PALM).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.PALM).withProperty(BlockOldLeaf.DECAYABLE, Boolean.valueOf(false))).create()); - treeGenerator.add("jungle_twiglet", 2, (new GeneratorTwigletTree.Builder()).placeOn(BlockQueries.litSand).minHeight(2).maxHeight(2).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.JUNGLE).trunkFruit(Blocks.COCOA.getDefaultState()).create()); - - // other plants - this.addGenerator("dunegrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(10.0F).with(BOPPlants.DUNEGRASS).placeOn(BlockQueries.litDry).generationAttempts(8).create()); - this.addGenerator("desert_sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(5.0F).with(BOPPlants.DESERTSPROUTS).generationAttempts(8).create()); - this.addGenerator("desertgrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(1.0F).with(BOPPlants.DESERTGRASS).generationAttempts(8).create()); - this.addGenerator("bromeliad", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder().amountPerChunk(0.2F).with(BOPFlowers.BROMELIAD).generationAttempts(8).create())); - this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.TINYCACTUS).generationAttempts(8).create()); - this.addGenerator("sugar_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(2.0F).generationAttempts(24).placeOn(BlockQueries.litDryWaterside).with(Blocks.REEDS.getDefaultState()).minHeight(1).maxHeight(3).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOminousWoods.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOminousWoods.java deleted file mode 100644 index 039c45cb3..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOminousWoods.java +++ /dev/null @@ -1,132 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorBramble; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenOminousWoods extends BOPOverworldBiome -{ - - public BiomeGenOminousWoods() - { - super("ominous_woods", new PropsBuilder("Ominous Woods").withGuiColour(0x3F4151).withTemperature(0.6F).withRainfall(0.6F).withWaterColor(0x1E1B26)); - - // terrain - this.terrainSettings.avgHeight(66).heightVariation(5, 10); - - this.skyColor = 0x384460; - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - - this.canGenerateRivers = false; - this.canGenerateVillages = false; - this.canSpawnInBiome = false; - - this.beachBiomeLocation = null; - - this.fogColor = 0x3B3D4C; - this.fogDensity = 0.175F; - - this.addWeight(BOPClimates.COLD_SWAMP, 1); - - this.spawnableCreatureList.clear(); - - // lakes - this.addGenerator("poison_lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.1F).liquid(BOPBlocks.poison).frozenLiquid((IBlockState)null).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(11); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("willow_tree", 3, (new GeneratorBasicTree.Builder()).log(BOPWoods.WILLOW).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.WILLOW).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).minHeight(5).maxHeight(9).maxLeavesRadius(2).vine(BOPBlocks.willow_vine.getDefaultState()).create()); - treeGenerator.add("umbran_spruce", 4, (new GeneratorTaigaTree.Builder()).log(BOPWoods.UMBRAN).leaves(BOPTrees.UMBRAN).maxHeight(20).create()); // TODO: implement pine cones - treeGenerator.add("dead_tree", 2, (new GeneratorBigTree.Builder()).minHeight(5).maxHeight(12).foliageHeight(0).foliageDensity(0.5D).log(BOPWoods.DEAD).leaves(Blocks.AIR.getDefaultState()).create()); - treeGenerator.add("mega_umbran", 5, (new GeneratorTaigaTree.Builder()).log(BOPWoods.UMBRAN).leaves(BOPTrees.UMBRAN).minHeight(20).maxHeight(30).trunkWidth(2).create()); - treeGenerator.add("dying_tree", 1, (new GeneratorBigTree.Builder()).minHeight(5).maxHeight(12).foliageHeight(1).log(BOPWoods.DEAD).leaves(BOPTrees.DEAD).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(3.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.4F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("deathbloom", 2, (new GeneratorFlora.Builder()).with(BOPFlowers.DEATHBLOOM).create()); - - // other plants - this.addGenerator("bramble", GeneratorStage.FLOWERS,(new GeneratorBramble.Builder()).maxHeight(4).minLength(5).maxLength(15).amountPerChunk(0.75F).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - this.addGenerator("thorns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.THORN).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - - // shrooms - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x43415B); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x5A4166); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOrchard.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOrchard.java deleted file mode 100644 index 7d0d6efbc..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOrchard.java +++ /dev/null @@ -1,87 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityDonkey; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - -public class BiomeGenOrchard extends BOPOverworldBiome -{ - public BiomeGenOrchard() - { - super("orchard", new PropsBuilder("Orchard").withGuiColour(14024557).withTemperature(0.7F).withRainfall(0.7F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(4, 15); - - this.addWeight(BOPClimates.WARM_TEMPERATE, 3); - - this.canGenerateVillages = true; - - this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 1, 2, 6)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityDonkey.class, 1, 1, 1)); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(3.5F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak", 2, (new GeneratorBasicTree.Builder()).altLeaves(BOPTrees.FLOWERING).create()); - treeGenerator.add("oak_large", 1, (new GeneratorBigTree.Builder()).altLeaves(BOPTrees.FLOWERING).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 4, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 6, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).generationAttempts(16).create())); - flowerGenerator.add("houstonia", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.HOUSTONIA).create())); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.BERRYBUSH).generationAttempts(8).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1).with(BOPPlants.REED).generationAttempts(32).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(1).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(32).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(8).create()); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(14024557); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(14024557); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOriginBeach.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOriginBeach.java deleted file mode 100644 index 9d125f6fb..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOriginBeach.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntitySkeleton; -import net.minecraft.entity.monster.EntitySpider; -import net.minecraft.entity.monster.EntityZombie; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - -public class BiomeGenOriginBeach extends BOPOverworldBiome -{ - public BiomeGenOriginBeach() - { - super("origin_beach", new PropsBuilder("Origin Beach").withGuiColour(10341485).withTemperature(0.6F).withRainfall(0.6F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(1, 1); - - this.skyColor = 8441086; - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.hasBiomeEssence = false; - this.canGenerateRivers = false; - - this.spawnableWaterCreatureList.clear(); - this.spawnableCaveCreatureList.clear(); - this.spawnableMonsterList.clear(); - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.add(new SpawnListEntry(EntitySpider.class, 100, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityZombie.class, 100, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntitySkeleton.class, 100, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityCreeper.class, 100, 4, 4)); - - this.decorator.treesPerChunk = -999; - this.decorator.deadBushPerChunk = 0; - this.decorator.reedsPerChunk = 0; - this.decorator.cactiPerChunk = 0; - - clearWeights(); - - this.topBlock = Blocks.SAND.getDefaultState(); - this.fillerBlock = Blocks.SAND.getDefaultState(); - } - - @Override - public void applySettings(IBOPWorldSettings settings) - { - this.removeGenerator("roots"); - this.removeGenerator("glowshrooms"); - this.removeGenerator("miners_delight"); - - if (!settings.isEnabled(GeneratorType.GEMS)) {this.removeGenerator("ruby"); this.removeGenerator("topaz"); - this.removeGenerator("amber"); this.removeGenerator("peridot"); this.removeGenerator("malachite"); - this.removeGenerator("sapphire"); this.removeGenerator("tanzanite"); this.removeGenerator("amethyst");} - - if (!settings.isEnabled(GeneratorType.POISON_IVY)) {this.removeGenerator("poison_ivy");} - - if (!settings.isEnabled(GeneratorType.BERRY_BUSHES)) {this.removeGenerator("berry_bushes");} - - if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");} - - if (!settings.isEnabled(GeneratorType.THORNS)) {this.removeGenerator("thorns");} - - if (!settings.isEnabled(GeneratorType.QUICKSAND)) {this.removeGenerator("quicksand");} - - if (!settings.isEnabled(GeneratorType.HOT_SPRINGS)) {this.removeGenerator("hot_springs");} - - if (!settings.isEnabled(GeneratorType.LIQUID_POISON)) {this.removeGenerator("poison_lakes");} - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(10682207); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(3866368); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOriginIsland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOriginIsland.java deleted file mode 100644 index fd39ae824..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOriginIsland.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPGrass.BOPGrassType; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import net.minecraft.block.BlockFlower.EnumFlowerType; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntitySkeleton; -import net.minecraft.entity.monster.EntitySpider; -import net.minecraft.entity.monster.EntityZombie; -import net.minecraft.entity.passive.EntityChicken; -import net.minecraft.entity.passive.EntityCow; -import net.minecraft.entity.passive.EntityPig; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - -public class BiomeGenOriginIsland extends BOPOverworldBiome -{ - public BiomeGenOriginIsland() - { - super("origin_island", new PropsBuilder("Origin Island").withGuiColour(10341485).withTemperature(0.6F).withRainfall(0.6F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(6, 25).sidewaysNoise(0.0D); - - if (BOPBiomes.origin_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.origin_beach.get()).getResourceLocation(); - } - - this.skyColor = 8441086; - - this.canSpawnInBiome = true; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - - clearWeights(); - - this.spawnableWaterCreatureList.clear(); - this.spawnableCaveCreatureList.clear(); - this.spawnableMonsterList.clear(); - this.spawnableCreatureList.clear(); - this.spawnableCreatureList.add(new SpawnListEntry(EntitySheep.class, 12, 4, 4)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityPig.class, 10, 4, 4)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityChicken.class, 10, 4, 4)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityCow.class, 8, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntitySpider.class, 100, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityZombie.class, 100, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntitySkeleton.class, 100, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityCreeper.class, 100, 4, 4)); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BOPGrassType.ORIGIN); - - // trees - this.addGenerator("trees", GeneratorStage.TREE, (new GeneratorBasicTree.Builder()).amountPerChunk(5).minHeight(5).maxHeight(8).leaves(BOPTrees.ORIGIN).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.4F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("rose", 8, (new GeneratorFlora.Builder().with(BOPFlowers.ROSE).create())); - flowerGenerator.add("yellow_flower", 10, (new GeneratorFlora.Builder().with(EnumFlowerType.DANDELION).create())); - } - - @Override - public void applySettings(IBOPWorldSettings settings) - { - this.removeGenerator("roots"); - this.removeGenerator("glowshrooms"); - this.removeGenerator("miners_delight"); - - if (!settings.isEnabled(GeneratorType.GEMS)) {this.removeGenerator("ruby"); this.removeGenerator("topaz"); - this.removeGenerator("amber"); this.removeGenerator("peridot"); this.removeGenerator("malachite"); - this.removeGenerator("sapphire"); this.removeGenerator("tanzanite"); this.removeGenerator("amethyst");} - - if (!settings.isEnabled(GeneratorType.POISON_IVY)) {this.removeGenerator("poison_ivy");} - - if (!settings.isEnabled(GeneratorType.BERRY_BUSHES)) {this.removeGenerator("berry_bushes");} - - if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");} - - if (!settings.isEnabled(GeneratorType.THORNS)) {this.removeGenerator("thorns");} - - if (!settings.isEnabled(GeneratorType.QUICKSAND)) {this.removeGenerator("quicksand");} - - if (!settings.isEnabled(GeneratorType.HOT_SPRINGS)) {this.removeGenerator("hot_springs");} - - if (!settings.isEnabled(GeneratorType.LIQUID_POISON)) {this.removeGenerator("poison_lakes");} - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(10682207); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(3866368); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOutback.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOutback.java deleted file mode 100644 index b80ff8154..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOutback.java +++ /dev/null @@ -1,97 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplatter; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockSand; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenOutback extends BOPOverworldBiome -{ - public BiomeGenOutback() - { - super("outback", new PropsBuilder("Outback").withGuiColour(0xA57644).withTemperature(2.0F).withRainfall(0.05F).withRainDisabled()); - - // terrain - this.terrainSettings.avgHeight(72).heightVariation(8, 10).octaves(0, 1, 2, 1, 0, 2); - - this.topBlock = Blocks.SAND.getDefaultState().withProperty(BlockSand.VARIANT, BlockSand.EnumType.RED_SAND); - this.fillerBlock = Blocks.SAND.getDefaultState().withProperty(BlockSand.VARIANT, BlockSand.EnumType.RED_SAND); - - this.addWeight(BOPClimates.HOT_DESERT, 7); - - this.canGenerateVillages = true; - - this.spawnableCreatureList.clear(); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // splatter top blocks - IBlockPosQuery emptyRedSand = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - this.addGenerator("grass_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(4.0F).generationAttempts(128).replace(emptyRedSand).with(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY)).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(3); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("acacia_bush", 1, (new GeneratorBush.Builder()).log(BlockPlanks.EnumType.ACACIA).leaves(BlockPlanks.EnumType.ACACIA).maxHeight(2).create()); - treeGenerator.add("acacia_twiglet", 1, (new GeneratorTwigletTree.Builder()).minHeight(2).maxHeight(2).log(BlockPlanks.EnumType.ACACIA).leaves(BlockPlanks.EnumType.ACACIA).create()); - - // grasses (note weighting must be quite high as the grasses will only grow on the splattered grass blocks) - GeneratorWeighted grassGenerator = new GeneratorWeighted(16.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create()); - this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.TINYCACTUS).create()); - this.addGenerator("dead_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).with(Blocks.DEADBUSH.getDefaultState()).create()); - this.addGenerator("cacti", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.2F).generationAttempts(24).placeOn(this.topBlock).with(Blocks.CACTUS.getDefaultState()).minHeight(1).maxHeight(2).create()); - this.addGenerator("desertgrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(10.0F).with(BOPPlants.DESERTGRASS).generationAttempts(8).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOvergrownCliffs.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOvergrownCliffs.java deleted file mode 100644 index 43935b20e..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenOvergrownCliffs.java +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorMahoganyTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.passive.EntityParrot; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; - -public class BiomeGenOvergrownCliffs extends BOPOverworldBiome -{ - public IBlockState usualTopBlock; - public IBlockState usualFillerBlock; - public IBlockState alternateTopBlock; - public IBlockState alternateFillerBlock; - - public BiomeGenOvergrownCliffs() - { - super("overgrown_cliffs", new PropsBuilder("Overgrown Cliffs").withGuiColour(8373350).withTemperature(0.95F).withRainfall(0.75F)); - - // terrain - this.terrainSettings.avgHeight(70).heightVariation(5, 100).octaves(1, 1, 1, 1, 0, 0).sidewaysNoise(0.0F); - - this.canGenerateRivers = false; - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_STONE); - this.fillerBlock = Blocks.STONE.getDefaultState(); - this.usualTopBlock = this.topBlock; - this.usualFillerBlock = this.fillerBlock; - this.alternateTopBlock = Blocks.GRASS.getDefaultState(); - this.alternateFillerBlock = Blocks.DIRT.getDefaultState(); - - this.addWeight(BOPClimates.TROPICAL, 2); - - this.beachBiomeLocation = null; - - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.add(new SpawnListEntry(EntityOcelot.class, 2, 1, 1)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityParrot.class, 40, 1, 2)); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(40.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("mahogany", 1, (new GeneratorMahoganyTree.Builder()).minHeight(5).maxHeight(10).create()); - treeGenerator.add("oak_bush", 8, (new GeneratorBush.Builder()).maxHeight(2).create()); - treeGenerator.add("jungle_twiglet", 2, (new GeneratorTwigletTree.Builder()).minHeight(2).maxHeight(2).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.JUNGLE).trunkFruit(Blocks.COCOA.getDefaultState()).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.SHRUB).create()); - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.SPROUT).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("orange_cosmos", 4, (new GeneratorFlora.Builder().with(BOPFlowers.ORANGE_COSMOS).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(2.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("emeralds", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(Blocks.EMERALD_ORE.getDefaultState()).create()); - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.usualFillerBlock = this.fillerBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - this.alternateFillerBlock = conf.getBlockState("alternateFillerBlock", this.alternateFillerBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 1.0D > 1.8D) ? this.alternateTopBlock : this.usualTopBlock; - this.fillerBlock = (noise + rand.nextDouble() * 1.0D > 1.8D) ? this.alternateFillerBlock : this.usualFillerBlock; - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenPasture.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenPasture.java deleted file mode 100644 index 05b15c411..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenPasture.java +++ /dev/null @@ -1,61 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenPasture extends BOPOverworldBiome -{ - public BiomeGenPasture() - { - super("pasture", new PropsBuilder("Pasture").withGuiColour(0xC8E580).withTemperature(0.8F).withRainfall(0.3F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(4, 6); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - - this.canGenerateVillages = false; - this.hasBiomeEssence = false; - - clearWeights(); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - grassGenerator.add("tallgrass", 6, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - this.addGenerator("barley", GeneratorStage.GRASS,(new GeneratorFlora.Builder()).amountPerChunk(45.0F).with(BOPPlants.BARLEY).create()); - - // other plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1).with(BOPPlants.REED).generationAttempts(32).create()); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(13165952); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(11395195); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenPrairie.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenPrairie.java deleted file mode 100644 index 51142d1b6..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenPrairie.java +++ /dev/null @@ -1,95 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityDonkey; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - -public class BiomeGenPrairie extends BOPOverworldBiome -{ - public BiomeGenPrairie() - { - super("prairie", new PropsBuilder("Prairie").withGuiColour(0xC8E580).withTemperature(0.8F).withRainfall(0.3F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(4, 6); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - - this.addWeight(BOPClimates.WARM_TEMPERATE, 7); - - this.canGenerateVillages = true; - - this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 1, 2, 6)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityDonkey.class, 1, 1, 1)); - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - GeneratorWeighted treeGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak_tree", 3, (new GeneratorBigTree.Builder()).minHeight(7).maxHeight(12).foliageHeight(1).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(10); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - grassGenerator.add("tallgrass", 6, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - this.addGenerator("doublegrass", GeneratorStage.GRASS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.5F).with(BlockDoublePlant.EnumPlantType.GRASS).generationAttempts(128).create()); - - this.addGenerator("goldenrods", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPFlowers.GOLDENROD).generationAttempts(64).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.4F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).generationAttempts(16).create())); - flowerGenerator.add("houstonia", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.HOUSTONIA).create())); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1).with(BOPPlants.REED).generationAttempts(32).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(8).create()); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(13165952); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(11395195); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenQuagmire.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenQuagmire.java deleted file mode 100644 index e5b4d6a1e..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenQuagmire.java +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplatter; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.monster.EntitySlime; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenQuagmire extends BOPOverworldBiome -{ - public IBlockState usualTopBlock; - public IBlockState usualFillerBlock; - public IBlockState alternateTopBlock; - public IBlockState alternateFillerBlock; - - public BiomeGenQuagmire() - { - super("quagmire", new PropsBuilder("Quagmire").withGuiColour(0x503A2B).withTemperature(0.6F).withRainfall(0.9F).withWaterColor(0xCC5100)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(5, 10).octaves(1, 1, 1, 1, 0, 0).sidewaysNoise(0.0F); - - this.topBlock = BOPBlocks.mud.getDefaultState(); - this.fillerBlock = BOPBlocks.mud.getDefaultState(); - this.usualTopBlock = this.topBlock; - this.usualFillerBlock = this.fillerBlock; - this.alternateTopBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.alternateFillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - //this.skyColor = 0xBDC4BE; - this.seaFloorBlock = BOPBlocks.mud.getDefaultState(); - - this.canSpawnInBiome = false; - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.COLD_SWAMP, 2); - - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 1, 3)); - - // splatter top blocks - IBlockPosQuery emptyMud = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - this.addGenerator("grass_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(1.0F).generationAttempts(128).replace(emptyMud).with(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY)).create()); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(10).maxRadius(8).with(BOPBlocks.mud.getDefaultState()).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.4F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 5, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // other plants - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.KORU).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.REED).generationAttempts(32).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.usualFillerBlock = this.fillerBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - this.alternateFillerBlock = conf.getBlockState("alternateFillerBlock", this.alternateFillerBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 1.0D > 1.8D) ? this.alternateTopBlock : this.usualTopBlock; - this.fillerBlock = (noise + rand.nextDouble() * 1.0D > 1.8D) ? this.alternateFillerBlock : this.usualFillerBlock; - - double d0 = GRASS_COLOR_NOISE.getValue((double)x * 0.2D, (double)z * 0.2D); - - if (d0 > 0.0D) - { - int i = x & 15; - int j = z & 15; - - for (int k = 255; k >= 0; --k) - { - if (primer.getBlockState(j, k, i).getMaterial() != Material.AIR) - { - if (k == 62 && primer.getBlockState(j, k, i).getBlock() != Blocks.WATER) - { - primer.setBlockState(j, k, i, WATER); - } - - break; - } - } - } - - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x938060); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xAAA072); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenRainforest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenRainforest.java deleted file mode 100644 index 0b3040ea9..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenRainforest.java +++ /dev/null @@ -1,111 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorPalmTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockFlower.EnumFlowerType; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.passive.EntityParrot; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenRainforest extends BOPOverworldBiome -{ - public BiomeGenRainforest() - { - super("rainforest", new PropsBuilder("Rainforest").withGuiColour(0x14E26F).withTemperature(0.95F).withRainfall(1.2F)); - - // terrain - this.terrainSettings.avgHeight(80).heightVariation(50, 50).sidewaysNoise(1.5D); - - this.addWeight(BOPClimates.TROPICAL, 7); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - - this.beachBiomeLocation = null; - - this.spawnableMonsterList.add(new SpawnListEntry(EntityOcelot.class, 2, 1, 1)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityParrot.class, 40, 1, 2)); - - // aand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(15); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("palm", 3, (new GeneratorPalmTree.Builder()).log(BOPWoods.PALM).minHeight(15).maxHeight(20).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.PALM).withProperty(BlockOldLeaf.DECAYABLE, Boolean.valueOf(false))).create()); - treeGenerator.add("oak", 7, (new GeneratorBasicTree.Builder()).minHeight(8).maxHeight(12).altLeaves(BOPTrees.FLOWERING).create()); - treeGenerator.add("jungle", 1, (new GeneratorBasicTree.Builder()).minHeight(8).maxHeight(12).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.JUNGLE).trunkFruit(Blocks.COCOA.getDefaultState()).create()); - treeGenerator.add("large_oak", 4, (new GeneratorBigTree.Builder()).log(BlockPlanks.EnumType.OAK).leaves(BlockPlanks.EnumType.OAK).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(3.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("fern", 4, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("pink_daffodil", 3, (new GeneratorFlora.Builder().with(BOPFlowers.PINK_DAFFODIL).create())); - flowerGenerator.add("blue_hydrangeas", 2, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); - flowerGenerator.add("orange_cosmos", 4, (new GeneratorFlora.Builder().with(BOPFlowers.ORANGE_COSMOS).create())); - flowerGenerator.add("blue_orchid", 2, (new GeneratorFlora.Builder().with(EnumFlowerType.BLUE_ORCHID).create())); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create()); - this.addGenerator("rafflesia", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.RAFFLESIA).create()); - this.addGenerator("melons", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.015625F).placeOn(this.topBlock).with(Blocks.MELON_BLOCK.getDefaultState()).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x1AD86C); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x14E26F); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenRedwoodForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenRedwoodForest.java deleted file mode 100644 index dfaf40784..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenRedwoodForest.java +++ /dev/null @@ -1,121 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import com.google.common.base.CaseFormat; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorRedwoodTree; -import net.minecraft.block.BlockDirt; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; - -public class BiomeGenRedwoodForest extends BOPOverworldBiome -{ - public enum ForestType {REDWOOD_FOREST, REDWOOD_FOREST_EDGE} - public IBlockState usualTopBlock; - public IBlockState alternateTopBlock; - - public ForestType type; - - public BiomeGenRedwoodForest(ForestType type) - { - super(type.name().toLowerCase(), new PropsBuilder(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, type.toString())).withGuiColour(0x6DAA3C).withTemperature(0.7F).withRainfall(0.7F)); - - this.type = type; - - // terrain - this.terrainSettings.avgHeight(70).heightVariation(4, 10); - - this.topBlock = Blocks.DIRT.getDefaultState().withProperty(BlockDirt.VARIANT, BlockDirt.DirtType.PODZOL); - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = this.topBlock; - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - - if (type == ForestType.REDWOOD_FOREST) - { - this.addWeight(BOPClimates.WARM_TEMPERATE, 7); - - //trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(15.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("redwood", 6, (new GeneratorRedwoodTree.Builder()).log(BOPWoods.REDWOOD).leaves(BOPTrees.REDWOOD).minHeight(45).maxHeight(60).trunkWidth(3).create()); - treeGenerator.add("redwood_medium", 4, (new GeneratorRedwoodTree.Builder()).log(BOPWoods.REDWOOD).leaves(BOPTrees.REDWOOD).minHeight(25).maxHeight(40).trunkWidth(2).create()); - treeGenerator.add("redwood_small", 2, (new GeneratorRedwoodTree.Builder()).log(BOPWoods.REDWOOD).leaves(BOPTrees.REDWOOD).minHeight(10).maxHeight(30).trunkWidth(1).create()); - treeGenerator.add("oak_bush", 1, (new GeneratorBush.Builder()).amountPerChunk(3).maxHeight(2).create()); - treeGenerator.add("oak_tree", 1, (new GeneratorBigTree.Builder()).amountPerChunk(1.0F).minHeight(4).maxHeight(10).foliageHeight(1).create()); - - this.addGenerator("double_fern", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(5.0F).with(BlockDoublePlant.EnumPlantType.FERN).create()); - } - - if (type == ForestType.REDWOOD_FOREST_EDGE) - { - this.hasBiomeEssence = false; - this.alternateTopBlock = Blocks.GRASS.getDefaultState(); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(8.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("redwood_small", 6, (new GeneratorRedwoodTree.Builder()).log(BOPWoods.REDWOOD).leaves(BOPTrees.REDWOOD).minHeight(10).maxHeight(30).trunkWidth(1).create()); - treeGenerator.add("redwood_medium", 1, (new GeneratorRedwoodTree.Builder()).log(BOPWoods.REDWOOD).leaves(BOPTrees.REDWOOD).minHeight(25).maxHeight(40).trunkWidth(2).create()); - treeGenerator.add("oak_bush", 2, (new GeneratorBush.Builder()).amountPerChunk(3).maxHeight(2).create()); - treeGenerator.add("oak_tree", 1, (new GeneratorBigTree.Builder()).amountPerChunk(1.0F).minHeight(4).maxHeight(10).foliageHeight(1).create()); - } - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.SPROUT).create()); - - // shrooms - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(4.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("fern", 8, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).generationAttempts(128).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 3.0D > 1.5D) ? this.alternateTopBlock : this.usualTopBlock; - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSacredSprings.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSacredSprings.java deleted file mode 100644 index ab75cd29b..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSacredSprings.java +++ /dev/null @@ -1,102 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockFlower.EnumFlowerType; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenSacredSprings extends BOPOverworldBiome -{ - public BiomeGenSacredSprings() - { - super("sacred_springs", new PropsBuilder("Sacred Springs").withGuiColour(39259).withTemperature(0.85F).withRainfall(0.9F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(10, 10); - - this.canSpawnInBiome = false; - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.TROPICAL, 1); - - this.spawnableMonsterList.add(new SpawnListEntry(EntityOcelot.class, 2, 1, 1)); - - // hot springs - this.addGenerator("hot_springs", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.5F).liquid(BOPBlocks.hot_spring_water).frozenLiquid((IBlockState)null).create()); - - // trees - this.addGenerator("sacred_oak_trees", GeneratorStage.POST, (new GeneratorBigTree.Builder()).amountPerChunk(0.4F).log(BOPWoods.SACRED_OAK).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.SACRED_OAK).withProperty(BlockOldLeaf.DECAYABLE, Boolean.valueOf(false))).minHeight(35).maxHeight(40).trunkWidth(2).foliageDensity(2.0D).create()); - this.addGenerator("leaves_clusters", GeneratorStage.TREE, (new GeneratorBush.Builder()).amountPerChunk(12.5F).maxHeight(2).create()); - this.addGenerator("large_oak", GeneratorStage.TREE, (new GeneratorBigTree.Builder()).amountPerChunk(3.0F).altLeaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.FLOWERING).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(2.75F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.15F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("pink_daffodil", 3, (new GeneratorFlora.Builder().with(BOPFlowers.PINK_DAFFODIL).create())); - flowerGenerator.add("poppy", 2, (new GeneratorFlora.Builder().with(EnumFlowerType.POPPY).create())); - flowerGenerator.add("paeonias", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.PAEONIA).create()); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - - // other plants - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.5F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("rafflesia", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.RAFFLESIA).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.45F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(39285); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(39285); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSeasonalForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSeasonalForest.java deleted file mode 100644 index 3d1c3947a..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSeasonalForest.java +++ /dev/null @@ -1,104 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenSeasonalForest extends BOPOverworldBiome -{ - public BiomeGenSeasonalForest() - { - super("seasonal_forest", new PropsBuilder("Seasonal Forest").withGuiColour(0xBEC44C).withTemperature(0.4F).withRainfall(0.8F)); - - // terrain - this.terrainSettings.avgHeight(75).heightVariation(20, 30); - - this.addWeight(BOPClimates.COOL_TEMPERATE, 7); - - this.canGenerateVillages = true; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 5, 4, 4)); - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(10); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("large_oak", 1, (new GeneratorBigTree.Builder()).log(BlockPlanks.EnumType.OAK).leaves(BlockPlanks.EnumType.OAK).create()); - treeGenerator.add("yellow_autumn", 4, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.BIRCH).leaves(BOPTrees.YELLOW_AUTUMN).minHeight(5).maxHeight(8).create()); - treeGenerator.add("maple", 4, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.OAK).leaves(BOPTrees.MAPLE).minHeight(5).maxHeight(8).create()); - treeGenerator.add("orange_autumn", 5, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.DARK_OAK).leaves(BOPTrees.ORANGE_AUTUMN).minHeight(5).maxHeight(8).create()); - treeGenerator.add("dying_tree", 2, (new GeneratorBigTree.Builder()).minHeight(5).maxHeight(12).foliageHeight(2).leaves(BOPTrees.DEAD).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.4F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.4F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.5F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(2.0F).with(BOPPlants.REED).generationAttempts(32).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xB5B952); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xA3A627); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShield.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShield.java deleted file mode 100644 index e63b46c9f..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShield.java +++ /dev/null @@ -1,138 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorPineTree; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.chunk.ChunkPrimer; - -public class BiomeGenShield extends BOPOverworldBiome -{ - public IBlockState usualTopBlock; - public IBlockState alternateTopBlock; - - public BiomeGenShield() - { - super("shield", new PropsBuilder("Shield").withGuiColour(0x647F38).withTemperature(0.4F).withRainfall(0.8F)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(10, 10).sidewaysNoise(0.1D).octaves(1, 4, 3, 1, 1, 0); - - this.topBlock = Blocks.GRASS.getDefaultState(); - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = Blocks.STONE.getDefaultState(); - - this.canGenerateVillages = false; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.addWeight(BOPClimates.BOREAL, 5); - - // gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(12).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(9); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("spruce", 4, (new GeneratorTaigaTree.Builder()).maxHeight(13).create()); // TODO: implement pine cones - treeGenerator.add("oak_bush", 3, (new GeneratorBush.Builder()).maxHeight(2).create()); - treeGenerator.add("pine", 2, (new GeneratorPineTree.Builder()).minHeight(6).maxHeight(18).log(BOPWoods.PINE).leaves(BOPTrees.PINE).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - - // water plants - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1.4F).with(BOPPlants.REED).generationAttempts(32).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 1.0D > 1.8D) ? this.alternateTopBlock : this.usualTopBlock; - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } - - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x7C9B45); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x8EAF4F); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShrubland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShrubland.java deleted file mode 100644 index 25ed2ba04..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenShrubland.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import net.minecraft.block.BlockFlower.EnumFlowerType; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityDonkey; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityLlama; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.world.biome.Biome; - -public class BiomeGenShrubland extends BOPOverworldBiome -{ - - public BiomeGenShrubland() - { - super("shrubland", new PropsBuilder("Shrubland").withGuiColour(8168286).withTemperature(0.6F).withRainfall(0.05F)); - - // terrain - this.terrainSettings.avgHeight(66).heightVariation(8, 15).octaves(0, 1, 2, 2, 1, 0).sidewaysNoise(0.1D); - - this.addWeight(BOPClimates.DRY_TEMPERATE, 10); - this.addWeight(BOPClimates.MEDITERANEAN, 7); - - this.canGenerateVillages = true; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityDonkey.class, 1, 1, 1)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityLlama.class, 5, 4, 6)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // sand and gravel - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // other plants - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); - this.addGenerator("bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.BUSH).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(6).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.REED).generationAttempts(32).create()); - - // trees - this.addGenerator("trees", GeneratorStage.TREE, (new GeneratorBush.Builder()).amountPerChunk(1).maxHeight(2).create()); - - // flowers - this.addGenerator("flowers", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(EnumFlowerType.ALLIUM).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSnowyConiferousForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSnowyConiferousForest.java deleted file mode 100644 index 5fe94795b..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSnowyConiferousForest.java +++ /dev/null @@ -1,83 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.init.Blocks; -import net.minecraft.world.biome.Biome; - -public class BiomeGenSnowyConiferousForest extends BOPOverworldBiome -{ - - public BiomeGenSnowyConiferousForest() - { - super("snowy_coniferous_forest", new PropsBuilder("Snowy Coniferous Forest").withGuiColour(0xFFFFFF).withSnowEnabled().withTemperature(-0.25F).withRainfall(0.5F)); - - // terrain - this.terrainSettings.avgHeight(68).heightVariation(10, 20); - - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.TUNDRA, 7); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - - this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 8, 4, 4)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(8.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("fir", 4, (new GeneratorTaigaTree.Builder()).log(BOPWoods.FIR).leaves(BOPTrees.FIR).minHeight(5).maxHeight(28).create()); - treeGenerator.add("mega_fir", 2, (new GeneratorTaigaTree.Builder()).log(BOPWoods.FIR).leaves(BOPTrees.FIR).minHeight(20).maxHeight(40).trunkWidth(2).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.05F).with(BOPPlants.SHRUB).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - - // shrooms - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).generationAttempts(128).create()); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("fern", 4, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSnowyForest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSnowyForest.java deleted file mode 100644 index e23a32b58..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSnowyForest.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - - -public class BiomeGenSnowyForest extends BOPOverworldBiome -{ - public BiomeGenSnowyForest() - { - super("snowy_forest", new PropsBuilder("Snowy Forest").withGuiColour(0xABD6BC).withSnowEnabled().withTemperature(-0.25F).withRainfall(0.5F)); - - // terrain - this.terrainSettings.avgHeight(66).heightVariation(6, 21); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.TUNDRA, 7); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(3); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak", 3, (new GeneratorBasicTree.Builder()).leaves(BOPTrees.DEAD).create()); - treeGenerator.add("dying_tree", 1, (new GeneratorBigTree.Builder()).minHeight(5).maxHeight(12).foliageHeight(2).leaves(BOPTrees.DEAD).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.05F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violets", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xBCA165); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xBCA165); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSteppe.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSteppe.java deleted file mode 100644 index 9ea2f6622..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenSteppe.java +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityDonkey; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntityLlama; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.ChunkPrimer; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenSteppe extends BOPOverworldBiome -{ - public BiomeGenSteppe() - { - super("steppe", new PropsBuilder("Steppe").withGuiColour(13413215).withTemperature(0.75F).withRainfall(0.1F)); - - // terrain - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY); - - this.terrainSettings.avgHeight(90).heightVariation(8, 8); - - this.canSpawnInBiome = false; - this.canGenerateVillages = true; - - this.addWeight(BOPClimates.DRY_TEMPERATE, 5); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityDonkey.class, 1, 1, 1)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityLlama.class, 5, 4, 6)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // should the Steppe not have some splattered gravel and coarse dirt? - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - // other plants - this.addGenerator("dead_bushes", GeneratorStage.DEAD_BUSH,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(Blocks.DEADBUSH.getDefaultState()).generationAttempts(4).create()); - this.addGenerator("desertgrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(12.0F).with(BOPPlants.DESERTGRASS).generationAttempts(8).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.9F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 7, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - double noise = GRASS_COLOR_NOISE.getValue((double)pos.getX() * 0.0225D, (double)pos.getZ() * 0.0225D); - return getModdedBiomeGrassColor(noise < -0.1D ? 13741418 : 13018487); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - double noise = GRASS_COLOR_NOISE.getValue((double)pos.getX() * 0.0225D, (double)pos.getZ() * 0.0225D); - return getModdedBiomeFoliageColor(noise < -0.1D ? 13741418 : 13018487); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTemperateRainforest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTemperateRainforest.java deleted file mode 100644 index 3815a1977..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTemperateRainforest.java +++ /dev/null @@ -1,123 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorRedwoodTree; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockLeaves; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenTemperateRainforest extends BOPOverworldBiome -{ - - public BiomeGenTemperateRainforest() - { - super("temperate_rainforest", new PropsBuilder("Temperate Rainforest").withGuiColour(0xBBDD63).withTemperature(0.75F).withRainfall(1.2F)); - - // terrain - this.terrainSettings.avgHeight(67).heightVariation(25, 55); - - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.WET_TEMPERATE, 7); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // sand and gravel - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(30.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("small_redwood", 4, (new GeneratorTaigaTree.Builder()).log(BOPWoods.REDWOOD).leaves(BOPTrees.REDWOOD).minHeight(5).maxHeight(15).create()); - treeGenerator.add("redwood", 5, (new GeneratorTaigaTree.Builder()).log(BOPWoods.REDWOOD).leaves(BOPTrees.REDWOOD).minHeight(20).maxHeight(35).create()); - treeGenerator.add("swamp_tree", 6, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.OAK).leaves(Blocks.LEAVES.getDefaultState().withProperty(BlockLeaves.CHECK_DECAY, Boolean.valueOf(false))).minHeight(5).maxHeight(15).vine(Blocks.VINE.getDefaultState()).leavesOffset(0).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SHRUB).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - this.addGenerator("double_fern", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(7.0F).with(BlockDoublePlant.EnumPlantType.FERN).create()); - this.addGenerator("cattail", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.CATTAIL).create()); - this.addGenerator("double_cattail", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(3.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.REED).generationAttempts(32).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(15.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).generationAttempts(128).create()); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).generationAttempts(128).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).generationAttempts(128).create()); - grassGenerator.add("fern", 10, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xB6D367); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xBBDD63); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTropicalIsland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTropicalIsland.java deleted file mode 100644 index 86369e56e..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTropicalIsland.java +++ /dev/null @@ -1,100 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorPalmTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.passive.EntityParrot; -import net.minecraft.init.Blocks; - -public class BiomeGenTropicalIsland extends BOPOverworldBiome -{ - public BiomeGenTropicalIsland() - { - super("tropical_island", new PropsBuilder("Tropical Island").withTemperature(0.95F).withRainfall(1.0F).withGuiColour(2211330)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(5, 40).octaves(0, 1, 2, 2, 1, 0).sidewaysNoise(0.2D); - - if (BOPBiomes.white_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.white_beach.get()).getResourceLocation(); - } - - this.canSpawnInBiome = true; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - - this.skyColor = 507391; - this.fogColor = 0xB5F8FF; - - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.clear(); - this.spawnableCreatureList.add(new SpawnListEntry(EntityParrot.class, 40, 1, 2)); - - clearWeights(); - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(10).maxRadius(7).with(BOPBlocks.white_sand.getDefaultState()).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(25.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("palm", 4, (new GeneratorPalmTree.Builder()).log(BOPWoods.PALM).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.PALM).withProperty(BlockOldLeaf.DECAYABLE, Boolean.valueOf(false))).create()); - treeGenerator.add("jungle_twiglet", 2, (new GeneratorTwigletTree.Builder()).minHeight(2).maxHeight(2).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.JUNGLE).trunkFruit(Blocks.COCOA.getDefaultState()).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(3.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - //other plants - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SPROUT).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("melons", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.015625F).placeOn(this.topBlock).with(Blocks.MELON_BLOCK.getDefaultState()).create()); - - this.addGenerator("bamboo", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.2F).generationAttempts(24).placeOn(this.topBlock).with(BOPBlocks.bamboo.getDefaultState()).minHeight(1).maxHeight(3).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(2.0F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("hibiscus", 6, (new GeneratorFlora.Builder().with(BOPFlowers.PINK_HIBISCUS).create())); - flowerGenerator.add("blue_hydrangeas", 2, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); - flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTropicalRainforest.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTropicalRainforest.java deleted file mode 100644 index 9ac8cc07e..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTropicalRainforest.java +++ /dev/null @@ -1,130 +0,0 @@ -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorMahoganyTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.passive.EntityParrot; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenTropicalRainforest extends BOPOverworldBiome -{ - - public BiomeGenTropicalRainforest() - { - super("tropical_rainforest", new PropsBuilder("Tropical Rainforest").withGuiColour(0x88E140).withTemperature(1.0F).withRainfall(1.0F).withWaterColor(0x5DFF00)); - - // terrain - this.terrainSettings.avgHeight(67).heightVariation(10, 25); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - this.addWeight(BOPClimates.TROPICAL, 5); - - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.add(new SpawnListEntry(EntityOcelot.class, 2, 1, 1)); - this.spawnableCreatureList.add(new SpawnListEntry(EntityParrot.class, 40, 1, 2)); - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - // quicksand - this.addGenerator("quicksand", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.2F).liquid(BOPBlocks.sand).frozenLiquid((IBlockState)null).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(15.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("mahogany", 6, (new GeneratorMahoganyTree.Builder()).create()); - treeGenerator.add("jungle", 2, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.JUNGLE).minHeight(8).maxHeight(12).trunkFruit(Blocks.COCOA.getDefaultState()).vine(Blocks.VINE.getDefaultState()).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("orange_cosmos", 4, (new GeneratorFlora.Builder().with(BOPFlowers.ORANGE_COSMOS).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - this.addGenerator("double_fern", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.2F).with(BlockDoublePlant.EnumPlantType.FERN).create()); - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.SPROUT).create()); - this.addGenerator("rafflesia", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.RAFFLESIA).create()); - this.addGenerator("melons", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.015625F).placeOn(this.topBlock).with(Blocks.MELON_BLOCK.getDefaultState()).create()); - - // shrooms - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(3.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(3.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("tallgrass", 5, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).generationAttempts(128).create()); - grassGenerator.add("mediumgrass", 5, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).generationAttempts(128).create()); - //grassGenerator.add("dampgrass", 5, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).generationAttempts(128).create()); - grassGenerator.add("fern", 3, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xA7E140); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x88E140); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTundra.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTundra.java deleted file mode 100644 index 45a537125..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenTundra.java +++ /dev/null @@ -1,123 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import com.google.common.base.CaseFormat; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.BOPBiome.PropsBuilder; -import biomesoplenty.common.biome.overworld.BiomeGenRedwoodForest.ForestType; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorBlobs; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.material.Material; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.biome.Biome; - -public class BiomeGenTundra extends BOPOverworldBiome -{ - public enum TundraType {TUNDRA, SNOWY_TUNDRA} - - public TundraType type; - - public BiomeGenTundra(TundraType type) - { - super(type.name().toLowerCase(), new PropsBuilder(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, type.toString())).withGuiColour(0xA09456).withTemperature((type == TundraType.TUNDRA) ? 0.2F : 0.0F).withRainfall(0.5F)); - - this.type = type; - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(5, 10).minHeight(59); - - this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY); - this.fillerBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - - if (type == TundraType.TUNDRA) - { - this.addWeight(BOPClimates.TUNDRA, 10); - } - - this.canGenerateRivers = false; - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - this.spawnableCreatureList.clear(); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // boulders - this.addGenerator("large_boulders", GeneratorStage.SAND, (new GeneratorBlobs.Builder()).amountPerChunk(0.15F).placeOn(this.topBlock).with(Blocks.COBBLESTONE.getDefaultState()).minRadius(1.0F).maxRadius(3.0F).numBalls(3).scatterYMethod(ScatterYMethod.AT_SURFACE).create()); - this.addGenerator("small_boulders", GeneratorStage.SAND, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).replace(Material.AIR).placeOn(this.topBlock).with(Blocks.COBBLESTONE.getDefaultState()).scatterYMethod(ScatterYMethod.AT_SURFACE).create()); - - // gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(12).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // lakes - this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.1F).waterLakeForBiome(this).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(4.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("twiglet", 1, (new GeneratorTwigletTree.Builder()).minHeight(2).maxHeight(2).log(BlockPlanks.EnumType.OAK).leaves(BOPTrees.MAPLE).create()); - treeGenerator.add("small_bush", 2, (new GeneratorFlora.Builder()).placeOn(this.topBlock).replace(Material.AIR).withNonDecayingLeaf(BOPTrees.DEAD).create()); - - // other plants - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.REED).generationAttempts(32).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 4, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xB78658); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xC1954D); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenVolcanicIsland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenVolcanicIsland.java deleted file mode 100644 index c721a3f3c..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenVolcanicIsland.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorSplotches; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenVolcanicIsland extends BOPOverworldBiome -{ - public BiomeGenVolcanicIsland() - { - super("volcanic_island", new PropsBuilder("Volcanic Island").withGuiColour(6645093).withTemperature(1.2F).withRainfall(0.2F)); - - // terrain - this.terrainSettings.avgHeight(120).heightVariation(50, 50).octaves(1, 1, 2, 2, 3, 2).sidewaysNoise(0.1D); - - this.topBlock = BOPBlocks.ash_block.getDefaultState(); - this.fillerBlock = BOPBlocks.ash_block.getDefaultState(); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.canGenerateRivers = false; - - this.decorator.generateFalls = false; - - this.beachBiomeLocation = null; - - this.avgDirtDepth = 16; - - this.spawnableCreatureList.clear(); - this.spawnableMonsterList.clear(); - - clearWeights(); - - // lava - IBlockPosQuery emptyAshBlock = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - this.addGenerator("lava_flows", GeneratorStage.FLOWERS,(new GeneratorSplotches.Builder()).placeOn(emptyAshBlock).replace(BOPBlocks.ash_block).amountPerChunk(0.1F).splotchSize(12).scatterYMethod(ScatterYMethod.AT_SURFACE).with(Blocks.FLOWING_LAVA.getDefaultState()).create()); - this.addGenerator("lava_lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(2.5F).lavaLake().create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWasteland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWasteland.java deleted file mode 100644 index efc32c594..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWasteland.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenWasteland extends BOPOverworldBiome -{ - - public BiomeGenWasteland() - { - super("wasteland", new PropsBuilder("Wasteland").withGuiColour(0x5A5440).withTemperature(2.0F).withRainfall(0.0F).withWaterColor(0xCC5100).withRainDisabled()); - - // terrain - this.terrainSettings.avgHeight(66).heightVariation(1,5); - - this.topBlock = BOPBlocks.dried_sand.getDefaultState(); - this.fillerBlock = BOPBlocks.dried_sand.getDefaultState(); - this.seaFloorBlock = BOPBlocks.dried_sand.getDefaultState(); - - this.canGenerateRivers = false; - this.canGenerateVillages = false; - this.canSpawnInBiome = false; - - this.beachBiomeLocation = null; - - //this.skyColor = 0x89A3B7; - this.fogColor = 0xDBDDC1; - this.fogDensity = 0.5F; - - this.addWeight(BOPClimates.WASTELAND, 50); - - this.spawnableCreatureList.clear(); - this.spawnableWaterCreatureList.clear(); - - // trees - IBlockPosQuery emptyDriedSand = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create(); - GeneratorWeighted treeGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("dead_tree", 1, (new GeneratorBigTree.Builder()).placeOn(emptyDriedSand).minHeight(5).maxHeight(12).foliageHeight(0).foliageDensity(0.5D).log(BOPWoods.DEAD).leaves(Blocks.AIR.getDefaultState()).create()); - treeGenerator.add("dying_tree", 3, (new GeneratorBigTree.Builder()).placeOn(emptyDriedSand).minHeight(5).maxHeight(12).foliageHeight(1).log(BOPWoods.DEAD).leaves(BOPTrees.DEAD).create()); - - // other plants - this.addGenerator("dead_grass", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.DEADGRASS).create()); - this.addGenerator("desertgrass", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.DESERTGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.05F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("wilted_lily", 1, (new GeneratorFlora.Builder()).with(BOPFlowers.WILTED_LILY).create()); - - // lakes - this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.05F).waterLakeForBiome(this).create()); - this.addGenerator("poison_lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.05F).liquid(BOPBlocks.poison).frozenLiquid((IBlockState)null).create()); - - // spikes - //this.addGenerator("spikes", GeneratorStage.PRE, (new GeneratorSpike.Builder()).amountPerChunk(0.2F).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x9DA078); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x999E55); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWetland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWetland.java deleted file mode 100644 index c6547d75b..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWetland.java +++ /dev/null @@ -1,148 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockFlower.EnumFlowerType; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.entity.monster.EntitySlime; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenWetland extends BOPOverworldBiome -{ - - public BiomeGenWetland() - { - super("wetland", new PropsBuilder("Wetland").withGuiColour(0x4F9657).withTemperature(0.6F).withRainfall(0.7F).withWaterColor(0x636084)); - - // terrain - this.terrainSettings.avgHeight(63).heightVariation(5, 15).octaves(1, 1, 1, 1, 0, 0).sidewaysNoise(0.0F); - - this.seaFloorBlock = BOPBlocks.mud.getDefaultState(); - - this.canGenerateRivers = false; - this.canGenerateVillages = false; - - this.beachBiomeLocation = null; - - this.addWeight(BOPClimates.WET_TEMPERATE, 7); - this.addWeight(BOPClimates.COLD_SWAMP, 5); - - this.spawnableMonsterList.add(new SpawnListEntry(EntitySlime.class, 10, 1, 3)); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(6).maxRadius(8).with(BOPBlocks.mud.getDefaultState()).create()); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(10); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("willow", 3, (new GeneratorBasicTree.Builder()).log(BOPWoods.WILLOW).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.WILLOW).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).minHeight(8).maxHeight(12).maxLeavesRadius(2).vine(BOPBlocks.willow_vine.getDefaultState()).leavesOffset(0).create()); - treeGenerator.add("spruce", 5, (new GeneratorTaigaTree.Builder()).maxHeight(13).create()); // TODO: implement pine cones - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(3.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - grassGenerator.add("fern", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.FERN).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.7F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("swampflower", 2, (new GeneratorFlora.Builder()).with(BOPFlowers.SWAMPFLOWER).create()); - flowerGenerator.add("blue_orchid", 1, (new GeneratorFlora.Builder().with(EnumFlowerType.BLUE_ORCHID).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.KORU).create()); - this.addGenerator("cattail", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(8.0F).with(BOPPlants.CATTAIL).create()); - this.addGenerator("double_cattail", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(10.0F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("sugar_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(1.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(Blocks.REEDS.getDefaultState()).minHeight(1).maxHeight(3).create()); - this.addGenerator("river_cane", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(2.0F).generationAttempts(24).placeOn(BlockQueries.litFertileWaterside).with(BlockBOPPlant.paging.getVariantState(BOPPlants.RIVERCANE)).minHeight(1).maxHeight(3).create()); - - // water plants - this.addGenerator("lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(Blocks.WATERLILY.getDefaultState()).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(3.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BOPPlants.REED).generationAttempts(32).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.35F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(Blocks.RED_MUSHROOM.getDefaultState()).create()); - this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).generationAttempts(16).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x5A935F); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x4F9657); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWhiteBeach.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWhiteBeach.java deleted file mode 100644 index 98c9b63d0..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWhiteBeach.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.block.BOPBlocks; - -public class BiomeGenWhiteBeach extends BOPOverworldBiome -{ - public BiomeGenWhiteBeach() - { - super("white_beach", new PropsBuilder("White Beach").withTemperature(1.0F).withRainfall(0.95F).withGuiColour(0xF3F1E4)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(1, 1); - - this.canSpawnInBiome = false; - this.canGenerateVillages = false; - this.hasBiomeEssence = false; - - this.spawnableMonsterList.clear(); - this.spawnableCreatureList.clear(); - - this.decorator.treesPerChunk = -999; - this.decorator.deadBushPerChunk = 0; - this.decorator.reedsPerChunk = 0; - this.decorator.cactiPerChunk = 0; - - this.skyColor = 507391; - this.fogColor = 0xB5F8FF; - - clearWeights(); - - this.topBlock = BOPBlocks.white_sand.getDefaultState(); - this.fillerBlock = BOPBlocks.white_sand.getDefaultState(); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWoodland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWoodland.java deleted file mode 100644 index af069dc84..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenWoodland.java +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; - -public class BiomeGenWoodland extends BOPOverworldBiome -{ - - public BiomeGenWoodland() - { - super("woodland", new PropsBuilder("Woodland").withGuiColour(0x84A92D).withTemperature(0.7F).withRainfall(0.5F)); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(6, 25); - - this.canGenerateVillages = true; - - this.addWeight(BOPClimates.WARM_TEMPERATE, 10); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // sand - this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(Blocks.SAND.getDefaultState()).create()); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(10); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("oak", 9, (new GeneratorBasicTree.Builder()).minHeight(5).maxHeight(8).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.4F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gravel - this.addGenerator("gravel", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(4).maxRadius(7).with(Blocks.GRAVEL.getDefaultState()).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.4F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("rose", 1, (new GeneratorDoubleFlora.Builder()).with(BlockDoublePlant.EnumPlantType.ROSE).create()); - flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create())); - flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create())); - flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create())); - - // other plants - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - - // water plants - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.8F).with(BOPPlants.REED).generationAttempts(32).create()); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0x8DC047); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0x72AF1A); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenXericShrubland.java b/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenXericShrubland.java deleted file mode 100644 index 5389a6a9b..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/BiomeGenXericShrubland.java +++ /dev/null @@ -1,129 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.biome.overworld; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.passive.EntityRabbit; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.ChunkPrimer; -import net.minecraft.world.gen.feature.WorldGenFossils; - -public class BiomeGenXericShrubland extends BOPOverworldBiome -{ - public IBlockState usualTopBlock; - public IBlockState alternateTopBlock; - - public BiomeGenXericShrubland() - { - super("xeric_shrubland", new PropsBuilder("Xeric Shrubland").withGuiColour(0xE2CDA5).withTemperature(1.75F).withRainfall(0.1F).withRainDisabled()); - - // terrain - this.terrainSettings.avgHeight(64).heightVariation(1, 5); - - this.topBlock = Blocks.SAND.getDefaultState(); - this.fillerBlock = Blocks.SAND.getDefaultState(); - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY).withProperty(BlockBOPDirt.COARSE, true); - - this.canSpawnInBiome = false; - this.canGenerateVillages = true; - - this.addWeight(BOPClimates.HOT_DESERT, 3); - - this.spawnableCreatureList.clear(); - this.spawnableCreatureList.add(new SpawnListEntry(EntityRabbit.class, 4, 2, 3)); - - // trees & logs - GeneratorWeighted treeGenerator = new GeneratorWeighted(1.0F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("brush_twiglet", 2, (new GeneratorTwigletTree.Builder()).placeOn(BlockQueries.litDry).minHeight(1).maxHeight(2).log(BlockPlanks.EnumType.ACACIA).leaves(BlockPlanks.EnumType.ACACIA).create()); - treeGenerator.add("brush_bush", 3, (new GeneratorFlora.Builder()).placeOn(BlockQueries.litDry).replace(Material.AIR).withNonDecayingLeaf(BlockPlanks.EnumType.ACACIA).create()); - - // other plants - this.addGenerator("dunegrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(10.0F).with(BOPPlants.DUNEGRASS).placeOn(this.topBlock).generationAttempts(8).create()); - this.addGenerator("desertgrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(2.0F).with(BOPPlants.DESERTGRASS).generationAttempts(8).create()); - this.addGenerator("desert_sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(4.0F).with(BOPPlants.DESERTSPROUTS).generationAttempts(8).create()); - this.addGenerator("bromeliad", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder().amountPerChunk(0.2F).with(BOPFlowers.BROMELIAD).generationAttempts(8).create())); - this.addGenerator("dead_bushes", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(Blocks.DEADBUSH.getDefaultState()).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(1.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 7, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - grassGenerator.add("tallgrass", 1, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.usualTopBlock = this.topBlock; - this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock); - } - - @Override - public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise) - { - this.topBlock = (noise + rand.nextDouble() * 1.0D > 1.9D) ? this.alternateTopBlock : this.usualTopBlock; - super.genTerrainBlocks(world, rand, primer, x, z, noise); - } - - @Override - public void decorate(World worldIn, Random rand, BlockPos pos) - { - super.decorate(worldIn, rand, pos); - - if(net.minecraftforge.event.terraingen.TerrainGen.decorate(worldIn, rand, pos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.FOSSIL)) - if (rand.nextInt(64) == 0) - { - (new WorldGenFossils()).generate(worldIn, rand, pos); - } - } - - @Override - public int getGrassColorAtPos(BlockPos pos) - { - return getModdedBiomeGrassColor(0xD3CC96); - } - - @Override - public int getFoliageColorAtPos(BlockPos pos) - { - return getModdedBiomeFoliageColor(0xD9DDA6); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBeach.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBeach.java deleted file mode 100644 index dc4aa42dc..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBeach.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; - -public class BiomeExtBeach extends ExtendedBiomeWrapper -{ - public BiomeExtBeach() - { - super(Biomes.BEACH); - - this.addGenerator("sea_oats", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(6.0F).placeOn(Blocks.SAND.getDefaultState()).with(BlockBOPDoublePlant.DoublePlantType.SEA_OATS).generationAttempts(96).create()); - } -} - diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForest.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForest.java deleted file mode 100644 index 7d2066900..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForest.java +++ /dev/null @@ -1,56 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtBirchForest extends ExtendedBiomeWrapper -{ - public BiomeExtBirchForest() - { - super(Biomes.BIRCH_FOREST); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // other plants - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.05F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - - // shrooms - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("clover", 1, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - flowerGenerator.add("lily_of_the_valley", 1, (new GeneratorFlora.Builder().with(BOPFlowers.LILY_OF_THE_VALLEY)).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForestHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForestHills.java deleted file mode 100644 index b1fd30d2e..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtBirchForestHills.java +++ /dev/null @@ -1,56 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtBirchForestHills extends ExtendedBiomeWrapper -{ - public BiomeExtBirchForestHills() - { - super(Biomes.BIRCH_FOREST_HILLS); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // other plants - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("clover_patches", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.05F).generationAttempts(128).with(BOPPlants.CLOVERPATCH).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - - // shrooms - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("clover", 1, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - flowerGenerator.add("lily_of_the_valley", 1, (new GeneratorFlora.Builder().with(BOPFlowers.LILY_OF_THE_VALLEY)).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaiga.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaiga.java deleted file mode 100644 index aff4f0b00..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaiga.java +++ /dev/null @@ -1,33 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtColdTaiga extends ExtendedBiomeWrapper -{ - public BiomeExtColdTaiga() - { - super(Biomes.COLD_TAIGA); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaigaHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaigaHills.java deleted file mode 100644 index ff9f4e9db..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtColdTaigaHills.java +++ /dev/null @@ -1,33 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtColdTaigaHills extends ExtendedBiomeWrapper -{ - public BiomeExtColdTaigaHills() - { - super(Biomes.COLD_TAIGA_HILLS); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesert.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesert.java deleted file mode 100644 index d1b491505..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesert.java +++ /dev/null @@ -1,28 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Biomes; - -public class BiomeExtDesert extends ExtendedBiomeWrapper -{ - public BiomeExtDesert() - { - super(Biomes.DESERT); - - // quicksand - this.addGenerator("quicksand", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.2F).liquid(BOPBlocks.sand).frozenLiquid((IBlockState)null).create()); - - // other plants - this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.TINYCACTUS).generationAttempts(16).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesertHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesertHills.java deleted file mode 100644 index 1fed5fab5..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtDesertHills.java +++ /dev/null @@ -1,22 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import net.minecraft.init.Biomes; - -public class BiomeExtDesertHills extends ExtendedBiomeWrapper -{ - public BiomeExtDesertHills() - { - super(Biomes.DESERT_HILLS); - - // other plants - this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.TINYCACTUS).generationAttempts(16).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtEnd.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtEnd.java deleted file mode 100644 index c577c98ab..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtEnd.java +++ /dev/null @@ -1,59 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.generator.GeneratorCrystals; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; - -public class BiomeExtEnd extends ExtendedBiomeWrapper -{ - public BiomeExtEnd() - { - super(Biomes.SKY); - - //celestial crystals - IBlockPosQuery emptyEndstone = BlockQuery.buildAnd().withAltitudeBetween(0, 50).withAirBelow().states(Blocks.END_STONE.getDefaultState()).create(); - this.addGenerator("crystals", GeneratorStage.ORE_PRE, (new GeneratorCrystals.Builder()).amountPerChunk(12.0F).placeOn(emptyEndstone).with(BOPBlocks.crystal.getDefaultState()).create()); - - // gem - this.addGenerator("amethyst", GeneratorStage.ORE_PRE, (new GeneratorOreSingle.Builder()).replace(Blocks.END_STONE.getDefaultState()).amountPerChunk(24).with(BOPGems.AMETHYST).create()); - - // biome essence - this.addGenerator("biome_essence", GeneratorStage.ORE_PRE, (new GeneratorOreSingle.Builder()).replace(Blocks.END_STONE.getDefaultState()).amountPerChunk(24).with(BOPBlocks.biome_block.getDefaultState()).create()); - } - - @Override - public void applySettings(IBOPWorldSettings settings) - { - this.removeGenerator("glowshrooms"); - this.removeGenerator("miners_delight"); - this.removeGenerator("roots"); - - if (!settings.isEnabled(GeneratorType.END_FEATURES)) {this.removeGenerator("crystals"); this.removeGenerator("biome_essence");} - - if (!settings.isEnabled(GeneratorType.GEMS)) {this.removeGenerator("ruby"); this.removeGenerator("topaz"); - this.removeGenerator("amber"); this.removeGenerator("peridot"); this.removeGenerator("malachite"); - this.removeGenerator("sapphire"); this.removeGenerator("tanzanite"); this.removeGenerator("amethyst");} - - if (!settings.isEnabled(GeneratorType.POISON_IVY)) {this.removeGenerator("poison_ivy");} - - if (!settings.isEnabled(GeneratorType.BERRY_BUSHES)) {this.removeGenerator("berry_bushes");} - - if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");} - - if (!settings.isEnabled(GeneratorType.THORNS)) {this.removeGenerator("thorns");} - - if (!settings.isEnabled(GeneratorType.QUICKSAND)) {this.removeGenerator("quicksand");} - - if (!settings.isEnabled(GeneratorType.HOT_SPRINGS)) {this.removeGenerator("hot_springs");} - - if (!settings.isEnabled(GeneratorType.LIQUID_POISON)) {this.removeGenerator("poison_lakes");} - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHills.java deleted file mode 100644 index 01d16c524..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHills.java +++ /dev/null @@ -1,37 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import net.minecraft.init.Biomes; - -public class BiomeExtExtremeHills extends ExtendedBiomeWrapper -{ - public BiomeExtExtremeHills() - { - super(Biomes.EXTREME_HILLS); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHillsPlus.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHillsPlus.java deleted file mode 100644 index 4fb01f0ea..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtExtremeHillsPlus.java +++ /dev/null @@ -1,37 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import net.minecraft.init.Biomes; - -public class BiomeExtExtremeHillsPlus extends ExtendedBiomeWrapper -{ - public BiomeExtExtremeHillsPlus() - { - super(Biomes.EXTREME_HILLS_WITH_TREES); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // other plants - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).generationAttempts(64).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtFlowerForest.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtFlowerForest.java deleted file mode 100644 index a863924ba..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtFlowerForest.java +++ /dev/null @@ -1,58 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import net.minecraft.init.Biomes; - -public class BiomeExtFlowerForest extends ExtendedBiomeWrapper -{ - public BiomeExtFlowerForest() - { - super(Biomes.MUTATED_FOREST); - - //trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("flowering_oak", 1, (new GeneratorBasicTree.Builder()).altLeaves(BOPTrees.FLOWERING).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // other plants - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SPROUT).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.05F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); - - // shrooms - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.05F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("blue_hydrangeas", 1, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); - flowerGenerator.add("clover", 1, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForest.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForest.java deleted file mode 100644 index f2a83b2ff..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForest.java +++ /dev/null @@ -1,62 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import net.minecraft.init.Biomes; - -public class BiomeExtForest extends ExtendedBiomeWrapper -{ - public BiomeExtForest() - { - super(Biomes.FOREST); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // other plants - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SPROUT).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BOPPlants.POISONIVY).create()); - - // shrooms - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("white_anemones", 4, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("blue_hydrangeas", 1, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForestHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForestHills.java deleted file mode 100644 index 266579664..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtForestHills.java +++ /dev/null @@ -1,62 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import net.minecraft.init.Biomes; - -public class BiomeExtForestHills extends ExtendedBiomeWrapper -{ - public BiomeExtForestHills() - { - super(Biomes.FOREST_HILLS); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // other plants - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BOPPlants.SPROUT).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("dead_leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).placeOn(BlockQueries.fertile).generationAttempts(16).with(BOPPlants.DEADLEAFPILE).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create()); - this.addGenerator("berry_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.BERRYBUSH).create()); - this.addGenerator("poison_ivy", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).with(BOPPlants.POISONIVY).create()); - - // shrooms - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("white_anemones", 4, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - flowerGenerator.add("blue_hydrangeas", 1, (new GeneratorFlora.Builder().with(BOPFlowers.BLUE_HYDRANGEA).create())); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtHell.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtHell.java deleted file mode 100644 index 16b4c6a88..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtHell.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorHive; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; -import net.minecraft.world.biome.BiomeDecorator; - -public class BiomeExtHell extends ExtendedBiomeWrapper -{ - public BiomeExtHell() - { - super(Biomes.HELL); - - // setup hell as a properly decorated biome - Biomes.HELL.topBlock = Blocks.NETHERRACK.getDefaultState(); - Biomes.HELL.fillerBlock = Blocks.NETHERRACK.getDefaultState(); - - Biomes.HELL.decorator = new BiomeDecorator(); - Biomes.HELL.decorator.treesPerChunk = -999; - Biomes.HELL.decorator.flowersPerChunk = -999; - Biomes.HELL.decorator.grassPerChunk = -999; - Biomes.HELL.decorator.gravelPatchesPerChunk = -999; - Biomes.HELL.decorator.sandPatchesPerChunk = -999; - //this.theBiomeDecorator.generateLakes = false; - - this.addGenerator("hive", GeneratorStage.PRE, (new GeneratorHive.Builder()).amountPerChunk(0.2F).create()); - } -} - diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIceMountains.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIceMountains.java deleted file mode 100644 index 4472854fc..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIceMountains.java +++ /dev/null @@ -1,34 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtIceMountains extends ExtendedBiomeWrapper -{ - public BiomeExtIceMountains() - { - super(Biomes.ICE_MOUNTAINS); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("icy_irises", 1, (new GeneratorFlora.Builder().with(BOPFlowers.ICY_IRIS).create())); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIcePlains.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIcePlains.java deleted file mode 100644 index 74427f8a0..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtIcePlains.java +++ /dev/null @@ -1,34 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtIcePlains extends ExtendedBiomeWrapper -{ - public BiomeExtIcePlains() - { - super(Biomes.ICE_PLAINS); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.1F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("icy_irises", 1, (new GeneratorFlora.Builder().with(BOPFlowers.ICY_IRIS).create())); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungle.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungle.java deleted file mode 100644 index a7c4a7703..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungle.java +++ /dev/null @@ -1,41 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtJungle extends ExtendedBiomeWrapper -{ - public BiomeExtJungle() - { - super(Biomes.JUNGLE); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(5.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // other plants - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).with(BOPPlants.SPROUT).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.8F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("rafflesia", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.RAFFLESIA).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("orange_cosmos", 4, (new GeneratorFlora.Builder().with(BOPFlowers.ORANGE_COSMOS).create())); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungleHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungleHills.java deleted file mode 100644 index a672a1bb3..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtJungleHills.java +++ /dev/null @@ -1,41 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtJungleHills extends ExtendedBiomeWrapper -{ - public BiomeExtJungleHills() - { - super(Biomes.JUNGLE_HILLS); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(5.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // other plants - this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).with(BOPPlants.SPROUT).create()); - //this.addGenerator("shrubs", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create()); - this.addGenerator("leaf_piles", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.8F).placeOn(BlockQueries.fertile).with(BOPPlants.LEAFPILE).generationAttempts(64).create()); - this.addGenerator("rafflesia", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.RAFFLESIA).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("orange_cosmos", 4, (new GeneratorFlora.Builder().with(BOPFlowers.ORANGE_COSMOS).create())); - - // gem - this.addGenerator("topaz", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TOPAZ).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaiga.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaiga.java deleted file mode 100644 index 93f533e57..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaiga.java +++ /dev/null @@ -1,40 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtMegaTaiga extends ExtendedBiomeWrapper -{ - public BiomeExtMegaTaiga() - { - super(Biomes.REDWOOD_TAIGA); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaigaHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaigaHills.java deleted file mode 100644 index 21ad7ae62..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMegaTaigaHills.java +++ /dev/null @@ -1,40 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtMegaTaigaHills extends ExtendedBiomeWrapper -{ - public BiomeExtMegaTaigaHills() - { - super(Biomes.REDWOOD_TAIGA_HILLS); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesa.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesa.java deleted file mode 100644 index da6e0066f..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesa.java +++ /dev/null @@ -1,26 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtMesa extends ExtendedBiomeWrapper -{ - public BiomeExtMesa() - { - super(Biomes.MESA); - - // other plants - this.addGenerator("desertgrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(0.3F).with(BOPPlants.DESERTGRASS).generationAttempts(8).create()); - this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.TINYCACTUS).generationAttempts(16).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesaPlateau.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesaPlateau.java deleted file mode 100644 index dac58a010..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMesaPlateau.java +++ /dev/null @@ -1,26 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtMesaPlateau extends ExtendedBiomeWrapper -{ - public BiomeExtMesaPlateau() - { - super(Biomes.MESA_CLEAR_ROCK); - - // other plants - this.addGenerator("desertgrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(0.3F).with(BOPPlants.DESERTGRASS).generationAttempts(8).create()); - this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.TINYCACTUS).generationAttempts(16).create()); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMushroomIsland.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMushroomIsland.java deleted file mode 100644 index f8ccb39c8..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtMushroomIsland.java +++ /dev/null @@ -1,26 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import net.minecraft.init.Biomes; - -public class BiomeExtMushroomIsland extends ExtendedBiomeWrapper -{ - public BiomeExtMushroomIsland() - { - super(Biomes.MUSHROOM_ISLAND); - - // shrooms - this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create()); - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - this.addGenerator("blue_milk_caps", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.2F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.BLUE_MILK_CAP).create()); - this.addGenerator("portobellos", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.3F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.PORTOBELLO).create()); - this.addGenerator("glowshrooms_surface", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.GLOWSHROOM).create()); - - // gem - this.addGenerator("sapphire", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.SAPPHIRE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtOcean.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtOcean.java deleted file mode 100644 index 0ed991d56..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtOcean.java +++ /dev/null @@ -1,17 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import net.minecraft.init.Biomes; - -public class BiomeExtOcean extends ExtendedBiomeWrapper -{ - public BiomeExtOcean() - { - super(Biomes.OCEAN); - - // gem - this.addGenerator("sapphire", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.SAPPHIRE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtPlains.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtPlains.java deleted file mode 100644 index f9a5a805e..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtPlains.java +++ /dev/null @@ -1,36 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtPlains extends ExtendedBiomeWrapper -{ - public BiomeExtPlains() - { - super(Biomes.PLAINS); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(5.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("wheatgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("clover", 4, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - flowerGenerator.add("white_anemones", 2, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).create())); - - // gem - this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtRoofedForest.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtRoofedForest.java deleted file mode 100644 index bc3172e4f..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtRoofedForest.java +++ /dev/null @@ -1,32 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtRoofedForest extends ExtendedBiomeWrapper -{ - public BiomeExtRoofedForest() - { - super(Biomes.ROOFED_FOREST); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // shrooms - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.1F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - - // gem - this.addGenerator("amber", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.AMBER).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavanna.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavanna.java deleted file mode 100644 index 64f40eb8b..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavanna.java +++ /dev/null @@ -1,40 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorLakes; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Biomes; - -public class BiomeExtSavanna extends ExtendedBiomeWrapper -{ - public BiomeExtSavanna() - { - super(Biomes.SAVANNA); - - // quicksand - this.addGenerator("quicksand", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.1F).liquid(BOPBlocks.sand).frozenLiquid((IBlockState)null).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(4.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.8F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("wildflower", 4, (new GeneratorFlora.Builder()).with(BOPFlowers.WILDFLOWER).create()); - flowerGenerator.add("clover", 2, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavannaPlateau.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavannaPlateau.java deleted file mode 100644 index ec91a6b22..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSavannaPlateau.java +++ /dev/null @@ -1,34 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtSavannaPlateau extends ExtendedBiomeWrapper -{ - public BiomeExtSavannaPlateau() - { - super(Biomes.SAVANNA_PLATEAU); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(4.0F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.8F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("wildflower", 4, (new GeneratorFlora.Builder()).with(BOPFlowers.WILDFLOWER).create()); - flowerGenerator.add("clover", 2, (new GeneratorFlora.Builder().with(BOPFlowers.CLOVER).create())); - - // gem - this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSwampland.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSwampland.java deleted file mode 100644 index 46708363e..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtSwampland.java +++ /dev/null @@ -1,72 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorDoubleFlora; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWaterside; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; - -public class BiomeExtSwampland extends ExtendedBiomeWrapper -{ - public BiomeExtSwampland() - { - super(Biomes.SWAMPLAND); - - // trees - GeneratorWeighted treeGenerator = new GeneratorWeighted(0.5F); - this.addGenerator("trees", GeneratorStage.TREE, treeGenerator); - treeGenerator.add("willow", 1, (new GeneratorBasicTree.Builder()).log(BOPWoods.WILLOW).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.WILLOW).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).minHeight(8).maxHeight(12).maxLeavesRadius(2).vine(BOPBlocks.willow_vine.getDefaultState()).leavesOffset(0).create()); - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - //grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create()); - - // mud - this.addGenerator("mud", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(3).maxRadius(7).with(BOPBlocks.mud.getDefaultState()).create()); - - // other plants - this.addGenerator("cattail", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(6.0F).with(BOPPlants.CATTAIL).create()); - this.addGenerator("double_cattail", GeneratorStage.FLOWERS,(new GeneratorDoubleFlora.Builder()).amountPerChunk(8.0F).with(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL).create()); - this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.2F).with(BOPPlants.KORU).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.6F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("swampflower", 1, (new GeneratorFlora.Builder()).with(BOPFlowers.SWAMPFLOWER).create()); - - // shrooms - this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.4F).generationAttempts(16).with(BlockBOPMushroom.MushroomType.TOADSTOOL).create()); - - // water plants - this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(10.0F).replace(Blocks.WATER).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).generationAttempts(32).scatterYMethod(ScatterYMethod.AT_GROUND).create()); - this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BOPPlants.REED).generationAttempts(32).create()); - this.addGenerator("medium_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPLilypad.LilypadType.MEDIUM).create()); - this.addGenerator("small_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BlockBOPLilypad.LilypadType.SMALL).create()); - this.addGenerator("tiny_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPLilypad.LilypadType.TINY).create()); - this.addGenerator("flower_lily", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(0.3F).with(BlockBOPLilypad.LilypadType.FLOWER).create()); - - // gem - this.addGenerator("malachite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.MALACHITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaiga.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaiga.java deleted file mode 100644 index 68d680a9b..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaiga.java +++ /dev/null @@ -1,40 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtTaiga extends ExtendedBiomeWrapper -{ - public BiomeExtTaiga() - { - super(Biomes.TAIGA); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaigaHills.java b/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaigaHills.java deleted file mode 100644 index 5e4a53684..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/BiomeExtTaigaHills.java +++ /dev/null @@ -1,40 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.common.world.generator.GeneratorGrass; -import biomesoplenty.common.world.generator.GeneratorOreSingle; -import biomesoplenty.common.world.generator.GeneratorWeighted; -import net.minecraft.init.Biomes; - -public class BiomeExtTaigaHills extends ExtendedBiomeWrapper -{ - public BiomeExtTaigaHills() - { - super(Biomes.TAIGA_HILLS); - - if (BOPBiomes.gravel_beach.isPresent()) - { - this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.gravel_beach.get()).getResourceLocation(); - } - - // grasses - GeneratorWeighted grassGenerator = new GeneratorWeighted(0.2F); - this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator); - grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create()); - grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create()); - - // flowers - GeneratorWeighted flowerGenerator = new GeneratorWeighted(0.3F); - this.addGenerator("flowers", GeneratorStage.FLOWERS, flowerGenerator); - flowerGenerator.add("violet", 1, (new GeneratorFlora.Builder().with(BOPFlowers.VIOLET).create())); - - // gem - this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create()); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/vanilla/ExtendedBiomeWrapper.java b/src/main/java/biomesoplenty/common/biome/vanilla/ExtendedBiomeWrapper.java deleted file mode 100644 index 91491e213..000000000 --- a/src/main/java/biomesoplenty/common/biome/vanilla/ExtendedBiomeWrapper.java +++ /dev/null @@ -1,153 +0,0 @@ -package biomesoplenty.common.biome.vanilla; - -import java.util.HashMap; -import java.util.Map; - -import biomesoplenty.api.biome.BiomeOwner; -import biomesoplenty.api.biome.IExtendedBiome; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.api.generation.IGenerator; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.init.ModBiomes; -import biomesoplenty.common.util.biome.BiomeUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.world.GenerationManager; -import biomesoplenty.common.world.generator.GeneratorColumns; -import biomesoplenty.common.world.generator.GeneratorFlora; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.biome.Biome; - -public class ExtendedBiomeWrapper implements IExtendedBiome -{ - public final Biome biome; - private GenerationManager generationManager = new GenerationManager(); - private Map weightMap = new HashMap(); - - public ResourceLocation beachBiomeLocation = BiomeUtils.getLocForBiome(Biomes.BEACH); - - public ExtendedBiomeWrapper(Biome biome) - { - this.biome = biome; - - // roots - this.addGenerator("roots", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(4.0F).with(BOPPlants.ROOT).create()); - - IBlockPosQuery suitableStonePosition = BlockQuery.buildAnd().withAltitudeBetween(0, 55).blocks(Blocks.STONE).create(); - this.addGenerator("miners_delight", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.25F).generationAttempts(64).with(BOPFlowers.MINERS_DELIGHT).placeOn(suitableStonePosition).scatterYMethod(ScatterYMethod.BELOW_GROUND).create()); - this.addGenerator("glowshrooms", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(1.5F).generationAttempts(64).placeOn(suitableStonePosition).with(BOPBlocks.mushroom.getDefaultState().withProperty(BlockBOPMushroom.VARIANT, BlockBOPMushroom.MushroomType.GLOWSHROOM)).scatterYMethod(ScatterYMethod.BELOW_GROUND).create()); - } - - @Override - public void applySettings(IBOPWorldSettings settings) - { - if (!settings.isEnabled(GeneratorType.GEMS)) {this.removeGenerator("ruby"); this.removeGenerator("topaz"); - this.removeGenerator("amber"); this.removeGenerator("peridot"); this.removeGenerator("malachite"); - this.removeGenerator("sapphire"); this.removeGenerator("tanzanite"); this.removeGenerator("amethyst");} - - if (!settings.isEnabled(GeneratorType.POISON_IVY)) {this.removeGenerator("poison_ivy");} - - if (!settings.isEnabled(GeneratorType.BERRY_BUSHES)) {this.removeGenerator("berry_bushes");} - - if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");} - - if (!settings.isEnabled(GeneratorType.THORNS)) {this.removeGenerator("thorns");} - - if (!settings.isEnabled(GeneratorType.QUICKSAND)) {this.removeGenerator("quicksand");} - - if (!settings.isEnabled(GeneratorType.HOT_SPRINGS)) {this.removeGenerator("hot_springs");} - - if (!settings.isEnabled(GeneratorType.LIQUID_POISON)) {this.removeGenerator("poison_lakes");} - } - - @Override - public void configure(IConfigObj conf) - { - this.beachBiomeLocation = conf.getResourceLocation("beachBiomeLocation", this.beachBiomeLocation); - - // Allow generators to be configured - IConfigObj confGenerators = conf.getObject("generators"); - this.generationManager.configure(confGenerators); - - // log any warnings from parsing the config file - for (String msg : conf.flushMessages()) - BiomesOPlenty.logger.info(msg); - // write default values to a file - ModBiomes.writeDefaultConfigFile(ModBiomes.VANILLA_DEFAULTS_DIR, this.getResourceLocation().getResourcePath(), conf); - } - - @Override - public BiomeOwner getBiomeOwner() - { - return BiomeOwner.OTHER; - } - - @Override - public void addGenerator(String name, GeneratorStage stage, IGenerator generator) - { - this.generationManager.addGenerator(name, stage, generator); - } - - public IGenerator getGenerator(String name) - { - return this.generationManager.getGenerator(name); - } - - public void removeGenerator(String name) - { - this.generationManager.removeGenerator(name); - } - - @Override - public GenerationManager getGenerationManager() - { - return this.generationManager; - } - - @Override - public Map getWeightMap() - { - return this.weightMap; - } - - @Override - public void addWeight(BOPClimates climate, int weight) - { - this.weightMap.put(climate, weight); - } - - @Override - public void clearWeights() - { - this.weightMap.clear(); - } - - @Override - public ResourceLocation getBeachLocation() - { - return this.beachBiomeLocation; - } - - @Override - public ResourceLocation getResourceLocation() - { - return BiomeUtils.getLocForBiome(this.biome); - } - - @Override - public Biome getBaseBiome() - { - return this.biome; - } -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPAsh.java b/src/main/java/biomesoplenty/common/block/BlockBOPAsh.java deleted file mode 100644 index 39f578706..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPAsh.java +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.item.BOPItems; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.item.Item; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPAsh extends BlockBOPGeneric -{ - protected static final AxisAlignedBB COLLISION_BOX = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.875D, 1.0D); - - public BlockBOPAsh() - { - super(Material.SAND, SoundType.SAND); - - this.setHardness(0.4F); - this.setHarvestLevel("shovel", 0); - this.setSoundType(SoundType.SAND); - } - - // ash blocks are slightly lower - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) - { - return COLLISION_BOX; - } - - @Override - public boolean isFireSource(World world, BlockPos pos, EnumFacing side) - { - return (side == EnumFacing.UP); - } - - // drop 4 balls of ash instead of one block - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - return BOPItems.ash; - } - @Override - public int quantityDropped(Random random) - { - return 4; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - return MapColor.BLACK; - } - - // randomly show some smoke particles - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random random) - { - if (random.nextInt(2) == 0) - { - world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + random.nextFloat(), pos.getY() + 1.1F, pos.getZ() + random.nextFloat(), 0.0D, 0.0D, 0.0D); - } - } - -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPBamboo.java b/src/main/java/biomesoplenty/common/block/BlockBOPBamboo.java deleted file mode 100644 index 86e0b5693..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPBamboo.java +++ /dev/null @@ -1,179 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyInteger; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPBamboo extends BlockBOPDecoration -{ - protected static final AxisAlignedBB BOUNDING_BOX = new AxisAlignedBB(0.1875D, 0.0D, 0.1875D, 0.8125D, 1.0D, 0.8125D); - - // add properties - public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 15); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, AGE);} - - - public BlockBOPBamboo() - { - super(Material.WOOD); - this.setHardness(0.2F); - this.setSoundType(SoundType.WOOD); - - this.setDefaultState(this.blockState.getBaseState().withProperty(AGE, Integer.valueOf(0))); - } - - - // bamboo doesn't sustain plants (except more bamboo on top) - @Override - public boolean canSustainPlant(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing direction, net.minecraftforge.common.IPlantable plantable) - { - return direction == EnumFacing.UP && plantable.getPlant(world, pos.offset(direction)).getBlock() == this; - } - - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - return BOUNDING_BOX; - } - - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) - { - return BOUNDING_BOX; - } - - @Override - public boolean canBlockStay(World world, BlockPos pos, IBlockState state) - { - IBlockState groundState = world.getBlockState(pos.down()); - Block groundBlock = groundState.getBlock(); - // can place on top of more bamboo - if (groundBlock == this) - { - return true; - } - // can place on various soil blocks - if (groundBlock == Blocks.DIRT || groundBlock == Blocks.FARMLAND || groundBlock == BOPBlocks.farmland_0 || groundBlock == BOPBlocks.farmland_1 || groundBlock == BOPBlocks.dirt || groundBlock == Blocks.GRASS) - { - return true; - } - if (groundBlock instanceof BlockBOPGrass) - { - switch ((BlockBOPGrass.BOPGrassType) groundState.getValue(BlockBOPGrass.VARIANT)) - { - case LOAMY: case SANDY: case SILTY: - return true; - default: - break; - } - } - return false; - } - - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(AGE, Integer.valueOf(meta)); - } - @Override - public int getMetaFromState(IBlockState state) - { - return state.getValue(AGE).intValue(); - } - - @Override - public int damageDropped(IBlockState state) - { - //We don't want item drops to have metadata for the age - return 0; - } - - // restore collision box removed by BlockDecoration -/* @Override - public AxisAlignedBB getCollisionBoundingBox(World world, BlockPos pos, IBlockState state) - { - return new AxisAlignedBB((double) pos.getX() + this.minX, (double) pos.getY() + this.minY, (double) pos.getZ() + this.minZ, (double) pos.getX() + this.maxX, (double) pos.getY() + this.maxY, (double) pos.getZ() + this.maxZ); - }*/ - - // check this block is still able to remain on update ticks - // if it is the bamboo also grows upward - @Override - public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) - { - if (this.checkAndDropBlock(worldIn, pos, state) && worldIn.isAirBlock(pos.up())) - { - int age = state.getValue(AGE).intValue(); - int treeHeight = 1; - while (worldIn.getBlockState(pos.down(treeHeight)).getBlock() == this) {++treeHeight;} - - if (treeHeight < 4) - { - if (age == 15) - { - // it's old enough to grow - worldIn.setBlockState(pos.up(), this.getDefaultState()); - worldIn.setBlockState(pos, state.withProperty(AGE, Integer.valueOf(0)), 4); - } - else - { - // increase AGE - worldIn.setBlockState(pos, state.withProperty(AGE, Integer.valueOf(age + 1)), 4); - } - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public Block.EnumOffsetType getOffsetType() - { - return Block.EnumOffsetType.NONE; - } - -/* @Override - public void setBlockBoundsBasedOnState(IBlockAccess worldIn, BlockPos pos) { - this.setBlockBoundsByRadiusAndHeight(0.2F, 1.0F); - }*/ - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - return MapColor.LIME; - } - - @Override - public boolean canSustainLeaves(IBlockState state, IBlockAccess world, BlockPos pos) - { - return true; - } - - - -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPBiomeBlock.java b/src/main/java/biomesoplenty/common/block/BlockBOPBiomeBlock.java deleted file mode 100644 index a5d33a39d..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPBiomeBlock.java +++ /dev/null @@ -1,141 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Random; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.biome.BOPBiome; -import biomesoplenty.common.util.biome.BiomeUtils; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Biomes; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; - -public class BlockBOPBiomeBlock extends BlockBOPGeneric -{ - - public BlockBOPBiomeBlock() { - super(Material.GLASS, SoundType.GLASS); - this.setHardness(0.6F); - this.setSoundType(SoundType.GLASS); - } - - // list of biomes which have an associated essence (possible drops when this block is broken) - private static List biomesWithEssence; - - // generate the list of biomes which have an associated essence - public List getBiomesWithEssence() - { - if (biomesWithEssence != null) {return biomesWithEssence;} - - biomesWithEssence = new ArrayList(); - - List vanillaBiomesToExclude = Arrays.asList( - Biomes.DEFAULT, - Biomes.SKY, - Biomes.HELL, - Biomes.BEACH, - Biomes.COLD_BEACH, - Biomes.STONE_BEACH, - Biomes.OCEAN, - Biomes.FROZEN_OCEAN, - Biomes.DEEP_OCEAN, - Biomes.RIVER, - Biomes.FROZEN_RIVER, - Biomes.VOID, - Biomes.MUSHROOM_ISLAND_SHORE, - Biomes.DESERT_HILLS, - Biomes.BIRCH_FOREST_HILLS, - Biomes.COLD_TAIGA_HILLS, - Biomes.EXTREME_HILLS_EDGE, - Biomes.EXTREME_HILLS_WITH_TREES, - Biomes.FOREST_HILLS, - Biomes.ICE_MOUNTAINS, - Biomes.JUNGLE_EDGE, - Biomes.JUNGLE_HILLS, - Biomes.MESA_CLEAR_ROCK, - Biomes.MESA_ROCK, - Biomes.MUTATED_BIRCH_FOREST, - Biomes.MUTATED_BIRCH_FOREST_HILLS, - Biomes.MUTATED_DESERT, - Biomes.MUTATED_EXTREME_HILLS, - Biomes.MUTATED_EXTREME_HILLS_WITH_TREES, - Biomes.MUTATED_FOREST, - Biomes.MUTATED_ICE_FLATS, - Biomes.MUTATED_JUNGLE, - Biomes.MUTATED_JUNGLE_EDGE, - Biomes.MUTATED_MESA, - Biomes.MUTATED_MESA_CLEAR_ROCK, - Biomes.MUTATED_MESA_ROCK, - Biomes.MUTATED_PLAINS, - Biomes.MUTATED_REDWOOD_TAIGA, - Biomes.MUTATED_REDWOOD_TAIGA_HILLS, - Biomes.MUTATED_ROOFED_FOREST, - Biomes.MUTATED_SAVANNA, - Biomes.MUTATED_SAVANNA_ROCK, - Biomes.MUTATED_SWAMPLAND, - Biomes.MUTATED_TAIGA, - Biomes.MUTATED_TAIGA_COLD, - Biomes.REDWOOD_TAIGA_HILLS, - Biomes.SAVANNA_PLATEAU, - Biomes.TAIGA_HILLS); - - for (Biome biome : BiomeUtils.getRegisteredBiomes()) - { - if (biome == null) {continue;} - if (biome instanceof BOPBiome) - { - if (((BOPBiome)biome).hasBiomeEssence()) {biomesWithEssence.add(biome);} - } - else - { - if (!vanillaBiomesToExclude.contains(biome)) {biomesWithEssence.add(biome);} - } - } - - return biomesWithEssence; - } - - // drops biome essence items for random biomes - @Override - public List getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) - { - List ret = new ArrayList(); - Random rand = world instanceof World ? ((World)world).rand : RANDOM; - - List biomes = this.getBiomesWithEssence(); - int numToDrop = rand.nextInt(fortune + 1) + 1; - int numChoices = biomes.size(); - Biome biome; - - for (int i = 0; i < numToDrop; i++) - { - biome = biomes.get(rand.nextInt(numChoices)); - ItemStack biome_essence = new ItemStack(BOPItems.biome_essence); - biome_essence.setTagCompound(new NBTTagCompound()); - biome_essence.getTagCompound().setInteger("biomeID", Biome.getIdForBiome(biome)); - ret.add(biome_essence); - } - - return ret; - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPBlueFire.java b/src/main/java/biomesoplenty/common/block/BlockBOPBlueFire.java deleted file mode 100644 index 44c4079a2..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPBlueFire.java +++ /dev/null @@ -1,204 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.api.particle.BOPParticleTypes; -import biomesoplenty.api.potion.BOPPotions; -import biomesoplenty.common.item.ItemBOPBlock; -import biomesoplenty.common.item.ItemJarFilled; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.SoundEvents; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.SoundCategory; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import javax.annotation.Nullable; -import java.util.Random; - -public class BlockBOPBlueFire extends Block implements IBOPBlock -{ - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPBlueFire() - { - super(Material.FIRE); - this.setHardness(0.0F); - this.setLightLevel(0.8F); - this.setSoundType(SoundType.CLOTH); - this.disableStats(); - } - - @Override - @Nullable - public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) - { - return NULL_AABB; - } - - @Override - public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) - { - if (entity instanceof EntityLivingBase) - { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(BOPPotions.curse, 200)); - - if (world.rand.nextInt(5) == 0) - { - double d0 = (double)pos.getX() + world.rand.nextDouble(); - double d1 = (double)pos.getY() + world.rand.nextDouble() * 0.5D + 0.5D; - double d2 = (double)pos.getZ() + world.rand.nextDouble(); - BiomesOPlenty.proxy.spawnParticle(BOPParticleTypes.CURSE, world, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]); - } - } - } - - @Override - public boolean isOpaqueCube(IBlockState state) - { - return false; - } - - @Override - public boolean isFullCube(IBlockState state) - { - return false; - } - - @Override - public int quantityDropped(Random random) - { - return 0; - } - - /*@Override - public boolean isCollidable() - { - return false; - }*/ - - @Override - public boolean canPlaceBlockAt(World worldIn, BlockPos pos) - { - return worldIn.getBlockState(pos.down()).isTopSolid(); - } - - @Override - public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos fromPos) - { - if (!worldIn.getBlockState(pos.down()).isTopSolid()) - { - worldIn.setBlockToAir(pos); - } - } - - @Override - public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) - { - if (worldIn.provider.getDimensionType().getId() > 0) - { - if (!worldIn.getBlockState(pos.down()).isTopSolid()) - { - worldIn.setBlockToAir(pos); - } - else - { - worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn) + worldIn.rand.nextInt(10)); - } - } - } - - @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) - { - return new ItemStack(BOPItems.jar_filled, 1, ItemJarFilled.JarContents.BLUE_FIRE.ordinal()); - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - return MapColor.LIGHT_BLUE; - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) - { - if (rand.nextInt(32) == 0) - { - worldIn.playSound((double)((float)pos.getX() + 0.5F), (double)((float)pos.getY() + 0.5F), (double)((float)pos.getZ() + 0.5F), SoundEvents.BLOCK_FIRE_AMBIENT, SoundCategory.BLOCKS, 1.0F + rand.nextFloat(), rand.nextFloat() * 0.7F + 0.3F, false); - } - - if (rand.nextInt(5) == 0) - { - double d0 = (double)pos.getX() + rand.nextDouble(); - double d1 = (double)pos.getY() + rand.nextDouble() * 0.5D + 0.5D; - double d2 = (double)pos.getZ() + rand.nextDouble(); - worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - - if (rand.nextInt(15) == 0) - { - double d0 = (double)pos.getX() + rand.nextDouble(); - double d1 = (double)pos.getY() + rand.nextDouble() * 0.5D + 0.5D; - double d2 = (double)pos.getZ() + rand.nextDouble(); - BiomesOPlenty.proxy.spawnParticle(BOPParticleTypes.CURSE, worldIn, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]); - } - } - - @Override - @SideOnly(Side.CLIENT) - public BlockRenderLayer getBlockLayer() - { - return BlockRenderLayer.CUTOUT; - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) - { - return BlockFaceShape.UNDEFINED; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPBramblePlant.java b/src/main/java/biomesoplenty/common/block/BlockBOPBramblePlant.java deleted file mode 100644 index 57bbb015c..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPBramblePlant.java +++ /dev/null @@ -1,221 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.List; -import java.util.Random; - -import javax.annotation.Nullable; - -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.BlockGrass; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyBool; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.MobEffects; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPBramblePlant extends Block implements IBOPBlock -{ - public static final PropertyBool NORTH = PropertyBool.create("north"); - public static final PropertyBool EAST = PropertyBool.create("east"); - public static final PropertyBool SOUTH = PropertyBool.create("south"); - public static final PropertyBool WEST = PropertyBool.create("west"); - public static final PropertyBool UP = PropertyBool.create("up"); - public static final PropertyBool DOWN = PropertyBool.create("down"); - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPBramblePlant() { - super(Material.PLANTS); - this.setHardness(0.5F); - this.setHarvestLevel("axe", 0); - this.setSoundType(SoundType.WOOD); - this.setDefaultState(this.blockState.getBaseState().withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false)).withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false)).withProperty(UP, Boolean.valueOf(false)).withProperty(DOWN, Boolean.valueOf(false))); - } - - @Override - public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - Block block = worldIn.getBlockState(pos.down()).getBlock(); - Block block1 = worldIn.getBlockState(pos.up()).getBlock(); - Block block2 = worldIn.getBlockState(pos.north()).getBlock(); - Block block3 = worldIn.getBlockState(pos.east()).getBlock(); - Block block4 = worldIn.getBlockState(pos.south()).getBlock(); - Block block5 = worldIn.getBlockState(pos.west()).getBlock(); - return state.withProperty(DOWN, Boolean.valueOf(block == this || worldIn.getBlockState(pos.down()).isFullCube())).withProperty(UP, Boolean.valueOf(block1 == this || worldIn.getBlockState(pos.up()).isFullCube())).withProperty(NORTH, Boolean.valueOf(block2 == this || worldIn.getBlockState(pos.north()).isFullCube())).withProperty(EAST, Boolean.valueOf(block3 == this || worldIn.getBlockState(pos.east()).isFullCube())).withProperty(SOUTH, Boolean.valueOf(block4 == this || worldIn.getBlockState(pos.south()).isFullCube())).withProperty(WEST, Boolean.valueOf(block5 == this || worldIn.getBlockState(pos.west()).isFullCube())); - } - - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - state = state.getActualState(source, pos); - float f = 0.25F; - float f1 = 0.75F; - - float f2 = ((Boolean)state.getValue(WEST)).booleanValue() ? 0.0F : f; - float f3 = ((Boolean)state.getValue(DOWN)).booleanValue() ? 0.0F : f; - float f4 = ((Boolean)state.getValue(NORTH)).booleanValue() ? 0.0F : f; - float f5 = ((Boolean)state.getValue(EAST)).booleanValue() ? 1.0F : f1; - float f6 = ((Boolean)state.getValue(UP)).booleanValue() ? 1.0F : f1; - float f7 = ((Boolean)state.getValue(SOUTH)).booleanValue() ? 1.0F : f1; - return new AxisAlignedBB((double)f2, (double)f3, (double)f4, (double)f5, (double)f6, (double)f7); - } - - @Override - public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox, List collidingBoxes, @Nullable Entity entityIn, boolean isActualState) - { - if (!isActualState) - { - state = state.getActualState(worldIn, pos); - } - - float f = 0.25F; - float f1 = 0.75F; - addCollisionBoxToList(pos, entityBox, collidingBoxes, new AxisAlignedBB(f, f, f, f1, f1, f1)); - - if (((Boolean)state.getValue(WEST)).booleanValue()) - { - addCollisionBoxToList(pos, entityBox, collidingBoxes, new AxisAlignedBB(0.0D, f, f, f, f1, f1)); - } - - if (((Boolean)state.getValue(EAST)).booleanValue()) - { - addCollisionBoxToList(pos, entityBox, collidingBoxes, new AxisAlignedBB(f1, f, f, 1.0D, f1, f1)); - } - - if (((Boolean)state.getValue(UP)).booleanValue()) - { - addCollisionBoxToList(pos, entityBox, collidingBoxes, new AxisAlignedBB(f, f1, f, f1, 1.0D, f1)); - } - - if (((Boolean)state.getValue(DOWN)).booleanValue()) - { - addCollisionBoxToList(pos, entityBox, collidingBoxes, new AxisAlignedBB(f, 0.0D, f, f1, f, f1)); - } - - if (((Boolean)state.getValue(NORTH)).booleanValue()) - { - addCollisionBoxToList(pos, entityBox, collidingBoxes, new AxisAlignedBB(f, f, 0.0D, f1, f1, f)); - } - - if (((Boolean)state.getValue(SOUTH)).booleanValue()) - { - addCollisionBoxToList(pos, entityBox, collidingBoxes, new AxisAlignedBB(f, f, f1, f1, f1, 1.0D)); - } - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - return MapColor.RED; - } - - @Override - public int getMetaFromState(IBlockState state) - { - return 0; - } - - @Override - public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) - { - entityIn.attackEntityFrom(DamageSource.CACTUS, 1.0F); - } - - @Override - public boolean isFullCube(IBlockState state) - { - return false; - } - - @Override - public boolean isOpaqueCube(IBlockState state) - { - return false; - } - - @Override - public boolean canPlaceBlockAt(World worldIn, BlockPos pos) - { - return super.canPlaceBlockAt(worldIn, pos); - } - - @Override - protected BlockStateContainer createBlockState() - { - return new BlockStateContainer(this, new IProperty[] {NORTH, EAST, SOUTH, WEST, UP, DOWN}); - } - - @Override - public boolean isPassable(IBlockAccess worldIn, BlockPos pos) - { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public BlockRenderLayer getBlockLayer() - { - return BlockRenderLayer.CUTOUT; - } - - @Override - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) - { - Block block = blockAccess.getBlockState(pos.offset(side)).getBlock(); - return block != this && (side != EnumFacing.DOWN || (!(blockState.isFullCube()))); - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) - { - return BlockFaceShape.UNDEFINED; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPCoral.java b/src/main/java/biomesoplenty/common/block/BlockBOPCoral.java deleted file mode 100644 index 6a96bc27d..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPCoral.java +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import static net.minecraft.block.BlockLiquid.LEVEL; - -import biomesoplenty.api.block.BlockQueries; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class BlockBOPCoral extends BlockBOPDecoration -{ - - public enum CoralType implements IStringSerializable - { - PINK, ORANGE, BLUE, GLOWING, ALGAE; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static PropertyEnum VARIANT = PropertyEnum.create("variant", CoralType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, LEVEL, VARIANT);} - - // implement IBOPBlock - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return new IProperty[] {LEVEL}; } - @Override - public String getStateName(IBlockState state) - { - CoralType type = (CoralType) state.getValue(VARIANT); - switch (type) - { - case ALGAE: - return type.getName(); - default: - return type.getName()+"_coral"; - } - } - - - public BlockBOPCoral() - { - super(Material.WATER); - - // set some defaults - this.setHardness(0.6F); - this.setSoundType(SoundType.SAND); - this.setDefaultState( this.blockState.getBaseState().withProperty(LEVEL, 15).withProperty(VARIANT, CoralType.PINK) ); - - } - - - // map from state to meta and vice verca - note the LEVEL property is ignored (so the default 15 is always assumed) - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(VARIANT, CoralType.values()[meta]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((CoralType) state.getValue(VARIANT)).ordinal(); - } - -/* @Override - public void setBlockBoundsBasedOnState(IBlockAccess world, BlockPos pos) - { - this.setBlockBoundsByRadiusAndHeightWithXZOffset(0.4F, 0.8F, pos); - } */ - - // glowing_coral emits light - @Override - public int getLightValue(IBlockState state) - { - switch ((CoralType) state.getValue(VARIANT)) - { - case GLOWING: - return 10; - - default: - return super.getLightValue(state); - } - } - - @Override - public boolean canBlockStay(World world, BlockPos pos, IBlockState state) - { - return BlockQueries.fertileSeaBed.matches(world, pos.down()) && BlockQueries.underwater.matches(world, pos.up()); - } - -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPCrystal.java b/src/main/java/biomesoplenty/common/block/BlockBOPCrystal.java deleted file mode 100644 index 57611cab0..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPCrystal.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.Entity; -import net.minecraft.entity.boss.EntityDragon; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPCrystal extends Block implements IBOPBlock -{ - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPCrystal() { - super(Material.GLASS); - this.setHardness(0.15F); - this.setResistance(5.0F); - this.setLightLevel(1.0F); - this.setSoundType(SoundType.GLASS); - } - - @Override - public boolean canEntityDestroy(IBlockState state, IBlockAccess world, BlockPos pos, Entity entity) - { - //Prevent the ender dragon from destroying this block - return !(entity instanceof EntityDragon); - } - - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - return BOPItems.crystal_shard; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - return MapColor.PURPLE; - } - - @Override - public int quantityDropped(Random random) - { - return 4; - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPDecoration.java b/src/main/java/biomesoplenty/common/block/BlockBOPDecoration.java deleted file mode 100644 index 98946318d..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPDecoration.java +++ /dev/null @@ -1,172 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPDecoration extends Block implements IBOPBlock -{ - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - // constructor - public BlockBOPDecoration() { - this(Material.PLANTS); - } - public BlockBOPDecoration(Material material) - { - super(material); - - // set some defaults - this.setTickRandomly(true); - this.setHardness(0.0F); - this.setSoundType(SoundType.PLANT); - - this.setDefaultState(this.blockState.getBaseState()); - } - - // no collision box - you can walk straight through them - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) - { - return NULL_AABB; - } - - // add a canBlockStay() check before placing this block - @Override - public IBlockState getStateForPlacement(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) - { - if (world.getBlockState(pos).getBlock().isReplaceable(world, pos) && this.canBlockStay(world, pos, this.getStateFromMeta(meta))) { - return super.getStateForPlacement(world, pos, facing, hitX, hitY, hitZ, meta, placer); - } - - return world.getBlockState(pos); - } - - // check this block is still able to remain after neighbor change - @Override - public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos neighborPos) - { - this.checkAndDropBlock(world, pos, state); - } - - // check this block is still able to remain on update ticks - @Override - public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) - { - this.checkAndDropBlock(worldIn, pos, state); - } - - // our blocks usually drop their current state as opposed to a single 'default' state - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state); - } - - // drop block as item if it cannot remain here - return whether on not it could stay - protected boolean checkAndDropBlock(World worldIn, BlockPos pos, IBlockState state) - { - if (this.canBlockStay(worldIn, pos, state)) - { - return true; - } - else - { - this.dropBlockAsItem(worldIn, pos, state, 0); - worldIn.setBlockState(pos, Blocks.AIR.getDefaultState(), 3); - return false; - } - } - - // child classes should override this with their own rules about where the block can be placed - public boolean canBlockStay(World world, BlockPos pos, IBlockState state) - { - return true; - } - - // not opaque - @Override - public boolean isOpaqueCube(IBlockState state) - { - return false; - } - - // not full cube - @Override - public boolean isFullCube(IBlockState state) - { - return false; - } - - @SideOnly(Side.CLIENT) - @Override - public BlockRenderLayer getBlockLayer() - { - return BlockRenderLayer.CUTOUT; - } - - //decoration should be randomly offset by default - @Override - @SideOnly(Side.CLIENT) - public Block.EnumOffsetType getOffsetType() - { - return Block.EnumOffsetType.XZ; - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing facing) - { - return BlockFaceShape.UNDEFINED; - } - -/* @Override - public void setBlockBoundsBasedOnState(IBlockAccess worldIn, BlockPos pos) { - this.setBlockBoundsByRadiusAndHeightWithXZOffset(0.3F, 0.6F, pos); - }*/ - - - -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPDirt.java b/src/main/java/biomesoplenty/common/block/BlockBOPDirt.java deleted file mode 100644 index e1d48d0f1..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPDirt.java +++ /dev/null @@ -1,231 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.common.item.ItemBOPBlock; -import biomesoplenty.api.enums.IPagedVariants; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyBool; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPDirt extends Block implements IBOPBlock, ISustainsPlantType -{ - // add properties - public enum BOPDirtType implements IStringSerializable, IPagedVariants - { - LOAMY, SANDY, SILTY; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", BOPDirtType.class); - public static final PropertyBool COARSE = PropertyBool.create("coarse"); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, COARSE, VARIANT);} - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {COARSE, VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return (Boolean.TRUE.equals(state.getValue(COARSE)) ? "coarse_" : "") + ((BOPDirtType) state.getValue(VARIANT)).getName() + "_dirt"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPDirt() { - - super(Material.GROUND); - - // set some defaults - this.setTickRandomly(true); - this.setHardness(0.5F); - this.setHarvestLevel("shovel", 0); - this.setSoundType(SoundType.GROUND); - this.setDefaultState( this.blockState.getBaseState().withProperty(COARSE, Boolean.valueOf(false)).withProperty(VARIANT, BOPDirtType.LOAMY) ); - - } - - @Override - public IBlockState getStateFromMeta(int meta) - { - // both variant and coarseness saved in meta, first bit coarseness, other bits variant - return this.getDefaultState().withProperty(COARSE, Boolean.valueOf((meta & 8) > 0)).withProperty(VARIANT, BOPDirtType.values()[Math.min(2, meta & 7)]); - } - - @Override - public int getMetaFromState(IBlockState state) - { - // both variant and coarseness saved in meta, first bit coarseness, other bits variant - return (Boolean.TRUE.equals(state.getValue(COARSE)) ? 8 : 0) | ((BOPDirtType) state.getValue(VARIANT)).ordinal(); - } - - // our blocks usually drop their current state as opposed to a single 'default' state - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state); - } - - @Override - public boolean canSustainPlantType(IBlockAccess world, BlockPos pos, EnumPlantType plantType) - { - - // Note: EnumPlantType will be changed at runtime by other mods using a Forge functionality. - // switch() does NOT work with enums in that case, but will crash when encountering - // a value not known beforehand. - - // support desert, plains and cave plants - if (plantType == EnumPlantType.Desert || plantType == EnumPlantType.Plains || plantType == EnumPlantType.Cave) - { - return true; - } - // support beach plants if there's water alongside - if (plantType == EnumPlantType.Beach) - { - return ( - world.getBlockState(pos.east()).getMaterial() == Material.WATER || - world.getBlockState(pos.west()).getMaterial() == Material.WATER || - world.getBlockState(pos.north()).getMaterial() == Material.WATER || - world.getBlockState(pos.south()).getMaterial() == Material.WATER - ); - } - // don't support nether plants, water plants, or crops (require farmland), or anything else by default - return false; - } - - @Override - public boolean canSustainPlant(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing direction, net.minecraftforge.common.IPlantable plantable) - { - if (plantable == Blocks.MELON_STEM || plantable == Blocks.PUMPKIN_STEM) - { - return true; - } - - return this.canSustainPlantType(world, pos, plantable.getPlantType(world, pos.offset(direction))); - } - - @Override - public void updateTick(World world, BlockPos pos, IBlockState state, Random rand) { - IBlockState grassState = getGrassBlockState(state); - - if (grassState != null) - { - pullGrassFromNeighbors(world, pos, grassState, rand, 4, 1, 3, 1); - } - } - - // BOPGrass variants spread randomly to BOPDirt on the grass's updateTick - // However, vanilla grass does not. This function fixes this by 'pulling' grass from nearby vanilla grass blocks at the same rate as it would spread to vanilla dirt - public void pullGrassFromNeighbors(World world, BlockPos pos, IBlockState grassState, Random rand, int tries, int xzSpread, int downSpread, int upSpread) - { - IBlockState upState = world.getBlockState(pos.up()); - // if there's not enough light then there's no chance of this block becoming grassy - if (world.getLightFromNeighbors(pos.up()) < 4 || upState.getLightOpacity(world, pos.up()) > 2) {return;} - - int numNearbyGrassSpreadingBlocks = 0; - BlockPos pos1; - for (int dy = -downSpread; dy <= upSpread; dy++) - { - for (int dx = -xzSpread; dx <= xzSpread; dx++) - { - for (int dz = -xzSpread; dz <= xzSpread; dz++) - { - // count only vanilla grass blocks with enough light (BOP Grass 'pushes' itself onto dirt, no need to 'pull' it) - pos1 = pos.add(dx, dy, dz); - if (world.getBlockState(pos1).getBlock() == Blocks.GRASS && world.getLightFromNeighbors(pos1.up()) >= 9) - { - numNearbyGrassSpreadingBlocks++; - } - } - } - } - if (numNearbyGrassSpreadingBlocks == 0) {return;} - - // each grass block gets 4 tries to spread grass, chance of this block being chosen each time is 1 / volume of blocks close enough - // overall chance of spread = 1 - chance of not spreading - int vol = (xzSpread * 2 + 1) * (xzSpread * 2 + 1) * (upSpread + downSpread + 1); - double chanceOfSpread = 1.0D - Math.pow(1.0D - 1.0D / vol, tries * numNearbyGrassSpreadingBlocks); - if (rand.nextDouble() < chanceOfSpread) - { - world.setBlockState(pos, grassState); - } - } - - - // get the blockstate which corresponds to the type of grass which grows on this dirt - public static IBlockState getGrassBlockState(IBlockState state) - { - // no grass grows on coarse dirt - if (Boolean.TRUE.equals(state.getValue(COARSE))) - { - return null; - } - switch ((BOPDirtType) state.getValue(VARIANT)) - { - case LOAMY: - return BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY); - case SANDY: - return BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY); - case SILTY: - return BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY); - default: - // return vanilla grass as a backup - return Blocks.GRASS.getDefaultState(); - } - } - - public Block getGrassBlock(IBlockState state) - { - return getGrassBlockState(state).getBlock(); - } - - public int getGrassBlockMeta(IBlockState state) - { - return this.getGrassBlock(state).getMetaFromState(getGrassBlockState(state)); - } - -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPDoor.java b/src/main/java/biomesoplenty/common/block/BlockBOPDoor.java deleted file mode 100644 index f532fa505..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPDoor.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.HashMap; -import java.util.Map; -import java.util.Random; - -import biomesoplenty.api.enums.BOPWoods; -import net.minecraft.block.BlockDoor; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPDoor extends BlockDoor implements IBOPBlock -{ - - // implement IBOPBlock - // properties inherited from BlockDoor: FACING, OPEN, HINGE, HALF, POWERED - @Override - public Class getItemClass() { return null; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return new IProperty[] {POWERED}; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - // Map from woods to BlockBOPDoor instance and back - private static Map variantToBlock = new HashMap(); - public static BlockBOPDoor getBlock(BOPWoods wood) - { - return variantToBlock.get(wood); - } - protected BOPWoods wood; - public BOPWoods getWood() - { - return this.wood; - } - - - private Item doorItem; - - - public BlockBOPDoor(BOPWoods wood) - { - super(Material.WOOD); - this.setHardness(3.0F); - this.setHarvestLevel("axe", 0); - this.setSoundType(SoundType.WOOD); - - this.wood = wood; - variantToBlock.put(wood, this); - } - - public void setDoorItem(Item doorItem) - { - this.doorItem = doorItem; - } - - public Item getDoorItem() - { - return this.doorItem == null ? Items.OAK_DOOR : this.doorItem; - } - - @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) - { - return new ItemStack(this.getDoorItem(), 1); - } - - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - return state.getValue(HALF) == BlockDoor.EnumDoorHalf.UPPER ? null : this.getDoorItem(); - } -} - \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPDoubleDecoration.java b/src/main/java/biomesoplenty/common/block/BlockBOPDoubleDecoration.java deleted file mode 100644 index 4f71f7ac1..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPDoubleDecoration.java +++ /dev/null @@ -1,246 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -public class BlockBOPDoubleDecoration extends BlockBOPDecoration { - - // add half property - public enum Half implements IStringSerializable - { - LOWER, UPPER; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum HALF = PropertyEnum.create("half", Half.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, HALF);} - @Override - public IProperty[] getNonRenderingProperties() { return null; } - - public float radius; - public float height; - public boolean fromTop; - - public BlockBOPDoubleDecoration() - { - this(Material.PLANTS); - } - public BlockBOPDoubleDecoration(Material material) - { - super(material); - this.radius = 0.5F; - this.height = 1.0F; - this.fromTop = false; - this.setDefaultState(this.blockState.getBaseState().withProperty(HALF, Half.LOWER)); - } - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(HALF, Half.values()[meta]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((Half) state.getValue(HALF)).ordinal(); - } - - - - - // utility functions - public BlockPos getLowerPos(IBlockAccess world, BlockPos pos) - { - IBlockState state = world.getBlockState(pos); - if (state.getBlock() != this) {return pos;} - return world.getBlockState(pos).getValue(HALF) == Half.UPPER ? pos.down() : pos; - } - public BlockPos getUpperPos(IBlockAccess world, BlockPos pos) - { - IBlockState state = world.getBlockState(pos); - if (state.getBlock() != this) {return pos.up();} - return world.getBlockState(pos).getValue(HALF) == Half.UPPER ? pos : pos.up(); - } - public IBlockState getLowerState(IBlockAccess world, BlockPos pos) - { - return world.getBlockState(this.getLowerPos(world, pos)); - } - public IBlockState getUpperState(IBlockAccess world, BlockPos pos) - { - return world.getBlockState(this.getUpperPos(world, pos)); - } - public boolean isValidDoubleBlock(IBlockAccess world, BlockPos pos) - { - IBlockState lowerState = this.getLowerState(world, pos); - IBlockState upperState = this.getUpperState(world, pos); - Block lowerBlock = lowerState.getBlock(); - Block upperBlock = upperState.getBlock(); - return (lowerBlock instanceof BlockBOPDoubleDecoration) && (upperBlock instanceof BlockBOPDoubleDecoration) && (lowerBlock == upperBlock) && lowerState.getValue(HALF) == Half.LOWER && upperState.getValue(HALF) == Half.UPPER; - } - - - - // drop block as item if it cannot remain here - return whether on not it could stay - @Override - protected boolean checkAndDropBlock(World worldIn, BlockPos pos, IBlockState state) - { - if (this.isValidDoubleBlock(worldIn, pos) && this.canBlockStay(worldIn, this.getLowerPos(worldIn, pos), state)) - { - return true; - } - else - { - this.dropBlockAsItem(worldIn, pos, state, 0); - worldIn.setBlockState(pos, Blocks.AIR.getDefaultState(), 3); - return false; - } - } - - // This DoubleDecoration can replace the block at pos if both the block and the one above it are replaceable and the environment is suitable (canBlockStay) - @Override - public IBlockState getStateForPlacement(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) - { - if (world.getBlockState(pos).getBlock().isReplaceable(world, pos) && world.getBlockState(pos.up()).getBlock().isReplaceable(world, pos.up()) && this.canBlockStay(world, pos, this.getStateFromMeta(meta))) { - return this.getStateFromMeta(meta).withProperty(HALF, Half.LOWER); - } - - return world.getBlockState(pos); - } - - // Called by ItemBlock after the (lower) block has been placed - // Use it to add the top half of the block - @Override - public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) { - worldIn.setBlockState(pos.up(), this.getStateFromMeta(stack.getMetadata()).withProperty(HALF, Half.UPPER), 3); - } - - @Override - // child classes should put code in here which checks the ground is ok - public boolean canBlockStay(World world, BlockPos lowerPos, IBlockState state) - { - return true; - } - - - - - -/* @Override - // utility function for setting the block bounds - - public void setBlockBoundsByRadiusAndHeight(float radius, float height, boolean fromTop) - { - this.radius = radius; - this.height = height; - this.fromTop = fromTop; - } - @Override - public void setBlockBoundsBasedOnState(IBlockAccess worldIn, BlockPos pos) - { - IBlockState state = worldIn.getBlockState(pos); - switch ((Half) state.getValue(HALF)) - { - case LOWER: - this.setBlockBoundsByRadiusAndHeightWithXZOffset(this.radius, this.fromTop ? this.height : 1.0F, this.fromTop, pos); - break; - case UPPER: - this.setBlockBoundsByRadiusAndHeightWithXZOffset(this.radius, this.fromTop ? 1.0F : this.height, this.fromTop, pos); - break; - } - }*/ - - - // handle drops from UPPER and LOWER separately - @Override - public List getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) - { - // note it is important to use the state as provided and NOT world.getBlockState(pos) - // because when this function is called, the block may have already been turned to air - // the state provided is the state before the block was destroyed - if (state.getValue(HALF) == Half.UPPER) - { - return this.getUpperDrops(world, pos, state, fortune); - } - else - { - return this.getLowerDrops(world, pos, state, fortune); - } - } - - // default behavior is that UPPER drops nothing, and LOWER drops the default item - public List getUpperDrops(IBlockAccess world, BlockPos upperPos, IBlockState upperState, int fortune) - { - return new java.util.ArrayList(); - } - public List getLowerDrops(IBlockAccess world, BlockPos lowerPos, IBlockState lowerState, int fortune) - { - return super.getDrops(world, lowerPos, lowerState, fortune); - } - - // if a child class chooses to implement IShearable make shearing the upper or lower block act as shearing both - public List onSheared(ItemStack item, IBlockAccess world, BlockPos pos, int fortune) { - List drops = new java.util.ArrayList(); - if (!this.isValidDoubleBlock(world, pos)) {return drops;} - drops.addAll( this.getUpperShearDrops(item, world, this.getUpperPos(world, pos), this.getUpperState(world, pos), fortune) ); - drops.addAll( this.getLowerShearDrops(item, world, this.getLowerPos(world, pos), this.getLowerState(world, pos), fortune) ); - return drops; - } - - // default behavior is that UPPER drops nothing, and LOWER drops the default item - public List getUpperShearDrops(ItemStack item, IBlockAccess world, BlockPos upperPos, IBlockState upperState, int fortune) - { - return new java.util.ArrayList(); - } - public List getLowerShearDrops(ItemStack item, IBlockAccess world, BlockPos lowerPos, IBlockState lowerState, int fortune) - { - return super.getDrops(world, lowerPos, lowerState, fortune); - } - - - - // discard the HALF info in the items dropped - make them all Half.LOWER so that they can stack - keep other state info such as VARIANT - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState( state.withProperty(HALF, Half.LOWER) ); - } - - - - - - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPDoubleOtherSlab.java b/src/main/java/biomesoplenty/common/block/BlockBOPDoubleOtherSlab.java deleted file mode 100644 index 13409b891..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPDoubleOtherSlab.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.ArrayList; -import java.util.List; - -import biomesoplenty.api.block.BOPBlocks; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -@SuppressWarnings("unchecked") -public class BlockBOPDoubleOtherSlab extends BlockBOPHalfOtherSlab -{ - - @Override - public IProperty[] getNonRenderingProperties() { return new IProperty[] { HALF }; } - @Override - public String getStateName(IBlockState state) - { - return "double_" + ((SlabType) state.getValue(VARIANT)).getName() + "_slab"; - } - - public BlockBOPDoubleOtherSlab() - { - super(); - } - - @Override - public List getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) - { - List ret = new ArrayList(); - SlabType type = (SlabType)state.getValue(BlockBOPHalfOtherSlab.VARIANT); - IBlockState halfState = BOPBlocks.other_slab.getDefaultState().withProperty(BlockBOPHalfOtherSlab.VARIANT, type); - - //Drop two of the corresponding half slab for this block - ret.add(new ItemStack(halfState.getBlock(), 2, halfState.getBlock().getMetaFromState(halfState))); - - return ret; - } - - @Override - public boolean isDouble() { - return true; - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing facing) - { - return BlockFaceShape.SOLID; - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPDoublePlant.java b/src/main/java/biomesoplenty/common/block/BlockBOPDoublePlant.java deleted file mode 100644 index fd8b908d1..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPDoublePlant.java +++ /dev/null @@ -1,276 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.List; - -import com.google.common.collect.ImmutableSet; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.common.util.block.BlockStateUtils; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.NonNullList; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.ColorizerFoliage; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeColorHelper; -import net.minecraftforge.common.IShearable; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPDoublePlant extends BlockBOPDoubleDecoration implements IShearable -{ - // add properties (note we inherit HALF from BlockDoubleDecoration) - public enum DoublePlantType implements IStringSerializable - { - FLAX, TALL_CATTAIL, EYEBULB, SEA_OATS; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", DoublePlantType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, HALF, VARIANT);} - - - // implement IBOPBlock - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((DoublePlantType) state.getValue(VARIANT)).getName(); - } - - public enum ColoringType {PLAIN, LIKE_LEAVES, LIKE_GRASS} - - public static ColoringType getColoringType(DoublePlantType plant) - { - switch (plant) - { - case FLAX: - return ColoringType.LIKE_GRASS; - default: - return ColoringType.PLAIN; - } - } - - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() - { - return new IBlockColor() - { - @Override - public int colorMultiplier(IBlockState state, IBlockAccess world, BlockPos pos, int tintIndex) - { - if ( world != null && pos != null) - { - switch (getColoringType((DoublePlantType) state.getValue(VARIANT))) - { - case LIKE_GRASS: - return BiomeColorHelper.getGrassColorAtPos(world, pos); - } - } - - return ColorizerFoliage.getFoliageColorBasic(); - } - }; - } - - public BlockBOPDoublePlant() - { - super(); - this.setDefaultState( this.blockState.getBaseState().withProperty(HALF, Half.LOWER) .withProperty(VARIANT, DoublePlantType.FLAX) ); - } - - // map from state to meta and vice verca - use highest bit for Half, and lower bits for variant - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(HALF, Half.values()[meta >> 3]).withProperty(VARIANT, DoublePlantType.values()[meta & 7]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((Half) state.getValue(HALF)).ordinal() * 8 + ((DoublePlantType) state.getValue(VARIANT)).ordinal(); - } - - // different variants have different sizes - /*@Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - boolean isLower = ((Half) state.getValue(HALF) == Half.LOWER); - switch ((DoublePlantType) state.getValue(VARIANT)) - { - default: - return new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, isLower ? 1.0D : 0.800000011920929D, 0.8999999761581421D); - } - }*/ - - @Override - public boolean canBlockStay(World world, BlockPos lowerPos, IBlockState state) - { - DoublePlantType plant = ((DoublePlantType) state.getValue(VARIANT)); - - switch (plant) - { - case TALL_CATTAIL: - return BlockQueries.litFertileWaterside.matches(world, lowerPos.down()); - case EYEBULB: - return BlockQueries.hellish.matches(world, lowerPos.down()); - case SEA_OATS: - return BlockQueries.fertileOrSand.matches(world, lowerPos.down()); - case FLAX: default: - return BlockQueries.litFertile.matches(world, lowerPos.down()); - } - - } - - @Override - public List getUpperDrops(IBlockAccess world, BlockPos upperPos, IBlockState upperState, int fortune) - { - List ret = new java.util.ArrayList(); - - DoublePlantType type = (DoublePlantType) upperState.getValue(VARIANT); - switch (type) { - - case TALL_CATTAIL: - ret.add(BlockBOPPlant.paging.getVariantItem(BOPPlants.CATTAIL)); - - default: - break; - } - return ret; - } - - - // get the items dropped when you bash the bush - @Override - public List getLowerDrops(IBlockAccess world, BlockPos lowerPos, IBlockState lowerState, int fortune) - { - // start with an empty stack - List ret = new java.util.ArrayList(); - - // add items based on the VARIANT - default is to drop (lower) block - DoublePlantType type = (DoublePlantType) lowerState.getValue(VARIANT); - switch (type) - { - case FLAX: case SEA_OATS: - break; - case TALL_CATTAIL: - ret.add(BlockBOPPlant.paging.getVariantItem(BOPPlants.CATTAIL)); - break; - - default: - // drop self - ret.add(this.getVariantItem(type)); - } - return ret; - } - - - @Override - public boolean isShearable(ItemStack item, IBlockAccess world, BlockPos pos) - { - return true; - } - - @Override - public List getLowerShearDrops(ItemStack item, IBlockAccess world, BlockPos lowerPos, IBlockState lowerState, int fortune) - { - // start with an empty stack - List ret = new java.util.ArrayList(); - - // add items based on the VARIANT - // note that the sheared items are dropped in addition to regular drops - // since the default in getLowerDrops is to drop the (lower) block, the default here is to drop nothing (so we don't have a duplicate) - // at the moment, this code is pretty useless, but if in the future we add a double block which can't be collected except with shears - // then a case will need to be inserted for it in the switch below - DoublePlantType type = (DoublePlantType) lowerState.getValue(VARIANT); - switch (type) - { - case FLAX: case SEA_OATS: - ret.add(this.getVariantItem(type)); - default: - break; - } - return ret; - } - - public ItemStack getVariantItem(DoublePlantType type) { - IBlockState state = this.getDefaultState().withProperty(HALF, Half.LOWER).withProperty(VARIANT, type); - return new ItemStack(this, 1, this.getMetaFromState(state)); - } - - @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) - { - switch ((DoublePlantType) state.getValue(VARIANT)) - { - case TALL_CATTAIL: - return new ItemStack(BOPBlocks.plant_1, 1, BlockBOPPlant.paging.getIndex(BOPPlants.CATTAIL)); - - default: - return new ItemStack(this, 1, ((DoublePlantType) state.getValue(VARIANT)).ordinal()); - } - } - - @SideOnly(Side.CLIENT) - @Override - public void getSubBlocks(CreativeTabs tab, NonNullList list) - { - // get the preset blocks variants - ImmutableSet presets = BlockStateUtils.getBlockPresets(this); - - for (IBlockState state : presets) - { - if (state != BOPBlocks.double_plant.getDefaultState().withProperty(VARIANT,BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL)) - { - list.add(new ItemStack(this, 1, this.getMetaFromState(state))); - } - } - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.TALLGRASS.getFlammability(world, pos, face); - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.TALLGRASS.getFlammability(world, pos, face); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPDoubleWoodSlab.java b/src/main/java/biomesoplenty/common/block/BlockBOPDoubleWoodSlab.java deleted file mode 100644 index efe20e864..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPDoubleWoodSlab.java +++ /dev/null @@ -1,201 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.ArrayList; -import java.util.List; - -import com.google.common.collect.ImmutableSet; - -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.util.block.BlockStateUtils; -import biomesoplenty.common.util.block.VariantPagingHelper; -import net.minecraft.block.BlockSlab; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.NonNullList; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - - -public class BlockBOPDoubleWoodSlab extends BlockSlab implements IBOPBlock -{ - - // setup paged variant property - - // HALF requires one bit, so we have 3 bits left for the VARIANT which means we can have eight per instance - public static VariantPagingHelper paging = new VariantPagingHelper(8, BOPWoods.class, BOPWoods.withPlanks); - - // Slightly naughty hackery here - // The constructor of Block() calls createBlockState() which needs to know the particular instance's variant property - // There is no way to set the individual block instance's variant property before this, because the super() has to be first - // So, we use the static variable currentVariantProperty to provide each instance access to its variant property during creation - private static IProperty currentVariantProperty; - - // Create an instance for each page - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPDoubleWoodSlab()); - } - - } - - // Each instance has a reference to its own variant property - public IProperty variantProperty; - - // add properties (note we inherit HALF property from parent BlockSlab) - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; // get from static variable - return new BlockStateContainer(this, HALF, this.variantProperty); - } - - // implement IBOPBlock - @Override - public Class getItemClass() { return null; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {this.variantProperty}; } - // HALF isn't used in double slab because both halves are present - @Override - public IProperty[] getNonRenderingProperties() { return new IProperty[] {HALF}; } - @Override - public String getStateName(IBlockState state) - { - return "double_" + ((BOPWoods)state.getValue(this.variantProperty)).getName() + "_wood_slab"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - private BlockBOPDoubleWoodSlab() - { - super(Material.WOOD); - this.useNeighborBrightness = true; - this.setHardness(2.0F).setResistance(5.0F); - this.setSoundType(SoundType.WOOD); - this.setHarvestLevel("axe", 0); - this.setDefaultState(this.blockState.getBaseState().withProperty(HALF, BlockSlab.EnumBlockHalf.BOTTOM)); - } - - - // these 3 functions are required by BlockSlab for setting up the corresponding ItemSlab - @Override - public String getUnlocalizedName(int meta) - { - return this.getStateName(this.getStateFromMeta(meta)); - } - @Override - public IProperty getVariantProperty() - { - return this.variantProperty; - } - @Override - public Comparable getTypeForItem(ItemStack stack) - { - return paging.getVariant(this, stack.getMetadata() & 7); - } - - - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(this.variantProperty, paging.getVariant(this, meta & 7)); - } - @Override - public int getMetaFromState(IBlockState state) - { - BOPWoods wood = (BOPWoods) state.getValue(this.variantProperty); - return paging.getIndex(wood); - } - - @Override - public List getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) - { - List ret = new ArrayList(); - BOPWoods wood = (BOPWoods) state.getValue(this.variantProperty); - IBlockState halfState = BlockBOPHalfWoodSlab.paging.getVariantState(wood); - - //Drop two of the corresponding half slab for this block - ret.add(new ItemStack(halfState.getBlock(), 2, halfState.getBlock().getMetaFromState(halfState))); - - return ret; - } - - @Override - public boolean isDouble() { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(CreativeTabs tab, NonNullList list) - { - // get the preset blocks variants - ImmutableSet presets = BlockStateUtils.getBlockPresets(this); - // register all the sub-blocks - for (IBlockState state : presets) - { - list.add(new ItemStack(this, 1, this.getMetaFromState(state))); - } - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPWoods wood = ((BOPWoods) world.getBlockState(pos).getValue(this.variantProperty)); - switch (wood) - { - case HELLBARK: - return 0; - default: - return Blocks.DOUBLE_WOODEN_SLAB.getFlammability(world, pos, face); - } - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPWoods wood = ((BOPWoods) world.getBlockState(pos).getValue(this.variantProperty)); - switch (wood) - { - case HELLBARK: - return 0; - default: - return Blocks.DOUBLE_WOODEN_SLAB.getFireSpreadSpeed(world, pos, face); - } - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing facing) - { - return BlockFaceShape.SOLID; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPFarmland.java b/src/main/java/biomesoplenty/common/block/BlockBOPFarmland.java deleted file mode 100644 index 996da3ee7..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPFarmland.java +++ /dev/null @@ -1,233 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.common.item.ItemBOPBlock; -import biomesoplenty.common.util.block.VariantPagingHelper; -import net.minecraft.block.Block; -import net.minecraft.block.BlockDirt; -import net.minecraft.block.BlockFarmland; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.IPlantable; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPFarmland extends BlockFarmland implements IBOPBlock -{ - public static VariantPagingHelper paging = new VariantPagingHelper(2, BlockBOPDirt.BOPDirtType.class); - - private static IProperty currentVariantProperty; - - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPFarmland()); - } - } - - public IProperty variantProperty; - - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; - return new BlockStateContainer(this, MOISTURE, this.variantProperty); - } - - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - - @Override - public IProperty[] getPresetProperties() { return new IProperty[] { this.variantProperty }; } - - @Override - public IProperty[] getNonRenderingProperties() { return null; } - - @Override - public String getStateName(IBlockState state) - { - return ((BlockBOPDirt.BOPDirtType) state.getValue(this.variantProperty)).getName() + "_farmland"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPFarmland() - { - super(); - this.setTickRandomly(true); - //this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); - this.setLightOpacity(255); - this.useNeighborBrightness = true; - this.setHardness(0.6F); - this.setHarvestLevel("shovel", 0); - this.setSoundType(SoundType.GROUND); - this.setDefaultState(this.blockState.getBaseState().withProperty(MOISTURE, Integer.valueOf(0))); - } - - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(this.variantProperty, paging.getVariant(this, meta & 1)).withProperty(MOISTURE, Integer.valueOf(meta >> 1)); - } - - @Override - public int getMetaFromState(IBlockState state) - { - BlockBOPDirt.BOPDirtType dirt = (BlockBOPDirt.BOPDirtType) state.getValue(this.variantProperty); - int meta = paging.getIndex(dirt); - meta |= state.getValue(MOISTURE) << 1; - return meta; - } - - @Override - public void updateTick(World world, BlockPos pos, IBlockState state, Random random) - { - int i = (state.getValue(MOISTURE)).intValue(); - - if (!this.hasWater(world, pos) && !world.isRainingAt(pos.up())) - { - if (i > 0) - { - world.setBlockState(pos, state.withProperty(MOISTURE, Integer.valueOf(i - 1)), 2); - } - else if (!this.hasCrops(world, pos)) - { - world.setBlockState(pos, this.getDirtBlockState(world.getBlockState(pos))); - } - } - else if (i < 7) - { - world.setBlockState(pos, state.withProperty(MOISTURE, Integer.valueOf(7)), 2); - } - } - - private boolean hasWater(World world, BlockPos pos) - { - for (BlockPos.MutableBlockPos mutableblockpos : BlockPos.getAllInBoxMutable(pos.add(-4, 0, -4), pos.add(4, 1, 4))) - { - if (world.getBlockState(mutableblockpos).getMaterial() == Material.WATER) - { - return true; - } - } - - return false; - } - - private boolean hasCrops(World world, BlockPos pos) - { - Block block = world.getBlockState(pos.up()).getBlock(); - return block instanceof IPlantable && canSustainPlant(world.getBlockState(pos.up()), world, pos, EnumFacing.UP, (IPlantable)block); - } - - @Override - public void neighborChanged(IBlockState state, World world, BlockPos pos, Block neighborBlock, BlockPos neighborPos) - { - if (world.getBlockState(pos.up()).getMaterial().isSolid()) - { - world.setBlockState(pos, this.getDirtBlockState(world.getBlockState(pos))); - } - } - - @Override - public void onFallenUpon(World world, BlockPos pos, Entity entity, float fallDistance) - { - if (entity instanceof EntityLivingBase) - { - if (!world.isRemote && world.rand.nextFloat() < fallDistance - 0.5F) - { - if (!(entity instanceof EntityPlayer) && !world.getGameRules().getBoolean("mobGriefing")) - { - return; - } - - world.setBlockState(pos, this.getDirtBlockState(world.getBlockState(pos))); - } - } - } - - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - return Item.getItemFromBlock(BOPBlocks.dirt); - } - - @Override - public int damageDropped(IBlockState state) - { - return BOPBlocks.dirt.getMetaFromState(this.getDirtBlockState(state)); - } - - @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) - { - return new ItemStack(BOPBlocks.dirt, 1, BOPBlocks.dirt.getMetaFromState(this.getDirtBlockState(world.getBlockState(pos)))); - } - - @Override - public boolean canSustainPlant(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing direction, net.minecraftforge.common.IPlantable plantable) - { - EnumPlantType plantType = plantable.getPlantType(world, pos.up()); - - // Note: EnumPlantType will be changed at runtime by other mods using a Forge functionality. - // switch() does NOT work with enums in that case, but will crash when encountering - // a value not known beforehand. - - if (plantType == EnumPlantType.Crop || plantType == EnumPlantType.Plains) - { - return true; - } - - return super.canSustainPlant(state, world, pos, direction, plantable); - } - - public IBlockState getDirtBlockState(IBlockState state) - { - switch ((BlockBOPDirt.BOPDirtType) state.getValue(this.variantProperty)) - { - case LOAMY: - return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - case SANDY: - return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY); - case SILTY: - return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - default: - return Blocks.DIRT.getStateFromMeta(BlockDirt.DirtType.DIRT.getMetadata()); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPFence.java b/src/main/java/biomesoplenty/common/block/BlockBOPFence.java deleted file mode 100644 index 92c385a98..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPFence.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.HashMap; -import java.util.Map; - -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.BlockFence; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPFence extends BlockFence implements IBOPBlock -{ - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - // Map from woods to BlockBOPFence instance and back - private static Map variantToBlock = new HashMap(); - public static BlockBOPFence getBlock(BOPWoods wood) - { - return variantToBlock.get(wood); - } - protected BOPWoods wood; - public BOPWoods getWood() - { - return this.wood; - } - - public BlockBOPFence(BOPWoods wood) - { - super(Material.WOOD, MapColor.WOOD); - this.setHarvestLevel("axe", 0); - - this.wood = wood; - variantToBlock.put(wood, this); - - this.setHardness(2.0F); - this.setResistance(5.0F); - this.setSoundType(SoundType.WOOD); - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.PLANKS.getFlammability(world, pos, face); - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.PLANKS.getFireSpreadSpeed(world, pos, face); - } -} - \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPFenceGate.java b/src/main/java/biomesoplenty/common/block/BlockBOPFenceGate.java deleted file mode 100644 index 830c8b29a..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPFenceGate.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.HashMap; -import java.util.Map; - -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.BlockFenceGate; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.SoundType; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPFenceGate extends BlockFenceGate implements IBOPBlock -{ - - // implement IBOPBlock - // properties inherited from BlockFenceGate: FACING, OPEN, POWERED, IN_WALL - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return new IProperty[] {POWERED}; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - // Map from woods to BlockBOPFenceGate instance and back - private static Map variantToBlock = new HashMap(); - public static BlockBOPFenceGate getBlock(BOPWoods wood) - { - return variantToBlock.get(wood); - } - protected BOPWoods wood; - public BOPWoods getWood() - { - return this.wood; - } - - - public BlockBOPFenceGate(BOPWoods wood) - { - super(BlockPlanks.EnumType.OAK); - - this.setHarvestLevel("axe", 0); - - this.wood = wood; - variantToBlock.put(wood, this); - - this.setHardness(2.0F); - this.setResistance(5.0F); - this.setSoundType(SoundType.WOOD); - } - - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.PLANKS.getFlammability(world, pos, face); - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.PLANKS.getFireSpreadSpeed(world, pos, face); - } -} - \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPFlesh.java b/src/main/java/biomesoplenty/common/block/BlockBOPFlesh.java deleted file mode 100644 index a9fd5e62b..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPFlesh.java +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.init.SoundEvents; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPFlesh extends Block implements IBOPBlock -{ - protected static final AxisAlignedBB FLESH_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.875D, 1.0D); - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPFlesh() { - super(Material.SPONGE); - this.setHardness(0.4F); - this.setHarvestLevel("axe", 0); - this.setSoundType(new SoundType(1.0F, 0.5F, SoundEvents.BLOCK_SLIME_BREAK, SoundEvents.BLOCK_SLIME_STEP, SoundEvents.BLOCK_SLIME_PLACE, SoundEvents.BLOCK_SLIME_HIT, SoundEvents.BLOCK_SLIME_FALL)); - } - - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) - { - return FLESH_AABB; - } - - @Override - public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) - { - // slow you slightly - entity.motionX *= 0.95D; - entity.motionZ *= 0.95D; - - } - - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - return BOPItems.fleshchunk; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - return MapColor.RED; - } - - @Override - public int quantityDropped(Random random) - { - return random.nextInt(3); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPFlower.java b/src/main/java/biomesoplenty/common/block/BlockBOPFlower.java deleted file mode 100644 index 2306890ba..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPFlower.java +++ /dev/null @@ -1,395 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.common.config.GameplayConfigurationHandler; -import biomesoplenty.common.item.ItemBOPFlower; -import biomesoplenty.common.util.block.VariantPagingHelper; -import net.minecraft.block.Block; -import net.minecraft.block.BlockSand; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.MobEffects; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemShears; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; -import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.IShearable; -import net.minecraftforge.fml.common.Optional; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import vazkii.botania.api.item.IHornHarvestable; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -@Optional.Interface(iface = "vazkii.botania.api.item.IHornHarvestable", modid = "botania") -public class BlockBOPFlower extends BlockBOPDecoration implements IShearable, IHornHarvestable -{ - - // setup paged variant property - - // All 4 bits are available for the VARIANT which means we can have sixteen per instance - public static VariantPagingHelper paging = new VariantPagingHelper(16, BOPFlowers.class); - - // Slightly naughty hackery here - // The constructor of Block() calls createBlockState() which needs to know the particular instance's variant property - // There is no way to set the individual block instance's variant property before this, because the super() has to be first - // So, we use the static variable currentVariantProperty to provide each instance access to its variant property during creation - private static IProperty currentVariantProperty; - - // Create an instance for each page - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPFlower()); - } - } - - // Each instance has a reference to its own variant property - public IProperty variantProperty; - - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; // get from static variable - return new BlockStateContainer(this, this.variantProperty); - } - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPFlower.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] { this.variantProperty }; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((BOPFlowers) state.getValue(this.variantProperty)).getName(); - } - - - public BlockBOPFlower() - { - super(); - this.setDefaultState( this.blockState.getBaseState() ); - } - - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(this.variantProperty, paging.getVariant(this, meta)); - } - @Override - public int getMetaFromState(IBlockState state) - { - BOPFlowers flower = (BOPFlowers) state.getValue(this.variantProperty); - return paging.getIndex(flower); - } - - // make sure the block drops the right type of flower - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state); - } - - // different variants have different sizes - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - BOPFlowers flower = (BOPFlowers) state.getValue(this.variantProperty); - switch (flower) - { - case CLOVER: - return new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.09375D, 0.9375D); - case SWAMPFLOWER: case VIOLET: case WHITE_ANEMONE: case BLUEBELLS: - return new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.4000000357627869D, 0.9375D); - case BLUE_HYDRANGEA: case BURNING_BLOSSOM: - return new AxisAlignedBB(0.20000001788D, 0.0D, 0.20000001788D, 0.79999998211D, 0.6000000238418579D, 0.79999998211D); - case ENDERLOTUS: case BROMELIAD: case PINK_HIBISCUS: case LILY_OF_THE_VALLEY: case LAVENDER: - return new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D); - default: - return new AxisAlignedBB(0.30000001192092896D, 0.0D, 0.30000001192092896D, 0.699999988079071D, 0.6000000238418579D, 0.699999988079071D); - } - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - switch ((BOPFlowers) state.getValue(this.variantProperty)) - { - case GOLDENROD: - return MapColor.YELLOW; - - case LAVENDER: - return MapColor.MAGENTA; - - default: - return this.blockMapColor; - } - } - - // some flowers emit light - @Override - public int getLightValue(IBlockState state) - { - switch ((BOPFlowers) state.getValue(this.variantProperty)) - { - case GLOWFLOWER: - return 9; - - case ENDERLOTUS: - return 5; - - case BURNING_BLOSSOM: - return 9; - - default: - return super.getLightValue(state); - } - } - - @Override - public void harvestBlock(World world, EntityPlayer player, BlockPos pos, IBlockState state, TileEntity tileentity, ItemStack stack) - { - super.harvestBlock(world, player, pos, state, tileentity, stack); - if (player.getHeldItem(EnumHand.MAIN_HAND) == null || !(player.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemShears)) - { - switch ((BOPFlowers) state.getValue(this.variantProperty)) - { - // suffer wither effect if you harvest deathbloom without shears - case DEATHBLOOM: - player.addPotionEffect(new PotionEffect(MobEffects.WITHER, 300)); - break; - - // catch on fire if you harvest burning_blossom without shears - case BURNING_BLOSSOM: - player.setFire(5); - break; - - default: - break; - } - } - } - - @Override - public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) - { - switch((BOPFlowers) state.getValue(this.variantProperty)) - { - // suffer wither effect if you walk on deathbloom - case DEATHBLOOM: - if (entity instanceof EntityLivingBase) { - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(MobEffects.WITHER, 200)); - } - break; - - // living entities get set on fire by burning_blossom - case BURNING_BLOSSOM: - if (entity instanceof EntityLivingBase) { - entity.setFire(1); - } - break; - - default: - break; - } - } - - - // add particle effects for deathbloom and burning_blossom - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) - { - switch((BOPFlowers) state.getValue(this.variantProperty)) - { - case DEATHBLOOM: - if (rand.nextInt(4) != 0) - world.spawnParticle(EnumParticleTypes.TOWN_AURA, pos.getX() + rand.nextFloat(), pos.getY() + rand.nextFloat(), pos.getZ() + rand.nextFloat(), 0.0D, 0.0D, 0.0D); - if (rand.nextInt(4) == 0) - world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + rand.nextFloat(), pos.getY() + rand.nextFloat(), pos.getZ() + rand.nextFloat(), 0.0D, 0.0D, 0.0D); - break; - - case BURNING_BLOSSOM: - if (rand.nextInt(2) == 0) - world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, pos.getX() + rand.nextFloat(), pos.getY() + rand.nextFloat(), pos.getZ() + rand.nextFloat(), 0.0D, 0.0D, 0.0D); - if (rand.nextInt(4) == 0) - world.spawnParticle(EnumParticleTypes.FLAME, pos.getX() + rand.nextFloat(), pos.getY() + rand.nextFloat(), pos.getZ() + rand.nextFloat(), 0.0D, 0.0D, 0.0D); - break; - - default: - break; - } - } - - - - // which types of flower can live on which types of block - @Override - public boolean canBlockStay(World world, BlockPos pos, IBlockState state) - { - IBlockState groundState = world.getBlockState(pos.down()); - Block groundBlock = groundState.getBlock(); - - boolean onFertile = (groundBlock == Blocks.DIRT || groundBlock == Blocks.FARMLAND || groundBlock == BOPBlocks.farmland_0 || groundBlock == BOPBlocks.farmland_1 || groundBlock == BOPBlocks.dirt || groundBlock == Blocks.GRASS); - boolean onDry = (groundBlock == Blocks.HARDENED_CLAY || groundBlock == BOPBlocks.sand || groundBlock == Blocks.SAND || groundBlock == BOPBlocks.white_sand); - boolean onNetherrack = (groundBlock == Blocks.NETHERRACK); - boolean onStone = (groundBlock == Blocks.STONE); - boolean onDriedSand = (groundBlock == BOPBlocks.dried_sand); - boolean onSpectralMoss = false; - - if (groundBlock instanceof BlockBOPGrass) - { - switch ((BlockBOPGrass.BOPGrassType) groundState.getValue(BlockBOPGrass.VARIANT)) - { - - case SPECTRAL_MOSS: - onSpectralMoss = true; - break; - case OVERGROWN_NETHERRACK: - onFertile = true; - onNetherrack = true; - break; - case MYCELIAL_NETHERRACK: - onNetherrack = true; - break; - case LOAMY: case SANDY: case SILTY: case ORIGIN: default: - onFertile = true; - break; - } - } - - switch ((BOPFlowers) state.getValue(this.variantProperty)) - { - case ENDERLOTUS: - return onSpectralMoss; - case BROMELIAD: - return onDry; - case WILTED_LILY: - return onDriedSand; - case BURNING_BLOSSOM: - return onNetherrack; - case MINERS_DELIGHT: - return onStone; - default: - return onFertile; - } - - } - - // - // The below three methods are used for the require shears setting - // - - @Override - public boolean isShearable(ItemStack item, IBlockAccess world, BlockPos pos) - { - return GameplayConfigurationHandler.flowerDropsNeedShears; - } - - @Override - public void dropBlockAsItemWithChance(World world, BlockPos pos, IBlockState state, float chance, int fortune) - { - EntityPlayer player = this.harvesters.get(); - - //Only check if shears are being using if the appropriate option is enabled, and it's a player harvesting this block - if (GameplayConfigurationHandler.flowerDropsNeedShears && player != null) - { - boolean usingShears = (player.getHeldItem(EnumHand.MAIN_HAND) != null && player.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemShears); - - //Player must use shears when flowerDropsNeedShears is enabled - if (!usingShears) - return; - } - - super.dropBlockAsItemWithChance(world, pos, state, chance, fortune); - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPFlowers flower = ((BOPFlowers) world.getBlockState(pos).getValue(this.variantProperty)); - switch (flower) - { - case BURNING_BLOSSOM: - return 0; - default: - return Blocks.RED_FLOWER.getFlammability(world, pos, face); - } - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPFlowers flower = ((BOPFlowers) world.getBlockState(pos).getValue(this.variantProperty)); - switch (flower) - { - case BURNING_BLOSSOM: - return 0; - default: - return Blocks.RED_FLOWER.getFireSpreadSpeed(world, pos, face); - } - } - - @Override - public List onSheared(ItemStack item, IBlockAccess world, BlockPos pos, int fortune) { return new ArrayList(); } - - @Override - @Optional.Method(modid = "botania") - public boolean canHornHarvest(World world, BlockPos pos, ItemStack stack, EnumHornType hornType) - { - if (hornType != EnumHornType.WILD) return false; - BOPFlowers flower = ((BOPFlowers) world.getBlockState(pos).getValue(this.variantProperty)); - switch (flower) - { - default: - return true; - } - } - - @Override - @Optional.Method(modid = "botania") - public boolean hasSpecialHornHarvest(World world, BlockPos pos, ItemStack stack, EnumHornType hornType) - { - return false; - } - - @Override - @Optional.Method(modid = "botania") - public void harvestByHorn(World world, BlockPos pos, ItemStack stack, EnumHornType hornType) - { - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPGem.java b/src/main/java/biomesoplenty/common/block/BlockBOPGem.java deleted file mode 100644 index 3dd05f2e8..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPGem.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemBlock; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPGem extends Block implements IBOPBlock -{ - // add properties - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", BOPGems.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, VARIANT);} - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((BOPGems) state.getValue(VARIANT)).getName() + "_block"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPGem() - { - super(Material.ROCK); - - // set some defaults - this.setHardness(5.0F); - this.setResistance(10.0F); - this.setSoundType(SoundType.METAL); - this.setHarvestLevel("pickaxe", 2); - this.setDefaultState( this.blockState.getBaseState().withProperty(VARIANT, BOPGems.AMETHYST) ); - } - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(VARIANT, BOPGems.values()[meta]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((BOPGems) state.getValue(VARIANT)).ordinal(); - } - - // our blocks usually drop their current state as opposed to a single 'default' state - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state); - } -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPGemOre.java b/src/main/java/biomesoplenty/common/block/BlockBOPGemOre.java deleted file mode 100644 index 74ed79536..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPGemOre.java +++ /dev/null @@ -1,121 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import static biomesoplenty.common.block.BlockBOPGem.VARIANT; - -import java.util.Random; - -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.item.ItemBOPBlock; -import biomesoplenty.common.util.block.BlockStateUtils; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPGemOre extends Block implements IBOPBlock -{ - - // add properties (note VARIANT is imported statically from the BlockGem class) - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, VARIANT);} - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((BOPGems) state.getValue(VARIANT)).getName() + "_ore"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPGemOre() - { - super(Material.ROCK); - - // set some defaults - this.setHardness(3.0F); - this.setResistance(5.0F); - this.setSoundType(SoundType.STONE); - this.setDefaultState( this.blockState.getBaseState().withProperty(VARIANT, BOPGems.AMETHYST) ); - - // all variants need pickaxe:2 to harvest, except amethyst which needs pickaxe:3 - for (IBlockState state : BlockStateUtils.getBlockPresets(this)) - { - this.setHarvestLevel("pickaxe", 2, state); - } - this.setHarvestLevel("pickaxe", 3, this.blockState.getBaseState().withProperty(VARIANT, BOPGems.AMETHYST)); - - } - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(VARIANT, BOPGems.values()[meta]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((BOPGems) state.getValue(VARIANT)).ordinal(); - } - - - // The 3 functions below, getItemDropped, quantityDroppedWithBonus and damageDropped work together to determine the drops - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - return BOPItems.gem; - } - @Override - public int quantityDroppedWithBonus(int fortune, Random random) - { - // returns a number between 1 and (fortune+1) - functionally identical to procedure for vanilla diamond drops, but simplified - return Math.max(0, random.nextInt(fortune + 2) - 1) + 1; - } - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state); - } - - // Drop some experience when gems are mined - @Override - public int getExpDrop(IBlockState state, IBlockAccess world, BlockPos pos, int fortune) - { - Random rand = world instanceof World ? ((World)world).rand : new Random(); - return MathHelper.getInt(rand, 3, 7); - } - -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPGeneric.java b/src/main/java/biomesoplenty/common/block/BlockBOPGeneric.java deleted file mode 100644 index 135c41955..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPGeneric.java +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.HashSet; -import java.util.Set; - -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPGeneric extends Block implements IBOPBlock, ISustainsPlantType -{ - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPGeneric() { - // use rock as default material - this(Material.ROCK, SoundType.STONE); - } - - public BlockBOPGeneric(Material material, SoundType soundType) - { - super(material); - // set some defaults - this.setHardness(1.0F); - this.setSoundType(soundType); - } - - - - public Set plantTypesICanSustain = new HashSet(); - - public BlockBOPGeneric addSupportedPlantType(EnumPlantType... plantTypes) - { - for (EnumPlantType plantType : plantTypes) - { - this.plantTypesICanSustain.add(plantType); - } - return this; - } - - @Override - public boolean canSustainPlantType(IBlockAccess world, BlockPos pos, EnumPlantType plantType) - { - return this.plantTypesICanSustain.contains(plantType); - } - - @Override - public boolean canSustainPlant(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing direction, net.minecraftforge.common.IPlantable plantable) - { - return this.canSustainPlantType(world, pos, plantable.getPlantType(world, pos.offset(direction))); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPGrass.java b/src/main/java/biomesoplenty/common/block/BlockBOPGrass.java deleted file mode 100644 index d74a9ecea..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPGrass.java +++ /dev/null @@ -1,554 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import javax.annotation.Nullable; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.BlockDirt; -import net.minecraft.block.BlockGrass; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.particle.ParticleManager; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.Explosion; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPlantType -{ - // add properties (note we also inherit the SNOWY property from BlockGrass) - public enum BOPGrassType implements IStringSerializable - { - SPECTRAL_MOSS, OVERGROWN_STONE, LOAMY, SANDY, SILTY, ORIGIN, OVERGROWN_NETHERRACK, DAISY, MYCELIAL_NETHERRACK; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", BOPGrassType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, SNOWY, VARIANT);} - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) { - BOPGrassType grassType = (BOPGrassType)state.getValue(VARIANT); - switch (grassType) - { - case SPECTRAL_MOSS: case OVERGROWN_NETHERRACK: case OVERGROWN_STONE: case MYCELIAL_NETHERRACK: - return grassType.getName(); - default: - return grassType.getName() + "_grass_block"; - } - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return BlockColoring.GRASS_COLORING; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return BlockColoring.BLOCK_ITEM_COLORING; } - - public BlockBOPGrass() - { - super(); - - // set some defaults - this.setDefaultState(this.blockState.getBaseState().withProperty(SNOWY, Boolean.valueOf(false)).withProperty(VARIANT, BOPGrassType.LOAMY)); - - } - - @Override - public IBlockState getStateFromMeta(int meta) - { - // only one property in meta to worry about, the variant, so just map according to integer index in BOPGrassType - return this.getDefaultState().withProperty(VARIANT, BOPGrassType.values()[meta]); - } - - @Override - public int getMetaFromState(IBlockState state) - { - // only one property in meta to worry about, the variant, so just map according to integer index in BOPGrassType - return ((BOPGrassType) state.getValue(VARIANT)).ordinal(); - } - - @Override - public SoundType getSoundType(IBlockState state, World world, BlockPos pos, @Nullable Entity entity) - { - switch ((BOPGrassType) state.getValue(VARIANT)) - { - // overgrown_netherrack supports Nether plants in addition to the defaults - case OVERGROWN_NETHERRACK: - case OVERGROWN_STONE: - case SPECTRAL_MOSS: - case MYCELIAL_NETHERRACK: - return SoundType.STONE; - - default: - return SoundType.PLANT; - } - } - - @Override - public Material getMaterial(IBlockState state) - { - switch ((BOPGrassType) state.getValue(VARIANT)) - { - // overgrown_netherrack supports Nether plants in addition to the defaults - case OVERGROWN_NETHERRACK: - case OVERGROWN_STONE: - case SPECTRAL_MOSS: - case MYCELIAL_NETHERRACK: - return Material.ROCK; - - default: - return Material.GRASS; - } - } - - @Override - public int getHarvestLevel(IBlockState state) - { - return 0; - } - - @Override - public String getHarvestTool(IBlockState state) - { - switch ((BOPGrassType) state.getValue(VARIANT)) - { - // overgrown_netherrack supports Nether plants in addition to the defaults - case OVERGROWN_NETHERRACK: - case OVERGROWN_STONE: - case SPECTRAL_MOSS: - case MYCELIAL_NETHERRACK: - return "pickaxe"; - - default: - return "shovel"; - } - } - - @Override - public float getBlockHardness(IBlockState state, World world, BlockPos pos) - { - switch ((BOPGrassType) state.getValue(VARIANT)) - { - // overgrown_netherrack supports Nether plants in addition to the defaults - case OVERGROWN_NETHERRACK: - case MYCELIAL_NETHERRACK: - return 0.4F; - - case OVERGROWN_STONE: - return 1.5F; - - case SPECTRAL_MOSS: - return 3.0F; - - default: - return 0.6F; - } - } - - @Override - public float getExplosionResistance(World world, BlockPos pos, Entity exploder, Explosion explosion) - { - IBlockState state = world.getBlockState(pos); - - switch ((BOPGrassType) state.getValue(VARIANT)) - { - // overgrown_netherrack supports Nether plants in addition to the defaults - case OVERGROWN_NETHERRACK: - case MYCELIAL_NETHERRACK: - return 0.1F; - - case OVERGROWN_STONE: - return 2.0F; - - case SPECTRAL_MOSS: - return 3.0F; - - default: - return 0.12F; - } - } - - @Override - public boolean canSustainPlantType(IBlockAccess world, BlockPos pos, EnumPlantType plantType) - { - - IBlockState state = world.getBlockState(pos); - - switch ((BOPGrassType) state.getValue(VARIANT)) - { - // overgrown_netherrack supports Nether plants in addition to the defaults - case OVERGROWN_NETHERRACK: - case MYCELIAL_NETHERRACK: - if (plantType == net.minecraftforge.common.EnumPlantType.Nether) {return true;} - break; - - default: break; - } - - // Note: EnumPlantType will be changed at runtime by other mods using a Forge functionality. - // switch() does NOT work with enums in that case, but will crash when encountering - // a value not known beforehand. - - // support desert, plains and cave plants - if (plantType == EnumPlantType.Desert || plantType == EnumPlantType.Plains || plantType == EnumPlantType.Cave) - { - return true; - } - if (plantType == EnumPlantType.Beach) - { - // support beach plants if there's water alongside - return ( - (!world.isAirBlock(pos.east()) && world.getBlockState(pos.east()).getMaterial() == Material.WATER) || - (!world.isAirBlock(pos.west()) && world.getBlockState(pos.west()).getMaterial() == Material.WATER) || - (!world.isAirBlock(pos.north()) && world.getBlockState(pos.north()).getMaterial() == Material.WATER) || - (!world.isAirBlock(pos.south()) && world.getBlockState(pos.south()).getMaterial() == Material.WATER) - ); - } - // don't support nether plants, water plants, or crops (require farmland), or anything else by default - return false; - } - - - @Override - public boolean canSustainPlant(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing direction, net.minecraftforge.common.IPlantable plantable) - { - if (plantable == Blocks.MELON_STEM || plantable == Blocks.PUMPKIN_STEM) - { - return true; - } - - return this.canSustainPlantType(world, pos, plantable.getPlantType(world, pos)); - } - - @Override - public IBlockState getStateForPlacement(World world, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) - { - IBlockState state = this.getStateFromMeta(meta); - switch ((BOPGrassType) state.getValue(VARIANT)) - { - default: - break; - } - return state; - } - - @Override - public void updateTick(World world, BlockPos pos, IBlockState state, Random rand) - { - this.spreadGrass(world, pos, state, rand, 4, 1, 3, 1); - } - - // spread grass to suitable nearby blocks - // tries - number of times to try and spread to a random nearby block - // xzSpread - how far can the grass spread in the x and z directions - // downSpread - how far can the grass spread downwards - // upSpread - how far can the grass spread upwards - public void spreadGrass(World world, BlockPos pos, IBlockState state, Random rand, int tries, int xzSpread, int downSpread, int upSpread) - { - - // if this block is covered, then turn it back to dirt (IE kill the grass) - if (world.getLightFromNeighbors(pos.up()) < 4 && world.getBlockState(pos.up()).getLightOpacity(world, pos.up()) > 2) - { - world.setBlockState(pos, getDirtBlockState(state)); - } - else - { - // if there's enough light from above, spread the grass randomly to nearby blocks of the correct dirt type - if (world.getLightFromNeighbors(pos.up()) >= 9) - { - for (int i = 0; i < tries; ++i) - { - // pick a random nearby position, and get the block, block state, and block above - BlockPos pos1 = pos.add(rand.nextInt(xzSpread * 2 + 1) - xzSpread, rand.nextInt(downSpread + upSpread + 1) - downSpread, rand.nextInt(xzSpread * 2 + 1) - xzSpread); - IBlockState target = world.getBlockState(pos1); - IBlockState blockAboveTarget = world.getBlockState(pos1.up()); - - // see if this type of grass can spread to the target block - IBlockState targetGrass = spreadsToGrass(state, target); - if (targetGrass == null) {break;} - - // if there's enough light, turn the block to the relevant grass block - if (world.getLightFromNeighbors(pos1.up()) >= 4 && blockAboveTarget.getLightOpacity(world, pos1.up()) <= 2) - { - world.setBlockState(pos1, targetGrass); - } - } - } - } - } - - - @Override - public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient) { - switch ((BOPGrassType) state.getValue(VARIANT)) - { - case SPECTRAL_MOSS: - case MYCELIAL_NETHERRACK: - return false; - - default: - return true; - } - } - - @Override - public boolean canUseBonemeal(World worldIn, Random rand, BlockPos pos, IBlockState state) { - switch ((BOPGrassType) state.getValue(VARIANT)) - { - case SPECTRAL_MOSS: - case MYCELIAL_NETHERRACK: - return false; - - default: - return true; - } - } - - // This is called when bonemeal is applied on the block - // The algorithm is functionally equivalent to the vanilla BlockGrass grow function, but has been rewritten to make its behavior clearer - // TODO: grows spreads from BOP grass to vanilla grass, need to find a way to make growth on vanilla grass also spread to BOP grass - @Override - public void grow(World worldIn, Random rand, BlockPos pos, IBlockState state) { - - BlockPos startPos = pos.up(); - BlockPos currPos; - - // 128 looks like a lot of tries, but many locations will be duplicated and many tries will be abandoned because the random walk hits a snag - for (int i = 0; i < 128; i++) { - - // go on a random walk away from the start position - abandon if we hit a block which can't spread the growth - // note walkLength increases gradually with i - so we attempt walks of different lengths - int walkLength = i / 16; - currPos = startPos; - boolean walkOk = true; - for (int j = 0; j < walkLength; j++) - { - // shift a random distance - currPos = currPos.add(rand.nextInt(3) - 1, (rand.nextInt(3) - 1) * rand.nextInt(3) / 2, rand.nextInt(3) - 1); - Block currBlockBelow = worldIn.getBlockState(currPos.down()).getBlock(); - if ( (currBlockBelow != Blocks.GRASS && currBlockBelow != BOPBlocks.grass) || worldIn.getBlockState(currPos).isNormalCube()) - { - // this block can't spread the growth - walkOk = false; - break; - } - } - - // try and grow something at currPos - if (walkOk && worldIn.isAirBlock(currPos)) { - if (rand.nextInt(8)==0) { - // with 1/8 probability, plant a flower - worldIn.getBiome(currPos).plantFlower(worldIn, rand, currPos); - } - else - { - // otherwise plant tall grass - IBlockState tallgrassState = Blocks.TALLGRASS.getDefaultState().withProperty(BlockTallGrass.TYPE, BlockTallGrass.EnumType.GRASS); - if (Blocks.TALLGRASS.canBlockStay(worldIn, currPos, tallgrassState)) - { - worldIn.setBlockState(currPos, tallgrassState); - } - } - } - } - } - - @SideOnly(Side.CLIENT) - @Override - public boolean addDestroyEffects(World world, BlockPos pos, ParticleManager effectRenderer) - { - IBlockState state = world.getBlockState(pos); - - if (state.getBlock() == this) - { - //Fixes grass block break particles - switch ((BOPGrassType) state.getValue(VARIANT)) - { - case LOAMY: case SANDY: case SILTY: - effectRenderer.addBlockDestroyEffects(pos, getDirtBlockState(state)); - return true; - } - } - - return false; - } - - // by default, getPickBlock uses damageDropped to determine the metadata of the block picked. This - // doesn't suit our case as the block dropped has a different metadata configuration from this block - @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) - { - return new ItemStack(this, 1, this.getMetaFromState(state)); - } - - // you need a silk touch tool to pick up grass-like blocks - by default they drop the corresponding 'dirt' type - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - switch ((BOPGrassType) state.getValue(VARIANT)) - { - case OVERGROWN_STONE: - return Item.getItemFromBlock(Blocks.COBBLESTONE.getDefaultState().getBlock()); - default: - return Item.getItemFromBlock(getDirtBlock(state)); - } - } - - // goes hand in hand with getItemDropped() above to determine precisely what is dropped - @Override - public int damageDropped(IBlockState state) - { - switch ((BOPGrassType) state.getValue(VARIANT)) - { - case OVERGROWN_STONE: - return 0; - default: - return getDirtBlockMeta(state); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) - { - super.randomDisplayTick(state, world, pos, rand); - - if (state.getValue(VARIANT) == BOPGrassType.MYCELIAL_NETHERRACK) - { - if (rand.nextInt(10) == 0) - { - world.spawnParticle(EnumParticleTypes.TOWN_AURA, (double)((float)pos.getX() + rand.nextFloat()), (double)((float)pos.getY() + 1.1F), (double)((float)pos.getZ() + rand.nextFloat()), 0.0D, 0.0D, 0.0D); - } - } - } - - // get the blockstate which corresponds to the type of dirt which this grass variant grows on - // this is used to determine what drops when you break the grass block, and the type of dirt it reverts to when covered - public static IBlockState getDirtBlockState(IBlockState state) - { - switch ((BOPGrassType) state.getValue(VARIANT)) - { - case SPECTRAL_MOSS: - return Blocks.END_STONE.getDefaultState(); - case LOAMY: - return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - case SANDY: - return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY); - case SILTY: - return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - case OVERGROWN_NETHERRACK: - case MYCELIAL_NETHERRACK: - return Blocks.NETHERRACK.getDefaultState(); - case OVERGROWN_STONE: - return Blocks.STONE.getDefaultState(); - case ORIGIN: case DAISY: default: - return Blocks.DIRT.getStateFromMeta(BlockDirt.DirtType.DIRT.getMetadata()); - } - } - - public static Block getDirtBlock(IBlockState state) - { - return getDirtBlockState(state).getBlock(); - } - - public static int getDirtBlockMeta(IBlockState state) - { - return getDirtBlock(state).getMetaFromState(getDirtBlockState(state)); - } - - - // if the source type of grass can spread to the target block, return the grass which it will transform into - // otherwise return null - // this affects the grass spreading algorithm above, BlockBOPGrass.spreadGrass() - public static IBlockState spreadsToGrass(IBlockState source, IBlockState target) { - - switch ((BOPGrassType) source.getValue(VARIANT)) - { - case SPECTRAL_MOSS: - case OVERGROWN_NETHERRACK: - case OVERGROWN_STONE: - case MYCELIAL_NETHERRACK: - break; - - // loamy/sandy/silty grasses spread to any kind of dirt - case LOAMY: case SANDY: case SILTY: - // vanilla dirt gets vanilla grass spread to it - if (target.getBlock() == Blocks.DIRT && target.getValue(BlockDirt.VARIANT) == BlockDirt.DirtType.DIRT) - { - return Blocks.GRASS.getDefaultState(); - } - // BOP dirt get's the corresponding BOP grass spread to it (unless it's coarse - grass doesn't grow on coarse dirt) - if (target.getBlock() == BOPBlocks.dirt) - { - return BlockBOPDirt.getGrassBlockState(target); - } - break; - - // origin grass spreads to any kind of dirt - case ORIGIN: - if ((target.getBlock() == Blocks.DIRT && target.getValue(BlockDirt.VARIANT) == BlockDirt.DirtType.DIRT) || (target.getBlock() == BOPBlocks.dirt && Boolean.FALSE.equals(target.getValue(BlockBOPDirt.COARSE)))) - { - return BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.ORIGIN); - } - break; - - case DAISY: - if ((target.getBlock() == Blocks.DIRT && target.getValue(BlockDirt.VARIANT) == BlockDirt.DirtType.DIRT) || (target.getBlock() == BOPBlocks.dirt && Boolean.FALSE.equals(target.getValue(BlockBOPDirt.COARSE)))) - { - return BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.DAISY); - } - break; - } - return null; - } -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPGrassPath.java b/src/main/java/biomesoplenty/common/block/BlockBOPGrassPath.java deleted file mode 100644 index 12d30e0eb..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPGrassPath.java +++ /dev/null @@ -1,133 +0,0 @@ -package biomesoplenty.common.block; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.common.item.ItemBOPBlock; -import biomesoplenty.common.util.block.VariantPagingHelper; -import net.minecraft.block.Block; -import net.minecraft.block.BlockDirt; -import net.minecraft.block.BlockGrassPath; -import net.minecraft.block.SoundType; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import java.util.Random; - -public class BlockBOPGrassPath extends BlockGrassPath implements IBOPBlock -{ - public static VariantPagingHelper paging = new VariantPagingHelper(3, BlockBOPDirt.BOPDirtType.class); - - private static IProperty currentVariantProperty; - - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPGrassPath()); - } - } - - public IProperty variantProperty; - - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; - return new BlockStateContainer(this, this.variantProperty); - } - - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] { this.variantProperty }; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) { - return "grass_" + ((BlockBOPDirt.BOPDirtType) state.getValue(this.variantProperty)).getName() + "_path"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPGrassPath() { - super(); - this.setHardness(0.65F); - this.setSoundType(SoundType.PLANT); - this.disableStats(); - this.useNeighborBrightness = true; - this.setHarvestLevel("shovel", 0); - } - - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(this.variantProperty, paging.getVariant(this, Math.min(2, meta & 7))); - } - - @Override - public int getMetaFromState(IBlockState state) - { - BlockBOPDirt.BOPDirtType dirt = (BlockBOPDirt.BOPDirtType) state.getValue(this.variantProperty); - return paging.getIndex(dirt); - } - - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - return Item.getItemFromBlock(BOPBlocks.dirt); - } - - @Override - public int damageDropped(IBlockState state) - { - return BOPBlocks.dirt.getMetaFromState(this.getDirtBlockState(state)); - } - - @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) - { - return new ItemStack(this, 1, BOPBlocks.dirt.getMetaFromState(this.getDirtBlockState(world.getBlockState(pos)))); - } - - @Override - public void neighborChanged(IBlockState state, World world, BlockPos pos, Block blockIn, BlockPos neighborPos) - { - if (world.getBlockState(pos.up()).getMaterial().isSolid()) - { - world.setBlockState(pos, this.getDirtBlockState(world.getBlockState(pos))); - } - } - - public IBlockState getDirtBlockState(IBlockState state) - { - switch ((BlockBOPDirt.BOPDirtType) state.getValue(this.variantProperty)) - { - case LOAMY: - return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY); - case SANDY: - return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY); - case SILTY: - return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY); - default: - return Blocks.DIRT.getStateFromMeta(BlockDirt.DirtType.DIRT.getMetadata()); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPHalfOtherSlab.java b/src/main/java/biomesoplenty/common/block/BlockBOPHalfOtherSlab.java deleted file mode 100644 index 5cc72ea36..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPHalfOtherSlab.java +++ /dev/null @@ -1,207 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.List; - -import com.google.common.collect.ImmutableSet; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.common.block.BlockBOPWhiteSandstone.StoneType; -import biomesoplenty.common.util.block.BlockStateUtils; -import net.minecraft.block.BlockSlab; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.NonNullList; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - - -public class BlockBOPHalfOtherSlab extends BlockSlab implements IBOPBlock -{ - - // add properties - public enum SlabType implements IStringSerializable - { - MUD_BRICK, WHITE_SANDSTONE; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - - // get this slab's corresponding full block blockstate - public IBlockState fullBlockState() - { - IBlockState state = null; - switch (this) - { - case MUD_BRICK: - state = BOPBlocks.mud_brick_block.getDefaultState(); - break; - case WHITE_SANDSTONE: - state = BOPBlocks.white_sandstone.getDefaultState().withProperty(BlockBOPWhiteSandstone.VARIANT, StoneType.SMOOTH); - break; - default: - throw new RuntimeException("No full block state defined for SlabType " + this.name()); - } - return state; - } - } - - // add properties (note we inherit HALF property from parent BlockSlab) - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", SlabType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, HALF, VARIANT);} - - - // implement IBOPBlock - @Override - public Class getItemClass() { return null; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] { VARIANT }; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((SlabType) state.getValue(VARIANT)).getName() + "_slab"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public IBlockState getFullBlockVariantState(SlabType type) - { - return type.fullBlockState(); - } - - public ItemStack getFullBlockVariantItem(SlabType type) - { - return this.getFullBlockVariantItem(type, 1); - } - - public ItemStack getFullBlockVariantItem(SlabType type, int howMany) - { - IBlockState state = type.fullBlockState(); - return new ItemStack(state.getBlock(), howMany, state.getBlock().damageDropped(state)); - } - - public ItemStack getVariantItem(SlabType type) - { - return this.getVariantItem(type, 1); - } - - public ItemStack getVariantItem(SlabType type, int howMany) - { - IBlockState state = this.getDefaultState().withProperty(VARIANT, type); - return new ItemStack(this, howMany, this.damageDropped(state)); - } - - - public BlockBOPHalfOtherSlab() - { - super(Material.ROCK); - this.useNeighborBrightness = true; - this.setSoundType(SoundType.STONE); - // TODO: should depend on variant really, but that's quite hard to achieve... - this.setHardness(2.0F).setResistance(7.0F); - this.setDefaultState(this.blockState.getBaseState().withProperty(HALF, BlockSlab.EnumBlockHalf.BOTTOM)); - } - - @Override - public String getHarvestTool(IBlockState state) - { - IBlockState fullBlockState = ((SlabType)state.getValue(VARIANT)).fullBlockState(); - return fullBlockState.getBlock().getHarvestTool(fullBlockState); - } - @Override - public int getHarvestLevel(IBlockState state) - { - IBlockState fullBlockState = ((SlabType)state.getValue(VARIANT)).fullBlockState(); - return fullBlockState.getBlock().getHarvestLevel(fullBlockState); - } - - // these 3 functions are required by BlockSlab for setting up the corresponding ItemSlab - @Override - public String getUnlocalizedName(int meta) - { - return "tile." + this.getStateName(this.getStateFromMeta(meta)); - } - @Override - public IProperty getVariantProperty() - { - return VARIANT; - } - @Override - public Comparable getTypeForItem(ItemStack stack) - { - return SlabType.values()[stack.getMetadata() & 7]; - } - - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(VARIANT, SlabType.values()[meta & 7]).withProperty(HALF, (meta & 8) == 0 ? BlockSlab.EnumBlockHalf.BOTTOM : BlockSlab.EnumBlockHalf.TOP); - } - @Override - public int getMetaFromState(IBlockState state) - { - SlabType type = (SlabType)state.getValue(VARIANT); - return (state.getValue(HALF) == BlockSlab.EnumBlockHalf.TOP ? 8 : 0) + type.ordinal(); - } - - @Override - public int damageDropped(IBlockState state) - { - // always drop a bottom slab - return this.getMetaFromState(state.withProperty(HALF, BlockSlab.EnumBlockHalf.BOTTOM)); - } - - @Override - public boolean isDouble() { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(CreativeTabs tab, NonNullList list) - { - // get the preset blocks variants - ImmutableSet presets = BlockStateUtils.getBlockPresets(this); - // register all the sub-blocks - for (IBlockState state : presets) - { - list.add(new ItemStack(this, 1, this.getMetaFromState(state))); - } - } -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPHalfWoodSlab.java b/src/main/java/biomesoplenty/common/block/BlockBOPHalfWoodSlab.java deleted file mode 100644 index 618f64fff..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPHalfWoodSlab.java +++ /dev/null @@ -1,187 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.List; - -import com.google.common.collect.ImmutableSet; - -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.util.block.BlockStateUtils; -import biomesoplenty.common.util.block.VariantPagingHelper; -import net.minecraft.block.BlockSlab; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.NonNullList; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - - -public class BlockBOPHalfWoodSlab extends BlockSlab implements IBOPBlock -{ - - // setup paged variant property - - // HALF requires one bit, so we have 3 bits left for the VARIANT which means we can have eight per instance - public static VariantPagingHelper paging = new VariantPagingHelper(8, BOPWoods.class, BOPWoods.withPlanks); - - // Slightly naughty hackery here - // The constructor of Block() calls createBlockState() which needs to know the particular instance's variant property - // There is no way to set the individual block instance's variant property before this, because the super() has to be first - // So, we use the static variable currentVariantProperty to provide each instance access to its variant property during creation - private static IProperty currentVariantProperty; - - // Create an instance for each page - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPHalfWoodSlab()); - } - - } - - // Each instance has a reference to its own variant property - public IProperty variantProperty; - - // add properties (note we inherit HALF property from parent BlockSlab) - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; // get from static variable - return new BlockStateContainer(this, HALF, this.variantProperty); - } - - // implement IBOPBlock - @Override - public Class getItemClass() { return null; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {this.variantProperty}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((BOPWoods) state.getValue(this.variantProperty)).getName() + "_wood_slab"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - private BlockBOPHalfWoodSlab() - { - super(Material.WOOD); - this.useNeighborBrightness = true; - this.setHardness(2.0F).setResistance(5.0F); - this.setSoundType(SoundType.WOOD); - this.setHarvestLevel("axe", 0); - this.setDefaultState(this.blockState.getBaseState().withProperty(HALF, BlockSlab.EnumBlockHalf.BOTTOM)); - } - - - // these 3 functions are required by BlockSlab for setting up the corresponding ItemSlab - @Override - public String getUnlocalizedName(int meta) - { - return "tile." + this.getStateName(this.getStateFromMeta(meta)); - } - @Override - public IProperty getVariantProperty() - { - return this.variantProperty; - } - @Override - public Comparable getTypeForItem(ItemStack stack) - { - return paging.getVariant(this, stack.getMetadata() & 7); - } - - - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(this.variantProperty, paging.getVariant(this, meta & 7)).withProperty(HALF, (meta & 8) == 0 ? BlockSlab.EnumBlockHalf.BOTTOM : BlockSlab.EnumBlockHalf.TOP); - } - @Override - public int getMetaFromState(IBlockState state) - { - BOPWoods wood = (BOPWoods) state.getValue(this.variantProperty); - return (state.getValue(HALF) == BlockSlab.EnumBlockHalf.TOP ? 8 : 0) + paging.getIndex(wood); - } - - @Override - public int damageDropped(IBlockState state) - { - // always drop a bottom slab - return this.getMetaFromState(state.withProperty(HALF, BlockSlab.EnumBlockHalf.BOTTOM)); - } - - @Override - public boolean isDouble() { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(CreativeTabs tab, NonNullList list) - { - // get the preset blocks variants - ImmutableSet presets = BlockStateUtils.getBlockPresets(this); - // register all the sub-blocks - for (IBlockState state : presets) - { - list.add(new ItemStack(this, 1, this.getMetaFromState(state))); - } - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPWoods wood = ((BOPWoods) world.getBlockState(pos).getValue(this.variantProperty)); - switch (wood) - { - case HELLBARK: - return 0; - default: - return Blocks.WOODEN_SLAB.getFlammability(world, pos, face); - } - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPWoods wood = ((BOPWoods) world.getBlockState(pos).getValue(this.variantProperty)); - switch (wood) - { - case HELLBARK: - return 0; - default: - return Blocks.WOODEN_SLAB.getFireSpreadSpeed(world, pos, face); - } - } -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPHive.java b/src/main/java/biomesoplenty/common/block/BlockBOPHive.java deleted file mode 100644 index 4b40fc956..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPHive.java +++ /dev/null @@ -1,184 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.entities.EntityWasp; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPHive extends Block implements IBOPBlock -{ - - // add properties - public enum HiveType implements IStringSerializable - { - HIVE, HONEYCOMB, EMPTY_HONEYCOMB, FILLED_HONEYCOMB; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", HiveType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, VARIANT);} - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((HiveType) state.getValue(VARIANT)).getName() + "_block"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPHive() - { - super(Material.WOOD); - - // set some defaults - this.setHardness(0.5F); - this.setSoundType(SoundType.PLANT); - this.setHarvestLevel("axe", 0); - this.setDefaultState( this.blockState.getBaseState().withProperty(VARIANT, HiveType.HIVE) ); - } - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(VARIANT, HiveType.values()[meta]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((HiveType) state.getValue(VARIANT)).ordinal(); - } - - @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) - { - return new ItemStack(this, 1, this.getMetaFromState(state)); - } - - // The 3 functions below, getItemDropped, quantityDropped and damageDropped work together to determine the drops - // HIVE: 1 hive block - // HONEYCOMB: 1-4 x honeycomb item - // EMPTY_HONEYCOMB: nothing (and a wasp is spawned) - // FILLED_HONEYCOMB: 0-3 x filled_coneycomb item - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - switch ((HiveType) state.getValue(VARIANT)) - { - case HONEYCOMB: - return BOPItems.honeycomb; - - case FILLED_HONEYCOMB: - return BOPItems.filled_honeycomb; - - case HIVE: case EMPTY_HONEYCOMB: default: - return super.getItemDropped(state,rand,fortune); - } - } - @Override - public int quantityDropped(IBlockState state, int fortune, Random random) - { - switch ((HiveType) state.getValue(VARIANT)) - { - case HONEYCOMB: - return 1 + random.nextInt(3); - - case FILLED_HONEYCOMB: - return random.nextInt(2); - - case EMPTY_HONEYCOMB: - return 0; - - case HIVE: default: - return 1; - } - } - @Override - public int damageDropped(IBlockState state) - { - switch ((HiveType) state.getValue(VARIANT)) - { - case HONEYCOMB: case FILLED_HONEYCOMB: - return 0; - - case EMPTY_HONEYCOMB: case HIVE: default: - return this.getMetaFromState(state); - } - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - return MapColor.YELLOW_STAINED_HARDENED_CLAY; - } - - // spawn a wasp when empty honeycomb is broken - @Override - public void breakBlock(World worldIn, BlockPos pos, IBlockState state) - { - switch ((HiveType) state.getValue(VARIANT)) - { - case EMPTY_HONEYCOMB: - EntityWasp wasp = new EntityWasp(worldIn); - wasp.setLocationAndAngles((double)pos.getX() + 0.6D, (double)pos.getY(), (double)pos.getZ() + 0.3D, 0.0F, 0.0F); - worldIn.spawnEntity(wasp); - break; - - default: - break; - } - super.breakBlock(worldIn, pos, state); - } -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPHoney.java b/src/main/java/biomesoplenty/common/block/BlockBOPHoney.java deleted file mode 100644 index 144fc83bf..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPHoney.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPHoney extends Block implements IBOPBlock -{ - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPHoney() { - super(Material.GLASS); - this.setHardness(0.5F); - this.setHarvestLevel("pickaxe", 0); - this.setSoundType(SoundType.STONE); - } - - @Override - @SideOnly(Side.CLIENT) - public BlockRenderLayer getBlockLayer() - { - return BlockRenderLayer.TRANSLUCENT; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - return MapColor.YELLOW; - } - - @Override - public boolean isOpaqueCube(IBlockState state) - { - return false; - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPLeaves.java b/src/main/java/biomesoplenty/common/block/BlockBOPLeaves.java deleted file mode 100644 index 6abea7a5e..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPLeaves.java +++ /dev/null @@ -1,421 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.item.ItemBOPBlock; -import biomesoplenty.common.util.block.VariantPagingHelper; -import com.google.common.collect.Lists; -import net.minecraft.block.BlockLeaves; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.StatList; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.NonNullList; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.ColorizerFoliage; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeColorHelper; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import javax.annotation.Nullable; -import java.util.List; -import java.util.Random; - -// TODO: using fast graphics - transparent color is always rendered as black - can we override this somehow? -// TODO: using fast graphics - flowering leaves overlay seems to be tinted green - I think that is because it doesn't use distinct tintindexes on fast graphics -// In older versions a completely different single texture could be used for fast graphics, but I'm not sure that's an option any more -public class BlockBOPLeaves extends BlockLeaves implements IBOPBlock -{ - - // setup paged variant property - - // CHECK_DECAY and DECAYABLE require one bit each, so we have 2 bits left for the VARIANT which means we can have four per instance - public static VariantPagingHelper paging = new VariantPagingHelper(4, BOPTrees.class); - - // Slightly naughty hackery here - // The constructor of Block() calls createBlockState() which needs to know the particular instance's variant property - // There is no way to set the individual block instance's variant property before this, because the super() has to be first - // So, we use the static variable currentVariantProperty to provide each instance access to its variant property during creation - private static IProperty currentVariantProperty; - - // Create an instance for each page - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPLeaves()); - } - - } - - // Each instance has a reference to its own variant property - public IProperty variantProperty; - - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; // get from static variable - return new BlockStateContainer(this, CHECK_DECAY, DECAYABLE, this.variantProperty); - } - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {this.variantProperty}; } - @Override - public IProperty[] getNonRenderingProperties() { return new IProperty[] {CHECK_DECAY, DECAYABLE}; } - @Override - public String getStateName(IBlockState state) - { - BOPTrees tree = ((BOPTrees) state.getValue(this.variantProperty)); - switch (tree) - { - case RED_BIG_FLOWER: case YELLOW_BIG_FLOWER: - return tree.getName() + "_petal"; - default: - return tree.getName() + "_leaves"; - } - } - - public enum ColoringType {PLAIN, TINTED, OVERLAY} - - public static ColoringType getColoringType(BOPTrees tree) - { - switch (tree) - { - case BAMBOO: case UMBRAN: case DEAD: case ETHEREAL: case FIR: case HELLBARK: case JACARANDA: case MAGIC: case MAPLE: case ORANGE_AUTUMN: case ORIGIN: case PINK_CHERRY: case REDWOOD: case WHITE_CHERRY: case YELLOW_AUTUMN: case RED_BIG_FLOWER: case YELLOW_BIG_FLOWER: - return ColoringType.PLAIN; - case FLOWERING: - return ColoringType.OVERLAY; - case MAHOGANY: case MANGROVE: case PALM: case PINE: case SACRED_OAK: case WILLOW: case EBONY: case EUCALYPTUS: default: - return ColoringType.TINTED; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() - { - return new IBlockColor() - { - @Override - public int colorMultiplier(IBlockState state, IBlockAccess world, BlockPos pos, int tintIndex) - { - boolean inWorld = world != null && pos != null; - - switch (getColoringType((BOPTrees) state.getValue(BlockBOPLeaves.this.variantProperty))) - { - case TINTED: - return inWorld ? BiomeColorHelper.getFoliageColorAtPos(world, pos) : ColorizerFoliage.getFoliageColorBasic(); - case OVERLAY: - if (tintIndex == 0) - return inWorld ? BiomeColorHelper.getFoliageColorAtPos(world, pos) : ColorizerFoliage.getFoliageColorBasic(); - //Otherwise fall-through - default: - return 0xFFFFFF; - } - } - }; - } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return BlockColoring.BLOCK_ITEM_COLORING; } - - private BlockBOPLeaves() - { - super(); - this.setDefaultState(this.blockState.getBaseState().withProperty(CHECK_DECAY, Boolean.valueOf(true)).withProperty(DECAYABLE, Boolean.valueOf(true))); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(CreativeTabs tab, NonNullList list) {} - - // map from meta to state and vice verca. Use the same scheme as for the vanilla leaf blocks - // highest bit is for CHECK_DECAY true=>1 false=>0 - // next bit is for DECAYABLE true=>0 false=>1 (other way round this time! cheers Mojang) - // low 2 bits for VARIANT - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(this.variantProperty, paging.getVariant(this, meta & 3)).withProperty(DECAYABLE, Boolean.valueOf((meta & 4) == 0)).withProperty(CHECK_DECAY, Boolean.valueOf((meta & 8) > 0)); - } - @Override - public int getMetaFromState(IBlockState state) - { - BOPTrees tree = (BOPTrees) state.getValue(this.variantProperty); - int meta = paging.getIndex(tree); - if (!state.getValue(DECAYABLE).booleanValue()) - { - meta |= 4; - } - if (state.getValue(CHECK_DECAY).booleanValue()) - { - meta |= 8; - } - return meta; - } - - // blocks that are not placed during generation should not decay - @Override - public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) - { - return this.getStateFromMeta(meta).withProperty(CHECK_DECAY, Boolean.valueOf(false)).withProperty(DECAYABLE, Boolean.valueOf(false)); - } - - // Inventory models are set only for the default states of leaves. Consequently, we modify the states for player placed leaves when they are - // actually placed, not when they are in the inventory. We cannot change the default properties whilst reusing code from BlockLeaves. - @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) - { - return new ItemStack(this, 1, this.getMetaFromState(this.getDefaultState().withProperty(this.variantProperty, state.getValue(this.variantProperty)))); - } - - // leaves in the inventory should not be decayable - //TODO REMOVE - @Override - protected ItemStack getSilkTouchDrop(IBlockState state) - { - IBlockState newState = state.withProperty(CHECK_DECAY, Boolean.valueOf(false)).withProperty(DECAYABLE, Boolean.valueOf(false)); - - return super.getSilkTouchDrop(newState); - } - - @Override - protected int getSaplingDropChance(IBlockState state) - { - return 20; - } - - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - BOPTrees treeType = ((BOPTrees) state.getValue(this.variantProperty)); - return treeType.hasSapling() ? Item.getItemFromBlock( BlockBOPSapling.paging.getBlock(treeType) ) : null; - } - - @Override - public int damageDropped(IBlockState state) - { - BOPTrees treeType = ((BOPTrees) state.getValue(this.variantProperty)); - return treeType.hasSapling() ? BlockBOPSapling.paging.getVariantItem(treeType).getItemDamage() : 0; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - switch ((BOPTrees) state.getValue(this.variantProperty)) - { - case YELLOW_AUTUMN: - return MapColor.YELLOW; - - case ORANGE_AUTUMN: - return MapColor.ADOBE; - - case MAGIC: - return MapColor.LIGHT_BLUE; - - case UMBRAN: - return MapColor.BLUE_STAINED_HARDENED_CLAY; - - case DEAD: - return MapColor.BROWN; - - case PINK_CHERRY: - return MapColor.PINK; - - case WHITE_CHERRY: - return MapColor.WHITE_STAINED_HARDENED_CLAY; - - case MAPLE: - return MapColor.PINK_STAINED_HARDENED_CLAY; - - case RED_BIG_FLOWER: - return MapColor.RED; - - case YELLOW_BIG_FLOWER: - return MapColor.YELLOW; - - case JACARANDA: - return MapColor.PURPLE; - - default: - return this.blockMapColor; - } - } - - @Override - public List getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) - { - BOPTrees treeType = ((BOPTrees) state.getValue(this.variantProperty)); - - if (treeType.hasSapling()) - { - return super.getDrops(world, pos, state, fortune); - } - - //Tree types without saplings shouldn't drop apples either - return Lists.newArrayList(); - } - - // TODO: different fruits for different trees? - @Override - protected void dropApple(World worldIn, BlockPos pos, IBlockState state, int chance) - { - // chance will initially be related to fortune as follows: 0 => 200, 1 => 180, 2 => 160, 3 => 120, 4+ => 40 - ItemStack fruit = null; - - BOPTrees tree = ((BOPTrees) state.getValue(this.variantProperty)); - switch (tree) - { - case FLOWERING: case JACARANDA: case MAHOGANY: - if (worldIn.rand.nextInt(chance) == 0) - { - fruit = new ItemStack(BOPItems.peach, 1, 0); - } - break; - case MANGROVE: case WILLOW: - if (worldIn.rand.nextInt(chance) == 0) - { - fruit = new ItemStack(BOPItems.pear, 1, 0); - } - break; - case YELLOW_AUTUMN: case ORANGE_AUTUMN: case MAPLE: case DEAD: - if (worldIn.rand.nextInt(chance) == 0) - { - fruit = new ItemStack(BOPItems.persimmon, 1, 0); - } - break; - case ORIGIN: - if (worldIn.rand.nextInt(chance) == 0) - { - fruit = new ItemStack(Items.APPLE, 1, 0); - } - break; - default: - break; - } - - if (fruit != null) { - spawnAsEntity(worldIn, pos, fruit); - } - } - - @Override - public void harvestBlock(World worldIn, EntityPlayer player, BlockPos pos, IBlockState state, @Nullable TileEntity te, @Nullable ItemStack stack) - { - if (!worldIn.isRemote && stack != null && stack.getItem() == Items.SHEARS) - { - player.addStat(StatList.getBlockStats(this)); - } - else - { - super.harvestBlock(worldIn, player, pos, state, te, stack); - } - } - - @Override - public List onSheared(ItemStack item, IBlockAccess world, BlockPos pos, int fortune) - { - List ret = new java.util.ArrayList(); - IBlockState state = world.getBlockState(pos); - if (state.getBlock() == this) - { - // get default state corresponding to this tree (IE discard CHECK_DECAY and DECAYABLE bits for item meta) - BOPTrees tree = (BOPTrees)state.getValue(this.variantProperty); - int meta = this.getMetaFromState(this.getDefaultState().withProperty(this.variantProperty, tree)); - ret.add(new ItemStack(this, 1, meta)); - } - return ret; - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPTrees tree = ((BOPTrees) world.getBlockState(pos).getValue(this.variantProperty)); - switch (tree) - { - case HELLBARK: - return 0; - default: - return Blocks.LEAVES.getFlammability(world, pos, face); - } - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPTrees tree = ((BOPTrees) world.getBlockState(pos).getValue(this.variantProperty)); - switch (tree) - { - case HELLBARK: - return 0; - default: - return Blocks.LEAVES.getFireSpreadSpeed(world, pos, face); - } - } - - - //The fields used by getBlockLayer(), isOpaqueCube() and shouldSideBeRendered are set externally for Blocks.LEAVES *specifically*. As a result, we do not inherit - //it simply be extending BlockLeaves. - @Override - @SideOnly(Side.CLIENT) - public BlockRenderLayer getBlockLayer() - { - return Blocks.LEAVES.getBlockLayer(); - } - - @Override - public boolean isOpaqueCube(IBlockState state) - { - return Blocks.LEAVES.isOpaqueCube(state); - } - - @SideOnly(Side.CLIENT) - @Override - public boolean shouldSideBeRendered(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) - { - return Blocks.LEAVES.shouldSideBeRendered(state, world, pos, side); - } - - // We are forced to implement the method below in order to extend the BlockLeaves abstract class - // ...however, we don't actually use it anywhere so it's safe to just return null - // it makes no sense in our context - @Override - public BlockPlanks.EnumType getWoodType(int meta) {return null;} - - -} - - \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPLilypad.java b/src/main/java/biomesoplenty/common/block/BlockBOPLilypad.java deleted file mode 100644 index 9d668f09a..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPLilypad.java +++ /dev/null @@ -1,131 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.common.item.ItemBOPLilypad; -import net.minecraft.block.BlockLilyPad; -import net.minecraft.block.BlockLiquid; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPLilypad extends BlockLilyPad implements IBOPBlock -{ - - // add properties - public enum LilypadType implements IStringSerializable - { - MEDIUM, SMALL, TINY, FLOWER; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", LilypadType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, VARIANT);} - - - // implement IBOPBlock - // need to use a custom item class because of the unique way lilies are placed - @Override - public Class getItemClass() { return ItemBOPLilypad.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) { - LilypadType type = (LilypadType) state.getValue(VARIANT); - - return "lily_"+type.getName(); - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() - { - return new IBlockColor() - { - @Override - public int colorMultiplier(IBlockState state, IBlockAccess world, BlockPos pos, int tintIndex) - { - if (tintIndex == 0) - { - boolean inWorld = world != null && pos != null; - - switch ((LilypadType) state.getValue(VARIANT)) - { - //Vanilla lilys have different colouring in the inventory and in the world. We just include - //the differences in the texture itself for ours - case FLOWER: - return inWorld ? 2129968 : 7455580; - } - } - - return 0xFFFFFF; - } - }; - } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPLilypad() - { - this.setSoundType(SoundType.PLANT); - this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT, LilypadType.MEDIUM)); - } - - @Override - public IBlockState getStateFromMeta(int meta) - { - // only one property to worry about, the variant, so just map [0 => MEDIUM, 1 => SMALL, 2 => TINY] - return this.getDefaultState().withProperty(VARIANT, LilypadType.values()[meta]); - } - - @Override - public int getMetaFromState(IBlockState state) - { - // only one property to worry about, the variant, so just map [0 => MEDIUM, 1 => SMALL, 2 => TINY] - return ((LilypadType) state.getValue(VARIANT)).ordinal(); - } - - // our blocks usually drop their current state as opposed to a single 'default' state - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state); - } - - @Override - public net.minecraftforge.common.EnumPlantType getPlantType(net.minecraft.world.IBlockAccess world, BlockPos pos) - { - return net.minecraftforge.common.EnumPlantType.Water; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPLog.java b/src/main/java/biomesoplenty/common/block/BlockBOPLog.java deleted file mode 100644 index b6f4d5f6b..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPLog.java +++ /dev/null @@ -1,152 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.item.ItemBOPBlock; -import biomesoplenty.common.util.block.VariantPagingHelper; -import net.minecraft.block.BlockLog; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.NonNullList; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import java.util.List; - -public class BlockBOPLog extends BlockLog implements IBOPBlock -{ - - // setup paged variant property - - // LOG_AXIS requires two bits, so we have 2 bits left for the VARIANT which means we can have four per instance - public static VariantPagingHelper paging = new VariantPagingHelper(4, BOPWoods.class); - - // Slightly naughty hackery here - // The constructor of Block() calls createBlockState() which needs to know the particular instance's variant property - // There is no way to set the individual block instance's variant property before this, because the super() has to be first - // So, we use the static variable currentVariantProperty to provide each instance access to its variant property during creation - private static IProperty currentVariantProperty; - - // Create an instance for each page - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPLog()); - } - } - - // Each instance has a reference to its own variant property - public IProperty variantProperty; - - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; // get from static variable - return new BlockStateContainer(this, LOG_AXIS, this.variantProperty); - } - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {this.variantProperty}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - BOPWoods wood = (BOPWoods) state.getValue(this.variantProperty); - switch (wood) - { - case GIANT_FLOWER: - return wood.getName() + "_stem"; - default: - return wood.getName() + "_log"; - } - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - private BlockBOPLog() - { - super(); - this.setDefaultState(this.blockState.getBaseState().withProperty(LOG_AXIS, BlockLog.EnumAxis.Y)); - this.setHarvestLevel("axe", 0); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(CreativeTabs tab, NonNullList list) {} - - // map from state to meta and vice verca - use high 2 bits for LOG_AXIS, low 2 bits for VARIANT - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(LOG_AXIS, BlockLog.EnumAxis.values()[meta >> 2]).withProperty(this.variantProperty, paging.getVariant(this, meta & 3)); - } - @Override - public int getMetaFromState(IBlockState state) - { - BOPWoods wood = (BOPWoods) state.getValue(this.variantProperty); - return state.getValue(LOG_AXIS).ordinal() * 4 + paging.getIndex(wood); - } - - // discard the axis information - otherwise logs facing different directions would not stack together - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state.withProperty(LOG_AXIS, BlockLog.EnumAxis.Y)); - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPWoods wood = ((BOPWoods) world.getBlockState(pos).getValue(this.variantProperty)); - switch (wood) - { - case HELLBARK: - return 0; - default: - return Blocks.LOG.getFlammability(world, pos, face); - } - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPWoods wood = ((BOPWoods) world.getBlockState(pos).getValue(this.variantProperty)); - switch (wood) - { - case HELLBARK: - return 0; - default: - return Blocks.LOG.getFireSpreadSpeed(world, pos, face); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPMud.java b/src/main/java/biomesoplenty/common/block/BlockBOPMud.java deleted file mode 100644 index 951f2fcd0..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPMud.java +++ /dev/null @@ -1,151 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.List; -import java.util.Random; - -import javax.annotation.Nullable; - -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.init.SoundEvents; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPMud extends Block implements IBOPBlock, ISustainsPlantType -{ - protected static final AxisAlignedBB MUD_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.875D, 1.0D); - - // add properties - public enum MudType implements IStringSerializable - { - MUD; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", MudType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, VARIANT);} - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((MudType) state.getValue(VARIANT)).getName(); - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPMud() { - - // TODO: use a custom material and sount type for mud? A squelching sound? - super(Material.GROUND); - - // set some defaults - this.setHarvestLevel("shovel", 0); - this.setHardness(0.6F); - this.setSoundType(new SoundType(1.0F, 0.5F, SoundEvents.BLOCK_SLIME_BREAK, SoundEvents.BLOCK_SLIME_STEP, SoundEvents.BLOCK_SLIME_PLACE, SoundEvents.BLOCK_SLIME_HIT, SoundEvents.BLOCK_SLIME_FALL)); - this.setDefaultState( this.blockState.getBaseState().withProperty(VARIANT, MudType.MUD) ); - } - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(VARIANT, MudType.values()[meta]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((MudType) state.getValue(VARIANT)).ordinal(); - } - - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) - { - return MUD_AABB; - } - - @Override - public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) - { - entity.motionX *= 0.4D; - entity.motionZ *= 0.4D; - } - - // drop 4 balls of mud instead of one block - @Override - public Item getItemDropped(IBlockState state, Random rand, int fortune) - { - return BOPItems.mudball; - } - - @Override - public int quantityDropped(Random random) - { - return 4; - } - - @Override - public boolean canSustainPlantType(IBlockAccess world, BlockPos pos, EnumPlantType plantType) - { - return false; - } - - - @Override - public boolean canSustainPlant(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing direction, net.minecraftforge.common.IPlantable plantable) - { - return this.canSustainPlantType(world, pos, plantable.getPlantType(world, pos.offset(direction))); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPMushroom.java b/src/main/java/biomesoplenty/common/block/BlockBOPMushroom.java deleted file mode 100644 index 1f62b1013..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPMushroom.java +++ /dev/null @@ -1,138 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -// TODO: mushroom spreading? giant mushrooms with bonemeal? mushrooms popping if too bright? -public class BlockBOPMushroom extends BlockBOPDecoration -{ - // add properties - public enum MushroomType implements IStringSerializable - { - TOADSTOOL, PORTOBELLO, BLUE_MILK_CAP, GLOWSHROOM, FLAT_MUSHROOM, SHADOW_SHROOM; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", MushroomType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, VARIANT);} - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((MushroomType) state.getValue(VARIANT)).getName(); - } - - - public BlockBOPMushroom() - { - // set some defaults - //this.setBlockBoundsByRadiusAndHeight(0.2F, 0.4F); - this.setDefaultState( this.blockState.getBaseState().withProperty(VARIANT, MushroomType.TOADSTOOL) ); - } - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(VARIANT, MushroomType.values()[meta]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((MushroomType) state.getValue(VARIANT)).ordinal(); - } - - // glowshrooms emit light - @Override - public int getLightValue(IBlockState state) - { - switch ((MushroomType) state.getValue(VARIANT)) - { - case GLOWSHROOM: - return 6; - default: - return super.getLightValue(state); - } - } - - // different variants have different sizes - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - MushroomType plant = (MushroomType) state.getValue(VARIANT); - switch (plant) - { - case GLOWSHROOM: case SHADOW_SHROOM: - return new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D); - case TOADSTOOL: case FLAT_MUSHROOM: - return new AxisAlignedBB(0.20000001788D, 0.0D, 0.20000001788D, 0.79999998211D, 0.6000000238418579D, 0.79999998211D); - default: - return new AxisAlignedBB(0.30000001192092896D, 0.0D, 0.30000001192092896D, 0.699999988079071D, 0.4000000059604645D, 0.699999988079071D); - } - } - - // which types of mushroom can live on which types of block - @Override - public boolean canBlockStay(World world, BlockPos pos, IBlockState state) - { - switch ((MushroomType) state.getValue(VARIANT)) - { - case TOADSTOOL: - return BlockQueries.fertileOrNetherrack.matches(world, pos.down()); - case GLOWSHROOM: - return (BlockQueries.sustainsCave.matches(world, pos.down()) || BlockQueries.sustainsNether.matches(world, pos.down()) || world.getBlockState(pos.down()).getBlock() == Blocks.STONE); - case SHADOW_SHROOM: - return BlockQueries.endish.matches(world, pos.down()); - default: - return BlockQueries.fertileOrNetherrack.matches(world, pos.down()); - } - } - - @Override - @SideOnly(Side.CLIENT) - public Block.EnumOffsetType getOffsetType() - { - return Block.EnumOffsetType.NONE; - } - -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPPlanks.java b/src/main/java/biomesoplenty/common/block/BlockBOPPlanks.java deleted file mode 100644 index 45cf197e6..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPPlanks.java +++ /dev/null @@ -1,141 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.item.ItemBOPBlock; -import biomesoplenty.common.util.block.VariantPagingHelper; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPPlanks extends Block implements IBOPBlock -{ - - // setup paged variant property - - // All 4 meta bits available for the VARIANT which means we can have sixteen per instance - public static VariantPagingHelper paging = new VariantPagingHelper(16, BOPWoods.class, BOPWoods.withPlanks); - - // Slightly naughty hackery here - // The constructor of Block() calls createBlockState() which needs to know the particular instance's variant property - // There is no way to set the individual block instance's variant property before this, because the super() has to be first - // So, we use the static variable currentVariantProperty to provide each instance access to its variant property during creation - private static IProperty currentVariantProperty; - - // Create an instance for each page - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPPlanks()); - } - - } - - // Each instance has a reference to its own variant property - public IProperty variantProperty; - - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; // get from static variable - return new BlockStateContainer(this, this.variantProperty); - } - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {this.variantProperty}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - return ((BOPWoods) state.getValue(this.variantProperty)).getName() + "_planks"; - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPPlanks() - { - super(Material.WOOD); - this.setDefaultState(this.blockState.getBaseState()); - this.setHardness(2.0F).setResistance(5.0F); - this.setSoundType(SoundType.WOOD); - this.setHarvestLevel("axe", 0); - } - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(this.variantProperty, paging.getVariant(this, meta)); - } - @Override - public int getMetaFromState(IBlockState state) - { - BOPWoods wood = (BOPWoods) state.getValue(this.variantProperty); - return paging.getIndex(wood); - } - - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state); - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPWoods wood = ((BOPWoods) world.getBlockState(pos).getValue(this.variantProperty)); - switch (wood) - { - case HELLBARK: - return 0; - default: - return Blocks.PLANKS.getFlammability(world, pos, face); - } - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPWoods wood = ((BOPWoods) world.getBlockState(pos).getValue(this.variantProperty)); - switch (wood) - { - case HELLBARK: - return 0; - default: - return Blocks.PLANKS.getFireSpreadSpeed(world, pos, face); - } - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPPlant.java b/src/main/java/biomesoplenty/common/block/BlockBOPPlant.java deleted file mode 100644 index 54fd723d3..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPPlant.java +++ /dev/null @@ -1,577 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.item.ItemBOPPlant; -import biomesoplenty.common.util.block.VariantPagingHelper; -import net.minecraft.block.Block; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.particle.ParticleManager; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.init.MobEffects; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemShears; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; -import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ColorizerFoliage; -import net.minecraft.world.ColorizerGrass; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeColorHelper; -import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.common.IShearable; -import net.minecraftforge.common.util.FakePlayer; -import net.minecraftforge.fml.common.Optional; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import vazkii.botania.api.item.IHornHarvestable; - -import java.util.List; -import java.util.Random; - -// TODO: pick block? - -@Optional.Interface(iface = "vazkii.botania.api.item.IHornHarvestable", modid = "botania") -public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHornHarvestable -{ - - // setup paged variant property - - // All 4 meta bits available for VARIANT which means we can have sixteen per instance - public static VariantPagingHelper paging = new VariantPagingHelper(16, BOPPlants.class); - - // Slightly naughty hackery here - // The constructor of Block() calls createBlockState() which needs to know the particular instance's variant property - // There is no way to set the individual block instance's variant property before this, because the super() has to be first - // So, we use the static variable currentVariantProperty to provide each instance access to its variant property during creation - private static IProperty currentVariantProperty; - - // Create an instance for each page - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPPlant()); - } - - } - - // Each instance has a reference to its own variant property - public IProperty variantProperty; - - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; // get from static variable - return new BlockStateContainer(this, this.variantProperty); - } - - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPPlant.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] { this.variantProperty }; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - BOPPlants plant = (BOPPlants) state.getValue(this.variantProperty); - switch (plant) - { - default: - return plant.getName(); - } - } - - public enum ColoringType {PLAIN, LIKE_LEAVES, LIKE_GRASS} - - public static ColoringType getColoringType(BOPPlants plant) - { - switch (plant) - { - case SHRUB: case LEAFPILE: case POISONIVY: case BUSH: case BERRYBUSH: - return ColoringType.LIKE_LEAVES; - case SHORTGRASS: case MEDIUMGRASS: case SPROUT: case KORU: case CLOVERPATCH: case WHEATGRASS: case DAMPGRASS: case DEVILWEED: - return ColoringType.LIKE_GRASS; - default: - return ColoringType.PLAIN; - } - } - - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() - { - return new IBlockColor() - { - @Override - public int colorMultiplier(IBlockState state, IBlockAccess world, BlockPos pos, int tintIndex) - { - boolean inWorld = world != null && pos != null; - - switch (getColoringType((BOPPlants) state.getValue(BlockBOPPlant.this.variantProperty))) - { - case LIKE_LEAVES: - return inWorld ? BiomeColorHelper.getFoliageColorAtPos(world, pos) : ColorizerFoliage.getFoliageColorBasic(); - - case LIKE_GRASS: - return inWorld ? BiomeColorHelper.getGrassColorAtPos(world, pos) : ColorizerGrass.getGrassColor(0.5D, 1.0D); - } - - return 0xFFFFFF; - } - }; - } - - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() - { - return (stack, tintIndex) -> { - IBlockState state = ((ItemBlock)stack.getItem()).getBlock().getStateFromMeta(stack.getMetadata()); - - switch ((BOPPlants) state.getValue(BlockBOPPlant.this.variantProperty)) - { - case BUSH: case BERRYBUSH: case SHRUB: - return 0xFFFFFF; - - default: - return BlockBOPPlant.this.getBlockColor().colorMultiplier(state, null, null, tintIndex); - } - }; - } - - private BlockBOPPlant() - { - super(); - this.setDefaultState( this.blockState.getBaseState() ); - } - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(this.variantProperty, paging.getVariant(this, meta)); - } - @Override - public int getMetaFromState(IBlockState state) - { - BOPPlants plant = (BOPPlants) state.getValue(this.variantProperty); - return paging.getIndex(plant); - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - switch ((BOPPlants) state.getValue(this.variantProperty)) - { - case DEADGRASS: - return MapColor.BROWN; - - case DESERTGRASS: - return MapColor.ORANGE_STAINED_HARDENED_CLAY; - - case THORN: - return MapColor.SILVER_STAINED_HARDENED_CLAY; - - case BARLEY: - return MapColor.YELLOW; - - case RAFFLESIA: - return MapColor.RED; - - default: - return this.blockMapColor; - } - } - - // get the items dropped when you bash the bush - @Override - public List getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) - { - Random rand = world instanceof World ? ((World)world).rand : RANDOM; - - // start with an empty stack - List ret = new java.util.ArrayList(); - - // add items based on the VARIANT - BOPPlants plant = (BOPPlants) state.getValue(this.variantProperty); - switch (plant) - { - case SHORTGRASS: case MEDIUMGRASS: case WHEATGRASS: case DAMPGRASS: - if (rand.nextInt(8) == 0) - { - // 1 in 8 chance of getting a seed from this grass - ret.add(ForgeHooks.getGrassSeed(rand, fortune)); - } - break; - - case SPROUT: - if (rand.nextInt(50) == 0) - { - // in in 50 chance of getting a carrot or potato from SPROUT - ret.add(new ItemStack(rand.nextInt(2) == 0 ? Items.CARROT : Items.POTATO)); - } - break; - - case BERRYBUSH: - // BERRYBUSH always drops berries - ret.add(new ItemStack(BOPItems.berries)); - break; - - case WILDRICE: - // wildrice drops itself only 1 in 5 times - if (rand.nextInt(5) == 0) - { - ret.add(paging.getVariantItem(plant)); - } - break; - - case BARLEY: - if (rand.nextInt(3) == 0) - { - // 1 in 8 chance of getting a seed from this grass - ret.add(new ItemStack(Items.WHEAT_SEEDS)); - } - break; - - case CATTAIL: case RIVERCANE: case TINYCACTUS: case REED: case ROOT: case RAFFLESIA: - // these variants drop themselves as items - ret.add(paging.getVariantItem(plant)); - break; - - default: - // the rest drop nothing - break; - } - return ret; - - } - - @Override - public boolean isReplaceable(IBlockAccess world, BlockPos pos) - { - IBlockState state = world.getBlockState(pos); - BOPPlants plant = (BOPPlants) state.getValue(this.variantProperty); - - switch (plant) - { - case THORN: case WILDRICE: case CATTAIL: case RIVERCANE: case TINYCACTUS: case RAFFLESIA: - return false; - - default: - return true; - } - } - - // different variants have different sizes - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - BOPPlants plant = (BOPPlants) state.getValue(this.variantProperty); - switch (plant) - { - case CLOVERPATCH: case RAFFLESIA: - return new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.4000000357627869D, 0.9375D); - case LEAFPILE: case DEADLEAFPILE: - return new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.09375D, 0.9375D); - case SHORTGRASS: case DESERTGRASS: case DESERTSPROUTS: - return new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.4000000357627869D, 0.8999999761581421D); - case TINYCACTUS: - return new AxisAlignedBB(0.30000001192092896D, 0.0D, 0.30000001192092896D, 0.699999988079071D, 0.6000000238418579D, 0.699999988079071D); - case ROOT: - return new AxisAlignedBB(0.09999999403953552D, 0.199999988079071D, 0.09999999403953552D, 0.8999999761581421D, 1.0D, 0.8999999761581421D); - default: - return new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D); - } - } - - - @Override - public boolean canBlockStay(World world, BlockPos pos, IBlockState state) - { - BOPPlants plant = ((BOPPlants) state.getValue(this.variantProperty)); - Block blockAbove = world.getBlockState(pos.up()).getBlock(); - - switch (plant) - { - case DEADGRASS: case DESERTGRASS: - return BlockQueries.litDry.matches(world, pos.down()) || BlockQueries.sustainsNether.matches(world, pos.down()); - case TINYCACTUS: case DESERTSPROUTS: - return BlockQueries.litDry.matches(world, pos.down()) || BlockQueries.litFertile.matches(world, pos.down()); - case DUNEGRASS: - return BlockQueries.litSand.matches(world, pos.down()); - case SPECTRALFERN: - return BlockQueries.spectralMoss.matches(world, pos.down()); - case THORN: - return BlockQueries.fertileOrNetherrack.matches(world, pos.down()) || BlockQueries.sustainsNether.matches(world, pos.down()); - case CATTAIL: - return BlockQueries.litFertileWaterside.matches(world, pos.down()); - case RIVERCANE: - // river cane can also be placed on top of itself - return BlockQueries.litFertileWaterside.matches(world, pos.down()) || (world.getBlockState(pos.down()) == state); - case DEVILWEED: - return BlockQueries.fertile.matches(world, pos.down()); - case REED: - return BlockQueries.suitableForReed.matches(world, pos.down()); - case ROOT: - // roots hang down - check against block above - return BlockQueries.fertile.matches(world, pos.up()); - case LEAFPILE: case DEADLEAFPILE: - return BlockQueries.solid.matches(world, pos.down()); - default: - return BlockQueries.litFertile.matches(world, pos.down()); - } - } - - - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) - { - switch ((BOPPlants) state.getValue(this.variantProperty)) - { - // poison ivy throws up occasional spell particles - case POISONIVY: - if (rand.nextInt(32)==0) - { - world.spawnParticle(EnumParticleTypes.SPELL_MOB, (double)((float)pos.getX() + rand.nextFloat()), (double)((float)pos.getY() + 1.1F), (double)((float)pos.getZ() + rand.nextFloat()), 0.0D, 0.0D, 0.0D); - } - break; - - default: - break; - } - super.randomDisplayTick(state, world, pos, rand); - } - - - @Override - public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) - { - super.updateTick(worldIn, pos, state, rand); - switch ((BOPPlants) state.getValue(this.variantProperty)) - { - case BUSH: - // every now and then berries grow on a bush - if (rand.nextInt(80) == 0 && worldIn.getLightFromNeighbors(pos.up()) >= 9) - { - worldIn.setBlockState(pos, paging.getVariantState(BOPPlants.BERRYBUSH)); - } - break; - - default: - break; - } - } - - - @Override - public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) - { - switch ((BOPPlants) state.getValue(this.variantProperty)) - { - case POISONIVY: - // poison ivy poisons players who walk into it, unless they're wearing boots and pants - if (entity instanceof EntityPlayer) { - InventoryPlayer inventory = ((EntityPlayer)entity).inventory; - if (inventory.armorInventory.get(0) != ItemStack.EMPTY && inventory.armorInventory.get(1) != ItemStack.EMPTY) { - break; - } - ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(MobEffects.POISON, 100)); - } - break; - case THORN: case TINYCACTUS: - // thorns and tiny cacti damage players who walk into them, unless they're wearing boots and pants - if (entity instanceof EntityPlayer) { - InventoryPlayer inventory = ((EntityPlayer)entity).inventory; - if (inventory.armorInventory.get(0) != ItemStack.EMPTY && inventory.armorInventory.get(1) != ItemStack.EMPTY) { - break; - } - entity.attackEntityFrom(DamageSource.CACTUS, 1); - } - break; - default: - break; - } - } - - @Override - public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) - { - switch ((BOPPlants) state.getValue(this.variantProperty)) - { - case BERRYBUSH: - // an activated berry bush turns into a regular bush and drops a berry - worldIn.setBlockState(pos, paging.getVariantState(BOPPlants.BUSH)); - EntityItem berries = new EntityItem(worldIn, (double)pos.getX(), (double)pos.getY(), (double)pos.getZ(), new ItemStack(BOPItems.berries)); - if (!worldIn.isRemote) - { - worldIn.spawnEntity(berries); - if (!(playerIn instanceof FakePlayer)) - { - berries.onCollideWithPlayer(playerIn); - } - } - return true; - } - return super.onBlockActivated(worldIn, pos, state, playerIn, hand, side, hitX, hitY, hitZ); - } - - - @Override - public boolean isShearable(ItemStack item, IBlockAccess world, BlockPos pos) { - IBlockState state = world.getBlockState(pos); - switch ((BOPPlants) state.getValue(this.variantProperty)) - { - case CATTAIL: case RIVERCANE: - return false; - default: - return true; - } - } - - @Override - public List onSheared(ItemStack item, IBlockAccess world, BlockPos pos, int fortune) { - - // start with an empty stack - List ret = new java.util.ArrayList(); - - // add items based on the VARIANT - BOPPlants plant = ((BOPPlants) world.getBlockState(pos).getValue(this.variantProperty)); - switch (plant) - { - case CATTAIL: case RIVERCANE: case TINYCACTUS: case REED: case ROOT: - // these items drop themselves as items when the block is broken (from getDrops), so we don't want to add anything else for using shears - break; - - case BERRYBUSH: - // BERRYBUSH gives a regular bush when sheared (note this is in addition to the berry from getDrops) - ret.add(paging.getVariantItem(BOPPlants.BUSH)); - // ret.add(new ItemStack(BOPItems.berries, 1)); - break; - - default: - // for everything else, get the block as an item - ret.add(paging.getVariantItem(plant)); - break; - } - return ret; - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPPlants plant = ((BOPPlants) world.getBlockState(pos).getValue(this.variantProperty)); - switch (plant) - { - case WILDRICE: - return 0; - case CATTAIL: - return 0; - case RIVERCANE: - return 0; - case DEVILWEED: - return 0; - case REED: - return 0; - case ROOT: - return 0; - case RAFFLESIA: - return 0; - default: - return Blocks.TALLGRASS.getFlammability(world, pos, face); - } - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - BOPPlants plant = ((BOPPlants) world.getBlockState(pos).getValue(this.variantProperty)); - switch (plant) - { - case WILDRICE: - return 0; - case CATTAIL: - return 0; - case RIVERCANE: - return 0; - case DEVILWEED: - return 0; - case REED: - return 0; - case ROOT: - return 0; - case RAFFLESIA: - return 0; - default: - return Blocks.TALLGRASS.getFireSpreadSpeed(world, pos, face); - } - } - - @Override - @Optional.Method(modid = "botania") - public boolean canHornHarvest(World world, BlockPos pos, ItemStack stack, EnumHornType hornType) - { - if (hornType != EnumHornType.WILD) return false; - BOPPlants plant = ((BOPPlants) world.getBlockState(pos).getValue(this.variantProperty)); - switch (plant) - { - case BUSH: - case BERRYBUSH: - case RIVERCANE: - case TINYCACTUS: - return false; - default: - return true; - } - } - - @Override - @Optional.Method(modid = "botania") - public boolean hasSpecialHornHarvest(World world, BlockPos pos, ItemStack stack, EnumHornType hornType) - { - return false; - } - - @Override - @Optional.Method(modid = "botania") - public void harvestByHorn(World world, BlockPos pos, ItemStack stack, EnumHornType hornType) - { - } - -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPSapling.java b/src/main/java/biomesoplenty/common/block/BlockBOPSapling.java deleted file mode 100644 index 20b0b6c07..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPSapling.java +++ /dev/null @@ -1,364 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.block.BlockBOPMushroom.MushroomType; -import biomesoplenty.common.item.ItemBOPSapling; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.VariantPagingHelper; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorBulbTree; -import biomesoplenty.common.world.generator.tree.GeneratorMahoganyTree; -import biomesoplenty.common.world.generator.tree.GeneratorMangroveTree; -import biomesoplenty.common.world.generator.tree.GeneratorPalmTree; -import biomesoplenty.common.world.generator.tree.GeneratorPineTree; -import biomesoplenty.common.world.generator.tree.GeneratorRedwoodTree; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; -import net.minecraft.block.Block; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.IGrowable; -import net.minecraft.block.SoundType; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyInteger; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenTrees; -import net.minecraft.world.gen.feature.WorldGenerator; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.IPlantable; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPSapling extends BlockBOPDecoration implements IGrowable, IPlantable { - - protected static final AxisAlignedBB BOUNDING_BOX = new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D); - - // setup paged variant property - - // STAGE requires one bit, so we have 3 bits left for the VARIANT which means we can have eight per instance - public static VariantPagingHelper paging = new VariantPagingHelper(8, BOPTrees.class, BOPTrees.withSaplings); - - // Slightly naughty hackery here - // The constructor of Block() calls createBlockState() which needs to know the particular instance's variant property - // There is no way to set the individual block instance's variant property before this, because the super() has to be first - // So, we use the static variable currentVariantProperty to provide each instance access to its variant property during creation - private static IProperty currentVariantProperty; - - // Create an instance for each page - public static void createAllPages() - { - int numPages = paging.getNumPages(); - for (int i = 0; i < numPages; ++i) - { - currentVariantProperty = paging.getVariantProperty(i); - paging.addBlock(i, new BlockBOPSapling()); - } - } - - // Each instance has a reference to its own variant property - public IProperty variantProperty; - - public static final PropertyInteger STAGE = PropertyInteger.create("stage", 0, 1); - - @Override - protected BlockStateContainer createBlockState() - { - this.variantProperty = currentVariantProperty; // get from static variable - return new BlockStateContainer(this, STAGE, this.variantProperty); - } - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPSapling.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {this.variantProperty}; } - @Override - public IProperty[] getNonRenderingProperties() { return new IProperty[] {STAGE}; } - @Override - public String getStateName(IBlockState state) - { - return ((BOPTrees) state.getValue(this.variantProperty)).getName() + "_sapling"; - } - - - public BlockBOPSapling() - { - super(); - this.setSoundType(SoundType.PLANT); - //this.setBlockBoundsByRadiusAndHeight(0.4F, 0.8F); - this.setDefaultState(this.blockState.getBaseState().withProperty(STAGE, Integer.valueOf(0))); - } - - - // map from meta to state and vice verca. Use the highest bit for STAGE and the other 3 for VARIANT (so we can have 8 per instance) - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(this.variantProperty, paging.getVariant(this, meta & 7)).withProperty(STAGE, Integer.valueOf(meta >> 3)); - } - @Override - public int getMetaFromState(IBlockState state) - { - BOPTrees tree = (BOPTrees)state.getValue(this.variantProperty); - return state.getValue(STAGE).intValue() * 8 + paging.getIndex(tree); - } - - // which types of mushroom can live on which types of block - @Override - public boolean canBlockStay(World world, BlockPos pos, IBlockState state) - { - switch ((BOPTrees) state.getValue(this.variantProperty)) - { - case PALM: case MANGROVE: - return BlockQueries.fertileOrSand.matches(world, pos.down()); - default: - return BlockQueries.fertile.matches(world, pos.down()); - } - } - - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - return BOUNDING_BOX; - } - - @Override - public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) - { - if (!worldIn.isRemote) - { - super.updateTick(worldIn, pos, state, rand); - if (worldIn.getLightFromNeighbors(pos.up()) >= 9 && rand.nextInt(7) == 0) - { - this.grow(worldIn, rand, pos, state); - } - } - } - - @Override - public int damageDropped(IBlockState state) - { - //We don't want item drops to have metadata for the stage - return this.getMetaFromState(state) & 7; - } - - @Override - @SideOnly(Side.CLIENT) - public Block.EnumOffsetType getOffsetType() - { - return Block.EnumOffsetType.NONE; - } - - - - /***** stuff for growing trees *****/ - - - // TODO: specify generator for each sapling - protected WorldGenerator getSmallTreeGenerator(BOPTrees treeType) - { - switch (treeType) - { - case YELLOW_AUTUMN: - return new GeneratorBasicTree.Builder().log(BlockPlanks.EnumType.BIRCH).leaves(BOPTrees.YELLOW_AUTUMN).minHeight(5).maxHeight(8).updateNeighbours(true).create(); - case ORANGE_AUTUMN: - return new GeneratorBasicTree.Builder().log(BlockPlanks.EnumType.DARK_OAK).leaves(BOPTrees.ORANGE_AUTUMN).minHeight(5).maxHeight(8).updateNeighbours(true).create(); - case BAMBOO: - return new GeneratorBulbTree.Builder().minHeight(6).maxHeight(18).log(BOPBlocks.bamboo.getDefaultState()).leaves(BOPTrees.BAMBOO).updateNeighbours(true).create(); - case MAGIC: - return new GeneratorBasicTree.Builder().log(BOPWoods.MAGIC).leaves(BOPTrees.MAGIC).updateNeighbours(true).create(); - case UMBRAN: - return new GeneratorTaigaTree.Builder().log(BOPWoods.UMBRAN).leaves(BOPTrees.UMBRAN).maxHeight(20).updateNeighbours(true).create(); - case DEAD: - return new GeneratorBasicTree.Builder().log(BlockPlanks.EnumType.OAK).leaves(BOPTrees.DEAD).minHeight(5).maxHeight(8).updateNeighbours(true).create(); - case FIR: - return new GeneratorTaigaTree.Builder().log(BOPWoods.FIR).leaves(BOPTrees.FIR).minHeight(5).maxHeight(28).updateNeighbours(true).create(); - case ETHEREAL: //Not implemented - return new WorldGenTrees(true); - case ORIGIN: - return new GeneratorBasicTree.Builder().minHeight(5).maxHeight(8).leaves(BOPTrees.ORIGIN).updateNeighbours(true).create(); - case PINK_CHERRY: - return new GeneratorBasicTree.Builder().log(BOPWoods.CHERRY).leaves(BOPTrees.PINK_CHERRY).updateNeighbours(true).create(); - case WHITE_CHERRY: - return new GeneratorBasicTree.Builder().log(BOPWoods.CHERRY).leaves(BOPTrees.WHITE_CHERRY).updateNeighbours(true).create(); - case MAPLE: - return new GeneratorBasicTree.Builder().log(BlockPlanks.EnumType.OAK).leaves(BOPTrees.MAPLE).minHeight(5).maxHeight(10).updateNeighbours(true).create(); - case HELLBARK: - return new GeneratorTwigletTree.Builder().scatterYMethod(ScatterYMethod.NETHER_SURFACE).minHeight(2).maxHeight(2).log(BlockBOPLog.paging.getVariantState(BOPWoods.HELLBARK)).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.HELLBARK)).create(); - case FLOWERING: - return new GeneratorBasicTree.Builder().altLeaves(BOPTrees.FLOWERING).updateNeighbours(true).create(); - case JACARANDA: - return new GeneratorBasicTree.Builder().minHeight(4).maxHeight(7).log(BOPWoods.JACARANDA).leaves(BOPTrees.JACARANDA).updateNeighbours(true).create(); - case SACRED_OAK: - return new GeneratorBigTree.Builder().log(BOPWoods.SACRED_OAK).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.SACRED_OAK).withProperty(BlockOldLeaf.DECAYABLE, Boolean.valueOf(false))).minHeight(35).maxHeight(45).trunkWidth(2).foliageDensity(1.25D).updateNeighbours(true).create(); - case MANGROVE: - return new GeneratorMangroveTree.Builder().log(BOPWoods.MANGROVE).leaves(BOPTrees.MANGROVE).create(); - case PALM: - return new GeneratorPalmTree.Builder().log(BOPWoods.PALM).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.PALM).withProperty(BlockOldLeaf.DECAYABLE, Boolean.valueOf(false))).updateNeighbours(true).create(); - case REDWOOD: - return new GeneratorRedwoodTree.Builder().create(); - case WILLOW: - return new GeneratorBasicTree.Builder().log(BOPWoods.WILLOW).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.WILLOW).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false))).minHeight(8).maxHeight(12).maxLeavesRadius(2).vine(BOPBlocks.willow_vine.getDefaultState()).leavesOffset(0).updateNeighbours(true).create(); - case PINE: - return new GeneratorPineTree.Builder().minHeight(6).maxHeight(18).log(BOPWoods.PINE).leaves(BOPTrees.PINE).updateNeighbours(true).create(); - case MAHOGANY: - return new GeneratorMahoganyTree.Builder().updateNeighbours(true).create(); - case EBONY: - return new GeneratorBigTree.Builder().log(BOPWoods.EBONY).leaves(BOPTrees.EBONY).minHeight(4).maxHeight(10).foliageHeight(1).updateNeighbours(true).create(); - case EUCALYPTUS: - return new GeneratorBulbTree.Builder().minHeight(15).maxHeight(30).log(BOPWoods.EUCALYPTUS).leaves(BOPTrees.EUCALYPTUS).updateNeighbours(true).create(); - default: - return null; - } - } - - // TODO: specify generator for each sapling - protected WorldGenerator getBigTreeGenerator(BOPTrees treeType) - { - return null; - } - - // TODO: specify generator for each sapling - protected WorldGenerator getMegaTreeGenerator(BOPTrees treeType) - { - return null; - } - - @Override - public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient) - { - return true; - } - - @Override - public boolean canUseBonemeal(World worldIn, Random rand, BlockPos pos, IBlockState state) - { - return (double)worldIn.rand.nextFloat() < 0.45D; - } - - @Override - public void grow(World worldIn, Random rand, BlockPos pos, IBlockState state) - { - if (state.getValue(STAGE).intValue() == 0) - { - worldIn.setBlockState(pos, state.cycleProperty(STAGE), 4); - } - else - { - this.generateTree(worldIn, pos, state, rand); - } - } - - public boolean thisSaplingHere(World world, BlockPos pos) - { - return world.getBlockState(pos).getBlock() == this; - } - - // try to generate a tree at the specified location, return true on success and false on failure - public boolean generateTree(World worldIn, BlockPos pos, IBlockState state, Random rand) - { - if (!net.minecraftforge.event.terraingen.TerrainGen.saplingGrowTree(worldIn, rand, pos)) {return false;} - - BOPTrees treeType = ((BOPTrees) state.getValue(this.variantProperty)); - WorldGenerator smallTreeGenerator = this.getSmallTreeGenerator(treeType); - WorldGenerator bigTreeGenerator = this.getBigTreeGenerator(treeType); - WorldGenerator megaTreeGenerator = this.getMegaTreeGenerator(treeType); - - if (megaTreeGenerator != null) - { - // if we have 4 saplings in a square, then try to grow a mega tree - int i; - int j; - for (i = 0; i >= -1; --i) - { - for (j = 0; j >= -1; --j) - { - if (this.thisSaplingHere(worldIn, pos.add(i, 0, j)) && this.thisSaplingHere(worldIn, pos.add(i + 1, 0, j)) && this.thisSaplingHere(worldIn, pos.add(i, 0, j + 1)) && this.thisSaplingHere(worldIn, pos.add(i + 1, 0, j + 1))) - { - if (this.generateMegaTree(worldIn, pos.add(i, 0, j), state, rand, megaTreeGenerator)) {return true;} - } - } - } - } - if (bigTreeGenerator != null) - { - // with a one in 10 chance, try to grow a big tree - if (rand.nextInt(10) == 0) - { - if (this.generateSmallOrBigTree(worldIn, pos, state, rand, bigTreeGenerator)) {return true;} - } - } - // otherwise, try to grow a small tree - if (smallTreeGenerator != null) - { - return this.generateSmallOrBigTree(worldIn, pos, state, rand, smallTreeGenerator); - } - return false; - } - - public boolean generateSmallOrBigTree(World worldIn, BlockPos pos, IBlockState state, Random rand, WorldGenerator generator) - { - // remove the sapling - worldIn.setBlockState(pos, Blocks.AIR.getDefaultState(), 4); - // try to grow the tree - boolean success = generator.generate(worldIn, rand, pos); - // put the sapling back if we failed - if (!success) {worldIn.setBlockState(pos, state, 4);} - return success; - } - - public boolean generateMegaTree(World worldIn, BlockPos pos, IBlockState state, Random rand, WorldGenerator generator) - { - // remove the saplings - IBlockState air = Blocks.AIR.getDefaultState(); - worldIn.setBlockState(pos, air, 4); - worldIn.setBlockState(pos.add(1, 0, 0), air, 4); - worldIn.setBlockState(pos.add(0, 0, 1), air, 4); - worldIn.setBlockState(pos.add(1, 0, 1), air, 4); - // try to grow the tree - boolean success = generator.generate(worldIn, rand, pos); - if (!success) - { - // put the saplings back if we failed - worldIn.setBlockState(pos, air, 4); - worldIn.setBlockState(pos.add(1, 0, 0), state, 4); - worldIn.setBlockState(pos.add(0, 0, 1), state, 4); - worldIn.setBlockState(pos.add(1, 0, 1), state, 4); - } - return success; - } - - @Override - public EnumPlantType getPlantType(IBlockAccess world, BlockPos pos) { - return EnumPlantType.Plains; - } - - @Override - public IBlockState getPlant(IBlockAccess world, BlockPos pos) { - IBlockState state = world.getBlockState(pos); - if (state.getBlock() != this) return getDefaultState(); - return state; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPSeaweed.java b/src/main/java/biomesoplenty/common/block/BlockBOPSeaweed.java deleted file mode 100644 index 162143820..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPSeaweed.java +++ /dev/null @@ -1,146 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import static net.minecraft.block.BlockLiquid.LEVEL; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -public class BlockBOPSeaweed extends BlockBOPDecoration implements IBOPBlock -{ - - // TODO: is it supposed to grow? - - public enum SeaweedType implements IStringSerializable - { - KELP; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public enum SeaweedPosition implements IStringSerializable - { - SINGLE, BOTTOM, MIDDLE, TOP; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", SeaweedType.class); - public static final PropertyEnum POSITION = PropertyEnum.create("position", SeaweedPosition.class); - - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, LEVEL, POSITION, VARIANT);} - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return new IProperty[] {LEVEL}; } - @Override - public String getStateName(IBlockState state) { - SeaweedType type = (SeaweedType)state.getValue(VARIANT); - return type.getName(); - } - - - public BlockBOPSeaweed() - { - super(Material.WATER); - - // set some defaults - this.setSoundType(SoundType.PLANT); - this.setDefaultState( this.blockState.getBaseState().withProperty(LEVEL, 15).withProperty(POSITION, SeaweedPosition.SINGLE).withProperty(VARIANT, SeaweedType.KELP) ); - } - - // examine neighbors to figure out the SeaweedPosition value - @Override - public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) - { - boolean seaweedAbove = (worldIn.getBlockState(pos.up()).getBlock() == this); - boolean seaweedBelow = (worldIn.getBlockState(pos.down()).getBlock() == this); - SeaweedPosition position; - if (seaweedAbove && seaweedBelow) {position = SeaweedPosition.MIDDLE;} - else if (seaweedAbove) {position = SeaweedPosition.BOTTOM;} - else if (seaweedBelow) {position = SeaweedPosition.TOP;} - else {position = SeaweedPosition.SINGLE;} - return state.withProperty(POSITION, position); - } - - // map from state to meta and vice verca - note the LEVEL and POSITION properties are ignored - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(VARIANT, SeaweedType.values()[meta]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((SeaweedType) state.getValue(VARIANT)).ordinal(); - } - -/* @Override - public void setBlockBoundsBasedOnState(IBlockAccess world, BlockPos pos) - { - this.setBlockBoundsByRadiusAndHeightWithXZOffset(0.4F, 0.8F, pos); - }*/ - - // require water or seaweed above and earth or seaweed below - @Override - public boolean canBlockStay(World world, BlockPos pos, IBlockState state) - { - return (BlockQueries.fertileSeaBed.matches(world, pos.down()) || world.getBlockState(pos.down()) == state) && (BlockQueries.underwater.matches(world, pos.up()) || world.getBlockState(pos.up()) == state); - } - - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state); - } - - @Override - public void onBlockDestroyedByPlayer(World world, BlockPos pos, IBlockState state) - { - world.setBlockState(pos, Blocks.WATER.getDefaultState() ); - } - - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPStoneStairs.java b/src/main/java/biomesoplenty/common/block/BlockBOPStoneStairs.java deleted file mode 100644 index 3def54d7b..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPStoneStairs.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright 2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.block; - -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.BlockStairs; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemBlock; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPStoneStairs extends BlockStairs implements IBOPBlock -{ - // implement IBOPBlock - // inherited properties from BlockStairs : FACING, HALF, SHAPE - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPStoneStairs(IBlockState modelState) - { - super(modelState); - this.setHarvestLevel("pickaxe", 0); - this.useNeighborBrightness = true; - } -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPTerrarium.java b/src/main/java/biomesoplenty/common/block/BlockBOPTerrarium.java deleted file mode 100644 index 166d1e2d1..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPTerrarium.java +++ /dev/null @@ -1,163 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPTerrarium extends Block implements IBOPBlock -{ - protected static final AxisAlignedBB BOUNDING_BOX = new AxisAlignedBB(0.25D, 0.0D, 0.25D, 0.75D, 0.75D, 0.75D); - - // add properties - public enum TerrariumType implements IStringSerializable - { - FERN, MUSHROOM, CACTUS, FLAX, FLOWER, KORU, BAMBOO, BEACH, GLOWSHROOM, DEAD, MYSTIC, OMINOUS, WASTELAND, ORIGIN, NETHER, ENDER; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", TerrariumType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, VARIANT);} - - - // implement IBOPBlock - // need to use a custom item class because of the unique way lilies are placed - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) { - TerrariumType type = (TerrariumType) state.getValue(VARIANT); - switch (type) - { - default: - return "terrarium_"+type.getName(); - } - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPTerrarium() - { - super(Material.GLASS); - this.setHardness(1.0F); - this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT, TerrariumType.FERN)); - } - - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - return BOUNDING_BOX; - } - - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos) - { - return BOUNDING_BOX; - } - - @Override - public int getLightValue(IBlockState state) - { - switch ((TerrariumType) state.getValue(VARIANT)) - { - case GLOWSHROOM: - return 5; - - case MYSTIC: - return 8; - - case NETHER: - return 8; - - default: - return 0; - } - } - - @Override - public IBlockState getStateFromMeta(int meta) - { - // only one property to worry about, the variant, so just map [0 => MEDIUM, 1 => SMALL, 2 => TINY] - return this.getDefaultState().withProperty(VARIANT, TerrariumType.values()[meta]); - } - - @Override - public int getMetaFromState(IBlockState state) - { - // only one property to worry about, the variant, so just map [0 => MEDIUM, 1 => SMALL, 2 => TINY] - return ((TerrariumType) state.getValue(VARIANT)).ordinal(); - } - - // our blocks usually drop their current state as opposed to a single 'default' state - @Override - public int damageDropped(IBlockState state) - { - return this.getMetaFromState(state); - } - - @Override - public boolean isOpaqueCube(IBlockState state) - { - return false; - } - - @Override - public boolean isFullCube(IBlockState state) - { - return false; - } - - @Override - public boolean canPlaceBlockAt(World worldIn, BlockPos pos) - { - return worldIn.getBlockState(pos).getBlock().isReplaceable(worldIn, pos) && worldIn.getBlockState(pos.down()).isSideSolid(worldIn, pos, EnumFacing.UP); - } - - @Override - public BlockRenderLayer getBlockLayer() - { - return BlockRenderLayer.CUTOUT; - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPVine.java b/src/main/java/biomesoplenty/common/block/BlockBOPVine.java deleted file mode 100644 index eb7eb6e8a..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPVine.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.BlockVine; -import net.minecraft.block.SoundType; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPVine extends BlockVine implements IBOPBlock -{ - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return useGreyScaleTextures ? BlockColoring.FOLIAGE_COLORING : null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return BlockColoring.BLOCK_ITEM_COLORING; } - - // if set to true, (the default), use BlockVine getBlockColor(), getRenderColor() and colorMultiplier() functions to color the texture based on biome - // if set to false, use 0xFFFFFF for all the color functions so that the texture is used as it is - protected boolean useGreyScaleTextures; - - public BlockBOPVine(boolean useGreyScaleTextures) - { - this.setSoundType(SoundType.PLANT); - this.setHardness(0.2F); - this.useGreyScaleTextures = useGreyScaleTextures; - } - - public BlockBOPVine() - { - this(true); - } - - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.VINE.getFlammability(world, pos, face); - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.VINE.getFlammability(world, pos, face); - } -} - \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPWhiteSand.java b/src/main/java/biomesoplenty/common/block/BlockBOPWhiteSand.java deleted file mode 100644 index b824103fc..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPWhiteSand.java +++ /dev/null @@ -1,56 +0,0 @@ -package biomesoplenty.common.block; - -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.BlockFalling; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPWhiteSand extends BlockFalling implements IBOPBlock -{ - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPWhiteSand() - { - super(Material.SAND); - this.setHardness(0.5F); - this.setHarvestLevel("shovel", 0); - this.setSoundType(SoundType.SAND); - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos) - { - return MapColor.WHITE_STAINED_HARDENED_CLAY; - } - - @SideOnly(Side.CLIENT) - @Override - public int getDustColor(IBlockState p_189876_1_) - { - return -790043; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPWhiteSandstone.java b/src/main/java/biomesoplenty/common/block/BlockBOPWhiteSandstone.java deleted file mode 100644 index d2512b6ee..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPWhiteSandstone.java +++ /dev/null @@ -1,123 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.Random; - -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.entities.EntityWasp; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IStringSerializable; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPWhiteSandstone extends Block implements IBOPBlock -{ - - // add properties - public enum StoneType implements IStringSerializable - { - DEFAULT, CHISELED, SMOOTH; - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public static final PropertyEnum VARIANT = PropertyEnum.create("variant", StoneType.class); - @Override - protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, VARIANT);} - - - // implement IBOPBlock - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) - { - switch ((StoneType) state.getValue(VARIANT)) - { - case CHISELED: - return "chiseled_white_sandstone"; - case SMOOTH: - return "smooth_white_sandstone"; - default: - return "white_sandstone"; - } - } - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - public BlockBOPWhiteSandstone() - { - super(Material.ROCK); - - // set some defaults - this.setHardness(0.8F); - this.setSoundType(SoundType.STONE); - this.setHarvestLevel("pickaxe", 0); - this.setDefaultState( this.blockState.getBaseState().withProperty(VARIANT, StoneType.DEFAULT) ); - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos) - { - return MapColor.WHITE_STAINED_HARDENED_CLAY; - } - - // map from state to meta and vice verca - @Override - public IBlockState getStateFromMeta(int meta) - { - return this.getDefaultState().withProperty(VARIANT, StoneType.values()[meta]); - } - @Override - public int getMetaFromState(IBlockState state) - { - return ((StoneType) state.getValue(VARIANT)).ordinal(); - } - - @Override - public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) - { - return new ItemStack(this, 1, this.getMetaFromState(state)); - } -} diff --git a/src/main/java/biomesoplenty/common/block/BlockBOPWoodStairs.java b/src/main/java/biomesoplenty/common/block/BlockBOPWoodStairs.java deleted file mode 100644 index d87dbb8d2..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockBOPWoodStairs.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import java.util.HashMap; -import java.util.Map; - -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.item.ItemBOPBlock; -import net.minecraft.block.BlockStairs; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemBlock; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockBOPWoodStairs extends BlockStairs implements IBOPBlock -{ - - // implement IBOPBlock - // inherited properties from BlockStairs : FACING, HALF, SHAPE - @Override - public Class getItemClass() { return ItemBOPBlock.class; } - @Override - public IProperty[] getPresetProperties() { return new IProperty[] {}; } - @Override - public IProperty[] getNonRenderingProperties() { return null; } - @Override - public String getStateName(IBlockState state) {return "";} - @Override - @SideOnly(Side.CLIENT) - public IBlockColor getBlockColor() { return null; } - @Override - @SideOnly(Side.CLIENT) - public IItemColor getItemColor() { return null; } - - // Map from woods to BlockBOPStairs instance and back - private static Map variantToBlock = new HashMap(); - public static BlockBOPWoodStairs getBlock(BOPWoods wood) - { - return variantToBlock.get(wood); - } - protected BOPWoods wood; - public BOPWoods getWood() - { - return this.wood; - } - - public BlockBOPWoodStairs(BOPWoods wood) - { - super(BlockBOPPlanks.paging.getVariantState(wood)); - this.setHarvestLevel("axe", 0); - this.useNeighborBrightness = true; - - this.wood = wood; - variantToBlock.put(wood, this); - } - - @Override - public int getFlammability(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.PLANKS.getFlammability(world, pos, face); - } - - @Override - public int getFireSpreadSpeed(IBlockAccess world, BlockPos pos, EnumFacing face) - { - return Blocks.PLANKS.getFireSpreadSpeed(world, pos, face); - } -} - \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/BlockColoring.java b/src/main/java/biomesoplenty/common/block/BlockColoring.java deleted file mode 100644 index aade807de..000000000 --- a/src/main/java/biomesoplenty/common/block/BlockColoring.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.block; - -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.ColorizerFoliage; -import net.minecraft.world.ColorizerGrass; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.biome.BiomeColorHelper; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class BlockColoring -{ - public static final IBlockColor FOLIAGE_COLORING = new IBlockColor() - { - @Override - public int colorMultiplier(IBlockState state, IBlockAccess world, BlockPos pos, int tintIndex) - { - return world != null && pos != null ? BiomeColorHelper.getFoliageColorAtPos(world, pos) : ColorizerFoliage.getFoliageColorBasic(); - } - }; - - public static final IBlockColor GRASS_COLORING = new IBlockColor() - { - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockState state, IBlockAccess world, BlockPos pos, int tintIndex) - { - return world != null && pos != null ? BiomeColorHelper.getGrassColorAtPos(world, pos) : ColorizerGrass.getGrassColor(0.5D, 1.0D); - } - }; - - public static final IItemColor BLOCK_ITEM_COLORING = (stack, tintIndex) -> { - IBlockState state = ((ItemBlock)stack.getItem()).getBlock().getStateFromMeta(stack.getMetadata()); - IBlockColor blockColor = ((IBOPBlock)state.getBlock()).getBlockColor(); - return blockColor == null ? 0xFFFFFF : blockColor.colorMultiplier(state, null, null, tintIndex); - }; -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/IBOPBlock.java b/src/main/java/biomesoplenty/common/block/IBOPBlock.java deleted file mode 100644 index cb8642b40..000000000 --- a/src/main/java/biomesoplenty/common/block/IBOPBlock.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.color.IBlockColor; -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraft.item.ItemBlock; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public interface IBOPBlock { - - Class getItemClass(); - IProperty[] getPresetProperties(); - IProperty[] getNonRenderingProperties(); - String getStateName(IBlockState state); - - @SideOnly(Side.CLIENT) - IBlockColor getBlockColor(); - @SideOnly(Side.CLIENT) - IItemColor getItemColor(); -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/block/ISustainsPlantType.java b/src/main/java/biomesoplenty/common/block/ISustainsPlantType.java deleted file mode 100644 index 686fc5d66..000000000 --- a/src/main/java/biomesoplenty/common/block/ISustainsPlantType.java +++ /dev/null @@ -1,18 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.block; - -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.common.EnumPlantType; - -public interface ISustainsPlantType -{ - boolean canSustainPlantType(IBlockAccess world, BlockPos pos, EnumPlantType plantType); -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/command/BOPCommand.java b/src/main/java/biomesoplenty/common/command/BOPCommand.java deleted file mode 100644 index a8ad1da31..000000000 --- a/src/main/java/biomesoplenty/common/command/BOPCommand.java +++ /dev/null @@ -1,278 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.command; - -import biomesoplenty.common.util.biome.BiomeUtils; -import com.google.common.collect.Lists; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.command.*; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.text.TextComponentTranslation; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.storage.ExtendedBlockStorage; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.relauncher.Side; - -import javax.annotation.Nonnull; -import java.util.List; - -public class BOPCommand extends CommandBase -{ - public static int blockCount = 0; - public static int itemCount = 0; - public static int entityCount = 0; - public static int biomeCount = 0; - - @Override - public String getName() - { - return "biomesoplenty"; - } - - @Override - public List getAliases() - { - return Lists.newArrayList("bop", "biomesop"); - } - - @Override - public String getUsage(ICommandSender sender) - { - return "commands.biomesoplenty.usage"; - } - - @Override - public int getRequiredPermissionLevel() - { - return 2; - } - - @Override - public void execute(@Nonnull MinecraftServer server, @Nonnull ICommandSender sender, @Nonnull String[] args) throws CommandException - { - if (args.length < 1) - { - throw new WrongUsageException("commands.biomesoplenty.usage"); - } - else if (args[0].equals("biomename")) - { - getBiomeName(sender, args); - } - else if (args[0].equals("tpbiome")) - { - teleportFoundBiome(sender, args); - } - else if (args[0].equals("stats")) - { - printStats(sender, args); - } - else if (args[0].equals("stripchunk")) - { - stripChunk(sender, args); - } - } - - private void getBiomeName(ICommandSender sender, String[] args) throws CommandException - { - if (args.length < 2) - { - throw new WrongUsageException("commands.biomesoplenty.biomename.usage"); - } - - int biomeId = parseInt(args[1], 0, 255); - Biome biome = Biome.getBiome(biomeId); - - sender.sendMessage(new TextComponentTranslation("commands.biomesoplenty.biomename.success", biomeId, biome == null ? "Undefined" : biome.getBiomeName())); - } - - private void teleportFoundBiome(ICommandSender sender, String[] args) throws CommandException - { - if (args.length < 2) - { - throw new WrongUsageException("commands.biomesoplenty.tpbiome.usage"); - } - - // Parse args[1] to find the biome to search for - search for a string matching the biome identifier, or an integer matching the biome id - Biome biomeToFind = null; - if (biomeToFind == null) - { - try { - int biomeId = parseInt(args[1], 0, 255); - biomeToFind = Biome.getBiome(biomeId); - } catch (NumberInvalidException e) { - biomeToFind = BiomeUtils.getBiomeForLoc(new ResourceLocation(args[1])); - } - } - - EntityPlayerMP player = getCommandSenderAsPlayer(sender); - World world = player.world; - BlockPos closestBiomePos = biomeToFind == null ? null : BiomeUtils.spiralOutwardsLookingForBiome(world, biomeToFind, player.posX, player.posZ); - String biomeName = biomeToFind != null && FMLCommonHandler.instance().getSide() == Side.CLIENT ? biomeToFind.getBiomeName() : "Undefined"; - - if (closestBiomePos != null) - { - double x = (double)closestBiomePos.getX(); - double y = (double)world.getTopSolidOrLiquidBlock(closestBiomePos).getY(); - double z = (double)closestBiomePos.getZ(); - - if (!world.provider.isSurfaceWorld()) - { - y = (double)getTopBlockNonOverworld(world, closestBiomePos).getY(); - } - - player.connection.setPlayerLocation(x, y, z, player.rotationYaw, player.rotationPitch); - sender.sendMessage(new TextComponentTranslation("commands.biomesoplenty.tpbiome.success", player.getName(), biomeName, x, y, z)); - } - else - { - sender.sendMessage(new TextComponentTranslation("commands.biomesoplenty.tpbiome.error", biomeName)); - } - } - - public BlockPos getTopBlockNonOverworld(World world, BlockPos pos) - { - Chunk chunk = world.getChunkFromBlockCoords(pos); - BlockPos blockpos; - BlockPos blockpos1; - BlockPos blockpos2 = new BlockPos(pos.getX(), chunk.getTopFilledSegment() + 16, pos.getZ()); - - for (blockpos = blockpos2; blockpos.getY() >= 0; blockpos = blockpos1) - { - blockpos1 = blockpos.down(); - IBlockState state = chunk.getBlockState(blockpos1); - - if (!state.getMaterial().blocksMovement() && !world.isAirBlock(blockpos1.down()) && !state.getBlock().isLeaves(state, world, blockpos1) && !state.getBlock().isFoliage(world, blockpos1)) - { - return blockpos1; - } - } - - return blockpos2; - } - - private void printStats(ICommandSender sender, String[] args) { - TextComponentTranslation text = new TextComponentTranslation("commands.biomesoplenty.stats.blocks", blockCount); - - text.getStyle().setColor(TextFormatting.GREEN); - sender.sendMessage(text); - - text = new TextComponentTranslation("commands.biomesoplenty.stats.items", itemCount); - text.getStyle().setColor(TextFormatting.GREEN); - sender.sendMessage(text); - - text = new TextComponentTranslation("commands.biomesoplenty.stats.entities", entityCount); - text.getStyle().setColor(TextFormatting.GREEN); - sender.sendMessage(text); - - text = new TextComponentTranslation("commands.biomesoplenty.stats.biomes", biomeCount); - text.getStyle().setColor(TextFormatting.GREEN); - sender.sendMessage(text); - } - - private void stripChunk(ICommandSender sender, String[] args) throws CommandException - { - if (args.length < 5) - { - throw new WrongUsageException("commands.biomesoplenty.stripchunk.usage"); - } - - int radius = parseInt(args[1]); - String mode = args[2]; - boolean blacklist; - - if (mode.equals("include")) blacklist = false; - else if (mode.equals("exclude")) blacklist = true; - else - { - throw new WrongUsageException("commands.biomesoplenty.stripchunk.usage"); - } - - List stateList = Lists.newArrayList(); - - for (int i = 0; i < (args.length - 3) / 2; i++) - { - Block block = getBlockByText(sender, args[i * 2 + 3]); - int metadata = parseInt(args[i * 2 + 3 + 1]); - - stateList.add(block.getStateFromMeta(metadata)); - } - - BlockPos playerPos = sender.getPosition(); - World world = sender.getEntityWorld(); - - int playerChunkX = playerPos.getX() >> 4; - int playerChunkZ = playerPos.getZ() >> 4; - - for (int chunkX = -radius; chunkX < radius; chunkX++) - { - for (int chunkZ = -radius; chunkZ < radius; chunkZ++) - { - Chunk chunk = world.getChunkFromChunkCoords(playerChunkX + chunkX, (playerChunkZ + chunkZ)); - - for (ExtendedBlockStorage blockStorage : chunk.getBlockStorageArray()) - { - if (blockStorage != null) - { - for (int x = 0; x < 16; x++) - { - for (int y = 0; y < 16; y++) - { - for (int z = 0; z < 16; z++) - { - BlockPos pos = new BlockPos(chunk.x * 16 + x, blockStorage.getYLocation() + y, chunk.z * 16 + z); - IBlockState state = blockStorage.get(x, y, z); - - if (((!blacklist && stateList.contains(state)) || (blacklist && !stateList.contains(state))) && pos.getY() > 0) - { - blockStorage.set(x, y, z, Blocks.AIR.getDefaultState()); - world.notifyBlockUpdate(pos, state, Blocks.AIR.getDefaultState(), 3); - world.notifyNeighborsRespectDebug(pos, Blocks.AIR, false); - } - } - } - } - } - } - - chunk.generateSkylightMap(); - } - } - } - - @Override - @Nonnull - public List getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) - { - if (args.length == 1) - { - return getListOfStringsMatchingLastWord(args, "biomename", "tpbiome", "stats", "stripchunk"); - } - - for (String command : args) - { - if (command.equals("tpbiome")) - { - return getListOfStringsMatchingLastWord(args, Biome.REGISTRY.getKeys()); - } - else if (command.equals("stripchunk") && args.length == 3) - { - return getListOfStringsMatchingLastWord(args, "include", "exclude"); - } - } - return super.getTabCompletions(server, sender, args, pos); - } -} diff --git a/src/main/java/biomesoplenty/common/config/GameplayConfigurationHandler.java b/src/main/java/biomesoplenty/common/config/GameplayConfigurationHandler.java deleted file mode 100644 index fec31608e..000000000 --- a/src/main/java/biomesoplenty/common/config/GameplayConfigurationHandler.java +++ /dev/null @@ -1,58 +0,0 @@ -/******************************************************************************* - * Copyright 2016-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.config; - -import java.io.File; - -import biomesoplenty.core.BiomesOPlenty; -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.fml.client.event.ConfigChangedEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class GameplayConfigurationHandler -{ - public static Configuration config; - - public static final String CONVENIENCE_SETTINGS = "Convenience Settings"; - - public static boolean flowerDropsNeedShears; - - public static void init(File configFile) - { - if (config == null) - { - config = new Configuration(configFile); - loadConfiguration(); - } - } - - private static void loadConfiguration() - { - try - { - flowerDropsNeedShears = config.getBoolean("Flower Drops Need Shears", CONVENIENCE_SETTINGS, false, "Require shears to be used to collect flower drops."); - } - catch (Exception e) - { - BiomesOPlenty.logger.error("Biomes O' Plenty has encountered a problem loading gameplay.cfg", e); - } - finally - { - if (config.hasChanged()) config.save(); - } - } - - @SubscribeEvent - public void onConfigurationChangedEvent(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.getModID().equalsIgnoreCase(BiomesOPlenty.MOD_ID)) - { - loadConfiguration(); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/config/MiscConfigurationHandler.java b/src/main/java/biomesoplenty/common/config/MiscConfigurationHandler.java deleted file mode 100644 index a1d6efa13..000000000 --- a/src/main/java/biomesoplenty/common/config/MiscConfigurationHandler.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.config; - -import java.io.File; - -import biomesoplenty.common.remote.TrailManager; -import biomesoplenty.common.remote.TrailManager.TrailVisibilityMode; -import biomesoplenty.common.util.entity.PlayerUtil; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.fml.client.event.ConfigChangedEvent; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.relauncher.Side; - -public class MiscConfigurationHandler -{ - public static Configuration config; - - public static final String GUI_SETTINGS = "GUI Settings"; - public static final String VISUAL_SETTINGS = "Visual Settings"; - public static final String TRAIL_SETTINGS = "Trail Settings"; - - public static boolean useBoPWorldTypeDefault; - public static boolean overrideTitlePanorama; - - //Client-side only - public static boolean enableFogColours; - public static TrailVisibilityMode trailVisbilityMode; - - public static void init(File configFile) - { - if (config == null) - { - config = new Configuration(configFile); - loadConfiguration(); - } - } - - private static void loadConfiguration() - { - try - { - useBoPWorldTypeDefault = config.getBoolean("Default to BoP World Type", GUI_SETTINGS, false, "Use the Biomes O' Plenty World Type by default when selecting a world."); - overrideTitlePanorama = config.getBoolean("Enable Biomes O\' Plenty Main Menu Panorama", VISUAL_SETTINGS, true, "Override the main menu panorama and use ours instead (It\'s nicer!)"); - - //Client-side only options - if (FMLCommonHandler.instance().getSide() == Side.CLIENT) - { - enableFogColours = config.getBoolean("Enable Fog Colouration", VISUAL_SETTINGS, true, "Enable fog colouring in some biomes."); - - //Check if the player has a trail - if (TrailManager.trailsMap.containsKey(PlayerUtil.getClientPlayerUUID())) - { - trailVisbilityMode = TrailVisibilityMode.values()[config.getInt("Modify Trail Visibility", TRAIL_SETTINGS, 0, 0, 1, "0 = All trails visble, 1 = Others can see your trail but you can't")]; - } - } - } - catch (Exception e) - { - BiomesOPlenty.logger.error("Biomes O' Plenty has encountered a problem loading misc.cfg", e); - } - finally - { - if (config.hasChanged()) config.save(); - } - } - - @SubscribeEvent - public void onConfigurationChangedEvent(ConfigChangedEvent.OnConfigChangedEvent event) - { - if (event.getModID().equalsIgnoreCase(BiomesOPlenty.MOD_ID)) - { - loadConfiguration(); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/crafting/BiomeEssenceRecipe.java b/src/main/java/biomesoplenty/common/crafting/BiomeEssenceRecipe.java deleted file mode 100644 index 7ee2159dc..000000000 --- a/src/main/java/biomesoplenty/common/crafting/BiomeEssenceRecipe.java +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.crafting; - -import biomesoplenty.api.item.BOPItems; -import net.minecraft.inventory.InventoryCrafting; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.NonNullList; -import net.minecraft.world.World; -import net.minecraftforge.oredict.RecipeSorter; - -public class BiomeEssenceRecipe extends net.minecraftforge.registries.IForgeRegistryEntry.Impl implements IRecipe -{ - static { - RecipeSorter.register("biomesoplenty:biome_essence", BiomeEssenceRecipe.class, RecipeSorter.Category.SHAPELESS, "after:minecraft:shapeless"); - } - - private ItemStack recipeOutput = ItemStack.EMPTY; - - @Override - public boolean matches(InventoryCrafting inventoryCrafting, World world) - { - ItemStack biomeRadar = ItemStack.EMPTY; - ItemStack biomeEssence = ItemStack.EMPTY; - - for (int i = 0; i < 3; ++i) - { - for (int j = 0; j < 3; ++j) - { - ItemStack itemstack = inventoryCrafting.getStackInRowAndColumn(j, i); - - if (itemstack != null) - { - if (itemstack.getItem() == BOPItems.biome_finder) biomeRadar = itemstack.copy(); - else if (itemstack.getItem() == BOPItems.biome_essence) biomeEssence = itemstack.copy(); - } - } - } - - if (biomeRadar != null && biomeEssence != null) - { - if (!biomeEssence.hasTagCompound() || !biomeEssence.getTagCompound().hasKey("biomeID")) return false; - - int biomeID = biomeEssence.getTagCompound().getInteger("biomeID"); - - if (!biomeRadar.hasTagCompound()) biomeRadar.setTagCompound(new NBTTagCompound()); - - biomeRadar.getTagCompound().setInteger("biomeIDToFind", biomeID); - biomeRadar.getTagCompound().setBoolean("found", false); - - recipeOutput = biomeRadar; - - return true; - } - else - { - return false; - } - } - - @Override - public ItemStack getCraftingResult(InventoryCrafting var1) - { - return recipeOutput.copy(); - } - - @Override - public ItemStack getRecipeOutput() - { - return recipeOutput; - } - - @Override - public NonNullList getRemainingItems(InventoryCrafting inv) - { - NonNullList itemList = NonNullList.create(); - - for (int i = 0; i < inv.getSizeInventory(); ++i) - { - ItemStack itemstack = inv.getStackInSlot(i); - itemList.add(i, net.minecraftforge.common.ForgeHooks.getContainerItem(itemstack)); - } - - return itemList; - } - - @Override - public boolean isDynamic() - { - return true; - } - - @Override - public boolean canFit(int width, int height) - { - return width * height >= 1; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entities/EntityWasp.java b/src/main/java/biomesoplenty/common/entities/EntityWasp.java deleted file mode 100644 index 0e9cd1099..000000000 --- a/src/main/java/biomesoplenty/common/entities/EntityWasp.java +++ /dev/null @@ -1,375 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.entities; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Random; - -import biomesoplenty.api.sound.BOPSounds; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityFlying; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIBase; -import net.minecraft.entity.ai.EntityAIFindEntityNearestPlayer; -import net.minecraft.entity.ai.EntityMoveHelper; -import net.minecraft.entity.monster.IMob; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.SoundEvent; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; - -public class EntityWasp extends EntityFlying implements IMob { - - public EntityWasp(World worldIn) { - super(worldIn); - this.setSize(0.7F, 0.7F); - - this.moveHelper = new EntityWasp.WaspMoveHelper(); - this.tasks.addTask(3, new EntityWasp.AIWaspRandomFly()); - this.tasks.addTask(4, new EntityWasp.AIWaspAttackTarget()); - this.targetTasks.addTask(1, new EntityAIFindEntityNearestPlayer(this)); - } - - @Override - protected void applyEntityAttributes() - { - super.applyEntityAttributes(); - this.getAttributeMap().registerAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(2.5D); - this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(10.0D); - this.getEntityAttribute(SharedMonsterAttributes.FOLLOW_RANGE).setBaseValue(10.0D); - } - - @Override - public boolean attackEntityAsMob(Entity target) - { - float f = (float)this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue(); - return target.attackEntityFrom(DamageSource.causeMobDamage(this), f); - } - - @Override - protected SoundEvent getAmbientSound() - { - return BOPSounds.wasp_ambient; - } - - @Override - protected SoundEvent getHurtSound(DamageSource source) - { - return BOPSounds.wasp_hurt; - } - - @Override - public boolean canBreatheUnderwater() - { - return true; - } - - // Helper class representing a point in space that the wasp is targeting for some reason - class WaspMoveTargetPos - { - private EntityWasp wasp = EntityWasp.this; - - public double posX; - public double posY; - public double posZ; - public double distX; - public double distY; - public double distZ; - public double dist; - public double aimX; - public double aimY; - public double aimZ; - - public WaspMoveTargetPos() - { - this(0, 0, 0); - } - - public WaspMoveTargetPos(double posX, double posY, double posZ) - { - this.setTarget(posX, posY, posZ); - } - - public void setTarget(double posX, double posY, double posZ) - { - this.posX = posX; - this.posY = posY; - this.posZ = posZ; - this.refresh(); - } - - public void refresh() - { - this.distX = this.posX - this.wasp.posX; - this.distY = this.posY - this.wasp.posY; - this.distZ = this.posZ - this.wasp.posZ; - - this.dist = (double)MathHelper.sqrt(this.distX * this.distX + this.distY * this.distY + this.distZ * this.distZ); - - // (aimX,aimY,aimZ) is a unit vector in the direction we want to go - if (this.dist == 0.0D) - { - this.aimX = 0.0D; - this.aimY = 0.0D; - this.aimZ = 0.0D; - } - else - { - this.aimX = this.distX / this.dist; - this.aimY = this.distY / this.dist; - this.aimZ = this.distZ / this.dist; - } - } - - public boolean isBoxBlocked(AxisAlignedBB box) - { - //Im assuming this does what getCubes did. If not, im terribly sorry - Topisani - return !this.wasp.world.getCollisionBoxes(this.wasp, box).isEmpty(); - } - - // check nothing will collide with the wasp in the direction of aim, for howFar units (or until the destination - whichever is closer) - public boolean isPathClear(double howFar) - { - howFar = Math.min(howFar, this.dist); - AxisAlignedBB box = this.wasp.getEntityBoundingBox(); - for (double i = 0.5D; i < howFar; ++i) - { - // check there's nothing in the way - if (this.isBoxBlocked(box.offset(this.aimX * i, this.aimY * i, this.aimZ * i))) - { - return false; - } - } - return !this.isBoxBlocked(box.offset(this.aimX * howFar, this.aimY * howFar, this.aimZ * howFar)); - } - - } - - - class WaspMoveHelper extends EntityMoveHelper - { - // EntityMoveHelper has the boolean 'update' which is set to true when the target is changed, and set to false when a bearing is set - // So it means 'the target has changed but we're not yet heading for it' - // We'll re-use it here with a slightly different interpretation - // Here it will mean 'has a target and not yet arrived' - - private EntityWasp wasp = EntityWasp.this; - private int courseChangeCooldown = 0; - private double closeEnough = 0.3D; - private WaspMoveTargetPos targetPos = new WaspMoveTargetPos(); - - public WaspMoveHelper() - { - super(EntityWasp.this); - } - - @Override - public void setMoveTo(double x, double y, double z, double speedIn) - { - super.setMoveTo(x,y,z,speedIn); - this.targetPos.setTarget(x, y, z); - } - - @Override - public void onUpdateMoveHelper() - { - // if we have arrived at the previous target, or we have no target to aim for, do nothing - if (this.action != Action.MOVE_TO) {return;} - - if (this.courseChangeCooldown-- > 0) { - // limit the rate at which we change course - return; - } - this.courseChangeCooldown += this.wasp.getRNG().nextInt(5) + 2; - - // update the target position - this.targetPos.refresh(); - - // accelerate the wasp towards the target - double acceleration = 0.1D; - this.wasp.motionX += this.targetPos.aimX * acceleration; - this.wasp.motionY += this.targetPos.aimY * acceleration; - this.wasp.motionZ += this.targetPos.aimZ * acceleration; - - // rotate to point at target - this.wasp.renderYawOffset = this.wasp.rotationYaw = -((float)Math.atan2(this.targetPos.distX, this.targetPos.distZ)) * 180.0F / (float)Math.PI; - - // occasionally jerk to the side - makes them more difficult to hit - if (this.wasp.getRNG().nextInt(5)==0) - { - float strafeAmount = (this.wasp.getRNG().nextFloat() * 0.4F) - 0.2F; - this.wasp.motionX += (double)(strafeAmount * MathHelper.cos(this.wasp.rotationYaw * (float)Math.PI / 180.0F)); - this.wasp.motionZ += (double)(strafeAmount * MathHelper.sin(this.wasp.rotationYaw * (float)Math.PI / 180.0F)); - } - - // abandon this movement if we have reached the target or there is no longer a clear path to the target - if (!this.targetPos.isPathClear(5.0D)) - { - //System.out.println("Abandoning move target - way is blocked" ); - this.action = Action.WAIT; - } else if (this.targetPos.dist < this.closeEnough) { - //System.out.println("Arrived (close enough) dist:"+this.targetPos.dist); - this.action = Action.WAIT; - } - } - - } - - // AI class for implementing the random flying behaviour - class AIWaspRandomFly extends EntityAIBase - { - private EntityWasp wasp = EntityWasp.this; - private WaspMoveTargetPos targetPos = new WaspMoveTargetPos(); - - public AIWaspRandomFly() - { - this.setMutexBits(1); - } - - // should we choose a new random destination for the wasp to fly to? - // yes, if the wasp doesn't already have a destination - @Override - public boolean shouldExecute() - { - //System.out.println(this.wasp.getMoveHelper().isUpdating()?"has a move target":"no move target"); - return !this.wasp.getMoveHelper().isUpdating(); - } - - @Override - public boolean shouldContinueExecuting() {return false;} - - // choose a a new random destination for the wasp to fly to - @Override - public void startExecuting() - { - Random rand = this.wasp.getRNG(); - // pick a random nearby point and see if we can fly to it - if (this.tryGoingRandomDirection(rand, 6.0D)) {return;} - // pick a random closer point to fly to instead - if (this.tryGoingRandomDirection(rand, 2.0D)) {return;} - // try going straight along axes (try all 6 directions in random order) - List directions = Arrays.asList(EnumFacing.values()); - Collections.shuffle(directions); - for (EnumFacing facing : directions) - { - if (this.tryGoingAlongAxis(rand, facing, 1.0D)) {return;} - } - } - - - // note y direction has a slight downward bias to stop them flying too high - public boolean tryGoingRandomDirection(Random rand, double maxDistance) - { - double dirX = ((rand.nextDouble() * 2.0D - 1.0D) * maxDistance); - double dirY = ((rand.nextDouble() * 2.0D - 1.1D) * maxDistance); - double dirZ = ((rand.nextDouble() * 2.0D - 1.0D) * maxDistance); - return this.tryGoing(dirX, dirY, dirZ); - } - - public boolean tryGoingAlongAxis(Random rand, EnumFacing facing, double maxDistance) - { - double dirX = 0.0D; - double dirY = 0.0D; - double dirZ = 0.0D; - switch (facing.getAxis()) - { - case X: - dirX = rand.nextDouble() * facing.getAxisDirection().getOffset() * maxDistance; - break; - case Y: - dirY = rand.nextDouble() * facing.getAxisDirection().getOffset() * maxDistance; - break; - case Z: default: - dirZ = rand.nextDouble() * facing.getAxisDirection().getOffset() * maxDistance; - break; - } - return this.tryGoing(dirX, dirY, dirZ); - } - - public boolean tryGoing(double dirX, double dirY, double dirZ) - { - //System.out.println("("+dirX+","+dirY+","+dirZ+")"); - this.targetPos.setTarget(this.wasp.posX + dirX, this.wasp.posY + dirY, this.wasp.posZ + dirZ); - //System.out.println("Testing random move target distance:"+this.targetPos.dist+" direction:("+this.targetPos.aimX+","+this.targetPos.aimY+","+this.targetPos.aimZ+")"); - boolean result = this.targetPos.isPathClear(5.0F); - if (result) - { - this.wasp.getMoveHelper().setMoveTo(this.targetPos.posX, this.targetPos.posY, this.targetPos.posZ, 1.0D); - } - return result; - } - } - - - // AI class for implementing the behaviour to target and attack players - class AIWaspAttackTarget extends EntityAIBase - { - private EntityWasp wasp = EntityWasp.this; - private int attackTick = 0; - private WaspMoveTargetPos targetPos = new WaspMoveTargetPos(); - - public AIWaspAttackTarget() - { - this.setMutexBits(2); - } - - public boolean attackTargetExists() - { - // see if there's actually a living attack target to aim for - EntityLivingBase attackTarget = this.wasp.getAttackTarget(); - return (attackTarget != null && attackTarget.isEntityAlive()); - } - - @Override - public boolean shouldExecute() - { - // decrement time since last attack - if (this.attackTick > 0) {--this.attackTick;} - - return this.attackTargetExists(); - } - - @Override - public boolean shouldContinueExecuting() - { - // decrement time since last attack - if (this.attackTick > 0) {--this.attackTick;} - - if (!this.attackTargetExists()) {return false;} - - // focus attack on target position - EntityLivingBase attackTarget = this.wasp.getAttackTarget(); - this.targetPos.setTarget(attackTarget.posX, attackTarget.posY, attackTarget.posZ); - - // damage the target if it's in range, and it has been long enough since the last attack - double damageRange = (double)(this.wasp.width + attackTarget.width); - if (this.attackTick <= 0 && this.targetPos.dist < damageRange) - { - this.wasp.attackEntityAsMob(attackTarget); - this.attackTick = 16; // 16 ticks before next attack - } - - // see if there's a straight path to the target, if there is, aim for it - if (this.targetPos.isPathClear(5.0D)) - { - //System.out.println("Setting attack target"); - this.wasp.getMoveHelper().setMoveTo(attackTarget.posX, attackTarget.posY, attackTarget.posZ, 1.0D); - } - //System.out.println("dist:"+this.targetPos.dist+" damageRange:"+damageRange+" attackTick:"+attackTick); - return true; - } - } - - -} diff --git a/src/main/java/biomesoplenty/common/entities/ModelWasp.java b/src/main/java/biomesoplenty/common/entities/ModelWasp.java deleted file mode 100644 index fadd5cc3b..000000000 --- a/src/main/java/biomesoplenty/common/entities/ModelWasp.java +++ /dev/null @@ -1,187 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.entities; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.util.math.MathHelper; - -public class ModelWasp extends ModelBase -{ - //fields - - /*Head*/ - ModelRenderer Head; - ModelRenderer Right_Antenna; - ModelRenderer Left_Antenna; - ModelRenderer Nose; - - /*Wings*/ - ModelRenderer Left_Wing; - ModelRenderer Right_Wing; - - /*Body*/ - ModelRenderer Thorax; - ModelRenderer Left_Leg_Back; - ModelRenderer Left_Leg_Middle; - ModelRenderer Left_Leg_Front; - ModelRenderer Right_Leg_Back; - ModelRenderer Right_Leg_Middle; - ModelRenderer Right_Leg_Front; - - /*Stinger*/ - ModelRenderer Abdomen; - ModelRenderer Stinger; - - public ModelWasp() - { - textureWidth = 64; - textureHeight = 32; - - /*Head*/ - Head = new ModelRenderer(this, 46, 0); - Head.addBox(0F, 0F, 0F, 5, 5, 4); - Head.setRotationPoint(0F, -2F, 8F); - Head.setTextureSize(64, 32); - - Right_Antenna = new ModelRenderer(this, 54, 27); - Right_Antenna.addBox(0F, 2F, -8F, 1, 1, 4); - Right_Antenna.setRotationPoint(3F, -3F, 10F); - Right_Antenna.setTextureSize(64, 32); - Right_Antenna.mirror = true; - Head.addChild(Right_Antenna); - - Left_Antenna = new ModelRenderer(this, 54, 27); - Left_Antenna.addBox(0F, 2F, -8F, 1, 1, 4); - Left_Antenna.setRotationPoint(1F, -3F, 10F); - Left_Antenna.setTextureSize(64, 32); - Left_Antenna.mirror = true; - Head.addChild(Left_Antenna); - - Nose = new ModelRenderer(this, 54, 9); - Nose.addBox(0F, 2F, -8F, 3, 4, 2); - Nose.setRotationPoint(1F, 0F, 11F); - Nose.setTextureSize(64, 32); - Nose.mirror = true; - Head.addChild(Nose); - - /*Wings*/ - Left_Wing = new ModelRenderer(this, 24, 26); - Left_Wing.addBox(-7F, 0F, 0F, 8, 1, 5); - Left_Wing.setRotationPoint(0F, -1F, 2F); - Left_Wing.setTextureSize(64, 32); - - Right_Wing = new ModelRenderer(this, 24, 20); - Right_Wing.addBox(0F, 0F, 0F, 8, 1, 5); - Right_Wing.setRotationPoint(4F, -1F, 2F); - Right_Wing.setTextureSize(64, 32); - - /*Body*/ - Thorax = new ModelRenderer(this, 0, 0); - Thorax.addBox(0F, 0F, 0F, 5, 5, 8); - Thorax.setRotationPoint(0F, 0F, 0F); - Thorax.setTextureSize(64, 32); - - Left_Leg_Back = new ModelRenderer(this, 13, 23); - Left_Leg_Back.addBox(0F, 0F, 0F, 1, 4, 1); - Left_Leg_Back.setRotationPoint(-1F, 4F, 1F); - Left_Leg_Back.setTextureSize(64, 32); - Thorax.addChild(Left_Leg_Back); - - Left_Leg_Middle = new ModelRenderer(this, 13, 23); - Left_Leg_Middle.addBox(0F, 0F, 0F, 1, 3, 1); - Left_Leg_Middle.setRotationPoint(-1F, 4F, 4F); - Left_Leg_Middle.setTextureSize(64, 32); - Thorax.addChild(Left_Leg_Middle); - - Left_Leg_Front = new ModelRenderer(this, 13, 23); - Left_Leg_Front.addBox(0F, 0F, 0F, 1, 4, 1); - Left_Leg_Front.setRotationPoint(-1F, 4F, 6F); - Left_Leg_Front.setTextureSize(64, 32); - Thorax.addChild(Left_Leg_Front); - - Right_Leg_Back = new ModelRenderer(this, 13, 23); - Right_Leg_Back.addBox(0F, 0F, 0F, 1, 4, 1); - Right_Leg_Back.setRotationPoint(5F, 4F, 1F); - Right_Leg_Back.setTextureSize(64, 32); - Thorax.addChild(Right_Leg_Back); - - Right_Leg_Middle = new ModelRenderer(this, 13, 23); - Right_Leg_Middle.addBox(0F, 0F, 0F, 1, 3, 1); - Right_Leg_Middle.setRotationPoint(5F, 4F, 4F); - Right_Leg_Middle.setTextureSize(64, 32); - Thorax.addChild(Right_Leg_Middle); - - Right_Leg_Front = new ModelRenderer(this, 13, 23); - Right_Leg_Front.addBox(0F, 0F, 0F, 1, 4, 1); - Right_Leg_Front.setRotationPoint(5F, 4F, 6F); - Right_Leg_Front.setTextureSize(64, 32); - Thorax.addChild(Right_Leg_Front); - - /*Stinger*/ - Abdomen = new ModelRenderer(this, 0, 13); - Abdomen.addBox(0F, 0F, 0F, 3, 3, 2); - Abdomen.setRotationPoint(1F, 2F, -2F); - Abdomen.setTextureSize(64, 32); - - Stinger = new ModelRenderer(this, 0, 18); - Stinger.addBox(-1F, -3F, 2F, 1, 1, 3); - Stinger.setRotationPoint(2F, 4F, -5F); - Stinger.setTextureSize(64, 32); - Abdomen.addChild(Stinger); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - this.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - - /*Head*/ - Head.render(f5); - - /*Wings*/ - Left_Wing.render(f5); - Right_Wing.render(f5); - - /*Body*/ - Thorax.render(f5); - - /*float nosespeed = 0.5F * (float)(entity.entityId % 10); - Nose.rotateAngleX = MathHelper.sin((float)entity.ticksExisted * nosespeed) * 2.5F * (float)Math.PI / 180.0F; - Nose.rotateAngleY = 0.0F; - Nose.rotateAngleZ = MathHelper.cos((float)entity.ticksExisted * nosespeed) * 1.5F * (float)Math.PI / 180.0F;*/ - - /*Stinger*/ - Abdomen.render(f5); - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - - float headspeed = 0.1F * (float)(entity.ticksExisted % 10); - Head.rotateAngleX = MathHelper.sin(f2 * headspeed) * 2.5F * (float)Math.PI / 180.0F; - Head.rotateAngleZ = MathHelper.cos(f2 * headspeed) * 1.5F * (float)Math.PI / 180.0F; - - float thoraxspeed = 0.075F * (float)(entity.ticksExisted % 10); - Thorax.rotateAngleX = MathHelper.sin(f2 * thoraxspeed) * 2.5F * (float)Math.PI / 180.0F; - Thorax.rotateAngleZ = MathHelper.cos(f2 * thoraxspeed) * 1.5F * (float)Math.PI / 180.0F; - - Right_Wing.rotateAngleY = MathHelper.cos(f2 * 1.7F) * (float)Math.PI * 0.25F; - Left_Wing.rotateAngleY = -Right_Wing.rotateAngleY; - Right_Wing.rotateAngleZ = Right_Wing.rotateAngleY; - Left_Wing.rotateAngleZ = -Right_Wing.rotateAngleY; - - float abdomenspeed = 0.6F * (float)(entity.ticksExisted % 10); - Abdomen.rotateAngleX = MathHelper.sin(f2 * abdomenspeed) * 2.5F * (float)Math.PI / 180.0F; - Abdomen.rotateAngleZ = MathHelper.cos(f2 * abdomenspeed) * 1.5F * (float)Math.PI / 180.0F; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entities/RenderWasp.java b/src/main/java/biomesoplenty/common/entities/RenderWasp.java deleted file mode 100644 index 48ce59d14..000000000 --- a/src/main/java/biomesoplenty/common/entities/RenderWasp.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.entities; - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - - -@SideOnly(Side.CLIENT) -public class RenderWasp extends RenderLiving -{ - private static final ResourceLocation waspTextureLocation = new ResourceLocation("biomesoplenty:textures/entity/wasp.png"); - - public RenderWasp(RenderManager renderManager) - { - super(renderManager, new ModelWasp(), 0.5F); - } - - @Override - protected void preRenderCallback(EntityWasp entity, float partialTickTime) - { - GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.0F, 0.75F, 0.0F); - } - - @Override - protected ResourceLocation getEntityTexture(EntityWasp entity) - { - return waspTextureLocation; - } -} diff --git a/src/main/java/biomesoplenty/common/entities/ai/EntityAIEatBOPGrass.java b/src/main/java/biomesoplenty/common/entities/ai/EntityAIEatBOPGrass.java deleted file mode 100644 index 6cd597e76..000000000 --- a/src/main/java/biomesoplenty/common/entities/ai/EntityAIEatBOPGrass.java +++ /dev/null @@ -1,137 +0,0 @@ -package biomesoplenty.common.entities.ai; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPPlant; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; -import net.minecraft.block.Block; -import net.minecraft.block.BlockGrass; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.state.IBlockState; -import net.minecraft.block.state.pattern.BlockStateMatcher; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.ai.EntityAIEatGrass; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class EntityAIEatBOPGrass extends EntityAIEatGrass -{ - private static final Predicate IS_TALL_GRASS = BlockStateMatcher.forBlock(Blocks.TALLGRASS).where(BlockTallGrass.TYPE, Predicates.equalTo(BlockTallGrass.EnumType.GRASS)); - private static final Predicate IS_SHORT_GRASS = forBoPPlant(BOPPlants.SHORTGRASS); - private static final Predicate IS_MEDIUM_GRASS = forBoPPlant(BOPPlants.MEDIUMGRASS); - private static final Predicate IS_WHEAT_GRASS = forBoPPlant(BOPPlants.WHEATGRASS); - private static final Predicate IS_DAMP_GRASS = forBoPPlant(BOPPlants.DAMPGRASS); - private EntityLiving sheep; - private World world; - int bopEatingGrassTimer; - - public EntityAIEatBOPGrass(EntityLiving entityLiving) - { - super(entityLiving); - this.sheep = entityLiving; - this.world = entityLiving.world; - this.setMutexBits(7); - } - - @Override - public boolean shouldExecute() - { - if (this.sheep.getRNG().nextInt(this.sheep.isChild() ? 50 : 1000) != 0) - { - return false; - } - else - { - BlockPos pos = new BlockPos(this.sheep.posX, this.sheep.posY, this.sheep.posZ); - IBlockState state = this.world.getBlockState(pos); - return IS_TALL_GRASS.apply(state) || IS_SHORT_GRASS.apply(state) || IS_MEDIUM_GRASS.apply(state) || IS_WHEAT_GRASS.apply(state) || IS_DAMP_GRASS.apply(state) - || this.world.getBlockState(pos.down()).getBlock() instanceof BlockGrass; - } - } - - @Override - public void startExecuting() - { - this.bopEatingGrassTimer = 40; - this.world.setEntityState(this.sheep, (byte)10); - this.sheep.getNavigator().clearPath(); - } - - @Override - public void resetTask() - { - this.bopEatingGrassTimer = 0; - } - - @Override - public boolean shouldContinueExecuting() - { - return this.bopEatingGrassTimer > 0; - } - - @Override - public int getEatingGrassTimer() - { - return this.bopEatingGrassTimer; - } - - @Override - public void updateTask() - { - this.bopEatingGrassTimer = Math.max(0, this.bopEatingGrassTimer - 1); - - if (this.bopEatingGrassTimer == 4) - { - BlockPos pos = new BlockPos(this.sheep.posX, this.sheep.posY, this.sheep.posZ); - IBlockState state = this.world.getBlockState(pos); - - if (IS_TALL_GRASS.apply(state) || IS_SHORT_GRASS.apply(state) || IS_MEDIUM_GRASS.apply(state) || IS_WHEAT_GRASS.apply(state) || IS_DAMP_GRASS.apply(state)) - { - if (this.world.getGameRules().getBoolean("mobGriefing")) - { - this.world.destroyBlock(pos, false); - } - - this.sheep.eatGrassBonus(); - } - else { - BlockPos posDown = pos.down(); - IBlockState stateDown = world.getBlockState(posDown); - - if (stateDown.getBlock() instanceof BlockBOPGrass) - { - BlockBOPGrass grass = (BlockBOPGrass) stateDown.getBlock(); - Block dirtBlock = BlockBOPGrass.getDirtBlockState(stateDown).getBlock(); - - if (dirtBlock instanceof BlockBOPDirt) - { - if (this.world.getGameRules().getBoolean("mobGriefing")) - { - this.world.playEvent(2001, posDown, Block.getIdFromBlock(Blocks.GRASS)); - this.world.setBlockState(posDown, BlockBOPGrass.getDirtBlockState(stateDown), 2); - } - - } else if (stateDown.getValue(BlockBOPGrass.VARIANT) == BlockBOPGrass.BOPGrassType.DAISY) - { - if (this.world.getGameRules().getBoolean("mobGriefing")) - { - this.world.playEvent(2001, posDown, Block.getIdFromBlock(Blocks.GRASS)); - this.world.setBlockState(posDown, Blocks.DIRT.getDefaultState(), 2); - } - } - - this.sheep.eatGrassBonus(); - } - } - } - } - - private static BlockStateMatcher forBoPPlant (BOPPlants plant) - { - return BlockStateMatcher.forBlock(BOPBlocks.plant_0).where(BlockBOPPlant.paging.getVariantProperty(BlockBOPPlant.paging.getPageNum(plant)), Predicates.equalTo(plant)); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entities/item/EntityBOPBoat.java b/src/main/java/biomesoplenty/common/entities/item/EntityBOPBoat.java deleted file mode 100644 index 72b2c4c15..000000000 --- a/src/main/java/biomesoplenty/common/entities/item/EntityBOPBoat.java +++ /dev/null @@ -1,1088 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.entities.item; - -import java.util.List; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - -import com.google.common.collect.Lists; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.item.BOPItems; -import net.minecraft.block.BlockLiquid; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.MoverType; -import net.minecraft.entity.item.EntityBoat; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityWaterMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.init.SoundEvents; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.datasync.DataParameter; -import net.minecraft.network.datasync.DataSerializers; -import net.minecraft.network.datasync.EntityDataManager; -import net.minecraft.network.play.client.CPacketSteerBoat; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSourceIndirect; -import net.minecraft.util.EntitySelectors; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; -import net.minecraft.util.SoundEvent; -import net.minecraft.util.math.*; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class EntityBOPBoat extends EntityBoat -{ - private static final DataParameter TIME_SINCE_HIT = EntityDataManager.createKey(EntityBOPBoat.class, DataSerializers.VARINT); - private static final DataParameter FORWARD_DIRECTION = EntityDataManager.createKey(EntityBOPBoat.class, DataSerializers.VARINT); - private static final DataParameter DAMAGE_TAKEN = EntityDataManager.createKey(EntityBOPBoat.class, DataSerializers.FLOAT); - private static final DataParameter BOAT_TYPE = EntityDataManager.createKey(EntityBOPBoat.class, DataSerializers.VARINT); - private static final DataParameter[] DATA_ID_PADDLE = new DataParameter[] {EntityDataManager.createKey(EntityBOPBoat.class, DataSerializers.BOOLEAN), EntityDataManager.createKey(EntityBOPBoat.class, DataSerializers.BOOLEAN)}; - private final float[] paddlePositions; - private float momentum; - private float outOfControlTicks; - private float deltaRotation; - private int lerpSteps; - private double lerpX; - private double lerpY; - private double lerpZ; - private double lerpYaw; - private double lerpPitch; - private boolean leftInputDown; - private boolean rightInputDown; - private boolean forwardInputDown; - private boolean backInputDown; - private double waterLevel; - private float boatGlide; - private EntityBOPBoat.Status status; - private EntityBOPBoat.Status previousStatus; - private double lastYd; - - public EntityBOPBoat(World worldIn) - { - super(worldIn); - this.paddlePositions = new float[2]; - this.preventEntitySpawning = true; - this.setSize(1.375F, 0.5625F); - } - - public EntityBOPBoat(World worldIn, double x, double y, double z) - { - this(worldIn); - this.setPosition(x, y, z); - this.motionX = 0.0D; - this.motionY = 0.0D; - this.motionZ = 0.0D; - this.prevPosX = x; - this.prevPosY = y; - this.prevPosZ = z; - } - - @Override - protected boolean canTriggerWalking() - { - return false; - } - - @Override - protected void entityInit() - { - this.dataManager.register(TIME_SINCE_HIT, Integer.valueOf(0)); - this.dataManager.register(FORWARD_DIRECTION, Integer.valueOf(1)); - this.dataManager.register(DAMAGE_TAKEN, Float.valueOf(0.0F)); - this.dataManager.register(BOAT_TYPE, Integer.valueOf(EntityBOPBoat.Type.SACRED_OAK.ordinal())); - - for (DataParameter dataparameter : DATA_ID_PADDLE) - { - this.dataManager.register(dataparameter, Boolean.valueOf(false)); - } - } - - @Nullable - @Override - public AxisAlignedBB getCollisionBox(Entity entityIn) - { - return entityIn.canBePushed() ? entityIn.getEntityBoundingBox() : null; - } - - @Nullable - @Override - public AxisAlignedBB getCollisionBoundingBox() - { - return this.getEntityBoundingBox(); - } - - @Override - public boolean canBePushed() - { - return true; - } - - @Override - public double getMountedYOffset() - { - return -0.1D; - } - - @Override - public boolean attackEntityFrom(@Nonnull DamageSource source, float amount) - { - if (this.isEntityInvulnerable(source)) - { - return false; - } - else if (!this.world.isRemote && !this.isDead) - { - if (source instanceof EntityDamageSourceIndirect && source.getTrueSource() != null && this.isPassenger(source.getTrueSource())) - { - return false; - } - else - { - this.setForwardDirection(-this.getForwardDirection()); - this.setTimeSinceHit(10); - this.setDamageTaken(this.getDamageTaken() + (amount * 1.5F) * 10.0F); - this.markVelocityChanged(); - boolean flag = source.getTrueSource() instanceof EntityPlayer && ((EntityPlayer)source.getTrueSource()).capabilities.isCreativeMode; - - if (flag || this.getDamageTaken() > 40.0F) - { - if (!flag && this.world.getGameRules().getBoolean("doEntityDrops")) - { - this.dropItemWithOffset(this.getItemBoat(), 1, 0.0F); - } - - this.setDead(); - } - - return true; - } - } - else - { - return true; - } - } - - @Override - public void applyEntityCollision(Entity entityIn) - { - if (entityIn instanceof EntityBoat) - { - if (entityIn.getEntityBoundingBox().minY < this.getEntityBoundingBox().maxY) - { - super.applyEntityCollision(entityIn); - } - } - else if (entityIn.getEntityBoundingBox().minY <= this.getEntityBoundingBox().minY) - { - super.applyEntityCollision(entityIn); - } - } - - @Override - public Item getItemBoat() - { - switch (this.getBOPBoatType()) - { - case SACRED_OAK: - default: - return BOPItems.boat_sacred_oak; - case CHERRY: - return BOPItems.boat_cherry; - case UMBRAN: - return BOPItems.boat_umbran; - case FIR: - return BOPItems.boat_fir; - case ETHEREAL: - return BOPItems.boat_ethereal; - case MAGIC: - return BOPItems.boat_magic; - case MANGROVE: - return BOPItems.boat_mangrove; - case PALM: - return BOPItems.boat_palm; - case REDWOOD: - return BOPItems.boat_redwood; - case WILLOW: - return BOPItems.boat_willow; - case PINE: - return BOPItems.boat_pine; - case HELLBARK: - return BOPItems.boat_hellbark; - case JACARANDA: - return BOPItems.boat_jacaranda; - case MAHOGANY: - return BOPItems.boat_mahogany; - case EBONY: - return BOPItems.boat_ebony; - case EUCALYPTUS: - return BOPItems.boat_eucalyptus; - } - } - - @Override - @Nonnull - public ItemStack getPickedResult(RayTraceResult target) - { - return new ItemStack(this.getItemBoat()); - } - - @SideOnly(Side.CLIENT) - @Override - public void performHurtAnimation() - { - this.setForwardDirection(-this.getForwardDirection()); - this.setTimeSinceHit(10); - this.setDamageTaken(this.getDamageTaken() * 11.0F); - } - - @Override - public boolean canBeCollidedWith() - { - return !this.isDead; - } - - @SideOnly(Side.CLIENT) - @Override - public void setPositionAndRotationDirect(double x, double y, double z, float yaw, float pitch, int posRotationIncrements, boolean teleport) - { - this.lerpX = x; - this.lerpY = y; - this.lerpZ = z; - this.lerpYaw = (double)yaw; - this.lerpPitch = (double)pitch; - this.lerpSteps = 10; - } - - @Override - public EnumFacing getAdjustedHorizontalFacing() - { - return this.getHorizontalFacing().rotateY(); - } - - @Override - public void onUpdate() - { - this.previousStatus = this.status; - this.status = this.getBoatStatus(); - - if (this.status != EntityBOPBoat.Status.UNDER_WATER && this.status != EntityBOPBoat.Status.UNDER_FLOWING_WATER) - { - this.outOfControlTicks = 0.0F; - } - else - { - ++this.outOfControlTicks; - } - - if (!this.world.isRemote && this.outOfControlTicks >= 60.0F) - { - this.removePassengers(); - } - - if (this.getTimeSinceHit() > 0) - { - this.setTimeSinceHit(this.getTimeSinceHit() - 1); - } - - if (this.getDamageTaken() > 0.0F) - { - this.setDamageTaken(this.getDamageTaken() - 1.0F); - } - - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - super.onUpdate(); - this.tickLerp(); - - if (this.canPassengerSteer()) - { - if (this.getPassengers().isEmpty() || !(this.getPassengers().get(0) instanceof EntityPlayer)) - { - this.setPaddleState(false, false); - } - - this.updateMotion(); - - if (this.world.isRemote) - { - this.controlBoat(); - this.world.sendPacketToServer(new CPacketSteerBoat(this.getPaddleState(0), this.getPaddleState(1))); - } - - this.move(MoverType.SELF, this.motionX, this.motionY, this.motionZ); - } - else - { - this.motionX = 0.0D; - this.motionY = 0.0D; - this.motionZ = 0.0D; - } - - for (int i = 0; i <= 1; ++i) - { - if (this.getPaddleState(i)) - { - if (!this.isSilent() && (double)(this.paddlePositions[i] % ((float)Math.PI * 2F)) <= (Math.PI / 4D) && ((double)this.paddlePositions[i] + 0.39269909262657166D) % (Math.PI * 2D) >= (Math.PI / 4D)) - { - SoundEvent soundevent = this.getPaddleSound(); - - if (soundevent != null) - { - Vec3d vec3d = this.getLook(1.0F); - double d0 = i == 1 ? -vec3d.z : vec3d.z; - double d1 = i == 1 ? vec3d.x : -vec3d.x; - this.world.playSound((EntityPlayer)null, this.posX + d0, this.posY, this.posZ + d1, soundevent, this.getSoundCategory(), 1.0F, 0.8F + 0.4F * this.rand.nextFloat()); - } - } - - this.paddlePositions[i] = (float)((double)this.paddlePositions[i] + 0.39269909262657166D); - } - else - { - this.paddlePositions[i] = 0.0F; - } - } - - this.doBlockCollisions(); - List list = this.world.getEntitiesInAABBexcluding(this, this.getEntityBoundingBox().grow(0.20000000298023224D, -0.009999999776482582D, 0.20000000298023224D), EntitySelectors.getTeamCollisionPredicate(this)); - - if (!list.isEmpty()) - { - boolean flag = !this.world.isRemote && !(this.getControllingPassenger() instanceof EntityPlayer); - - for (int j = 0; j < list.size(); ++j) - { - Entity entity = list.get(j); - - if (!entity.isPassenger(this)) - { - if (flag && this.getPassengers().size() < 2 && !entity.isRiding() && entity.width < this.width && entity instanceof EntityLivingBase && !(entity instanceof EntityWaterMob) && !(entity instanceof EntityPlayer)) - { - entity.startRiding(this); - } - else - { - this.applyEntityCollision(entity); - } - } - } - } - } - - @Nullable - @Override - protected SoundEvent getPaddleSound() - { - switch (this.getBoatStatus()) - { - case IN_WATER: - case UNDER_WATER: - case UNDER_FLOWING_WATER: - return SoundEvents.ENTITY_BOAT_PADDLE_WATER; - case ON_LAND: - return SoundEvents.ENTITY_BOAT_PADDLE_LAND; - case IN_AIR: - default: - return null; - } - } - - private void tickLerp() - { - if (this.lerpSteps > 0 && !this.canPassengerSteer()) - { - double d0 = this.posX + (this.lerpX - this.posX) / (double)this.lerpSteps; - double d1 = this.posY + (this.lerpY - this.posY) / (double)this.lerpSteps; - double d2 = this.posZ + (this.lerpZ - this.posZ) / (double)this.lerpSteps; - double d3 = MathHelper.wrapDegrees(this.lerpYaw - (double)this.rotationYaw); - this.rotationYaw = (float)((double)this.rotationYaw + d3 / (double)this.lerpSteps); - this.rotationPitch = (float)((double)this.rotationPitch + (this.lerpPitch - (double)this.rotationPitch) / (double)this.lerpSteps); - --this.lerpSteps; - this.setPosition(d0, d1, d2); - this.setRotation(this.rotationYaw, this.rotationPitch); - } - } - - @Override - public void setPaddleState(boolean left, boolean right) - { - this.dataManager.set(DATA_ID_PADDLE[0], Boolean.valueOf(left)); - this.dataManager.set(DATA_ID_PADDLE[1], Boolean.valueOf(right)); - } - - @SideOnly(Side.CLIENT) - @Override - public float getRowingTime(int side, float limbSwing) - { - return this.getPaddleState(side) ? (float)MathHelper.clampedLerp((double)this.paddlePositions[side] - 0.39269909262657166D, (double)this.paddlePositions[side], (double)limbSwing) : 0.0F; - } - - private EntityBOPBoat.Status getBoatStatus() - { - EntityBOPBoat.Status entitybopboat$status = this.getUnderwaterStatus(); - - if (entitybopboat$status != null) - { - this.waterLevel = this.getEntityBoundingBox().maxY; - return entitybopboat$status; - } - else if (this.checkInWater()) - { - return EntityBOPBoat.Status.IN_WATER; - } - else - { - float f = this.getBoatGlide(); - - if (f > 0.0F) - { - this.boatGlide = f; - return EntityBOPBoat.Status.ON_LAND; - } - else - { - return EntityBOPBoat.Status.IN_AIR; - } - } - } - - @Override - public float getWaterLevelAbove() - { - AxisAlignedBB axisalignedbb = this.getEntityBoundingBox(); - int i = MathHelper.floor(axisalignedbb.minX); - int j = MathHelper.ceil(axisalignedbb.maxX); - int k = MathHelper.floor(axisalignedbb.maxY); - int l = MathHelper.ceil(axisalignedbb.maxY - this.lastYd); - int i1 = MathHelper.floor(axisalignedbb.minZ); - int j1 = MathHelper.ceil(axisalignedbb.maxZ); - BlockPos.PooledMutableBlockPos blockpos$pooledmutableblockpos = BlockPos.PooledMutableBlockPos.retain(); - - try - { - label108: - - for (int k1 = k; k1 < l; ++k1) - { - float f = 0.0F; - int l1 = i; - - while (true) - { - if (l1 >= j) - { - if (f < 1.0F) - { - float f2 = (float)blockpos$pooledmutableblockpos.getY() + f; - return f2; - } - - break; - } - - for (int i2 = i1; i2 < j1; ++i2) - { - blockpos$pooledmutableblockpos.setPos(l1, k1, i2); - IBlockState iblockstate = this.world.getBlockState(blockpos$pooledmutableblockpos); - - if (iblockstate.getMaterial() == Material.WATER) - { - f = Math.max(f, BlockLiquid.getBlockLiquidHeight(iblockstate, this.world, blockpos$pooledmutableblockpos)); - } - - if (f >= 1.0F) - { - continue label108; - } - } - - ++l1; - } - } - - float f1 = (float)(l + 1); - return f1; - } - finally - { - blockpos$pooledmutableblockpos.release(); - } - } - - @Override - public float getBoatGlide() - { - AxisAlignedBB axisalignedbb = this.getEntityBoundingBox(); - AxisAlignedBB axisalignedbb1 = new AxisAlignedBB(axisalignedbb.minX, axisalignedbb.minY - 0.001D, axisalignedbb.minZ, axisalignedbb.maxX, axisalignedbb.minY, axisalignedbb.maxZ); - int i = MathHelper.floor(axisalignedbb1.minX) - 1; - int j = MathHelper.ceil(axisalignedbb1.maxX) + 1; - int k = MathHelper.floor(axisalignedbb1.minY) - 1; - int l = MathHelper.ceil(axisalignedbb1.maxY) + 1; - int i1 = MathHelper.floor(axisalignedbb1.minZ) - 1; - int j1 = MathHelper.ceil(axisalignedbb1.maxZ) + 1; - List list = Lists.newArrayList(); - float f = 0.0F; - int k1 = 0; - BlockPos.PooledMutableBlockPos blockpos$pooledmutableblockpos = BlockPos.PooledMutableBlockPos.retain(); - - try - { - for (int l1 = i; l1 < j; ++l1) - { - for (int i2 = i1; i2 < j1; ++i2) - { - int j2 = (l1 != i && l1 != j - 1 ? 0 : 1) + (i2 != i1 && i2 != j1 - 1 ? 0 : 1); - - if (j2 != 2) - { - for (int k2 = k; k2 < l; ++k2) - { - if (j2 <= 0 || k2 != k && k2 != l - 1) - { - blockpos$pooledmutableblockpos.setPos(l1, k2, i2); - IBlockState iblockstate = this.world.getBlockState(blockpos$pooledmutableblockpos); - iblockstate.addCollisionBoxToList(this.world, blockpos$pooledmutableblockpos, axisalignedbb1, list, this, false); - - if (!list.isEmpty()) - { - f += iblockstate.getBlock().getSlipperiness(iblockstate, this.world, blockpos$pooledmutableblockpos, this); - ++k1; - } - - list.clear(); - } - } - } - } - } - } - finally - { - blockpos$pooledmutableblockpos.release(); - } - - return f / (float)k1; - } - - private boolean checkInWater() - { - AxisAlignedBB axisalignedbb = this.getEntityBoundingBox(); - int i = MathHelper.floor(axisalignedbb.minX); - int j = MathHelper.ceil(axisalignedbb.maxX); - int k = MathHelper.floor(axisalignedbb.minY); - int l = MathHelper.ceil(axisalignedbb.minY + 0.001D); - int i1 = MathHelper.floor(axisalignedbb.minZ); - int j1 = MathHelper.ceil(axisalignedbb.maxZ); - boolean flag = false; - this.waterLevel = Double.MIN_VALUE; - BlockPos.PooledMutableBlockPos blockpos$pooledmutableblockpos = BlockPos.PooledMutableBlockPos.retain(); - - try - { - for (int k1 = i; k1 < j; ++k1) - { - for (int l1 = k; l1 < l; ++l1) - { - for (int i2 = i1; i2 < j1; ++i2) - { - blockpos$pooledmutableblockpos.setPos(k1, l1, i2); - IBlockState iblockstate = this.world.getBlockState(blockpos$pooledmutableblockpos); - - if (iblockstate.getMaterial() == Material.WATER) - { - float f = BlockLiquid.getLiquidHeight(iblockstate, this.world, blockpos$pooledmutableblockpos); - this.waterLevel = Math.max((double)f, this.waterLevel); - flag |= axisalignedbb.minY < (double)f; - } - } - } - } - } - finally - { - blockpos$pooledmutableblockpos.release(); - } - - return flag; - } - - @Nullable - private EntityBOPBoat.Status getUnderwaterStatus() - { - AxisAlignedBB axisalignedbb = this.getEntityBoundingBox(); - double d0 = axisalignedbb.maxY + 0.001D; - int i = MathHelper.floor(axisalignedbb.minX); - int j = MathHelper.ceil(axisalignedbb.maxX); - int k = MathHelper.floor(axisalignedbb.maxY); - int l = MathHelper.ceil(d0); - int i1 = MathHelper.floor(axisalignedbb.minZ); - int j1 = MathHelper.ceil(axisalignedbb.maxZ); - boolean flag = false; - BlockPos.PooledMutableBlockPos blockpos$pooledmutableblockpos = BlockPos.PooledMutableBlockPos.retain(); - - try - { - for (int k1 = i; k1 < j; ++k1) - { - for (int l1 = k; l1 < l; ++l1) - { - for (int i2 = i1; i2 < j1; ++i2) - { - blockpos$pooledmutableblockpos.setPos(k1, l1, i2); - IBlockState iblockstate = this.world.getBlockState(blockpos$pooledmutableblockpos); - - if (iblockstate.getMaterial() == Material.WATER && d0 < (double)BlockLiquid.getLiquidHeight(iblockstate, this.world, blockpos$pooledmutableblockpos)) - { - if (((Integer)iblockstate.getValue(BlockLiquid.LEVEL)).intValue() != 0) - { - EntityBOPBoat.Status entitybopboat$status = EntityBOPBoat.Status.UNDER_FLOWING_WATER; - return entitybopboat$status; - } - - flag = true; - } - } - } - } - } - finally - { - blockpos$pooledmutableblockpos.release(); - } - - return flag ? EntityBOPBoat.Status.UNDER_WATER : null; - } - - private void updateMotion() - { - double d0 = -0.03999999910593033D; - double d1 = this.hasNoGravity() ? 0.0D : -0.03999999910593033D; - double d2 = 0.0D; - this.momentum = 0.05F; - - if (this.previousStatus == EntityBOPBoat.Status.IN_AIR && this.status != EntityBOPBoat.Status.IN_AIR && this.status != EntityBOPBoat.Status.ON_LAND) - { - this.waterLevel = this.getEntityBoundingBox().minY + (double)this.height; - this.setPosition(this.posX, (double)(this.getWaterLevelAbove() - this.height) + 0.101D, this.posZ); - this.motionY = 0.0D; - this.lastYd = 0.0D; - this.status = EntityBOPBoat.Status.IN_WATER; - } - else - { - if (this.status == EntityBOPBoat.Status.IN_WATER) - { - d2 = (this.waterLevel - this.getEntityBoundingBox().minY) / (double)this.height; - this.momentum = 0.9F; - } - else if (this.status == EntityBOPBoat.Status.UNDER_FLOWING_WATER) - { - d1 = -7.0E-4D; - this.momentum = 0.9F; - } - else if (this.status == EntityBOPBoat.Status.UNDER_WATER) - { - d2 = 0.009999999776482582D; - this.momentum = 0.45F; - } - else if (this.status == EntityBOPBoat.Status.IN_AIR) - { - this.momentum = 0.9F; - } - else if (this.status == EntityBOPBoat.Status.ON_LAND) - { - this.momentum = this.boatGlide; - - if (this.getControllingPassenger() instanceof EntityPlayer) - { - this.boatGlide /= 2.0F; - } - } - - this.motionX *= (double)this.momentum; - this.motionZ *= (double)this.momentum; - this.deltaRotation *= this.momentum; - this.motionY += d1; - - if (d2 > 0.0D) - { - double d3 = 0.65D; - this.motionY += d2 * 0.06153846016296973D; - double d4 = 0.75D; - this.motionY *= 0.75D; - } - } - } - - private void controlBoat() - { - if (this.isBeingRidden()) - { - float f = 0.0F; - - if (this.leftInputDown) - { - this.deltaRotation += -1.0F; - } - - if (this.rightInputDown) - { - ++this.deltaRotation; - } - - if (this.rightInputDown != this.leftInputDown && !this.forwardInputDown && !this.backInputDown) - { - f += 0.005F; - } - - this.rotationYaw += this.deltaRotation; - - if (this.forwardInputDown) - { - f += 0.04F; - } - - if (this.backInputDown) - { - f -= 0.005F; - } - - this.motionX += (double)(MathHelper.sin(-this.rotationYaw * 0.017453292F) * f); - this.motionZ += (double)(MathHelper.cos(this.rotationYaw * 0.017453292F) * f); - this.setPaddleState(this.rightInputDown && !this.leftInputDown || this.forwardInputDown, this.leftInputDown && !this.rightInputDown || this.forwardInputDown); - } - } - - @Override - public void updatePassenger(Entity passenger) - { - if (this.isPassenger(passenger)) - { - float f = 0.0F; - float f1 = (float)((this.isDead ? 0.009999999776482582D : this.getMountedYOffset()) + passenger.getYOffset()); - - if (this.getPassengers().size() > 1) - { - int i = this.getPassengers().indexOf(passenger); - - if (i == 0) - { - f = 0.2F; - } - else - { - f = -0.6F; - } - - if (passenger instanceof EntityAnimal) - { - f = (float)((double)f + 0.2D); - } - } - - Vec3d vec3d = (new Vec3d((double)f, 0.0D, 0.0D)).rotateYaw(-this.rotationYaw * 0.017453292F - ((float)Math.PI / 2F)); - passenger.setPosition(this.posX + vec3d.x, this.posY + (double)f1, this.posZ + vec3d.z); - passenger.rotationYaw += this.deltaRotation; - passenger.setRotationYawHead(passenger.getRotationYawHead() + this.deltaRotation); - this.applyYawToEntity(passenger); - - if (passenger instanceof EntityAnimal && this.getPassengers().size() > 1) - { - int j = passenger.getEntityId() % 2 == 0 ? 90 : 270; - passenger.setRenderYawOffset(((EntityAnimal)passenger).renderYawOffset + (float)j); - passenger.setRotationYawHead(passenger.getRotationYawHead() + (float)j); - } - } - } - - @Override - protected void applyYawToEntity(Entity entityToUpdate) - { - entityToUpdate.setRenderYawOffset(this.rotationYaw); - float f = MathHelper.wrapDegrees(entityToUpdate.rotationYaw - this.rotationYaw); - float f1 = MathHelper.clamp(f, -105.0F, 105.0F); - entityToUpdate.prevRotationYaw += f1 - f; - entityToUpdate.rotationYaw += f1 - f; - entityToUpdate.setRotationYawHead(entityToUpdate.rotationYaw); - } - - @SideOnly(Side.CLIENT) - @Override - public void applyOrientationToEntity(Entity entityToUpdate) - { - this.applyYawToEntity(entityToUpdate); - } - - @Override - protected void writeEntityToNBT(NBTTagCompound compound) - { - compound.setString("Type", this.getBOPBoatType().getName()); - } - - @Override - protected void readEntityFromNBT(NBTTagCompound compound) - { - if (compound.hasKey("Type", 8)) - { - this.setBoatType(EntityBOPBoat.Type.getTypeFromString(compound.getString("Type"))); - } - } - - @Override - public boolean processInitialInteract(EntityPlayer player, EnumHand hand) - { - if (player.isSneaking()) - { - return false; - } - else - { - if (!this.world.isRemote && this.outOfControlTicks < 60.0F) - { - player.startRiding(this); - } - - return true; - } - } - - @Override - protected void updateFallState(double y, boolean onGroundIn, IBlockState state, BlockPos pos) - { - this.lastYd = this.motionY; - - if (!this.isRiding()) - { - if (onGroundIn) - { - if (this.fallDistance > 3.0F) - { - if (this.status != EntityBOPBoat.Status.ON_LAND) - { - this.fallDistance = 0.0F; - return; - } - - this.fall(this.fallDistance, 1.0F); - - if (!this.world.isRemote && !this.isDead) - { - this.setDead(); - - if (this.world.getGameRules().getBoolean("doEntityDrops")) - { - for (int i = 0; i < 3; ++i) - { - this.entityDropItem(new ItemStack(Item.getItemFromBlock(BOPBlocks.planks_0), 1, this.getBOPBoatType().getMetadata()), 0.0F); - } - - for (int j = 0; j < 2; ++j) - { - this.dropItemWithOffset(Items.STICK, 1, 0.0F); - } - } - } - } - - this.fallDistance = 0.0F; - } - else if (this.world.getBlockState((new BlockPos(this)).down()).getMaterial() != Material.WATER && y < 0.0D) - { - this.fallDistance = (float)((double)this.fallDistance - y); - } - } - } - - @Override - public boolean getPaddleState(int side) - { - return ((Boolean)this.dataManager.get(DATA_ID_PADDLE[side])).booleanValue() && this.getControllingPassenger() != null; - } - - @Override - public void setDamageTaken(float damageTaken) - { - this.dataManager.set(DAMAGE_TAKEN, Float.valueOf(damageTaken)); - } - - @Override - public float getDamageTaken() - { - return ((Float)this.dataManager.get(DAMAGE_TAKEN)).floatValue(); - } - - @Override - public void setTimeSinceHit(int timeSinceHit) - { - this.dataManager.set(TIME_SINCE_HIT, Integer.valueOf(timeSinceHit)); - } - - @Override - public int getTimeSinceHit() - { - return ((Integer)this.dataManager.get(TIME_SINCE_HIT)).intValue(); - } - - @Override - public void setForwardDirection(int forwardDirection) - { - this.dataManager.set(FORWARD_DIRECTION, Integer.valueOf(forwardDirection)); - } - - @Override - public int getForwardDirection() - { - return ((Integer)this.dataManager.get(FORWARD_DIRECTION)).intValue(); - } - - public void setBoatType(EntityBOPBoat.Type boatType) - { - this.dataManager.set(BOAT_TYPE, Integer.valueOf(boatType.ordinal())); - } - - public void setBoatType(int boatType) - { - this.dataManager.set(BOAT_TYPE, Integer.valueOf(boatType)); - } - - public EntityBOPBoat.Type getBOPBoatType() - { - return EntityBOPBoat.Type.byId(((Integer)this.dataManager.get(BOAT_TYPE)).intValue()); - } - - @Override - protected boolean canFitPassenger(Entity passenger) - { - return this.getPassengers().size() < 2; - } - - @Nullable - @Override - public Entity getControllingPassenger() - { - List list = this.getPassengers(); - return list.isEmpty() ? null : (Entity)list.get(0); - } - - @SideOnly(Side.CLIENT) - @Override - public void updateInputs(boolean p_184442_1_, boolean p_184442_2_, boolean p_184442_3_, boolean p_184442_4_) - { - this.leftInputDown = p_184442_1_; - this.rightInputDown = p_184442_2_; - this.forwardInputDown = p_184442_3_; - this.backInputDown = p_184442_4_; - } - - public static enum Status - { - IN_WATER, - UNDER_WATER, - UNDER_FLOWING_WATER, - ON_LAND, - IN_AIR; - } - - public static enum Type - { - SACRED_OAK(BOPWoods.SACRED_OAK.ordinal(), "sacred_oak"), - CHERRY(BOPWoods.CHERRY.ordinal(), "cherry"), - UMBRAN(BOPWoods.UMBRAN.ordinal(), "umbran"), - FIR(BOPWoods.FIR.ordinal(), "fir"), - ETHEREAL(BOPWoods.ETHEREAL.ordinal(), "ethereal"), - MAGIC(BOPWoods.MAGIC.ordinal(), "magic"), - MANGROVE(BOPWoods.MAGIC.ordinal(), "mangrove"), - PALM(BOPWoods.MAGIC.ordinal(), "palm"), - REDWOOD(BOPWoods.MAGIC.ordinal(), "redwood"), - WILLOW(BOPWoods.MAGIC.ordinal(), "willow"), - PINE(BOPWoods.MAGIC.ordinal(), "pine"), - HELLBARK(BOPWoods.MAGIC.ordinal(), "hellbark"), - JACARANDA(BOPWoods.MAGIC.ordinal(), "jacaranda"), - MAHOGANY(BOPWoods.MAGIC.ordinal(), "mahogany"), - EBONY(BOPWoods.MAGIC.ordinal(), "ebony"), - EUCALYPTUS(BOPWoods.MAGIC.ordinal(), "eucalyptus"); - - private final String name; - private final int metadata; - - private Type(int metadataIn, String nameIn) - { - this.name = nameIn; - this.metadata = metadataIn; - } - - public String getName() - { - return this.name; - } - - public int getMetadata() - { - return this.metadata; - } - - public String toString() - { - return this.name; - } - - public static EntityBOPBoat.Type byId(int id) - { - if (id < 0 || id >= values().length) - { - id = 0; - } - - return values()[id]; - } - - public static EntityBOPBoat.Type getTypeFromString(String nameIn) - { - for (int i = 0; i < values().length; ++i) - { - if (values()[i].getName().equals(nameIn)) - { - return values()[i]; - } - } - - return values()[0]; - } - } - - // Forge: Fix MC-119811 by instantly completing lerp on board - @Override - protected void addPassenger(Entity passenger) - { - super.addPassenger(passenger); - if(this.canPassengerSteer() && this.lerpSteps > 0) - { - this.lerpSteps = 0; - this.posX = this.lerpX; - this.posY = this.lerpY; - this.posZ = this.lerpZ; - this.rotationYaw = (float)this.lerpYaw; - this.rotationPitch = (float)this.lerpPitch; - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entities/item/ModelBOPBoat.java b/src/main/java/biomesoplenty/common/entities/item/ModelBOPBoat.java deleted file mode 100644 index 15b4f1d6d..000000000 --- a/src/main/java/biomesoplenty/common/entities/item/ModelBOPBoat.java +++ /dev/null @@ -1,117 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.entities.item; - -import net.minecraft.client.model.IMultipassModel; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.renderer.GLAllocation; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.entity.Entity; -import net.minecraft.util.math.MathHelper; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class ModelBOPBoat extends ModelBase implements IMultipassModel -{ - public ModelRenderer[] boatSides = new ModelRenderer[5]; - public ModelRenderer[] paddles = new ModelRenderer[2]; - public ModelRenderer noWater; - private final int patchList = GLAllocation.generateDisplayLists(1); - - public ModelBOPBoat() - { - this.boatSides[0] = (new ModelRenderer(this, 0, 0)).setTextureSize(128, 64); - this.boatSides[1] = (new ModelRenderer(this, 0, 19)).setTextureSize(128, 64); - this.boatSides[2] = (new ModelRenderer(this, 0, 27)).setTextureSize(128, 64); - this.boatSides[3] = (new ModelRenderer(this, 0, 35)).setTextureSize(128, 64); - this.boatSides[4] = (new ModelRenderer(this, 0, 43)).setTextureSize(128, 64); - int i = 32; - int j = 6; - int k = 20; - int l = 4; - int i1 = 28; - this.boatSides[0].addBox(-14.0F, -9.0F, -3.0F, 28, 16, 3, 0.0F); - this.boatSides[0].setRotationPoint(0.0F, 3.0F, 1.0F); - this.boatSides[1].addBox(-13.0F, -7.0F, -1.0F, 18, 6, 2, 0.0F); - this.boatSides[1].setRotationPoint(-15.0F, 4.0F, 4.0F); - this.boatSides[2].addBox(-8.0F, -7.0F, -1.0F, 16, 6, 2, 0.0F); - this.boatSides[2].setRotationPoint(15.0F, 4.0F, 0.0F); - this.boatSides[3].addBox(-14.0F, -7.0F, -1.0F, 28, 6, 2, 0.0F); - this.boatSides[3].setRotationPoint(0.0F, 4.0F, -9.0F); - this.boatSides[4].addBox(-14.0F, -7.0F, -1.0F, 28, 6, 2, 0.0F); - this.boatSides[4].setRotationPoint(0.0F, 4.0F, 9.0F); - this.boatSides[0].rotateAngleX = ((float)Math.PI / 2F); - this.boatSides[1].rotateAngleY = ((float)Math.PI * 3F / 2F); - this.boatSides[2].rotateAngleY = ((float)Math.PI / 2F); - this.boatSides[3].rotateAngleY = (float)Math.PI; - this.paddles[0] = this.makePaddle(true); - this.paddles[0].setRotationPoint(3.0F, -5.0F, 9.0F); - this.paddles[1] = this.makePaddle(false); - this.paddles[1].setRotationPoint(3.0F, -5.0F, -9.0F); - this.paddles[1].rotateAngleY = (float)Math.PI; - this.paddles[0].rotateAngleZ = 0.19634955F; - this.paddles[1].rotateAngleZ = 0.19634955F; - this.noWater = (new ModelRenderer(this, 0, 0)).setTextureSize(128, 64); - this.noWater.addBox(-14.0F, -9.0F, -3.0F, 28, 16, 3, 0.0F); - this.noWater.setRotationPoint(0.0F, -3.0F, 1.0F); - this.noWater.rotateAngleX = ((float)Math.PI / 2F); - } - - public void render(Entity entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scale) - { - GlStateManager.rotate(90.0F, 0.0F, 1.0F, 0.0F); - EntityBOPBoat entitybopboat = (EntityBOPBoat)entityIn; - this.setRotationAngles(limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scale, entityIn); - - for (int i = 0; i < 5; ++i) - { - this.boatSides[i].render(scale); - } - - this.renderPaddle(entitybopboat, 0, scale, limbSwing); - this.renderPaddle(entitybopboat, 1, scale, limbSwing); - } - - public void renderMultipass(Entity p_187054_1_, float p_187054_2_, float p_187054_3_, float p_187054_4_, float p_187054_5_, float p_187054_6_, float scale) - { - GlStateManager.rotate(90.0F, 0.0F, 1.0F, 0.0F); - GlStateManager.colorMask(false, false, false, false); - this.noWater.render(scale); - GlStateManager.colorMask(true, true, true, true); - } - - protected ModelRenderer makePaddle(boolean p_187056_1_) - { - ModelRenderer modelrenderer = (new ModelRenderer(this, 62, p_187056_1_ ? 0 : 20)).setTextureSize(128, 64); - int i = 20; - int j = 7; - int k = 6; - float f = -5.0F; - modelrenderer.addBox(-1.0F, 0.0F, -5.0F, 2, 2, 18); - modelrenderer.addBox(p_187056_1_ ? -1.001F : 0.001F, -3.0F, 8.0F, 1, 6, 7); - return modelrenderer; - } - - protected void renderPaddle(EntityBOPBoat boat, int paddle, float scale, float limbSwing) - { - float f = boat.getRowingTime(paddle, limbSwing); - ModelRenderer modelrenderer = this.paddles[paddle]; - modelrenderer.rotateAngleX = (float)MathHelper.clampedLerp(-1.0471975803375244D, -0.2617993950843811D, (double)((MathHelper.sin(-f) + 1.0F) / 2.0F)); - modelrenderer.rotateAngleY = (float)MathHelper.clampedLerp(-(Math.PI / 4D), (Math.PI / 4D), (double)((MathHelper.sin(-f + 1.0F) + 1.0F) / 2.0F)); - - if (paddle == 1) - { - modelrenderer.rotateAngleY = (float)Math.PI - modelrenderer.rotateAngleY; - } - - modelrenderer.render(scale); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entities/item/RenderBOPBoat.java b/src/main/java/biomesoplenty/common/entities/item/RenderBOPBoat.java deleted file mode 100644 index 3baf84683..000000000 --- a/src/main/java/biomesoplenty/common/entities/item/RenderBOPBoat.java +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.entities.item; - -import net.minecraft.client.model.IMultipassModel; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.entity.item.EntityBoat; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.MathHelper; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderBOPBoat extends Render -{ - private static final ResourceLocation[] BOAT_TEXTURES = new ResourceLocation[] {new ResourceLocation("biomesoplenty:textures/entity/boats/boat_sacred_oak.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_cherry.png"), - new ResourceLocation("biomesoplenty:textures/entity/boats/boat_umbran.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_fir.png"), - new ResourceLocation("biomesoplenty:textures/entity/boats/boat_ethereal.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_magic.png"), - new ResourceLocation("biomesoplenty:textures/entity/boats/boat_mangrove.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_palm.png"), - new ResourceLocation("biomesoplenty:textures/entity/boats/boat_redwood.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_willow.png"), - new ResourceLocation("biomesoplenty:textures/entity/boats/boat_pine.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_hellbark.png"), - new ResourceLocation("biomesoplenty:textures/entity/boats/boat_jacaranda.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_mahogany.png"), - new ResourceLocation("biomesoplenty:textures/entity/boats/boat_ebony.png"), new ResourceLocation("biomesoplenty:textures/entity/boats/boat_eucalyptus.png")}; - protected ModelBase modelBOPBoat = new ModelBOPBoat(); - - public RenderBOPBoat(RenderManager renderManagerIn) - { - super(renderManagerIn); - this.shadowSize = 0.5F; - } - - public void doRender(EntityBOPBoat entity, double x, double y, double z, float entityYaw, float partialTicks) - { - GlStateManager.pushMatrix(); - this.setupTranslation(x, y, z); - this.setupRotation(entity, entityYaw, partialTicks); - this.bindEntityTexture(entity); - - if (this.renderOutlines) - { - GlStateManager.enableColorMaterial(); - GlStateManager.enableOutlineMode(this.getTeamColor(entity)); - } - - this.modelBOPBoat.render(entity, partialTicks, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); - - if (this.renderOutlines) - { - GlStateManager.disableOutlineMode(); - GlStateManager.disableColorMaterial(); - } - - GlStateManager.popMatrix(); - super.doRender(entity, x, y, z, entityYaw, partialTicks); - } - - public void setupRotation(EntityBOPBoat p_188311_1_, float p_188311_2_, float p_188311_3_) - { - GlStateManager.rotate(180.0F - p_188311_2_, 0.0F, 1.0F, 0.0F); - float f = (float)p_188311_1_.getTimeSinceHit() - p_188311_3_; - float f1 = p_188311_1_.getDamageTaken() - p_188311_3_; - - if (f1 < 0.0F) - { - f1 = 0.0F; - } - - if (f > 0.0F) - { - GlStateManager.rotate(MathHelper.sin(f) * f * f1 / 10.0F * (float)p_188311_1_.getForwardDirection(), 1.0F, 0.0F, 0.0F); - } - - GlStateManager.scale(-1.0F, -1.0F, 1.0F); - } - - public void setupTranslation(double p_188309_1_, double p_188309_3_, double p_188309_5_) - { - GlStateManager.translate((float)p_188309_1_, (float)p_188309_3_ + 0.375F, (float)p_188309_5_); - } - - protected ResourceLocation getEntityTexture(EntityBOPBoat entity) - { - return BOAT_TEXTURES[entity.getBOPBoatType().ordinal()]; - } - - public boolean isMultipass() - { - return true; - } - - public void renderMultipass(EntityBOPBoat p_188300_1_, double p_188300_2_, double p_188300_4_, double p_188300_6_, float p_188300_8_, float p_188300_9_) - { - GlStateManager.pushMatrix(); - this.setupTranslation(p_188300_2_, p_188300_4_, p_188300_6_); - this.setupRotation(p_188300_1_, p_188300_8_, p_188300_9_); - this.bindEntityTexture(p_188300_1_); - ((IMultipassModel)this.modelBOPBoat).renderMultipass(p_188300_1_, p_188300_9_, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); - GlStateManager.popMatrix(); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entities/projectiles/EntityMudball.java b/src/main/java/biomesoplenty/common/entities/projectiles/EntityMudball.java deleted file mode 100644 index f82d5dac0..000000000 --- a/src/main/java/biomesoplenty/common/entities/projectiles/EntityMudball.java +++ /dev/null @@ -1,68 +0,0 @@ -package biomesoplenty.common.entities.projectiles; - -import biomesoplenty.api.particle.BOPParticleTypes; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.projectile.EntityThrowable; -import net.minecraft.init.MobEffects; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.datafix.DataFixer; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class EntityMudball extends EntityThrowable -{ - - public EntityMudball(World worldIn) - { - super(worldIn); - } - - public EntityMudball(World worldIn, EntityLivingBase thrower) - { - super(worldIn, thrower); - } - - public EntityMudball(World worldIn, double x, double y, double z) - { - super(worldIn, x, y, z); - } - - public static void registerFixesMudball(DataFixer fixer) - { - EntityThrowable.registerFixesThrowable(fixer, "mudball"); - } - - @SideOnly(Side.CLIENT) - @Override - public void handleStatusUpdate(byte id) - { - if (id == 3) - { - for (int i = 0; i < 8; ++i) - { - BiomesOPlenty.proxy.spawnParticle(BOPParticleTypes.MUD, this.world, this.posX, this.posY, this.posZ); - } - } - } - - @Override - protected void onImpact(RayTraceResult hit) - { - if (hit.entityHit != null) - { - hit.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), 0.0F); - } - - if (!this.world.isRemote) - { - this.world.setEntityState(this, (byte)3); - this.setDead(); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entities/projectiles/RenderMudball.java b/src/main/java/biomesoplenty/common/entities/projectiles/RenderMudball.java deleted file mode 100644 index 54a3b04a4..000000000 --- a/src/main/java/biomesoplenty/common/entities/projectiles/RenderMudball.java +++ /dev/null @@ -1,53 +0,0 @@ -package biomesoplenty.common.entities.projectiles; - -import biomesoplenty.api.item.BOPItems; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.RenderItem; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderMudball extends Render -{ - private final RenderItem renderItem; - - public RenderMudball(RenderManager renderManager) - { - super(renderManager); - this.renderItem = Minecraft.getMinecraft().getRenderItem(); - } - - @Override - public void doRender(EntityMudball entity, double x, double y, double z, float entityYaw, float partialTicks) - { - GlStateManager.pushMatrix(); - GlStateManager.translate((float)x, (float)y, (float)z); - GlStateManager.enableRescaleNormal(); - GlStateManager.scale(0.5F, 0.5F, 0.5F); - GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE); - this.renderItem.renderItem(this.getItemStack(entity), ItemCameraTransforms.TransformType.GROUND); - GlStateManager.disableRescaleNormal(); - GlStateManager.popMatrix(); - super.doRender(entity, x, y, z, entityYaw, partialTicks); - } - - public ItemStack getItemStack(EntityMudball entity) - { - return new ItemStack(BOPItems.mudball, 1, 0); - } - - @Override - protected ResourceLocation getEntityTexture(EntityMudball entity) - { - return TextureMap.LOCATION_BLOCKS_TEXTURE; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entities/projectiles/dispenser/DispenserBehaviorBOPBoat.java b/src/main/java/biomesoplenty/common/entities/projectiles/dispenser/DispenserBehaviorBOPBoat.java deleted file mode 100644 index fcac8a175..000000000 --- a/src/main/java/biomesoplenty/common/entities/projectiles/dispenser/DispenserBehaviorBOPBoat.java +++ /dev/null @@ -1,60 +0,0 @@ -package biomesoplenty.common.entities.projectiles.dispenser; - -import biomesoplenty.common.entities.item.EntityBOPBoat; -import net.minecraft.block.BlockDispenser; -import net.minecraft.block.material.Material; -import net.minecraft.dispenser.BehaviorDefaultDispenseItem; -import net.minecraft.dispenser.IBlockSource; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class DispenserBehaviorBOPBoat extends BehaviorDefaultDispenseItem -{ - private final BehaviorDefaultDispenseItem dispenseBehavior = new BehaviorDefaultDispenseItem(); - private final EntityBOPBoat.Type boatType; - - public DispenserBehaviorBOPBoat(EntityBOPBoat.Type boatTypeIn) - { - this.boatType = boatTypeIn; - } - - public ItemStack dispenseStack(IBlockSource source, ItemStack stack) - { - EnumFacing enumfacing = (EnumFacing)source.getBlockState().getValue(BlockDispenser.FACING); - World world = source.getWorld(); - double d0 = source.getX() + (double)((float)enumfacing.getFrontOffsetX() * 1.125F); - double d1 = source.getY() + (double)((float)enumfacing.getFrontOffsetY() * 1.125F); - double d2 = source.getZ() + (double)((float)enumfacing.getFrontOffsetZ() * 1.125F); - BlockPos blockpos = source.getBlockPos().offset(enumfacing); - Material material = world.getBlockState(blockpos).getMaterial(); - double d3; - - if (Material.WATER.equals(material)) - { - d3 = 1.0D; - } - else - { - if (!Material.AIR.equals(material) || !Material.WATER.equals(world.getBlockState(blockpos.down()).getMaterial())) - { - return this.dispenseBehavior.dispense(source, stack); - } - - d3 = 0.0D; - } - - EntityBOPBoat entitybopboat = new EntityBOPBoat(world, d0, d1 + d3, d2); - entitybopboat.setBoatType(this.boatType); - entitybopboat.rotationYaw = enumfacing.getHorizontalAngle(); - world.spawnEntity(entitybopboat); - stack.shrink(1); - return stack; - } - - protected void playDispenseSound(IBlockSource source) - { - source.getWorld().playEvent(1000, source.getBlockPos(), 0); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/entities/projectiles/dispenser/DispenserBehaviorMudball.java b/src/main/java/biomesoplenty/common/entities/projectiles/dispenser/DispenserBehaviorMudball.java deleted file mode 100644 index c50900b27..000000000 --- a/src/main/java/biomesoplenty/common/entities/projectiles/dispenser/DispenserBehaviorMudball.java +++ /dev/null @@ -1,17 +0,0 @@ -package biomesoplenty.common.entities.projectiles.dispenser; - -import biomesoplenty.common.entities.projectiles.EntityMudball; -import net.minecraft.dispenser.BehaviorProjectileDispense; -import net.minecraft.dispenser.IPosition; -import net.minecraft.entity.IProjectile; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class DispenserBehaviorMudball extends BehaviorProjectileDispense -{ - @Override - protected IProjectile getProjectileEntity(World world, IPosition position, ItemStack stack) - { - return new EntityMudball(world, position.getX(), position.getY(), position.getZ()); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/fluids/BloodFluid.java b/src/main/java/biomesoplenty/common/fluids/BloodFluid.java deleted file mode 100644 index 21f8d0112..000000000 --- a/src/main/java/biomesoplenty/common/fluids/BloodFluid.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids; - -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.Fluid; - -public class BloodFluid extends Fluid { - - public static final String name = "blood"; - public static final BloodFluid instance = new BloodFluid(); - - public BloodFluid() - { - super(name, new ResourceLocation("biomesoplenty:blocks/blood_still"), new ResourceLocation("biomesoplenty:blocks/blood_flowing")); - } - -} diff --git a/src/main/java/biomesoplenty/common/fluids/HoneyFluid.java b/src/main/java/biomesoplenty/common/fluids/HoneyFluid.java deleted file mode 100644 index 590c1cf28..000000000 --- a/src/main/java/biomesoplenty/common/fluids/HoneyFluid.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids; - -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.Fluid; - -public class HoneyFluid extends Fluid { - - public static final String name = "honey"; - public static final HoneyFluid instance = new HoneyFluid(); - - public HoneyFluid() - { - super(name, new ResourceLocation("biomesoplenty:blocks/honey_still"), new ResourceLocation("biomesoplenty:blocks/honey_flowing")); - } - -} diff --git a/src/main/java/biomesoplenty/common/fluids/HotSpringWaterFluid.java b/src/main/java/biomesoplenty/common/fluids/HotSpringWaterFluid.java deleted file mode 100644 index a69ed2768..000000000 --- a/src/main/java/biomesoplenty/common/fluids/HotSpringWaterFluid.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids; - -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.Fluid; - -public class HotSpringWaterFluid extends Fluid { - - public static final String name = "hot_spring_water"; - public static final HotSpringWaterFluid instance = new HotSpringWaterFluid(); - - public HotSpringWaterFluid() - { - super(name, new ResourceLocation("biomesoplenty:blocks/hot_spring_water_still"), new ResourceLocation("biomesoplenty:blocks/hot_spring_water_flowing")); - } - -} diff --git a/src/main/java/biomesoplenty/common/fluids/PoisonFluid.java b/src/main/java/biomesoplenty/common/fluids/PoisonFluid.java deleted file mode 100644 index ddd0a5b8c..000000000 --- a/src/main/java/biomesoplenty/common/fluids/PoisonFluid.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids; - -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.Fluid; - -public class PoisonFluid extends Fluid { - - public static final String name = "poison"; - public static final PoisonFluid instance = new PoisonFluid(); - - public PoisonFluid() - { - super(name, new ResourceLocation("biomesoplenty:blocks/poison_still"), new ResourceLocation("biomesoplenty:blocks/poison_flowing")); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/fluids/QuicksandFluid.java b/src/main/java/biomesoplenty/common/fluids/QuicksandFluid.java deleted file mode 100644 index 3c77305c5..000000000 --- a/src/main/java/biomesoplenty/common/fluids/QuicksandFluid.java +++ /dev/null @@ -1,24 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids; - -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.Fluid; - -public class QuicksandFluid extends Fluid { - - public static final String name = "sand"; - public static final QuicksandFluid instance = new QuicksandFluid(); - - public QuicksandFluid() - { - super(name, new ResourceLocation("biomesoplenty:blocks/sand_still"), new ResourceLocation("biomesoplenty:blocks/sand_flowing")); - } - -} diff --git a/src/main/java/biomesoplenty/common/fluids/blocks/BlockBloodFluid.java b/src/main/java/biomesoplenty/common/fluids/blocks/BlockBloodFluid.java deleted file mode 100644 index 14f008605..000000000 --- a/src/main/java/biomesoplenty/common/fluids/blocks/BlockBloodFluid.java +++ /dev/null @@ -1,107 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids.blocks; - -import biomesoplenty.api.block.BOPBlocks; -import net.minecraft.block.Block; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fluids.BlockFluidClassic; -import net.minecraftforge.fluids.Fluid; - -public class BlockBloodFluid extends BlockFluidClassic -{ - public BlockBloodFluid(Fluid fluid) - { - super(fluid, Material.WATER); - this.setLightOpacity(3); - this.setHardness(100.0F); - } - - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - return FULL_BLOCK_AABB; - } - - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) - { - return NULL_AABB; - } - - @Override - public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) - { - super.onBlockAdded(worldIn, pos, state); - this.checkForMixing(worldIn, pos, state); - } - - @Override - public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos neighborPos) - { - super.neighborChanged(state, worldIn, pos, blockIn, neighborPos); - this.checkForMixing(worldIn, pos, state); - } - - public boolean checkForMixing(World worldIn, BlockPos pos, IBlockState state) - { - boolean flag = false; - - for (EnumFacing enumfacing : EnumFacing.values()) - { - if (enumfacing != EnumFacing.DOWN && (worldIn.getBlockState(pos.offset(enumfacing)).getMaterial().isLiquid() == true)) - { - if (worldIn.getBlockState(pos.offset(enumfacing)).getBlock() != this.getBlockState().getBlock()) - { - flag = true; - break; - } - } - } - - if (flag) - { - Integer integer = state.getValue(LEVEL); - - if (integer.intValue() == 0) - { - worldIn.setBlockState(pos, BOPBlocks.flesh.getDefaultState()); - return true; - } - - if (integer.intValue() <= 4) - { - worldIn.setBlockState(pos, BOPBlocks.flesh.getDefaultState()); - return true; - } - } - - return false; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos) - { - return MapColor.RED; - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing facing) - { - return BlockFaceShape.UNDEFINED; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/fluids/blocks/BlockHoneyFluid.java b/src/main/java/biomesoplenty/common/fluids/blocks/BlockHoneyFluid.java deleted file mode 100644 index 853cbf399..000000000 --- a/src/main/java/biomesoplenty/common/fluids/blocks/BlockHoneyFluid.java +++ /dev/null @@ -1,122 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids.blocks; - -import biomesoplenty.api.block.BOPBlocks; -import net.minecraft.block.Block; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.MobEffects; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fluids.BlockFluidFinite; -import net.minecraftforge.fluids.Fluid; - -public class BlockHoneyFluid extends BlockFluidFinite -{ - public BlockHoneyFluid(Fluid fluid) - { - super(fluid, Material.WATER); - this.setLightOpacity(1); - // default state should be a 'full block' of honey - this.setDefaultState(this.blockState.getBaseState().withProperty(LEVEL, this.quantaPerBlock - 1)); - this.setHardness(100.0F); - } - - @Override - public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) - { - if (entity instanceof EntityLivingBase) - { - ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(MobEffects.SLOWNESS, 200, 2)); - } - } - - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - return FULL_BLOCK_AABB; - } - - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) - { - return NULL_AABB; - } - - @Override - public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) - { - super.onBlockAdded(worldIn, pos, state); - this.checkForMixing(worldIn, pos, state); - } - - @Override - public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos neighborPos) - { - super.neighborChanged(state, worldIn, pos, blockIn, neighborPos); - this.checkForMixing(worldIn, pos, state); - } - - public boolean checkForMixing(World worldIn, BlockPos pos, IBlockState state) - { - boolean flag = false; - - for (EnumFacing enumfacing : EnumFacing.values()) - { - if (enumfacing != EnumFacing.DOWN && (worldIn.getBlockState(pos.offset(enumfacing)).getMaterial().isLiquid() == true)) - { - if (worldIn.getBlockState(pos.offset(enumfacing)).getBlock() != this.getBlockState().getBlock()) - { - flag = true; - break; - } - } - } - - if (flag) - { - Integer integer = state.getValue(LEVEL); - - if (integer.intValue() == 0) - { - worldIn.setBlockState(pos, BOPBlocks.honey_block.getDefaultState()); - return true; - } - - if (integer.intValue() <= 4) - { - worldIn.setBlockState(pos, BOPBlocks.honey_block.getDefaultState()); - return true; - } - } - - return false; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos) - { - return MapColor.YELLOW; - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing facing) - { - return BlockFaceShape.UNDEFINED; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/fluids/blocks/BlockHotSpringWaterFluid.java b/src/main/java/biomesoplenty/common/fluids/blocks/BlockHotSpringWaterFluid.java deleted file mode 100644 index c954c51d2..000000000 --- a/src/main/java/biomesoplenty/common/fluids/blocks/BlockHotSpringWaterFluid.java +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids.blocks; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import net.minecraft.block.Block; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.init.MobEffects; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fluids.BlockFluidClassic; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class BlockHotSpringWaterFluid extends BlockFluidClassic -{ - public BlockHotSpringWaterFluid(Fluid fluid) - { - super(fluid, Material.WATER); - this.setLightOpacity(3); - this.setHardness(100.0F); - } - - @Override - public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) - { - if (entity instanceof EntityLivingBase) - { - ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 100)); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand) - { - super.randomDisplayTick(state, world, pos, rand); - if (rand.nextInt(25)==0) - { - world.spawnParticle(EnumParticleTypes.CLOUD, pos.getX() + rand.nextFloat(), pos.getY() + 1.0F, pos.getZ() + rand.nextFloat(), 0.0D, 0.0D, 0.0D); - } - } - - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - return FULL_BLOCK_AABB; - } - - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) - { - return NULL_AABB; - } - - @Override - public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) - { - super.onBlockAdded(worldIn, pos, state); - this.checkForMixing(worldIn, pos, state); - } - - @Override - public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos neighborPos) - { - super.neighborChanged(state, worldIn, pos, blockIn, neighborPos); - this.checkForMixing(worldIn, pos, state); - } - - public boolean checkForMixing(World worldIn, BlockPos pos, IBlockState state) - { - boolean flag = false; - - for (EnumFacing enumfacing : EnumFacing.values()) - { - if (enumfacing != EnumFacing.DOWN && (worldIn.getBlockState(pos.offset(enumfacing)).getMaterial().isLiquid() == true)) - { - if (worldIn.getBlockState(pos.offset(enumfacing)).getBlock() != this.getBlockState().getBlock()) - { - flag = true; - break; - } - } - } - - if (flag) - { - Integer integer = state.getValue(LEVEL); - - if (integer.intValue() == 0) - { - worldIn.setBlockState(pos, Blocks.STONE.getDefaultState()); - return true; - } - - if (integer.intValue() <= 4) - { - worldIn.setBlockState(pos, Blocks.STONE.getDefaultState()); - return true; - } - } - - return false; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos) - { - return MapColor.LIGHT_BLUE; - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing facing) - { - return BlockFaceShape.UNDEFINED; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/fluids/blocks/BlockPoisonFluid.java b/src/main/java/biomesoplenty/common/fluids/blocks/BlockPoisonFluid.java deleted file mode 100644 index a2b59bb70..000000000 --- a/src/main/java/biomesoplenty/common/fluids/blocks/BlockPoisonFluid.java +++ /dev/null @@ -1,123 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids.blocks; - -import biomesoplenty.api.block.BOPBlocks; -import net.minecraft.block.Block; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Blocks; -import net.minecraft.init.MobEffects; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fluids.BlockFluidClassic; -import net.minecraftforge.fluids.Fluid; - -public class BlockPoisonFluid extends BlockFluidClassic -{ - public BlockPoisonFluid(Fluid fluid) - { - super(fluid, Material.WATER); - this.setLightOpacity(3); - this.quantaPerBlock = 4; - this.setHardness(100.0F); - } - - @Override - public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) - { - if (entity instanceof EntityLivingBase) - { - ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(MobEffects.POISON, 100)); - ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(MobEffects.HUNGER, 100)); - } - } - - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - return FULL_BLOCK_AABB; - } - - @Override - public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos) - { - return NULL_AABB; - } - - @Override - public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) - { - super.onBlockAdded(worldIn, pos, state); - this.checkForMixing(worldIn, pos, state); - } - - @Override - public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos neighborPos) - { - super.neighborChanged(state, worldIn, pos, blockIn, neighborPos); - this.checkForMixing(worldIn, pos, state); - } - - public boolean checkForMixing(World worldIn, BlockPos pos, IBlockState state) - { - boolean flag = false; - - for (EnumFacing enumfacing : EnumFacing.values()) - { - if (enumfacing != EnumFacing.DOWN && (worldIn.getBlockState(pos.offset(enumfacing)).getMaterial().isLiquid() == true)) - { - if (worldIn.getBlockState(pos.offset(enumfacing)).getBlock() != this.getBlockState().getBlock()) - { - flag = true; - break; - } - } - } - - if (flag) - { - Integer integer = state.getValue(LEVEL); - - if (integer.intValue() == 0) - { - worldIn.setBlockState(pos, BOPBlocks.mud.getDefaultState()); - return true; - } - - if (integer.intValue() <= 4) - { - worldIn.setBlockState(pos, BOPBlocks.mud.getDefaultState()); - return true; - } - } - - return false; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos) - { - return MapColor.PURPLE; - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing facing) - { - return BlockFaceShape.UNDEFINED; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/fluids/blocks/BlockQuicksandFluid.java b/src/main/java/biomesoplenty/common/fluids/blocks/BlockQuicksandFluid.java deleted file mode 100644 index ecd30fa2e..000000000 --- a/src/main/java/biomesoplenty/common/fluids/blocks/BlockQuicksandFluid.java +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.fluids.blocks; - -import biomesoplenty.api.block.BOPBlocks; -import net.minecraft.block.Block; -import net.minecraft.block.material.MapColor; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.BlockFaceShape; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.Entity; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.fluids.BlockFluidClassic; -import net.minecraftforge.fluids.Fluid; - -public class BlockQuicksandFluid extends BlockFluidClassic -{ - public BlockQuicksandFluid(Fluid fluid) - { - super(fluid, Material.WATER); - - this.quantaPerBlock = 3; - this.setLightOpacity(255); - this.renderLayer = BlockRenderLayer.SOLID; - this.setHardness(0.5F);// match the hardness of vanilla sand - } - - @Override - public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) - { - return FULL_BLOCK_AABB; - } - - @Override - public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) - { - entity.setInWeb(); - } - - @Override - public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) - { - super.onBlockAdded(worldIn, pos, state); - this.checkForMixing(worldIn, pos, state); - } - - @Override - public void neighborChanged(IBlockState state, World worldIn, BlockPos pos, Block blockIn, BlockPos neighborPos) - { - super.neighborChanged(state, worldIn, pos, blockIn, neighborPos); - this.checkForMixing(worldIn, pos, state); - } - - public boolean checkForMixing(World worldIn, BlockPos pos, IBlockState state) - { - boolean flag = false; - - for (EnumFacing enumfacing : EnumFacing.values()) - { - if (enumfacing != EnumFacing.DOWN && (worldIn.getBlockState(pos.offset(enumfacing)).getMaterial().isLiquid() == true)) - { - if (worldIn.getBlockState(pos.offset(enumfacing)).getBlock() != this.getBlockState().getBlock()) - { - flag = true; - break; - } - } - } - - if (flag) - { - Integer integer = state.getValue(LEVEL); - - if (integer.intValue() == 0) - { - worldIn.setBlockState(pos, BOPBlocks.mud.getDefaultState()); - return true; - } - - if (integer.intValue() <= 4) - { - worldIn.setBlockState(pos, BOPBlocks.mud.getDefaultState()); - return true; - } - } - - return false; - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos) - { - return MapColor.DIRT; - } - - @Override - public BlockFaceShape getBlockFaceShape(IBlockAccess world, IBlockState state, BlockPos pos, EnumFacing facing) - { - return BlockFaceShape.UNDEFINED; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/BucketEventHandler.java b/src/main/java/biomesoplenty/common/handler/BucketEventHandler.java deleted file mode 100644 index bcabd0af2..000000000 --- a/src/main/java/biomesoplenty/common/handler/BucketEventHandler.java +++ /dev/null @@ -1,82 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.handler; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.common.fluids.BloodFluid; -import biomesoplenty.common.fluids.HoneyFluid; -import biomesoplenty.common.fluids.HotSpringWaterFluid; -import biomesoplenty.common.fluids.PoisonFluid; -import biomesoplenty.common.fluids.QuicksandFluid; -import biomesoplenty.common.fluids.blocks.BlockBloodFluid; -import biomesoplenty.common.fluids.blocks.BlockHoneyFluid; -import biomesoplenty.common.fluids.blocks.BlockHotSpringWaterFluid; -import biomesoplenty.common.fluids.blocks.BlockPoisonFluid; -import biomesoplenty.common.fluids.blocks.BlockQuicksandFluid; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Items; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraftforge.common.ForgeModContainer; -import net.minecraftforge.event.entity.player.FillBucketEvent; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.UniversalBucket; -import net.minecraftforge.fml.common.eventhandler.Event.Result; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class BucketEventHandler -{ - - @SubscribeEvent - public void onRightClickHoldingBucket(FillBucketEvent event) - { - // check we're using a bucket, on a block we can modify - if (event.getEmptyBucket().getItem() != Items.BUCKET) {return;} - if (event.getTarget() == null || event.getTarget().typeOfHit != RayTraceResult.Type.BLOCK) {return;} - BlockPos blockpos = event.getTarget().getBlockPos(); - if (!event.getWorld().isBlockModifiable(event.getEntityPlayer(), blockpos)) {return;} - if (!event.getEntityPlayer().canPlayerEdit(blockpos.offset(event.getTarget().sideHit), event.getTarget().sideHit, event.getEmptyBucket())) {return;} - - // determine if the block is one of our BOP fluids - IBlockState iblockstate = event.getWorld().getBlockState(blockpos); - Fluid filled_fluid = null; - if (iblockstate.getBlock() == BOPBlocks.sand && iblockstate.getValue(BlockQuicksandFluid.LEVEL).intValue() == 0) - { - filled_fluid = QuicksandFluid.instance; - } - else if (iblockstate.getBlock() == BOPBlocks.honey && iblockstate.getValue(BlockHoneyFluid.LEVEL).intValue() == 0) - { - filled_fluid = HoneyFluid.instance; - } - else if (iblockstate.getBlock() == BOPBlocks.blood && iblockstate.getValue(BlockBloodFluid.LEVEL).intValue() == 0) - { - filled_fluid = BloodFluid.instance; - } - else if (iblockstate.getBlock() == BOPBlocks.poison && iblockstate.getValue(BlockPoisonFluid.LEVEL).intValue() == 0) - { - filled_fluid = PoisonFluid.instance; - } - else if (iblockstate.getBlock() == BOPBlocks.hot_spring_water && iblockstate.getValue(BlockHotSpringWaterFluid.LEVEL).intValue() == 0) - { - filled_fluid = HotSpringWaterFluid.instance; - } - else - { - return; - } - - // remove the fluid and return the appropriate filled bucket - event.setResult(Result.ALLOW); - event.setFilledBucket(UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, filled_fluid)); - event.getWorld().setBlockToAir(blockpos); - //TODO: event.entityPlayer.triggerAchievement(StatList.objectUseStats[Item.getIdFromItem(event.getEmptyBucket().getItem())]); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/DyeEventHandler.java b/src/main/java/biomesoplenty/common/handler/DyeEventHandler.java deleted file mode 100644 index 9622a90e1..000000000 --- a/src/main/java/biomesoplenty/common/handler/DyeEventHandler.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.handler; - -import biomesoplenty.api.item.BOPItems; -import net.minecraft.entity.Entity; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.item.EnumDyeColor; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.fml.common.eventhandler.Event.Result; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class DyeEventHandler -{ - @SubscribeEvent - public void entityInteract(PlayerInteractEvent.EntityInteract event) - { - ItemStack stack = event.getEntityPlayer().getHeldItem(event.getHand()); - if (stack == null) {return;} - - Item item = stack.getItem(); - EnumDyeColor dyeColor; - if (item == BOPItems.black_dye) {dyeColor = EnumDyeColor.BLACK;} - else if (item == BOPItems.blue_dye) {dyeColor = EnumDyeColor.BLUE;} - else if (item == BOPItems.brown_dye) {dyeColor = EnumDyeColor.BROWN;} - else if (item == BOPItems.green_dye) {dyeColor = EnumDyeColor.GREEN;} - else if (item == BOPItems.white_dye) {dyeColor = EnumDyeColor.WHITE;} - else {return;} - - Entity target = event.getTarget(); - if (target instanceof EntityWolf) - { - EntityWolf wolf = (EntityWolf)target; - if (dyeColor != wolf.getCollarColor()) - { - wolf.setCollarColor(dyeColor); - if (!event.getEntityPlayer().capabilities.isCreativeMode) {stack.setCount(stack.getCount() - 1);} - event.setResult(Result.ALLOW); - } - } - else if (target instanceof EntitySheep) - { - EntitySheep sheep = (EntitySheep)target; - if (!sheep.getSheared() && dyeColor != sheep.getFleeceColor()) - { - sheep.setFleeceColor(dyeColor); - if (!event.getEntityPlayer().capabilities.isCreativeMode) {stack.setCount(stack.getCount() - 1);} - event.setResult(Result.ALLOW); - } - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/FogEventHandler.java b/src/main/java/biomesoplenty/common/handler/FogEventHandler.java deleted file mode 100644 index 672f60e59..000000000 --- a/src/main/java/biomesoplenty/common/handler/FogEventHandler.java +++ /dev/null @@ -1,414 +0,0 @@ -package biomesoplenty.common.handler; - -import biomesoplenty.common.biome.BOPBiome; -import biomesoplenty.common.config.MiscConfigurationHandler; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.ActiveRenderInfo; -import net.minecraft.client.settings.GameSettings; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.MobEffects; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3d; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraftforge.client.event.EntityViewRenderEvent; -import net.minecraftforge.common.ForgeModContainer; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import org.lwjgl.opengl.GL11; - -public class FogEventHandler -{ - @SubscribeEvent - public void onGetFogColor(EntityViewRenderEvent.FogColors event) - { - if (!MiscConfigurationHandler.enableFogColours) { - return; - } - - if (event.getEntity() instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer)event.getEntity(); - World world = player.world; - - int x = MathHelper.floor(player.posX); - int y = MathHelper.floor(player.posY); - int z = MathHelper.floor(player.posZ); - - IBlockState stateAtEyes = ActiveRenderInfo.getBlockStateAtEntityViewpoint(world, event.getEntity(), (float)event.getRenderPartialTicks()); - if (stateAtEyes.getMaterial() == Material.LAVA) - { - return; - } - - Vec3d mixedColor; - if (stateAtEyes.getMaterial() == Material.WATER) - { - mixedColor = getFogBlendColorWater(world, player, x, y, z, event.getRenderPartialTicks()); - } - else - { - mixedColor = getFogBlendColour(world, player, x, y, z, event.getRed(), event.getGreen(), event.getBlue(), event.getRenderPartialTicks()); - } - - event.setRed((float)mixedColor.x); - event.setGreen((float)mixedColor.y); - event.setBlue((float)mixedColor.z); - } - } - - private static double fogX, fogZ; - - private static boolean fogInit; - private static float fogFarPlaneDistance; - - @SubscribeEvent - public void onRenderFog(EntityViewRenderEvent.RenderFogEvent event) - { - Entity entity = event.getEntity(); - World world = entity.world; - - int playerX = MathHelper.floor(entity.posX); - int playerY = MathHelper.floor(entity.posY); - int playerZ = MathHelper.floor(entity.posZ); - - if (playerX == fogX && playerZ == fogZ && fogInit) - { - renderFog(event.getFogMode(), fogFarPlaneDistance, 0.75f); - return; - } - - fogInit = true; - - int distance = 20; - - float fpDistanceBiomeFog = 0F; - float weightBiomeFog = 0; - BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(0, 0, 0); - - for (int x = -distance; x <= distance; ++x) - { - for (int z = -distance; z <= distance; ++z) - { - pos.setPos(playerX + x, 0, playerZ + z); - Biome biome = world.getBiome(pos); - if (biome instanceof BOPBiome) - { - float distancePart = ((BOPBiome) biome).getFogDensity(pos); - float weightPart = 1; - - // Check if fog density is enabled for this biome - if (x == -distance) - { - double xDiff = 1 - (entity.posX - playerX); - distancePart *= xDiff; - weightPart *= xDiff; - } - else if (x == distance) - { - double xDiff = (entity.posX - playerX); - distancePart *= xDiff; - weightPart *= xDiff; - } - - if (z == -distance) - { - double zDiff = 1 - (entity.posZ - playerZ); - distancePart *= zDiff; - weightPart *= zDiff; - } - else if (z == distance) - { - double zDiff = (entity.posZ - playerZ); - distancePart *= zDiff; - weightPart *= zDiff; - } - - fpDistanceBiomeFog += distancePart; - weightBiomeFog += weightPart; - } - } - } - - float weightMixed = (distance * 2) * (distance * 2); - float weightDefault = weightMixed - weightBiomeFog; - - float fpDistanceBiomeFogAvg = (weightBiomeFog == 0) ? 0 : fpDistanceBiomeFog / weightBiomeFog; - - float farPlaneDistance = (fpDistanceBiomeFog * 240 + event.getFarPlaneDistance() * weightDefault) / weightMixed; - float farPlaneDistanceScaleBiome = (0.1f * (1 - fpDistanceBiomeFogAvg) + 0.75f * fpDistanceBiomeFogAvg); - float farPlaneDistanceScale = (farPlaneDistanceScaleBiome * weightBiomeFog + 0.75f * weightDefault) / weightMixed; - - fogX = entity.posX; - fogZ = entity.posZ; - fogFarPlaneDistance = Math.min(farPlaneDistance, event.getFarPlaneDistance()); - - renderFog(event.getFogMode(), fogFarPlaneDistance, farPlaneDistanceScale); - } - - private static void renderFog(int fogMode, float farPlaneDistance, float farPlaneDistanceScale) - { - if (fogMode < 0) - { - GL11.glFogf(GL11.GL_FOG_START, 0.0F); - GL11.glFogf(GL11.GL_FOG_END, farPlaneDistance); - } - else - { - GL11.glFogf(GL11.GL_FOG_START, farPlaneDistance * farPlaneDistanceScale); - GL11.glFogf(GL11.GL_FOG_END, farPlaneDistance); - } - } - - private static Vec3d postProcessColor(World world, EntityLivingBase player, double r, double g, double b, double renderPartialTicks) - { - double darkScale = (player.lastTickPosY + (player.posY - player.lastTickPosY) * renderPartialTicks) * world.provider.getVoidFogYFactor(); - - if (player.isPotionActive(MobEffects.BLINDNESS)) - { - int duration = player.getActivePotionEffect(MobEffects.BLINDNESS).getDuration(); - darkScale *= (duration < 20) ? (1 - duration / 20f) : 0; - } - - if (darkScale < 1) - { - darkScale = (darkScale < 0) ? 0 : darkScale * darkScale; - r *= darkScale; - g *= darkScale; - b *= darkScale; - } - - if (player.isPotionActive(MobEffects.NIGHT_VISION)) - { - // Get night vision brightness, accounting for wavering at end of potion effect - int duration = player.getActivePotionEffect(MobEffects.NIGHT_VISION).getDuration(); - float brightness = (duration > 200) ? 1 : 0.7f + MathHelper.sin((float)((duration - renderPartialTicks) * Math.PI * 0.2f)) * 0.3f; - - // Find scale to bring r, g, or b to 1.0 - // Vanilla will actually set the colors to +Infinity if all components are 0, explaining the terrible - // interaction between the blindness and night vision potion effects. - double scale = 1 / r; - scale = Math.min(scale, 1 / g); - scale = Math.min(scale, 1 / b); - - r = r * (1 - brightness) + r * scale * brightness; - g = g * (1 - brightness) + g * scale * brightness; - b = b * (1 - brightness) + b * scale * brightness; - } - - if (Minecraft.getMinecraft().gameSettings.anaglyph) - { - double aR = (r * 30 + g * 59 + b * 11) / 100; - double aG = (r * 30 + g * 70) / 100; - double aB = (r * 30 + b * 70) / 100; - - r = aR; - g = aG; - b = aB; - } - - return new Vec3d(r, g, b); - } - - private static Vec3d getFogBlendColorWater(World world, EntityLivingBase playerEntity, int playerX, int playerY, int playerZ, double renderPartialTicks) - { - int distance = 2; - float rBiomeFog = 0; - float gBiomeFog = 0; - float bBiomeFog = 0; - BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(0, 0, 0); - - for (int x = -distance; x <= distance; ++x) - { - for (int z = -distance; z <= distance; ++z) - { - pos.setPos(playerX + x, 0, playerZ + z); - Biome biome = world.getBiome(pos); - int waterColorMult = biome.getWaterColor(); - - float rPart = (waterColorMult & 0xFF0000) >> 16; - float gPart = (waterColorMult & 0x00FF00) >> 8; - float bPart = waterColorMult & 0x0000FF; - - if (x == -distance) - { - double xDiff = 1 - (playerEntity.posX - playerX); - rPart *= xDiff; - gPart *= xDiff; - bPart *= xDiff; - } - else if (x == distance) - { - double xDiff = playerEntity.posX - playerX; - rPart *= xDiff; - gPart *= xDiff; - bPart *= xDiff; - } - - if (z == -distance) - { - double zDiff = 1 - (playerEntity.posZ - playerZ); - rPart *= zDiff; - gPart *= zDiff; - bPart *= zDiff; - } - else if (z == distance) - { - double zDiff = playerEntity.posZ - playerZ; - rPart *= zDiff; - gPart *= zDiff; - bPart *= zDiff; - } - - rBiomeFog += rPart; - gBiomeFog += gPart; - bBiomeFog += bPart; - } - } - - rBiomeFog /= 255f; - gBiomeFog /= 255f; - bBiomeFog /= 255f; - - float weight = (distance * 2) * (distance * 2); - float respirationLevel = (float) EnchantmentHelper.getRespirationModifier(playerEntity) * 0.2F; - - float rMixed = (rBiomeFog * 0.02f + respirationLevel) / weight; - float gMixed = (gBiomeFog * 0.02f + respirationLevel) / weight; - float bMixed = (bBiomeFog * 0.2f + respirationLevel) / weight; - - return postProcessColor(world, playerEntity, rMixed, gMixed, bMixed, renderPartialTicks); - } - - private static Vec3d getFogBlendColour(World world, EntityLivingBase playerEntity, int playerX, int playerY, int playerZ, float defR, float defG, float defB, double renderPartialTicks) - { - GameSettings settings = Minecraft.getMinecraft().gameSettings; - int[] ranges = ForgeModContainer.blendRanges; - int distance = 6; - if (settings.fancyGraphics && settings.renderDistanceChunks >= 0 && settings.renderDistanceChunks < ranges.length) - { - distance = ranges[settings.renderDistanceChunks]; - } - - double rBiomeFog = 0; - double gBiomeFog = 0; - double bBiomeFog = 0; - double weightBiomeFog = 0; - BlockPos.MutableBlockPos pos = new BlockPos.MutableBlockPos(0, 0, 0); - - for (int x = -distance; x <= distance; ++x) - { - for (int z = -distance; z <= distance; ++z) - { - pos.setPos(playerX + x, 0, playerZ + z); - Biome biome = world.getBiome(pos); - - if (biome instanceof BOPBiome) { - int fogColour = ((BOPBiome) biome).getFogColor(pos); - - // Ensure fog colouring is enabled for this biome - if (fogColour >= 0) - { - double rPart = (fogColour & 0xFF0000) >> 16; - double gPart = (fogColour & 0x00FF00) >> 8; - double bPart = fogColour & 0x0000FF; - float weightPart = 1; - - if (x == -distance) - { - double xDiff = 1 - (playerEntity.posX - playerX); - rPart *= xDiff; - gPart *= xDiff; - bPart *= xDiff; - weightPart *= xDiff; - } else if (x == distance) - { - double xDiff = playerEntity.posX - playerX; - rPart *= xDiff; - gPart *= xDiff; - bPart *= xDiff; - weightPart *= xDiff; - } - - if (z == -distance) - { - double zDiff = 1 - (playerEntity.posZ - playerZ); - rPart *= zDiff; - gPart *= zDiff; - bPart *= zDiff; - weightPart *= zDiff; - } else if (z == distance) - { - double zDiff = playerEntity.posZ - playerZ; - rPart *= zDiff; - gPart *= zDiff; - bPart *= zDiff; - weightPart *= zDiff; - } - - rBiomeFog += rPart; - gBiomeFog += gPart; - bBiomeFog += bPart; - weightBiomeFog += weightPart; - } - } - } - } - - if (weightBiomeFog == 0 || distance == 0) - { - return new Vec3d(defR, defG, defB); - } - - rBiomeFog /= 255f; - gBiomeFog /= 255f; - bBiomeFog /= 255f; - - // Calculate day / night / weather scale for BiomeFog component - float celestialAngle = world.getCelestialAngle((float)renderPartialTicks); - float baseScale = MathHelper.clamp(MathHelper.cos(celestialAngle * (float)Math.PI * 2.0F) * 2.0F + 0.5F, 0, 1); - - double rScale = baseScale * 0.94F + 0.06F; - double gScale = baseScale * 0.94F + 0.06F; - double bScale = baseScale * 0.91F + 0.09F; - - float rainStrength = world.getRainStrength((float)renderPartialTicks); - if (rainStrength > 0) { - rScale *= 1 - rainStrength * 0.5f; - gScale *= 1 - rainStrength * 0.5f; - bScale *= 1 - rainStrength * 0.4f; - } - - float thunderStrength = world.getThunderStrength((float)renderPartialTicks); - if (thunderStrength > 0) { - rScale *= 1 - thunderStrength * 0.5f; - gScale *= 1 - thunderStrength * 0.5f; - bScale *= 1 - thunderStrength * 0.5f; - } - - // Apply post-processing to BiomeFog component. Default color was already processed by Vanilla. - rBiomeFog *= rScale / weightBiomeFog; - gBiomeFog *= gScale / weightBiomeFog; - bBiomeFog *= bScale / weightBiomeFog; - - Vec3d processedColor = postProcessColor(world, playerEntity, rBiomeFog, gBiomeFog, bBiomeFog, renderPartialTicks); - rBiomeFog = processedColor.x; - gBiomeFog = processedColor.y; - bBiomeFog = processedColor.z; - - // Mix default fog component with BiomeFog component - double weightMixed = (distance * 2) * (distance * 2); - double weightDefault = weightMixed - weightBiomeFog; - - double rFinal = (rBiomeFog * weightBiomeFog + defR * weightDefault) / weightMixed; - double gFinal = (gBiomeFog * weightBiomeFog + defG * weightDefault) / weightMixed; - double bFinal = (bBiomeFog * weightBiomeFog + defB * weightDefault) / weightMixed; - - return new Vec3d(rFinal, gFinal, bFinal); - } -} diff --git a/src/main/java/biomesoplenty/common/handler/FurnaceFuelHandler.java b/src/main/java/biomesoplenty/common/handler/FurnaceFuelHandler.java deleted file mode 100644 index 63be94f98..000000000 --- a/src/main/java/biomesoplenty/common/handler/FurnaceFuelHandler.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.handler; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.lang3.tuple.Pair; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.IFuelHandler; - -public class FurnaceFuelHandler implements IFuelHandler -{ - private Map, Integer> itemMetaFuelList = new HashMap, Integer>(); - private Map itemFuelList = new HashMap(); - - @Override - public int getBurnTime(ItemStack fuel) { - return getFuelValue(fuel); - } - - // register an item with a specific meta value as a fuel - public void addFuel(Item item, int metadata, int value) - { - itemMetaFuelList.put(Pair.of(item, metadata), value); - } - - // register an item as a fuel (for any meta value) - public void addFuel(Item item, int value) - { - itemFuelList.put(item, value); - } - - public void addFuel(Block block, int metadata, int value) - { - addFuel(Item.getItemFromBlock(block), metadata, value); - } - - public void addFuel(Block block, int value) - { - addFuel(Item.getItemFromBlock(block), value); - } - - public int getFuelValue(ItemStack stack) - { - if (stack == null) {return 0;} - Item item = stack.getItem(); - if (item == null) {return 0;} - Pair pair = Pair.of(item, stack.getItemDamage()); - - // see if the specific item/meta combination is registered - if (itemMetaFuelList.containsKey(pair)) - { - return itemMetaFuelList.get(pair); - } - - // see if the item in general is registered - if (itemFuelList.containsKey(item)) - { - return itemFuelList.get(item); - } - - // otherwise no value as fuel - return 0; - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/GrassPathEventHandler.java b/src/main/java/biomesoplenty/common/handler/GrassPathEventHandler.java deleted file mode 100644 index 855445031..000000000 --- a/src/main/java/biomesoplenty/common/handler/GrassPathEventHandler.java +++ /dev/null @@ -1,67 +0,0 @@ -package biomesoplenty.common.handler; - -import java.util.Collections; - -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPGrassPath; -import biomesoplenty.common.util.entity.PlayerUtil; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.SoundEvents; -import net.minecraft.item.ItemSpade; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.SoundCategory; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import net.minecraftforge.fml.common.eventhandler.Event; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class GrassPathEventHandler -{ - @SubscribeEvent - public void onBlockRightClick(PlayerInteractEvent.RightClickBlock event) - { - if (event.getResult() != Event.Result.DEFAULT || event.isCanceled()) - { - return; - } - - ItemStack stack = event.getItemStack(); - EntityPlayer player = event.getEntityPlayer(); - World world = event.getWorld(); - BlockPos pos = event.getPos(); - EnumFacing facing = event.getFace(); - IBlockState state = world.getBlockState(pos); - boolean result = false; - - if (state.getBlock() instanceof BlockBOPGrass && stack != null && (stack.getItem() instanceof ItemSpade || stack.getItem().getToolClasses(stack) == Collections.singleton("shovel"))) - { - Block dirtBlock = BlockBOPGrass.getDirtBlockState(state).getBlock(); - if (dirtBlock instanceof BlockBOPDirt) - { - if (facing != EnumFacing.DOWN && world.getBlockState(pos.up()).getMaterial() == Material.AIR) - { - result = true; - BlockBOPDirt.BOPDirtType dirtType = (BlockBOPDirt.BOPDirtType) BlockBOPGrass.getDirtBlockState(state).getValue(BlockBOPDirt.VARIANT); - world.setBlockState(pos, BlockBOPGrassPath.paging.getVariantState(dirtType), 11); - } - } - } - - if (result) - { - if (!event.getEntityPlayer().capabilities.isCreativeMode) - { - stack.damageItem(1, player); - } - - world.playSound(player, pos, SoundEvents.ITEM_SHOVEL_FLATTEN, SoundCategory.BLOCKS, 1.0F, 1.0F); - player.swingArm(PlayerUtil.getHandForItemAndMeta(player, stack.getItem(), stack.getMetadata())); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/GuiEventHandler.java b/src/main/java/biomesoplenty/common/handler/GuiEventHandler.java deleted file mode 100644 index 249c0f8d2..000000000 --- a/src/main/java/biomesoplenty/common/handler/GuiEventHandler.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.handler; - -import biomesoplenty.common.config.MiscConfigurationHandler; -import biomesoplenty.common.init.ModBiomes; -import net.minecraft.client.gui.GuiCreateWorld; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.world.WorldType; -import net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class GuiEventHandler -{ - @SideOnly(Side.CLIENT) - @SubscribeEvent - public void onPreInitCreateWorld(InitGuiEvent.Pre event) - { - GuiScreen screenGui = event.getGui(); - - if (MiscConfigurationHandler.useBoPWorldTypeDefault && screenGui instanceof GuiCreateWorld) - { - GuiCreateWorld createWorldGui = (GuiCreateWorld)screenGui; - - // Do not change back when returning from the 'Customize' screen - if (createWorldGui.selectedIndex == WorldType.DEFAULT.getId()) - createWorldGui.selectedIndex = ModBiomes.worldTypeBOP.getId(); - } - } -} diff --git a/src/main/java/biomesoplenty/common/handler/LeavesModelEventHandler.java b/src/main/java/biomesoplenty/common/handler/LeavesModelEventHandler.java deleted file mode 100644 index 7153a3a92..000000000 --- a/src/main/java/biomesoplenty/common/handler/LeavesModelEventHandler.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.handler; - -import com.google.common.collect.Maps; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.block.model.ModelResourceLocation; -import net.minecraft.client.renderer.block.model.SimpleBakedModel; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.registry.IRegistry; -import net.minecraftforge.client.event.ModelBakeEvent; -import net.minecraftforge.client.event.TextureStitchEvent; -import net.minecraftforge.client.model.IModel; -import net.minecraftforge.client.model.ModelLoader; -import net.minecraftforge.client.model.ModelLoaderRegistry; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -import javax.annotation.Nullable; -import java.util.List; -import java.util.Map; - -public class LeavesModelEventHandler -{ - private static final ModelResourceLocation LEAVES_LOC = new ModelResourceLocation("biomesoplenty:leaves_3", "variant=flowering"); - - @SubscribeEvent - public void onTextureStitch(TextureStitchEvent event) - { - event.getMap().registerSprite(new ResourceLocation("biomesoplenty:blocks/leaves_flowering_fast")); - } - - @SubscribeEvent - public void onModelBake(ModelBakeEvent event) throws Exception - { - ModelLoader loader = event.getModelLoader(); - IRegistry registry = event.getModelRegistry(); - IBakedModel originalBakedModel = registry.getObject(LEAVES_LOC); - - // Load and bake the fast flowering leaves model - IModel fastModel = ModelLoaderRegistry.getModel(new ResourceLocation("biomesoplenty:block/flowering_leaves_fast")); - IBakedModel bakedFastModel = fastModel.bake(fastModel.getDefaultState(), DefaultVertexFormats.BLOCK, ModelLoader.defaultTextureGetter()); - registry.putObject(LEAVES_LOC, new ModelLeaves(originalBakedModel, bakedFastModel)); - } - - public class ModelLeaves extends SimpleBakedModel - { - private IBakedModel fastModel; - - public ModelLeaves(IBakedModel fancyModel, IBakedModel fastModel) - { - super(fancyModel.getQuads(null, null, 0), generateFacingQuads(fancyModel), fancyModel.isAmbientOcclusion(), fancyModel.isGui3d(), fancyModel.getParticleTexture(), fancyModel.getItemCameraTransforms(), fancyModel.getOverrides()); - this.fastModel = fastModel; - } - - @Override - public List getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) - { - return Blocks.LEAVES.isOpaqueCube(null) ? fastModel.getQuads(state, side, rand) : super.getQuads(state, side, rand); - } - } - - private static Map> generateFacingQuads(IBakedModel model) - { - Map> faceQuads = Maps.newEnumMap(EnumFacing.class); - for (EnumFacing facing : EnumFacing.values()) - { - faceQuads.put(facing, model.getQuads(null, facing, 0)); - } - return faceQuads; - } -} diff --git a/src/main/java/biomesoplenty/common/handler/LootTableEventHandler.java b/src/main/java/biomesoplenty/common/handler/LootTableEventHandler.java deleted file mode 100644 index aeff6b1cb..000000000 --- a/src/main/java/biomesoplenty/common/handler/LootTableEventHandler.java +++ /dev/null @@ -1,31 +0,0 @@ -package biomesoplenty.common.handler; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.item.BOPItems; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.world.storage.loot.LootEntryItem; -import net.minecraft.world.storage.loot.LootPool; -import net.minecraft.world.storage.loot.LootTableList; -import net.minecraft.world.storage.loot.conditions.LootCondition; -import net.minecraft.world.storage.loot.functions.LootFunction; -import net.minecraftforge.event.LootTableLoadEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class LootTableEventHandler -{ - @SubscribeEvent - public void onLootTableLoad(LootTableLoadEvent event) - { - if (event.getName().equals(LootTableList.CHESTS_SPAWN_BONUS_CHEST)) - { - LootPool main = event.getTable().getPool("main"); - if (main != null) - { - main.addEntry(new LootEntryItem(BOPItems.pear, 4, 2, new LootFunction[0], new LootCondition[0], "biomesoplenty:pear")); - main.addEntry(new LootEntryItem(BOPItems.peach, 4, 2, new LootFunction[0], new LootCondition[0], "biomesoplenty:peach")); - main.addEntry(new LootEntryItem(BOPItems.persimmon, 4, 2, new LootFunction[0], new LootCondition[0], "biomesoplenty:persimmon")); - } - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/PotionCurseHandler.java b/src/main/java/biomesoplenty/common/handler/PotionCurseHandler.java deleted file mode 100644 index d8fd86843..000000000 --- a/src/main/java/biomesoplenty/common/handler/PotionCurseHandler.java +++ /dev/null @@ -1,34 +0,0 @@ -package biomesoplenty.common.handler; - -import java.util.Random; - -import biomesoplenty.api.potion.BOPPotions; -import net.minecraft.entity.EntityLivingBase; -import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class PotionCurseHandler -{ - @SubscribeEvent - public void onEntityUpdate(LivingUpdateEvent event) - { - if (event.getEntityLiving().isPotionActive(BOPPotions.curse)) - { - EntityLivingBase entity = event.getEntityLiving(); - - Random rand = new Random(); - - if (rand.nextInt(5) == 0) - { - entity.motionX = (rand.nextDouble() - rand.nextDouble()) * (rand.nextDouble() + 0.5D); - entity.motionZ = (rand.nextDouble() - rand.nextDouble()) * (rand.nextDouble() + 0.5D); - } - - if (entity.getActivePotionEffect(BOPPotions.curse).getDuration() == 0) - { - entity.removePotionEffect(BOPPotions.curse); - return; - } - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/SheepEventHandler.java b/src/main/java/biomesoplenty/common/handler/SheepEventHandler.java deleted file mode 100644 index e07133ecd..000000000 --- a/src/main/java/biomesoplenty/common/handler/SheepEventHandler.java +++ /dev/null @@ -1,20 +0,0 @@ -package biomesoplenty.common.handler; - -import biomesoplenty.common.entities.ai.EntityAIEatBOPGrass; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraftforge.event.entity.EntityJoinWorldEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class SheepEventHandler -{ - @SubscribeEvent - public void onEntityJoin(EntityJoinWorldEvent event) - { - if (event.getEntity() instanceof EntitySheep) - { - EntitySheep sheep = (EntitySheep) event.getEntity(); - - sheep.tasks.addTask(5, new EntityAIEatBOPGrass(sheep)); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/SilkTouchEventHandler.java b/src/main/java/biomesoplenty/common/handler/SilkTouchEventHandler.java deleted file mode 100644 index d8e3a7085..000000000 --- a/src/main/java/biomesoplenty/common/handler/SilkTouchEventHandler.java +++ /dev/null @@ -1,21 +0,0 @@ -package biomesoplenty.common.handler; - -import biomesoplenty.common.block.IBOPBlock; -import net.minecraft.block.state.IBlockState; -import net.minecraftforge.event.world.BlockEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class SilkTouchEventHandler { - - @SubscribeEvent - public void onSilkTouched(BlockEvent.HarvestDropsEvent event) - { - IBlockState state = event.getState(); - - if (state.getBlock() instanceof IBOPBlock && event.isSilkTouching()) - { - event.getDrops().clear(); - event.getDrops().add(state.getBlock().getPickBlock(state, null, event.getWorld(), event.getPos(), event.getHarvester())); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/TrailsEventHandler.java b/src/main/java/biomesoplenty/common/handler/TrailsEventHandler.java deleted file mode 100644 index 69517f0b5..000000000 --- a/src/main/java/biomesoplenty/common/handler/TrailsEventHandler.java +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.handler; - -import biomesoplenty.api.particle.BOPParticleTypes; -import biomesoplenty.common.config.MiscConfigurationHandler; -import biomesoplenty.common.remote.TrailManager; -import biomesoplenty.common.remote.TrailManager.TrailVisibilityMode; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class TrailsEventHandler -{ - @SubscribeEvent(receiveCanceled = true) - public void onEntityUpdate(PlayerTickEvent event) - { - if (event.phase == TickEvent.Phase.START) - { - Minecraft minecraft = Minecraft.getMinecraft(); - EntityPlayer player = event.player; - - //Check if the player has a trail - if (minecraft.player != null && TrailManager.trailsMap.containsKey(player.getUniqueID())) - { - //Don't display if the local player's trail if they have the visibility set to others - if (MiscConfigurationHandler.trailVisbilityMode == TrailVisibilityMode.OTHERS && minecraft.player.getUniqueID() == player.getUniqueID()) - { - return; - } - - String trailName = TrailManager.trailsMap.get(player.getUniqueID()); - - World world = player.world; - float groundYOffset = 0.015625F; //Prevents particles from z-fighting with the ground - BlockPos playerPos = player.getPosition(); - - //Makes placement more interesting, scatter slightly on the x and z axis - double offsetX = 0.3 - world.rand.nextFloat() * 0.6; - double offsetZ = 0.3 - world.rand.nextFloat() * 0.6; - - BlockPos groundPos = playerPos.add(offsetX, -1, offsetZ); - - if (!world.isAirBlock(groundPos) && world.getBlockState(groundPos).isSideSolid(world, groundPos, EnumFacing.UP)) //Only place particles on blocks with a solid top - { - if (player.posX != player.prevPosX || player.posZ != player.prevPosZ) //Particles should only spawn if the player is moving - { - //Move the particle up by 0.01 on spawn to prevent z-fighting (the trail particles move down with time) - BiomesOPlenty.proxy.spawnParticle(BOPParticleTypes.PLAYER_TRAIL, world, player.posX + offsetX, ((int)player.posY) + groundYOffset + 0.01, player.posZ + offsetZ, trailName); - } - } - } - } - } - - @SubscribeEvent - public void onPlayerLoggedIn(PlayerLoggedInEvent event) - { - EntityPlayer player = event.player; - World world = player.world; - - if (world.isRemote) - { - //Send client trail preferences - } - else - { - //Server sends other player preferences - } - } -} diff --git a/src/main/java/biomesoplenty/common/handler/UseHoeEventHandler.java b/src/main/java/biomesoplenty/common/handler/UseHoeEventHandler.java deleted file mode 100644 index 8b72ffd8a..000000000 --- a/src/main/java/biomesoplenty/common/handler/UseHoeEventHandler.java +++ /dev/null @@ -1,86 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.handler; - -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPFarmland; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.entity.PlayerUtil; -import net.minecraft.block.Block; -import net.minecraft.block.BlockDirt; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.init.SoundEvents; -import net.minecraft.util.SoundCategory; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.UseHoeEvent; -import net.minecraftforge.fml.common.eventhandler.Event; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class UseHoeEventHandler -{ - - @SubscribeEvent - public void useHoe(UseHoeEvent event) - { - if (event.getResult() != Event.Result.DEFAULT || event.isCanceled()) - { - return; - } - - World world = event.getWorld(); - BlockPos pos = event.getPos(); - IBlockState state = world.getBlockState(pos); - Block block = state.getBlock(); - boolean result = false; - - if (block instanceof BlockBOPDirt && world.isAirBlock(pos.up())) - { - result = true; - if (state.getValue(BlockBOPDirt.COARSE)) - { - world.setBlockState(pos, state.withProperty(BlockBOPDirt.COARSE, false)); - } else - { - world.setBlockState(pos, BlockBOPFarmland.paging.getVariantState((BlockBOPDirt.BOPDirtType) state.getValue(BlockBOPDirt.VARIANT))); - } - } - else if (block instanceof BlockBOPGrass && world.isAirBlock(pos.up())) - { - result = true; - IBlockState dirtState = BlockBOPGrass.getDirtBlockState(state); - - if (dirtState.getBlock() instanceof BlockBOPDirt) - { - BlockBOPDirt.BOPDirtType dirtType = (BlockBOPDirt.BOPDirtType) dirtState.getValue(BlockBOPDirt.VARIANT); - world.setBlockState(pos, BlockBOPFarmland.paging.getVariantState(dirtType)); - } - else if (dirtState.getBlock() instanceof BlockDirt) - { - world.setBlockState(pos, Blocks.FARMLAND.getDefaultState()); - } - else - { - // There is no associated farmland, so just turn it to its associated dirt - // Mostly useful for overgrown grass turning to stone - world.setBlockState(pos, dirtState); - } - } - - if (result) - { - event.setResult(Event.Result.ALLOW); - - world.playSound(event.getEntityPlayer(), pos, SoundEvents.ITEM_HOE_TILL, SoundCategory.BLOCKS, 1.0F, 1.0F); - event.getEntityPlayer().swingArm(PlayerUtil.getHandForItemAndMeta(event.getEntityPlayer(), event.getCurrent().getItem(), event.getCurrent().getMetadata())); - event.getCurrent().damageItem(1, event.getEntityPlayer()); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/handler/VillageMaterialEventHandler.java b/src/main/java/biomesoplenty/common/handler/VillageMaterialEventHandler.java deleted file mode 100644 index a18b444e6..000000000 --- a/src/main/java/biomesoplenty/common/handler/VillageMaterialEventHandler.java +++ /dev/null @@ -1,207 +0,0 @@ -package biomesoplenty.common.handler; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.block.BlockBOPLog; -import biomesoplenty.common.block.BlockBOPPlanks; -import net.minecraft.block.BlockLog; -import net.minecraft.block.BlockLog.EnumAxis; -import net.minecraft.block.BlockNewLog; -import net.minecraft.block.BlockOldLog; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockStairs; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraftforge.event.terraingen.BiomeEvent; -import net.minecraftforge.fml.common.eventhandler.Event.Result; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class VillageMaterialEventHandler -{ - @SubscribeEvent - public void getVillageBlockID(BiomeEvent.GetVillageBlockID event) - { - //Brushland - if (BOPBiomes.brushland.isPresent() && event.getBiome() == BOPBiomes.brushland.get()) - { - if (event.getOriginal().getBlock() == Blocks.PLANKS) - { - event.setReplacement(BlockBOPPlanks.paging.getVariantState(BOPWoods.EBONY)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.LOG || event.getOriginal().getBlock() == Blocks.LOG2) - { - EnumAxis axis = event.getOriginal().getValue(BlockLog.LOG_AXIS); - event.setReplacement(BlockBOPLog.paging.getVariantState(BOPWoods.EBONY).withProperty(BlockLog.LOG_AXIS, axis)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.COBBLESTONE) - { - event.setReplacement(BlockBOPLog.paging.getVariantState(BOPWoods.EBONY).withProperty(BlockLog.LOG_AXIS, BlockLog.EnumAxis.Y)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_STAIRS) - { - EnumFacing facing = event.getOriginal().getValue(BlockStairs.FACING); - event.setReplacement(BOPBlocks.ebony_stairs.getDefaultState().withProperty(BlockStairs.FACING, facing)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_FENCE) - { - event.setReplacement(BOPBlocks.ebony_fence.getDefaultState()); - event.setResult(Result.DENY); - } - } - - //Coniferous Forest - if (BOPBiomes.coniferous_forest.isPresent() && event.getBiome() == BOPBiomes.coniferous_forest.get()) - { - if (event.getOriginal().getBlock() == Blocks.PLANKS) - { - event.setReplacement(BlockBOPPlanks.paging.getVariantState(BOPWoods.FIR)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.LOG || event.getOriginal().getBlock() == Blocks.LOG2) - { - EnumAxis axis = event.getOriginal().getValue(BlockLog.LOG_AXIS); - event.setReplacement(BlockBOPLog.paging.getVariantState(BOPWoods.FIR).withProperty(BlockLog.LOG_AXIS, axis)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.COBBLESTONE) - { - event.setReplacement(BlockBOPLog.paging.getVariantState(BOPWoods.FIR).withProperty(BlockLog.LOG_AXIS, BlockLog.EnumAxis.Y)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_STAIRS) - { - EnumFacing facing = event.getOriginal().getValue(BlockStairs.FACING); - event.setReplacement(BOPBlocks.fir_stairs.getDefaultState().withProperty(BlockStairs.FACING, facing)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_FENCE) - { - event.setReplacement(BOPBlocks.fir_fence.getDefaultState()); - event.setResult(Result.DENY); - } - } - - //Grove - if (BOPBiomes.grove.isPresent() && event.getBiome() == BOPBiomes.grove.get()) - { - if (event.getOriginal().getBlock() == Blocks.PLANKS) - { - event.setReplacement(Blocks.PLANKS.getDefaultState().withProperty(BlockPlanks.VARIANT, BlockPlanks.EnumType.DARK_OAK)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.LOG || event.getOriginal().getBlock() == Blocks.LOG2) - { - EnumAxis axis = event.getOriginal().getValue(BlockLog.LOG_AXIS); - event.setReplacement(Blocks.LOG2.getDefaultState().withProperty(BlockNewLog.VARIANT, BlockPlanks.EnumType.DARK_OAK).withProperty(BlockLog.LOG_AXIS, axis)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.COBBLESTONE) - { - event.setReplacement(Blocks.LOG2.getDefaultState().withProperty(BlockNewLog.VARIANT, BlockPlanks.EnumType.DARK_OAK).withProperty(BlockLog.LOG_AXIS, BlockLog.EnumAxis.Y)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_STAIRS) - { - EnumFacing facing = event.getOriginal().getValue(BlockStairs.FACING); - event.setReplacement(Blocks.DARK_OAK_STAIRS.getDefaultState().withProperty(BlockStairs.FACING, facing)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_FENCE) - { - event.setReplacement(Blocks.DARK_OAK_FENCE.getDefaultState()); - event.setResult(Result.DENY); - } - } - - //Lush Desert - if (BOPBiomes.lush_desert.isPresent() && event.getBiome() == BOPBiomes.lush_desert.get()) - { - if (event.getOriginal().getBlock() == Blocks.PLANKS) - { - event.setReplacement(Blocks.PLANKS.getDefaultState().withProperty(BlockPlanks.VARIANT, BlockPlanks.EnumType.ACACIA)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.LOG || event.getOriginal().getBlock() == Blocks.LOG2) - { - EnumAxis axis = event.getOriginal().getValue(BlockLog.LOG_AXIS); - event.setReplacement(Blocks.LOG2.getDefaultState().withProperty(BlockNewLog.VARIANT, BlockPlanks.EnumType.ACACIA).withProperty(BlockLog.LOG_AXIS, axis)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_STAIRS) - { - EnumFacing facing = event.getOriginal().getValue(BlockStairs.FACING); - event.setReplacement(Blocks.ACACIA_STAIRS.getDefaultState().withProperty(BlockStairs.FACING, facing)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_FENCE) - { - event.setReplacement(Blocks.ACACIA_FENCE.getDefaultState()); - event.setResult(Result.DENY); - } - } - - //Meadow - if (BOPBiomes.meadow.isPresent() && event.getBiome() == BOPBiomes.meadow.get()) - { - if (event.getOriginal().getBlock() == Blocks.PLANKS) - { - event.setReplacement(Blocks.PLANKS.getDefaultState().withProperty(BlockPlanks.VARIANT, BlockPlanks.EnumType.SPRUCE)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.LOG || event.getOriginal().getBlock() == Blocks.LOG2) - { - EnumAxis axis = event.getOriginal().getValue(BlockLog.LOG_AXIS); - event.setReplacement(Blocks.LOG.getDefaultState().withProperty(BlockOldLog.VARIANT, BlockPlanks.EnumType.SPRUCE).withProperty(BlockLog.LOG_AXIS, axis)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_STAIRS) - { - EnumFacing facing = event.getOriginal().getValue(BlockStairs.FACING); - event.setReplacement(Blocks.SPRUCE_STAIRS.getDefaultState().withProperty(BlockStairs.FACING, facing)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_FENCE) - { - event.setReplacement(Blocks.SPRUCE_FENCE.getDefaultState()); - event.setResult(Result.DENY); - } - } - - //Outback - if (BOPBiomes.outback.isPresent() && event.getBiome() == BOPBiomes.outback.get()) - { - if (event.getOriginal().getBlock() == Blocks.PLANKS) - { - event.setReplacement(Blocks.PLANKS.getDefaultState().withProperty(BlockPlanks.VARIANT, BlockPlanks.EnumType.ACACIA)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.LOG || event.getOriginal().getBlock() == Blocks.LOG2) - { - EnumAxis axis = event.getOriginal().getValue(BlockLog.LOG_AXIS); - event.setReplacement(Blocks.LOG2.getDefaultState().withProperty(BlockNewLog.VARIANT, BlockPlanks.EnumType.ACACIA).withProperty(BlockLog.LOG_AXIS, axis)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.COBBLESTONE) - { - event.setReplacement(Blocks.LOG2.getDefaultState().withProperty(BlockNewLog.VARIANT, BlockPlanks.EnumType.ACACIA).withProperty(BlockLog.LOG_AXIS, BlockLog.EnumAxis.Y)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_STAIRS) - { - EnumFacing facing = event.getOriginal().getValue(BlockStairs.FACING); - event.setReplacement(Blocks.ACACIA_STAIRS.getDefaultState().withProperty(BlockStairs.FACING, facing)); - event.setResult(Result.DENY); - } - if (event.getOriginal().getBlock() == Blocks.OAK_FENCE) - { - event.setReplacement(Blocks.ACACIA_FENCE.getDefaultState()); - event.setResult(Result.DENY); - } - } - } -} diff --git a/src/main/java/biomesoplenty/common/handler/decoration/DecorateBiomeEventHandler.java b/src/main/java/biomesoplenty/common/handler/decoration/DecorateBiomeEventHandler.java deleted file mode 100644 index 4cfea0e26..000000000 --- a/src/main/java/biomesoplenty/common/handler/decoration/DecorateBiomeEventHandler.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.handler.decoration; - -import java.util.Random; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.biome.IExtendedBiome; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.api.generation.IGenerationManager; -import biomesoplenty.api.generation.IGenerator; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate; -import net.minecraftforge.event.terraingen.OreGenEvent; -import net.minecraftforge.fml.common.eventhandler.Event.Result; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -public class DecorateBiomeEventHandler -{ - @SubscribeEvent - public void onPreBiomeDecorate(DecorateBiomeEvent.Pre event) - { - if (BOPBiomes.excludedDecoratedWorldTypes.contains(event.getWorld().getWorldType())) - return; - - runGeneratorStage(event.getWorld(), event.getRand(), event.getPos(), GeneratorStage.PRE); - } - - @SubscribeEvent - public void onBiomeDecorate(DecorateBiomeEvent.Decorate event) - { - if (BOPBiomes.excludedDecoratedWorldTypes.contains(event.getWorld().getWorldType())) - return; - - if (event.getType() != Decorate.EventType.CUSTOM) - { - runGeneratorStage(event.getWorld(), event.getRand(), event.getPos(), GeneratorStage.mapDecorateType(event.getType())); - } - } - - @SubscribeEvent - public void onPostBiomeDecorate(DecorateBiomeEvent.Post event) - { - if (BOPBiomes.excludedDecoratedWorldTypes.contains(event.getWorld().getWorldType())) - return; - - runGeneratorStage(event.getWorld(), event.getRand(), event.getPos(), GeneratorStage.POST); - } - - @SubscribeEvent - public void onPreGenerateOres(OreGenEvent.Pre event) - { - if (BOPBiomes.excludedDecoratedWorldTypes.contains(event.getWorld().getWorldType())) - return; - - runGeneratorStage(event.getWorld(), event.getRand(), event.getPos(), GeneratorStage.ORE_PRE); - } - - @SubscribeEvent - public void onPostGenerateOres(OreGenEvent.Post event) - { - if (BOPBiomes.excludedDecoratedWorldTypes.contains(event.getWorld().getWorldType())) - return; - - runGeneratorStage(event.getWorld(), event.getRand(), event.getPos(), GeneratorStage.ORE_POST); - } - - private static boolean runGeneratorStage(World world, Random random, BlockPos pos, GeneratorStage stage) - { - Biome biome = world.getBiome(pos.add(16, 0, 16)); - IExtendedBiome extendedBiome = BOPBiomes.REG_INSTANCE.getExtendedBiome(biome); - - if (extendedBiome != null) - { - IGenerationManager generationManager = extendedBiome.getGenerationManager(); - - for (IGenerator generator : generationManager.getGeneratorsForStage(stage)) - { - generator.scatter(world, random, pos); - } - } - - return true; - } -} diff --git a/src/main/java/biomesoplenty/common/init/ModBiomes.java b/src/main/java/biomesoplenty/common/init/ModBiomes.java deleted file mode 100644 index 4f7a5e62c..000000000 --- a/src/main/java/biomesoplenty/common/init/ModBiomes.java +++ /dev/null @@ -1,707 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import static biomesoplenty.api.biome.BOPBiomes.*; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; - -import org.apache.commons.io.FileUtils; - -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Sets; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.biome.IExtendedBiome; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.common.biome.nether.BOPHellBiome; -import biomesoplenty.common.biome.nether.BiomeCorruptedSands; -import biomesoplenty.common.biome.nether.BiomeFungiForest; -import biomesoplenty.common.biome.nether.BiomePhantasmagoricInferno; -import biomesoplenty.common.biome.nether.BiomeUndergarden; -import biomesoplenty.common.biome.nether.BiomeVisceralHeap; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.biome.overworld.BiomeGenAlps; -import biomesoplenty.common.biome.overworld.BiomeGenBambooForest; -import biomesoplenty.common.biome.overworld.BiomeGenBayou; -import biomesoplenty.common.biome.overworld.BiomeGenBog; -import biomesoplenty.common.biome.overworld.BiomeGenBorealForest; -import biomesoplenty.common.biome.overworld.BiomeGenBrushland; -import biomesoplenty.common.biome.overworld.BiomeGenChaparral; -import biomesoplenty.common.biome.overworld.BiomeGenCherryBlossomGrove; -import biomesoplenty.common.biome.overworld.BiomeGenColdDesert; -import biomesoplenty.common.biome.overworld.BiomeGenConiferousForest; -import biomesoplenty.common.biome.overworld.BiomeGenCoralReef; -import biomesoplenty.common.biome.overworld.BiomeGenCrag; -import biomesoplenty.common.biome.overworld.BiomeGenDeadForest; -import biomesoplenty.common.biome.overworld.BiomeGenDeadSwamp; -import biomesoplenty.common.biome.overworld.BiomeGenEucalyptusForest; -import biomesoplenty.common.biome.overworld.BiomeGenFen; -import biomesoplenty.common.biome.overworld.BiomeGenFlowerField; -import biomesoplenty.common.biome.overworld.BiomeGenFlowerIsland; -import biomesoplenty.common.biome.overworld.BiomeGenGlacier; -import biomesoplenty.common.biome.overworld.BiomeGenGrassland; -import biomesoplenty.common.biome.overworld.BiomeGenGravelBeach; -import biomesoplenty.common.biome.overworld.BiomeGenGrove; -import biomesoplenty.common.biome.overworld.BiomeGenHighland; -import biomesoplenty.common.biome.overworld.BiomeGenKelpForest; -import biomesoplenty.common.biome.overworld.BiomeGenLandOfLakes; -import biomesoplenty.common.biome.overworld.BiomeGenLavenderFields; -import biomesoplenty.common.biome.overworld.BiomeGenLushDesert; -import biomesoplenty.common.biome.overworld.BiomeGenLushSwamp; -import biomesoplenty.common.biome.overworld.BiomeGenMangrove; -import biomesoplenty.common.biome.overworld.BiomeGenMapleWoods; -import biomesoplenty.common.biome.overworld.BiomeGenMarsh; -import biomesoplenty.common.biome.overworld.BiomeGenMeadow; -import biomesoplenty.common.biome.overworld.BiomeGenMoor; -import biomesoplenty.common.biome.overworld.BiomeGenMountain; -import biomesoplenty.common.biome.overworld.BiomeGenMysticGrove; -import biomesoplenty.common.biome.overworld.BiomeGenOasis; -import biomesoplenty.common.biome.overworld.BiomeGenOminousWoods; -import biomesoplenty.common.biome.overworld.BiomeGenOrchard; -import biomesoplenty.common.biome.overworld.BiomeGenOriginBeach; -import biomesoplenty.common.biome.overworld.BiomeGenOriginIsland; -import biomesoplenty.common.biome.overworld.BiomeGenOutback; -import biomesoplenty.common.biome.overworld.BiomeGenOvergrownCliffs; -import biomesoplenty.common.biome.overworld.BiomeGenPasture; -import biomesoplenty.common.biome.overworld.BiomeGenPrairie; -import biomesoplenty.common.biome.overworld.BiomeGenQuagmire; -import biomesoplenty.common.biome.overworld.BiomeGenRainforest; -import biomesoplenty.common.biome.overworld.BiomeGenRedwoodForest; -import biomesoplenty.common.biome.overworld.BiomeGenSacredSprings; -import biomesoplenty.common.biome.overworld.BiomeGenSeasonalForest; -import biomesoplenty.common.biome.overworld.BiomeGenShield; -import biomesoplenty.common.biome.overworld.BiomeGenShrubland; -import biomesoplenty.common.biome.overworld.BiomeGenSnowyConiferousForest; -import biomesoplenty.common.biome.overworld.BiomeGenSnowyForest; -import biomesoplenty.common.biome.overworld.BiomeGenSteppe; -import biomesoplenty.common.biome.overworld.BiomeGenTemperateRainforest; -import biomesoplenty.common.biome.overworld.BiomeGenTropicalIsland; -import biomesoplenty.common.biome.overworld.BiomeGenTropicalRainforest; -import biomesoplenty.common.biome.overworld.BiomeGenTundra; -import biomesoplenty.common.biome.overworld.BiomeGenVolcanicIsland; -import biomesoplenty.common.biome.overworld.BiomeGenWasteland; -import biomesoplenty.common.biome.overworld.BiomeGenWetland; -import biomesoplenty.common.biome.overworld.BiomeGenWhiteBeach; -import biomesoplenty.common.biome.overworld.BiomeGenWoodland; -import biomesoplenty.common.biome.overworld.BiomeGenXericShrubland; -import biomesoplenty.common.biome.vanilla.BiomeExtBeach; -import biomesoplenty.common.biome.vanilla.BiomeExtBirchForest; -import biomesoplenty.common.biome.vanilla.BiomeExtBirchForestHills; -import biomesoplenty.common.biome.vanilla.BiomeExtColdTaiga; -import biomesoplenty.common.biome.vanilla.BiomeExtColdTaigaHills; -import biomesoplenty.common.biome.vanilla.BiomeExtDesert; -import biomesoplenty.common.biome.vanilla.BiomeExtDesertHills; -import biomesoplenty.common.biome.vanilla.BiomeExtEnd; -import biomesoplenty.common.biome.vanilla.BiomeExtExtremeHills; -import biomesoplenty.common.biome.vanilla.BiomeExtExtremeHillsPlus; -import biomesoplenty.common.biome.vanilla.BiomeExtFlowerForest; -import biomesoplenty.common.biome.vanilla.BiomeExtForest; -import biomesoplenty.common.biome.vanilla.BiomeExtForestHills; -import biomesoplenty.common.biome.vanilla.BiomeExtHell; -import biomesoplenty.common.biome.vanilla.BiomeExtIceMountains; -import biomesoplenty.common.biome.vanilla.BiomeExtIcePlains; -import biomesoplenty.common.biome.vanilla.BiomeExtJungle; -import biomesoplenty.common.biome.vanilla.BiomeExtJungleHills; -import biomesoplenty.common.biome.vanilla.BiomeExtMegaTaiga; -import biomesoplenty.common.biome.vanilla.BiomeExtMegaTaigaHills; -import biomesoplenty.common.biome.vanilla.BiomeExtMesa; -import biomesoplenty.common.biome.vanilla.BiomeExtMesaPlateau; -import biomesoplenty.common.biome.vanilla.BiomeExtMushroomIsland; -import biomesoplenty.common.biome.vanilla.BiomeExtOcean; -import biomesoplenty.common.biome.vanilla.BiomeExtPlains; -import biomesoplenty.common.biome.vanilla.BiomeExtRoofedForest; -import biomesoplenty.common.biome.vanilla.BiomeExtSavanna; -import biomesoplenty.common.biome.vanilla.BiomeExtSavannaPlateau; -import biomesoplenty.common.biome.vanilla.BiomeExtSwampland; -import biomesoplenty.common.biome.vanilla.BiomeExtTaiga; -import biomesoplenty.common.biome.vanilla.BiomeExtTaigaHills; -import biomesoplenty.common.command.BOPCommand; -import biomesoplenty.common.util.config.BOPConfig; -import biomesoplenty.common.world.WorldProviderBOPHell; -import biomesoplenty.common.world.WorldTypeBOP; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.init.Biomes; -import net.minecraft.world.DimensionType; -import net.minecraft.world.WorldType; -import net.minecraft.world.biome.Biome; -import net.minecraftforge.common.BiomeDictionary; -import net.minecraftforge.common.BiomeDictionary.Type; -import net.minecraftforge.common.BiomeManager; -import net.minecraftforge.common.DimensionManager; -import net.minecraftforge.fml.common.registry.ForgeRegistries; - -public class ModBiomes implements BOPBiomes.IBiomeRegistry -{ - public static final File BIOMES_DIR = new File(BiomesOPlenty.configDirectory, "biomes"); - public static final File DEFAULTS_DIR = new File(BIOMES_DIR, "defaults"); - public static final File BOP_DEFAULTS_DIR = new File(DEFAULTS_DIR, "biomesoplenty"); - public static final File VANILLA_DEFAULTS_DIR = new File(DEFAULTS_DIR, "vanilla"); - - public static WorldTypeBOP worldTypeBOP; - - private static int nextBiomeId = 40; - private static File biomeIdMapFile; - private static IConfigObj biomeIdMapConf; - protected static Map biomeIdMap; - private static Set idsReservedInConfig; - private static Map biomeWrapperMap; - - public static Set presentBiomes; - public static Map> subBiomesMap; - - public static Map islandBiomesMap = new HashMap(); - public static int totalIslandBiomesWeight; - - public static void init() - { - worldTypeBOP = new WorldTypeBOP(); - - // get BOP biome ids from the config file (if it exists) - biomeIdMapFile = new File(BiomesOPlenty.configDirectory, "biome_ids.json"); - biomeIdMapConf = new BOPConfig.ConfigFileObj(biomeIdMapFile); - biomeIdMap = new HashMap(); - presentBiomes = Sets.newHashSet(); - - // make a list of biome ids which are reserved in the config file for a particular biome, to ensure they are not used for a new biome - idsReservedInConfig = new HashSet(); - for (String biomeIdName : biomeIdMapConf.getKeys()) - { - Integer reservedId = biomeIdMapConf.getInt(biomeIdName); - if (reservedId != null && reservedId.intValue() > -1) - { - idsReservedInConfig.add(reservedId); - } - } - - //Create a folder and temp file to show people where to put biome config files - if (!BIOMES_DIR.exists()) - { - BIOMES_DIR.mkdir(); - - try - { - (new File(BIOMES_DIR, "Put biome config files here")).createNewFile(); - } - catch (IOException e) {} - } - - // remove any existing default files and recreate the directory - try { - FileUtils.deleteDirectory(DEFAULTS_DIR); - } - catch (Exception e) - { - BiomesOPlenty.logger.error("Could not delete default biome config directory!"); - } - DEFAULTS_DIR.mkdir(); - - initSubBiomes(); - - registerBiomes(); - registerBiomeDictionaryTags(); - - //After normal biomes to account for adding custom beaches - initExtendedBiomes(); - - registerNetherOverride(); - - // save the biome ids to the config file (creating it if it doesn't exist) - BOPConfig.writeFile(biomeIdMapFile, biomeIdMap); - - //Exclude biome decoration from certain worldtypes - excludedDecoratedWorldTypes.add(WorldType.AMPLIFIED); - excludedDecoratedWorldTypes.add(WorldType.CUSTOMIZED); - excludedDecoratedWorldTypes.add(WorldType.DEFAULT); - excludedDecoratedWorldTypes.add(WorldType.DEFAULT_1_1); - excludedDecoratedWorldTypes.add(WorldType.FLAT); - excludedDecoratedWorldTypes.add(WorldType.LARGE_BIOMES); - } - - public static void initSubBiomes() - { - subBiomesMap = new HashMap>(); - - // Add vanilla sub biomes - - setSubBiome(Biomes.DESERT, Biomes.DESERT_HILLS); - setSubBiome(Biomes.FOREST, Biomes.FOREST_HILLS); - setSubBiome(Biomes.BIRCH_FOREST, Biomes.BIRCH_FOREST_HILLS); - setSubBiome(Biomes.ROOFED_FOREST, Biomes.PLAINS); - setSubBiome(Biomes.TAIGA, Biomes.TAIGA_HILLS); - setSubBiome(Biomes.REDWOOD_TAIGA, Biomes.REDWOOD_TAIGA_HILLS); - setSubBiome(Biomes.COLD_TAIGA, Biomes.COLD_TAIGA_HILLS); - setSubBiome(Biomes.PLAINS, Biomes.FOREST_HILLS, Biomes.FOREST); - setSubBiome(Biomes.ICE_PLAINS, Biomes.ICE_MOUNTAINS); - setSubBiome(Biomes.JUNGLE, Biomes.JUNGLE_HILLS); - setSubBiome(Biomes.EXTREME_HILLS, Biomes.EXTREME_HILLS_WITH_TREES); - setSubBiome(Biomes.SAVANNA, Biomes.SAVANNA_PLATEAU); - setSubBiome(Biomes.MESA_ROCK, Biomes.MESA); - - // oceans get occasional patches of deep ocean - // don't add any islands - those are done per climate in GenLayerBiomeIslands - setSubBiome(Biomes.OCEAN, Biomes.DEEP_OCEAN); - - } - - private static void registerBiomes() - { - // beach biomes (normal biomes rely on these being registered first) - - gravel_beach = registerOverworldBiome(new BiomeGenGravelBeach()); - white_beach = registerOverworldBiome(new BiomeGenWhiteBeach()); - origin_beach = registerOverworldBiome(new BiomeGenOriginBeach()); - - // normal biomes which have weights - alps = registerOverworldBiome(new BiomeGenAlps(BiomeGenAlps.AlpsType.ALPS)); - bamboo_forest = registerOverworldBiome(new BiomeGenBambooForest()); - bayou = registerOverworldBiome(new BiomeGenBayou()); - bog = registerOverworldBiome(new BiomeGenBog()); - boreal_forest = registerOverworldBiome(new BiomeGenBorealForest()); - brushland = registerOverworldBiome(new BiomeGenBrushland()); - chaparral = registerOverworldBiome(new BiomeGenChaparral()); - cherry_blossom_grove = registerOverworldBiome(new BiomeGenCherryBlossomGrove()); - cold_desert = registerOverworldBiome(new BiomeGenColdDesert()); - coniferous_forest = registerOverworldBiome(new BiomeGenConiferousForest()); - crag = registerOverworldBiome(new BiomeGenCrag()); - dead_forest = registerOverworldBiome(new BiomeGenDeadForest()); - dead_swamp = registerOverworldBiome(new BiomeGenDeadSwamp()); - eucalyptus_forest = registerOverworldBiome(new BiomeGenEucalyptusForest()); - fen = registerOverworldBiome(new BiomeGenFen()); - flower_field = registerOverworldBiome(new BiomeGenFlowerField()); - grassland = registerOverworldBiome(new BiomeGenGrassland()); - grove = registerOverworldBiome(new BiomeGenGrove()); - highland = registerOverworldBiome(new BiomeGenHighland()); - land_of_lakes = registerOverworldBiome(new BiomeGenLandOfLakes()); - lavender_fields = registerOverworldBiome(new BiomeGenLavenderFields()); - lush_desert = registerOverworldBiome(new BiomeGenLushDesert()); - lush_swamp = registerOverworldBiome(new BiomeGenLushSwamp()); - mangrove = registerOverworldBiome(new BiomeGenMangrove()); - maple_woods = registerOverworldBiome(new BiomeGenMapleWoods()); - marsh = registerOverworldBiome(new BiomeGenMarsh()); - meadow = registerOverworldBiome(new BiomeGenMeadow()); - moor = registerOverworldBiome(new BiomeGenMoor()); - mountain = registerOverworldBiome(new BiomeGenMountain(BiomeGenMountain.MountainType.MOUNTAIN)); - mystic_grove = registerOverworldBiome(new BiomeGenMysticGrove()); - ominous_woods = registerOverworldBiome(new BiomeGenOminousWoods()); - orchard = registerOverworldBiome(new BiomeGenOrchard()); - outback = registerOverworldBiome(new BiomeGenOutback()); - overgrown_cliffs = registerOverworldBiome(new BiomeGenOvergrownCliffs()); - prairie = registerOverworldBiome(new BiomeGenPrairie()); - quagmire = registerOverworldBiome(new BiomeGenQuagmire()); - rainforest = registerOverworldBiome(new BiomeGenRainforest()); - redwood_forest = registerOverworldBiome(new BiomeGenRedwoodForest(BiomeGenRedwoodForest.ForestType.REDWOOD_FOREST)); - sacred_springs = registerOverworldBiome(new BiomeGenSacredSprings()); - seasonal_forest = registerOverworldBiome(new BiomeGenSeasonalForest()); - shield = registerOverworldBiome(new BiomeGenShield()); - shrubland = registerOverworldBiome(new BiomeGenShrubland()); - snowy_coniferous_forest = registerOverworldBiome(new BiomeGenSnowyConiferousForest()); - snowy_forest = registerOverworldBiome(new BiomeGenSnowyForest()); - steppe = registerOverworldBiome(new BiomeGenSteppe()); - temperate_rainforest = registerOverworldBiome(new BiomeGenTemperateRainforest()); - tropical_rainforest = registerOverworldBiome(new BiomeGenTropicalRainforest()); - tundra = registerOverworldBiome(new BiomeGenTundra(BiomeGenTundra.TundraType.TUNDRA)); - wasteland = registerOverworldBiome(new BiomeGenWasteland()); - wetland = registerOverworldBiome(new BiomeGenWetland()); - woodland = registerOverworldBiome(new BiomeGenWoodland()); - xeric_shrubland = registerOverworldBiome(new BiomeGenXericShrubland()); - - // edge-biomes, sub-biomes and mutated-biomes - - alps_foothills = registerOverworldBiome(new BiomeGenAlps(BiomeGenAlps.AlpsType.ALPS_FOOTHILLS)); - mountain_foothills = registerOverworldBiome(new BiomeGenMountain(BiomeGenMountain.MountainType.MOUNTAIN_FOOTHILLS)); - redwood_forest_edge = registerOverworldBiome(new BiomeGenRedwoodForest(BiomeGenRedwoodForest.ForestType.REDWOOD_FOREST_EDGE)); - pasture = registerOverworldBiome(new BiomeGenPasture()); - glacier = registerOverworldBiome(new BiomeGenGlacier()); - oasis = registerOverworldBiome(new BiomeGenOasis()); - snowy_tundra = registerOverworldBiome(new BiomeGenTundra(BiomeGenTundra.TundraType.SNOWY_TUNDRA)); - coral_reef = registerOverworldBiome(new BiomeGenCoralReef()); - kelp_forest = registerOverworldBiome(new BiomeGenKelpForest()); - - setSubBiome(BOPBiomes.prairie, BOPBiomes.pasture); - setSubBiome(BOPBiomes.tundra, BOPBiomes.snowy_tundra); - setSubBiome(Optional.of(Biomes.ICE_PLAINS), BOPBiomes.glacier); - setSubBiome(Optional.of(Biomes.DESERT), BOPBiomes.oasis); - setSubBiome(Optional.of(Biomes.OCEAN), BOPBiomes.coral_reef); - setSubBiome(Optional.of(Biomes.OCEAN), BOPBiomes.kelp_forest); - - // island biomes - - origin_island = registerOverworldBiome(new BiomeGenOriginIsland()); - tropical_island = registerOverworldBiome(new BiomeGenTropicalIsland()); - volcanic_island = registerOverworldBiome(new BiomeGenVolcanicIsland()); - flower_island = registerOverworldBiome(new BiomeGenFlowerIsland()); - - addIslandBiome(origin_island, 1); - addIslandBiome(tropical_island, 3); - addIslandBiome(volcanic_island, 5); - addIslandBiome(flower_island, 7); - - // nether biomes - corrupted_sands = registerNetherBiome(new BiomeCorruptedSands()); - fungi_forest = registerNetherBiome(new BiomeFungiForest()); - phantasmagoric_inferno = registerNetherBiome(new BiomePhantasmagoricInferno()); - undergarden = registerNetherBiome(new BiomeUndergarden()); - visceral_heap = registerNetherBiome(new BiomeVisceralHeap()); - } - - public static void initExtendedBiomes() - { - biomeWrapperMap = new HashMap<>(); - - end_extension = registerWrappedBiome(new BiomeExtEnd()); - mushroom_island_extension = registerWrappedBiome(new BiomeExtMushroomIsland()); - birch_forest_extension = registerWrappedBiome(new BiomeExtBirchForest()); - birch_forest_hills_extension = registerWrappedBiome(new BiomeExtBirchForestHills()); - cold_taiga_extension = registerWrappedBiome(new BiomeExtColdTaiga()); - cold_taiga_hills_extension = registerWrappedBiome(new BiomeExtColdTaigaHills()); - desert_extension = registerWrappedBiome(new BiomeExtDesert()); - desert_hills_extension = registerWrappedBiome(new BiomeExtDesertHills()); - extreme_hills_extension = registerWrappedBiome(new BiomeExtExtremeHills()); - extreme_hills_plus_extension = registerWrappedBiome(new BiomeExtExtremeHillsPlus()); - flower_forest_extension = registerWrappedBiome(new BiomeExtFlowerForest()); - forest_extension = registerWrappedBiome(new BiomeExtForest()); - forest_hills_extension = registerWrappedBiome(new BiomeExtForestHills()); - ice_plains_extension = registerWrappedBiome(new BiomeExtIcePlains()); - ice_mountains_extension = registerWrappedBiome(new BiomeExtIceMountains()); - jungle_extension = registerWrappedBiome(new BiomeExtJungle()); - jungle_hills_extension = registerWrappedBiome(new BiomeExtJungleHills()); - mega_taiga_extension = registerWrappedBiome(new BiomeExtMegaTaiga()); - mega_taiga_hills_extension = registerWrappedBiome(new BiomeExtMegaTaigaHills()); - mesa_extension = registerWrappedBiome(new BiomeExtMesa()); - mesa_plateau_extension = registerWrappedBiome(new BiomeExtMesaPlateau()); - ocean_extension = registerWrappedBiome(new BiomeExtOcean()); - plains_extension = registerWrappedBiome(new BiomeExtPlains()); - roofed_forest_extension = registerWrappedBiome(new BiomeExtRoofedForest()); - savanna_extension = registerWrappedBiome(new BiomeExtSavanna()); - savanna_plateau_extension = registerWrappedBiome(new BiomeExtSavannaPlateau()); - swampland_extension = registerWrappedBiome(new BiomeExtSwampland()); - taiga_extension = registerWrappedBiome(new BiomeExtTaiga()); - taiga_hills_extension = registerWrappedBiome(new BiomeExtTaigaHills()); - hell_extension = registerWrappedBiome(new BiomeExtHell()); - beach_extension = registerWrappedBiome(new BiomeExtBeach()); - } - - private static void registerBiomeDictionaryTags() - { - //TODO: Add biome dictionary tags for biomes that haven't been added yet - - registerBiomeToDictionary(BOPBiomes.alps, Type.MOUNTAIN, Type.SNOWY, Type.COLD, Type.DRY); - registerBiomeToDictionary(BOPBiomes.bamboo_forest, Type.JUNGLE, Type.FOREST, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.bayou, Type.SWAMP, Type.HOT, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.bog, Type.SWAMP, Type.FOREST, Type.COLD, Type.WET); - registerBiomeToDictionary(BOPBiomes.boreal_forest, Type.FOREST, Type.CONIFEROUS, Type.HILLS, Type.COLD, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.brushland, Type.SAVANNA, Type.HOT, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.chaparral, Type.PLAINS, Type.DRY); - registerBiomeToDictionary(BOPBiomes.cherry_blossom_grove, Type.FOREST, Type.MAGICAL, Type.LUSH, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.cold_desert, Type.SNOWY, Type.DRY, Type.COLD); - registerBiomeToDictionary(BOPBiomes.coniferous_forest, Type.CONIFEROUS, Type.FOREST, Type.COLD, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.crag, Type.MOUNTAIN, Type.WASTELAND, Type.HILLS, Type.MAGICAL, Type.COLD, Type.DRY); - registerBiomeToDictionary(BOPBiomes.dead_forest, Type.FOREST, Type.DEAD, Type.COLD, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.dead_swamp, Type.SWAMP, Type.DEAD, Type.SPOOKY, Type.COLD, Type.WET, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.eucalyptus_forest, Type.FOREST, Type.JUNGLE, Type.LUSH, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.fen, Type.SWAMP, Type.FOREST, Type.COLD, Type.DEAD, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.flower_field, Type.PLAINS, Type.LUSH); - registerBiomeToDictionary(BOPBiomes.grassland, Type.PLAINS, Type.HILLS, Type.WET); - registerBiomeToDictionary(BOPBiomes.grove, Type.FOREST, Type.PLAINS, Type.LUSH, Type.WET, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.highland, Type.MOUNTAIN, Type.HILLS, Type.WET); - registerBiomeToDictionary(BOPBiomes.land_of_lakes, Type.FOREST, Type.SWAMP, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.lavender_fields, Type.PLAINS, Type.MAGICAL, Type.LUSH); - registerBiomeToDictionary(BOPBiomes.lush_desert, Type.SANDY, Type.HOT, Type.SAVANNA, Type.LUSH, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.lush_swamp, Type.SWAMP, Type.LUSH, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.mangrove, Type.WATER, Type.SWAMP, Type.LUSH, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.maple_woods, Type.FOREST, Type.CONIFEROUS, Type.COLD, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.marsh, Type.WET, Type.LUSH); - registerBiomeToDictionary(BOPBiomes.meadow, Type.PLAINS, Type.FOREST, Type.LUSH, Type.COLD, Type.WET, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.moor, Type.SWAMP, Type.HILLS, Type.WET); - registerBiomeToDictionary(BOPBiomes.mountain, Type.MOUNTAIN, Type.FOREST, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.mystic_grove, Type.MAGICAL, Type.FOREST, Type.LUSH, Type.WET, Type.DENSE, Type.RARE); - registerBiomeToDictionary(BOPBiomes.ominous_woods, Type.MAGICAL, Type.FOREST, Type.SPOOKY, Type.DEAD, Type.WET, Type.DENSE, Type.RARE); - registerBiomeToDictionary(BOPBiomes.orchard, Type.FOREST, Type.PLAINS, Type.DENSE, Type.LUSH); - registerBiomeToDictionary(BOPBiomes.outback, Type.SANDY, Type.SAVANNA, Type.HOT, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.overgrown_cliffs, Type.MOUNTAIN, Type.HILLS, Type.LUSH, Type.JUNGLE, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.prairie, Type.PLAINS, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.quagmire, Type.SWAMP, Type.DEAD, Type.WASTELAND, Type.WET); - registerBiomeToDictionary(BOPBiomes.rainforest, Type.JUNGLE, Type.FOREST, Type.LUSH, Type.HILLS, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.redwood_forest, Type.FOREST, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.sacred_springs, Type.MAGICAL, Type.FOREST, Type.JUNGLE, Type.LUSH, Type.WET, Type.DENSE, Type.RARE); - registerBiomeToDictionary(BOPBiomes.seasonal_forest, Type.FOREST, Type.COLD, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.shield, Type.FOREST, Type.COLD, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.shrubland, Type.PLAINS, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.snowy_coniferous_forest, Type.FOREST, Type.CONIFEROUS, Type.SNOWY, Type.COLD, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.snowy_forest, Type.SNOWY, Type.FOREST, Type.COLD, Type.WET, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.steppe, Type.PLAINS, Type.SANDY, Type.DRY); - registerBiomeToDictionary(BOPBiomes.temperate_rainforest, Type.FOREST, Type.LUSH, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.tropical_rainforest, Type.JUNGLE, Type.LUSH, Type.HOT, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.tundra, Type.COLD, Type.WASTELAND, Type.DEAD, Type.WET, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.wasteland, Type.WASTELAND, Type.DEAD, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.wetland, Type.SWAMP, Type.FOREST, Type.LUSH, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.woodland, Type.FOREST, Type.DRY, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.xeric_shrubland, Type.SANDY, Type.SAVANNA, Type.LUSH, Type.HOT, Type.DRY, Type.SPARSE); - - // edge-biomes, sub-biomes and mutated-biomes - registerBiomeToDictionary(BOPBiomes.alps_foothills, Type.MOUNTAIN, Type.SNOWY, Type.FOREST, Type.SPARSE, Type.COLD, Type.DRY); - registerBiomeToDictionary(BOPBiomes.mountain_foothills, Type.HILLS, Type.MOUNTAIN, Type.FOREST, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.redwood_forest_edge, Type.FOREST, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.pasture, Type.PLAINS, Type.DRY, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.glacier, Type.SNOWY, Type.WASTELAND, Type.COLD); - registerBiomeToDictionary(BOPBiomes.oasis, Type.SANDY, Type.LUSH, Type.JUNGLE, Type.HOT, Type.WET, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.snowy_tundra, Type.SNOWY, Type.COLD, Type.WASTELAND, Type.DEAD, Type.WET, Type.SPARSE); - registerBiomeToDictionary(BOPBiomes.coral_reef, Type.WATER, Type.OCEAN); - registerBiomeToDictionary(BOPBiomes.kelp_forest, Type.WATER, Type.OCEAN); - - //Origin Island not tagged purposely - registerBiomeToDictionary(BOPBiomes.tropical_island, Type.WATER, Type.JUNGLE, Type.LUSH, Type.WET, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.volcanic_island, Type.WATER, Type.DEAD, Type.WASTELAND, Type.MOUNTAIN, Type.HOT, Type.DRY); - registerBiomeToDictionary(BOPBiomes.flower_island, Type.WATER, Type.PLAINS, Type.LUSH, Type.DENSE, Type.MAGICAL); - registerBiomeToDictionary(BOPBiomes.origin_island, Type.WATER, Type.FOREST, Type.RARE); - registerBiomeToDictionary(BOPBiomes.gravel_beach, Type.BEACH); - registerBiomeToDictionary(BOPBiomes.white_beach, Type.BEACH); - registerBiomeToDictionary(BOPBiomes.origin_beach, Type.BEACH, Type.RARE); - - registerBiomeToDictionary(BOPBiomes.corrupted_sands, Type.NETHER, Type.HOT, Type.DRY, Type.SANDY, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.fungi_forest, Type.NETHER, Type.HOT, Type.MUSHROOM, Type.DENSE); - registerBiomeToDictionary(BOPBiomes.phantasmagoric_inferno, Type.NETHER, Type.HOT, Type.WASTELAND, Type.DRY, Type.MAGICAL, Type.SPOOKY); - registerBiomeToDictionary(BOPBiomes.undergarden, Type.NETHER, Type.HOT, Type.LUSH); - registerBiomeToDictionary(BOPBiomes.visceral_heap, Type.NETHER, Type.HOT, Type.WET); - - } - - public static void registerNetherOverride() - { - //Unregister vanilla Nether dimension - DimensionManager.unregisterDimension(-1); - - //Add override - DimensionType netherBOP = DimensionType.register("Nether", "_nether", -1, WorldProviderBOPHell.class, false); - DimensionManager.registerDimension(-1, netherBOP); - } - - @Override - public IExtendedBiome registerBiome(IExtendedBiome extendedBiome, String idName) - { - if (extendedBiome == null) - throw new IllegalArgumentException("Extended biome to register cannot be null!"); - - //Add to the set of present biomes - presentBiomes.add(extendedBiome.getBaseBiome()); - - //Extra functionality builtin, such as with BOPBiome - if (extendedBiome instanceof Biome) - { - for (Entry entry : extendedBiome.getWeightMap().entrySet()) - { - if (entry != null) - { - BOPClimates climate = entry.getKey(); - int weight = entry.getValue(); - climate.addBiome(weight, extendedBiome.getBaseBiome()); - } - } - } - else //extendedBiome is a wrapper - { - biomeWrapperMap.put(Biome.getIdForBiome(extendedBiome.getBaseBiome()), extendedBiome); - } - - return extendedBiome; - } - - @Override - public IExtendedBiome getExtendedBiome(Biome biome) - { - //Extra functionality builtin, such as with BOPBiome - if (biome instanceof IExtendedBiome) - { - return (IExtendedBiome)biome; - } - else - { - IExtendedBiome wrapper = biomeWrapperMap.get(Biome.getIdForBiome(biome)); - - //This biome may not have a wrapper - if (wrapper != null) - { - return wrapper; - } - } - - //No extension exists - return null; - } - - @Override - public ImmutableSet getPresentBiomes() - { - return ImmutableSet.copyOf(presentBiomes); - } - - public static IConfigObj readConfigFile(String idName) - { - File configFile = new File(new File(BiomesOPlenty.configDirectory, "biomes"), idName + ".json"); - IConfigObj conf = new BOPConfig.ConfigFileObj(configFile, false, true); - - return conf; - } - - public static void writeDefaultConfigFile(File basePath, String idName, IConfigObj conf) - { - File defaultFile = new File(basePath, idName + ".json"); - String json = BOPConfig.serializer.toJson(conf.serializeDefaults()); - - try { - FileUtils.write(defaultFile, json); - } - catch (Exception e) - { - BiomesOPlenty.logger.error("Could not write default biome config file " + defaultFile.getName()); - } - } - - private static void setSubBiome(Optional parent, Optional... subBiomes) - { - if (parent.isPresent()) - { - for (Optional subBiome : subBiomes) - { - if (subBiome.isPresent()) - { - setSubBiome(parent.get(), subBiome.get()); - } - } - } - } - - private static void setSubBiome(Biome parent, Biome... subBiomes) - { - Map> map = subBiomesMap; - int parentId = Biome.getIdForBiome(parent); - if (!map.containsKey(parentId)) - { - map.put(parentId, new ArrayList()); - } - for (Biome subBiome : subBiomes) - { - map.get(parentId).add(Biome.getIdForBiome(subBiome)); - } - } - - private static void addIslandBiome(Optional biome, int weight) - { - if (biome.isPresent()) - { - totalIslandBiomesWeight += weight; - islandBiomesMap.put(Biome.getIdForBiome(biome.get()), weight); - } - } - - private static IExtendedBiome registerWrappedBiome(IExtendedBiome extendedBiome) - { - //Non-wrapped biomes should not be registered this way - if (extendedBiome.getBaseBiome() instanceof IExtendedBiome) - throw new IllegalArgumentException("Biome already implements IExtendedBiome, it should be registered appropriately"); - - String idName = extendedBiome.getResourceLocation().getResourcePath(); - extendedBiome.configure(readConfigFile(idName)); - return BOPBiomes.REG_INSTANCE.registerBiome(extendedBiome, idName); - } - - private static Optional registerOverworldBiome(BOPOverworldBiome biome) - { - String idName = biome.getResourceLocation().getResourcePath(); - Integer id = biomeIdMapConf.getInt(idName, null); - if (id == null) {id = new Integer(getNextFreeBiomeId());} - biomeIdMap.put(idName, id); - - if (id > -1) { - biome.configure(biome.conf); - BOPCommand.biomeCount++; - - BOPBiomes.REG_INSTANCE.registerBiome(biome, idName); - biome.setRegistryName(biome.getResourceLocation()); - ForgeRegistries.BIOMES.register(biome); - - //Enable spwning and village generation in the biome - if (biome.canSpawnInBiome) - BiomeManager.addSpawnBiome(biome); - - if (biome.canGenerateVillages) - BiomeManager.addVillageBiome(biome, true); - - return Optional.of(biome); - - } else { - return Optional.absent(); - } - } - - private static Optional registerNetherBiome(BOPHellBiome biome) - { - String idName = biome.getResourceLocation().getResourcePath(); - Integer id = biomeIdMapConf.getInt(idName, null); - if (id == null) {id = new Integer(getNextFreeBiomeId());} - biomeIdMap.put(idName, id); - - if (id > -1) { - biome.configure(biome.conf); - BOPCommand.biomeCount++; - - BOPBiomes.REG_INSTANCE.registerBiome(biome, idName); - biome.setRegistryName(biome.getResourceLocation()); - ForgeRegistries.BIOMES.register(biome); - - return Optional.of(biome); - - } else { - return Optional.absent(); - } - } - - private static void registerBiomeToDictionary(Optional biome, Type...types) - { - if (biome.isPresent()) - { - BiomeDictionary.addTypes(biome.get(), types); - } - } - - public static int getNextFreeBiomeId() - { - for (int i = nextBiomeId; i < 256; i++) - { - if (Biome.getBiome(i) != null) - { - if (i == 255) throw new IllegalArgumentException("There are no more biome ids avaliable!"); - continue; - } - else if (idsReservedInConfig.contains(Integer.valueOf(i))) - { - // this id is reserved for a particular biome - continue; - } - else - { - nextBiomeId = i + 1; - return i; - } - } - - return -1; - } -} diff --git a/src/main/java/biomesoplenty/common/init/ModBlockQueries.java b/src/main/java/biomesoplenty/common/init/ModBlockQueries.java deleted file mode 100644 index fb6042015..000000000 --- a/src/main/java/biomesoplenty/common/init/ModBlockQueries.java +++ /dev/null @@ -1,176 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import static biomesoplenty.api.block.BlockQueries.air; -import static biomesoplenty.api.block.BlockQueries.airAbove; -import static biomesoplenty.api.block.BlockQueries.airBelow; -import static biomesoplenty.api.block.BlockQueries.airOrLeaves; -import static biomesoplenty.api.block.BlockQueries.anything; -import static biomesoplenty.api.block.BlockQueries.breakable; -import static biomesoplenty.api.block.BlockQueries.endish; -import static biomesoplenty.api.block.BlockQueries.fertile; -import static biomesoplenty.api.block.BlockQueries.fertileOrNetherrack; -import static biomesoplenty.api.block.BlockQueries.fertileOrSand; -import static biomesoplenty.api.block.BlockQueries.fertileSeaBed; -import static biomesoplenty.api.block.BlockQueries.groundBlocks; -import static biomesoplenty.api.block.BlockQueries.hasWater; -import static biomesoplenty.api.block.BlockQueries.hellish; -import static biomesoplenty.api.block.BlockQueries.litBeach; -import static biomesoplenty.api.block.BlockQueries.litDry; -import static biomesoplenty.api.block.BlockQueries.litDryWaterside; -import static biomesoplenty.api.block.BlockQueries.litFertile; -import static biomesoplenty.api.block.BlockQueries.litFertileOrDry; -import static biomesoplenty.api.block.BlockQueries.litFertileWaterside; -import static biomesoplenty.api.block.BlockQueries.litSand; -import static biomesoplenty.api.block.BlockQueries.nothing; -import static biomesoplenty.api.block.BlockQueries.replaceable; -import static biomesoplenty.api.block.BlockQueries.rootsCanDigThrough; -import static biomesoplenty.api.block.BlockQueries.solid; -import static biomesoplenty.api.block.BlockQueries.spectralMoss; -import static biomesoplenty.api.block.BlockQueries.suitableForReed; -import static biomesoplenty.api.block.BlockQueries.surfaceBlocks; -import static biomesoplenty.api.block.BlockQueries.sustainsCave; -import static biomesoplenty.api.block.BlockQueries.sustainsNether; -import static biomesoplenty.api.block.BlockQueries.underwater; -import static biomesoplenty.api.block.BlockQueries.waterCovered; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.BlockLiquid; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; - -public class ModBlockQueries -{ - - public static void init() - { - - anything = BlockQuery.anything; - nothing = BlockQuery.nothing; - - // Match block positions adjacent to water - hasWater = new IBlockPosQuery() - { - @Override - public boolean matches(World world, BlockPos pos) - { - return (world.getBlockState(pos.west()).getMaterial() == Material.WATER || world.getBlockState(pos.east()).getMaterial() == Material.WATER || world.getBlockState(pos.north()).getMaterial() == Material.WATER || world.getBlockState(pos.south()).getMaterial() == Material.WATER); - } - }; - - // Match block positions with air above - airAbove = new IBlockPosQuery() - { - @Override - public boolean matches(World world, BlockPos pos) - { - return world.isAirBlock(pos.up()); - } - }; - - // Match block positions with air below - airBelow = new IBlockPosQuery() - { - @Override - public boolean matches(World world, BlockPos pos) - { - return world.isAirBlock(pos.down()); - } - }; - - // Match block positions with water above - waterCovered = new IBlockPosQuery() - { - @Override - public boolean matches(World world, BlockPos pos) - { - return world.getBlockState(pos).getMaterial() == Material.WATER && world.getBlockState(pos.up()).getMaterial() == Material.WATER; - } - }; - - // Match blocks which are not unbreakable - IE not bedrock, barrier, command blocks - breakable = new IBlockPosQuery() - { - // Block.setBlockUnbreakable sets the hardness value to -1.0F - @Override - public boolean matches(World world, BlockPos pos) - { - return world.getBlockState(pos).getBlockHardness(world, pos) >= 0.0F; - } - }; - - //Match blocks with a solid top - solid = new IBlockPosQuery() - { - // Block.setBlockUnbreakable sets the hardness value to -1.0F - @Override - public boolean matches(World world, BlockPos pos) - { - return world.getBlockState(pos).isSideSolid(world, pos, EnumFacing.UP); - } - }; - - //Match replacable blocks - replaceable = new IBlockPosQuery() - { - // Block.setBlockUnbreakable sets the hardness value to -1.0F - @Override - public boolean matches(World world, BlockPos pos) - { - return world.getBlockState(pos).getBlock().isReplaceable(world, pos); - } - }; - - air = new BlockQueryMaterial(Material.AIR); - airOrLeaves = new BlockQueryMaterial(Material.AIR, Material.LEAVES); - - // Match blocks which count as 'the surface' - useful for finding places to put plants, trees, lilypads etc - note plants, trees, snow all excluded because they sit or grow 'on' the surface - surfaceBlocks = new BlockQueryMaterial(Material.BARRIER, Material.CLAY, Material.GRASS, Material.GROUND, Material.ICE, Material.LAVA, Material.PACKED_ICE, Material.ROCK, Material.SAND, Material.WATER); - // As above but without the liquids - useful for placing stuff on the sea floor - groundBlocks = new BlockQueryMaterial(Material.BARRIER, Material.CLAY, Material.GRASS, Material.GROUND, Material.PACKED_ICE, Material.ROCK, Material.SAND); - - fertile = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).create(); - fertileOrNetherrack = BlockQuery.buildOr().sustainsPlant(EnumPlantType.Plains).blocks(Blocks.NETHERRACK).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK), BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.MYCELIAL_NETHERRACK)).create(); - fertileOrSand = BlockQuery.buildOr().sustainsPlant(EnumPlantType.Plains).blocks(Blocks.SAND, BOPBlocks.white_sand).create(); - sustainsCave = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Cave).create(); - sustainsNether = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Nether).create(); - endish = BlockQuery.buildOr().blocks(Blocks.END_STONE).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SPECTRAL_MOSS)).create(); - hellish = BlockQuery.buildOr().blocks(Blocks.NETHERRACK, BOPBlocks.flesh).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK), BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.MYCELIAL_NETHERRACK)).create(); - litBeach = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Beach).withLightAboveAtLeast(8).create(); - litFertileWaterside = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).byWater().create(); - litFertile = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).withLightAboveAtLeast(8).create(); - litSand = BlockQuery.buildAnd().materials(Material.SAND).withLightAboveAtLeast(8).create(); - litDry = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Desert).withLightAboveAtLeast(8).create(); - litDryWaterside = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Desert).byWater().withLightAboveAtLeast(8).create(); - litFertileOrDry = BlockQuery.buildOr().add(litFertile).add(litDry).create(); - spectralMoss = new BlockQueryState(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SPECTRAL_MOSS)); - underwater = new BlockQueryMaterial(Material.WATER); - fertileSeaBed = new BlockQueryMaterial(Material.GROUND, Material.SAND, Material.CLAY, Material.SPONGE); - suitableForReed = BlockQuery.buildAnd().add(new IBlockPosQuery() { - // reed needs the ground block to be water, but the block below that to NOT be water - @Override public boolean matches(World world, BlockPos pos) { - BlockPos groundPos = pos.down(); - return (world.getBlockState(pos).getMaterial() == Material.WATER && world.getBlockState(pos).getValue(BlockLiquid.LEVEL).intValue() == 0 || world.getBlockState(pos).getMaterial() == Material.ICE) && - (world.getBlockState(groundPos).getBlock() != Blocks.WATER && world.getBlockState(groundPos).isSideSolid(world, groundPos, EnumFacing.UP)); - } - }).withLightAboveAtLeast(8).create(); - rootsCanDigThrough = new BlockQueryMaterial(Material.AIR, Material.WATER, Material.GROUND, Material.GRASS, Material.SAND, Material.CLAY, Material.PLANTS, Material.LEAVES); - - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/init/ModBlocks.java b/src/main/java/biomesoplenty/common/init/ModBlocks.java deleted file mode 100644 index d5e3d39f7..000000000 --- a/src/main/java/biomesoplenty/common/init/ModBlocks.java +++ /dev/null @@ -1,432 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import static biomesoplenty.api.block.BOPBlocks.*; - -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableSet; - -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.block.BlockBOPAsh; -import biomesoplenty.common.block.BlockBOPBamboo; -import biomesoplenty.common.block.BlockBOPBiomeBlock; -import biomesoplenty.common.block.BlockBOPBlueFire; -import biomesoplenty.common.block.BlockBOPBramblePlant; -import biomesoplenty.common.block.BlockBOPCoral; -import biomesoplenty.common.block.BlockBOPCrystal; -import biomesoplenty.common.block.BlockBOPDirt; -import biomesoplenty.common.block.BlockBOPDoor; -import biomesoplenty.common.block.BlockBOPDoubleOtherSlab; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.block.BlockBOPDoubleWoodSlab; -import biomesoplenty.common.block.BlockBOPFarmland; -import biomesoplenty.common.block.BlockBOPFence; -import biomesoplenty.common.block.BlockBOPFenceGate; -import biomesoplenty.common.block.BlockBOPFlesh; -import biomesoplenty.common.block.BlockBOPFlower; -import biomesoplenty.common.block.BlockBOPGem; -import biomesoplenty.common.block.BlockBOPGemOre; -import biomesoplenty.common.block.BlockBOPGeneric; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.BlockBOPGrassPath; -import biomesoplenty.common.block.BlockBOPHalfOtherSlab; -import biomesoplenty.common.block.BlockBOPHalfWoodSlab; -import biomesoplenty.common.block.BlockBOPHive; -import biomesoplenty.common.block.BlockBOPHoney; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.block.BlockBOPLog; -import biomesoplenty.common.block.BlockBOPMud; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.block.BlockBOPPlanks; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.block.BlockBOPSapling; -import biomesoplenty.common.block.BlockBOPSeaweed; -import biomesoplenty.common.block.BlockBOPStoneStairs; -import biomesoplenty.common.block.BlockBOPTerrarium; -import biomesoplenty.common.block.BlockBOPVine; -import biomesoplenty.common.block.BlockBOPWhiteSand; -import biomesoplenty.common.block.BlockBOPWhiteSandstone; -import biomesoplenty.common.block.BlockBOPWhiteSandstone.StoneType; -import biomesoplenty.common.block.BlockBOPWoodStairs; -import biomesoplenty.common.block.IBOPBlock; -import biomesoplenty.common.command.BOPCommand; -import biomesoplenty.common.fluids.BloodFluid; -import biomesoplenty.common.fluids.HoneyFluid; -import biomesoplenty.common.fluids.HotSpringWaterFluid; -import biomesoplenty.common.fluids.PoisonFluid; -import biomesoplenty.common.fluids.QuicksandFluid; -import biomesoplenty.common.fluids.blocks.BlockBloodFluid; -import biomesoplenty.common.fluids.blocks.BlockHoneyFluid; -import biomesoplenty.common.fluids.blocks.BlockHotSpringWaterFluid; -import biomesoplenty.common.fluids.blocks.BlockPoisonFluid; -import biomesoplenty.common.fluids.blocks.BlockQuicksandFluid; -import biomesoplenty.common.util.block.BlockStateUtils; -import biomesoplenty.common.util.inventory.CreativeTabBOP; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.block.Block; -import net.minecraft.block.BlockSlab; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemDoor; -import net.minecraft.item.ItemSlab; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fml.common.registry.ForgeRegistries; - -import javax.annotation.Nullable; - -public class ModBlocks -{ - // TODO: use getDrops() in classes where the drops are very specific, instead of implementing all 3 of quantityDropped() getItemDropped() and damageDropped() - // TODO: docblocks! - // TODO: make better use of canSustainPlant() in BlockDecoration and children - // TODO: implement IShearable on flowers - // TODO: investigate Block.getRenderType() - - public static void init() - { - //Terrain Blocks - grass = registerBlock( new BlockBOPGrass(), "grass" ); - dirt = registerBlock( new BlockBOPDirt(), "dirt" ); - - BlockBOPGrassPath.createAllPages(); - grass_path = registerBlock( BlockBOPGrassPath.paging.getBlock(0), "grass_path", null); - - BlockBOPFarmland.createAllPages(); - farmland_0 = registerBlock( BlockBOPFarmland.paging.getBlock(0), "farmland_0", null); - farmland_1 = registerBlock( BlockBOPFarmland.paging.getBlock(1), "farmland_1", null); - - white_sand = registerBlock( new BlockBOPWhiteSand(), "white_sand" ); - white_sandstone = registerBlock( new BlockBOPWhiteSandstone(), "white_sandstone" ); - white_sandstone_stairs =registerBlock( new BlockBOPStoneStairs(white_sandstone.getDefaultState().withProperty(BlockBOPWhiteSandstone.VARIANT, StoneType.SMOOTH)), "white_sandstone_stairs"); - - dried_sand = registerBlock( (new BlockBOPGeneric(Material.GROUND, SoundType.STONE)).addSupportedPlantType(EnumPlantType.Desert), "dried_sand"); - dried_sand.setHarvestLevel("pickaxe",0); - - hard_ice = registerBlock( (new BlockBOPGeneric(Material.PACKED_ICE, SoundType.STONE)).setHardness(0.75F), "hard_ice" ); - ash_block = registerBlock( new BlockBOPAsh(), "ash_block" ); - mud = registerBlock( new BlockBOPMud(), "mud" ); - flesh = registerBlock( new BlockBOPFlesh(), "flesh" ); - - //Building Blocks - crystal = registerBlock( new BlockBOPCrystal(), "crystal" ); - biome_block = registerBlock( new BlockBOPBiomeBlock(), "biome_block" ); - gem_ore = registerBlock( new BlockBOPGemOre(), "gem_ore" ); - gem_block = registerBlock( new BlockBOPGem(), "gem_block" ); - hive = registerBlock( new BlockBOPHive(), "hive" ); - honey_block = registerBlock( new BlockBOPHoney(), "honey_block" ); - - blue_fire = registerBlock( new BlockBOPBlueFire(), "blue_fire", null); - - //Material Blocks - bamboo_thatching = registerBlock( (new BlockBOPGeneric(Material.WOOD, SoundType.WOOD)).setHardness(2.0F), "bamboo_thatching"); bamboo_thatching.setHarvestLevel("axe", 0); - mud_brick_block = registerBlock( (new BlockBOPGeneric()).setResistance(2.0F), "mud_brick_block" ); - mud_brick_stairs = registerBlock( new BlockBOPStoneStairs(mud_brick_block.getDefaultState()), "mud_brick_stairs"); - - //Stone Slabs - // need to register items at the same time really so that they can be mapped to each other - bit messy this - other_slab = registerBlock( new BlockBOPHalfOtherSlab(), "other_slab", CreativeTabBOP.instance, false); - double_other_slab = registerBlock( new BlockBOPDoubleOtherSlab(), "double_other_slab", null, false ); // no creative tab for double slab - BOPItems.other_slab = ModItems.registerItem( new ItemSlab(other_slab, (BlockSlab)other_slab, (BlockSlab)double_other_slab), "other_slab"); - - // Logs - // 16 wood types, 4 per BlockBOPLog instance, needs 4 'pages' - BlockBOPLog.createAllPages(); - log_0 = registerBlock( BlockBOPLog.paging.getBlock(0), "log_0" ); - log_1 = registerBlock( BlockBOPLog.paging.getBlock(1), "log_1" ); - log_2 = registerBlock( BlockBOPLog.paging.getBlock(2), "log_2" ); - log_3 = registerBlock( BlockBOPLog.paging.getBlock(3), "log_3" ); - log_4 = registerBlock( BlockBOPLog.paging.getBlock(4), "log_4" ); - - //Leaves - // 22 tree types, 4 per BlockBOPLeaves instance, needs 6 'pages' - BlockBOPLeaves.createAllPages(); - leaves_0 = registerBlock( BlockBOPLeaves.paging.getBlock(0), "leaves_0"); - leaves_1 = registerBlock( BlockBOPLeaves.paging.getBlock(1), "leaves_1" ); - leaves_2 = registerBlock( BlockBOPLeaves.paging.getBlock(2), "leaves_2" ); - leaves_3 = registerBlock( BlockBOPLeaves.paging.getBlock(3), "leaves_3" ); - leaves_4 = registerBlock( BlockBOPLeaves.paging.getBlock(4), "leaves_4" ); - leaves_5 = registerBlock( BlockBOPLeaves.paging.getBlock(5), "leaves_5" ); - leaves_6 = registerBlock( BlockBOPLeaves.paging.getBlock(6), "leaves_6" ); - - // 16 wood types, 16 per BlockBOPPlanks instance, needs 1 'pages' - BlockBOPPlanks.createAllPages(); - planks_0 = registerBlock( BlockBOPPlanks.paging.getBlock(0), "planks_0"); - - // stairs have no variant metadata, use a new BlockBOPStairs instance for each (note there's no giant_flower_stairs or dead_stairs) - sacred_oak_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.SACRED_OAK), "sacred_oak_stairs" ); - cherry_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.CHERRY), "cherry_stairs" ); - umbran_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.UMBRAN), "umbran_stairs" ); - fir_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.FIR), "fir_stairs" ); - ethereal_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.ETHEREAL), "ethereal_stairs" ); - magic_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.MAGIC), "magic_stairs" ); - mangrove_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.MANGROVE), "mangrove_stairs" ); - palm_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.PALM), "palm_stairs" ); - redwood_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.REDWOOD), "redwood_stairs" ); - willow_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.WILLOW), "willow_stairs" ); - pine_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.PINE), "pine_stairs" ); - hellbark_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.HELLBARK), "hellbark_stairs" ); - jacaranda_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.JACARANDA), "jacaranda_stairs" ); - mahogany_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.MAHOGANY), "mahogany_stairs" ); - ebony_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.EBONY), "ebony_stairs" ); - eucalyptus_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.EUCALYPTUS), "eucalyptus_stairs" ); - - // 16 wood types, 8 per BlockBOPHalfWoodSlab and BlockBOPDoubleWoodSlab intance, needs 2 'pages' - // need to register items at the same time really so that they can be mapped to each other - bit messy this - BlockBOPDoubleWoodSlab.createAllPages(); - BlockBOPHalfWoodSlab.createAllPages(); - wood_slab_0 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(0), "wood_slab_0", CreativeTabBOP.instance, false); - double_wood_slab_0 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(0), "double_wood_slab_0", null, false ); // no creative tab for double slab - BOPItems.wood_slab_0 = ModItems.registerItem( new ItemSlab(wood_slab_0, (BlockSlab)wood_slab_0, (BlockSlab)double_wood_slab_0), "wood_slab_0"); - - wood_slab_1 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(1), "wood_slab_1", CreativeTabBOP.instance, false); - double_wood_slab_1 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(1), "double_wood_slab_1", null, false ); // no creative tab for double slab - BOPItems.wood_slab_1 = ModItems.registerItem( new ItemSlab(wood_slab_1, (BlockSlab)wood_slab_1, (BlockSlab)double_wood_slab_1), "wood_slab_1"); - - // fences have no variant metadata, use a new BlockBOPFence instance for each (note there's no giant_flower_fence or dead_fence) - sacred_oak_fence = registerBlock( new BlockBOPFence(BOPWoods.SACRED_OAK), "sacred_oak_fence" ); - cherry_fence = registerBlock( new BlockBOPFence(BOPWoods.CHERRY), "cherry_fence" ); - umbran_fence = registerBlock( new BlockBOPFence(BOPWoods.UMBRAN), "umbran_fence" ); - fir_fence = registerBlock( new BlockBOPFence(BOPWoods.FIR), "fir_fence" ); - ethereal_fence = registerBlock( new BlockBOPFence(BOPWoods.ETHEREAL), "ethereal_fence" ); - magic_fence = registerBlock( new BlockBOPFence(BOPWoods.MAGIC), "magic_fence" ); - mangrove_fence = registerBlock( new BlockBOPFence(BOPWoods.MANGROVE), "mangrove_fence" ); - palm_fence = registerBlock( new BlockBOPFence(BOPWoods.PALM), "palm_fence" ); - redwood_fence = registerBlock( new BlockBOPFence(BOPWoods.REDWOOD), "redwood_fence" ); - willow_fence = registerBlock( new BlockBOPFence(BOPWoods.WILLOW), "willow_fence" ); - pine_fence = registerBlock( new BlockBOPFence(BOPWoods.PINE), "pine_fence" ); - hellbark_fence = registerBlock( new BlockBOPFence(BOPWoods.HELLBARK), "hellbark_fence" ); - jacaranda_fence = registerBlock( new BlockBOPFence(BOPWoods.JACARANDA), "jacaranda_fence" ); - mahogany_fence = registerBlock( new BlockBOPFence(BOPWoods.MAHOGANY), "mahogany_fence" ); - ebony_fence = registerBlock( new BlockBOPFence(BOPWoods.EBONY), "ebony_fence" ); - eucalyptus_fence = registerBlock( new BlockBOPFence(BOPWoods.EUCALYPTUS), "eucalyptus_fence" ); - - // fence gates have no variant metadata, use a new BlockBOPFenceGate instance for each (note there's no giant_flower_fence_gate or dead_fence_gate) - sacred_oak_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.SACRED_OAK), "sacred_oak_fence_gate" ); - cherry_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.CHERRY), "cherry_fence_gate" ); - umbran_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.UMBRAN), "umbran_fence_gate" ); - fir_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.FIR), "fir_fence_gate" ); - ethereal_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.ETHEREAL), "ethereal_fence_gate" ); - magic_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.MAGIC), "magic_fence_gate" ); - mangrove_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.MANGROVE), "mangrove_fence_gate" ); - palm_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.PALM), "palm_fence_gate" ); - redwood_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.REDWOOD), "redwood_fence_gate" ); - willow_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.WILLOW), "willow_fence_gate" ); - pine_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.PINE), "pine_fence_gate" ); - hellbark_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.HELLBARK), "hellbark_fence_gate" ); - jacaranda_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.JACARANDA), "jacaranda_fence_gate" ); - mahogany_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.MAHOGANY), "mahogany_fence_gate" ); - ebony_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.EBONY), "ebony_fence_gate" ); - eucalyptus_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.EUCALYPTUS), "eucalyptus_fence_gate" ); - - // doors have no variant metadata, use a new BlockBOPDoor instance for each (note there's no giant_flower_door or dead_door) - sacred_oak_door = registerDoor( new BlockBOPDoor(BOPWoods.SACRED_OAK), "sacred_oak_door", BOPItems.sacred_oak_door ); - cherry_door = registerDoor( new BlockBOPDoor(BOPWoods.CHERRY), "cherry_door", BOPItems.cherry_door ); - umbran_door = registerDoor( new BlockBOPDoor(BOPWoods.UMBRAN), "umbran_door", BOPItems.umbran_door ); - fir_door = registerDoor( new BlockBOPDoor(BOPWoods.FIR), "fir_door", BOPItems.fir_door ); - ethereal_door = registerDoor( new BlockBOPDoor(BOPWoods.ETHEREAL), "ethereal_door", BOPItems.ethereal_door ); - magic_door = registerDoor( new BlockBOPDoor(BOPWoods.MAGIC), "magic_door", BOPItems.magic_door ); - mangrove_door = registerDoor( new BlockBOPDoor(BOPWoods.MANGROVE), "mangrove_door", BOPItems.mangrove_door ); - palm_door = registerDoor( new BlockBOPDoor(BOPWoods.PALM), "palm_door", BOPItems.palm_door ); - redwood_door = registerDoor( new BlockBOPDoor(BOPWoods.REDWOOD), "redwood_door", BOPItems.redwood_door ); - willow_door = registerDoor( new BlockBOPDoor(BOPWoods.WILLOW), "willow_door", BOPItems.willow_door ); - pine_door = registerDoor( new BlockBOPDoor(BOPWoods.PINE), "pine_door", BOPItems.pine_door ); - hellbark_door = registerDoor( new BlockBOPDoor(BOPWoods.HELLBARK), "hellbark_door", BOPItems.hellbark_door ); - jacaranda_door = registerDoor( new BlockBOPDoor(BOPWoods.JACARANDA), "jacaranda_door", BOPItems.jacaranda_door ); - mahogany_door = registerDoor( new BlockBOPDoor(BOPWoods.MAHOGANY), "mahogany_door", BOPItems.mahogany_door ); - ebony_door = registerDoor( new BlockBOPDoor(BOPWoods.EBONY), "ebony_door", BOPItems.ebony_door ); - eucalyptus_door = registerDoor( new BlockBOPDoor(BOPWoods.EUCALYPTUS), "eucalyptus_door", BOPItems.eucalyptus_door ); - - // Plants - - coral = registerBlock( new BlockBOPCoral(), "coral" ); - seaweed = registerBlock( new BlockBOPSeaweed(), "seaweed" ); - waterlily = registerBlock( new BlockBOPLilypad(), "waterlily" ); - bamboo = registerBlock( new BlockBOPBamboo(), "bamboo" ); - - // 22 tree types, 8 per BlockBOPSapling instance, needs 3 'pages' - BlockBOPSapling.createAllPages(); - sapling_0 = registerBlock( BlockBOPSapling.paging.getBlock(0), "sapling_0"); - sapling_1 = registerBlock( BlockBOPSapling.paging.getBlock(1), "sapling_1"); - sapling_2 = registerBlock( BlockBOPSapling.paging.getBlock(2), "sapling_2"); - - //Plants - BlockBOPPlant.createAllPages(); - plant_0 = registerBlock( BlockBOPPlant.paging.getBlock(0), "plant_0" ); - plant_1 = registerBlock( BlockBOPPlant.paging.getBlock(1), "plant_1" ); - double_plant = registerBlock( new BlockBOPDoublePlant(), "double_plant" ); - mushroom = registerBlock( new BlockBOPMushroom(), "mushroom" ); - - bramble_plant = registerBlock ( new BlockBOPBramblePlant(), "bramble_plant" ); - - // 22 flower types 16 per BlockBOPFlower instance, needs 2 'pages' - BlockBOPFlower.createAllPages(); - flower_0 = registerBlock( BlockBOPFlower.paging.getBlock(0), "flower_0" ); - flower_1 = registerBlock( BlockBOPFlower.paging.getBlock(1), "flower_1" ); - - //vines - ivy = registerBlock( new BlockBOPVine(true), "ivy" ); - willow_vine = registerBlock( new BlockBOPVine(true), "willow_vine" ); - - terrarium = registerBlock( new BlockBOPTerrarium(), "terrarium" ); - - - // fluids - sand_fluid = QuicksandFluid.instance; - sand_fluid.setViscosity(10000); - sand_fluid.setDensity(50000); - FluidRegistry.addBucketForFluid(sand_fluid); - sand = registerFluidBlock(sand_fluid, new BlockQuicksandFluid(sand_fluid), "sand"); - - honey_fluid = HoneyFluid.instance; - honey_fluid.setViscosity(1500); - FluidRegistry.addBucketForFluid(honey_fluid); - honey = registerFluidBlock(honey_fluid, new BlockHoneyFluid(honey_fluid), "honey"); - - blood_fluid = BloodFluid.instance; - FluidRegistry.addBucketForFluid(blood_fluid); - blood = registerFluidBlock(blood_fluid, new BlockBloodFluid(blood_fluid), "blood"); - - poison_fluid = PoisonFluid.instance; - FluidRegistry.addBucketForFluid(poison_fluid); - poison = registerFluidBlock(poison_fluid, new BlockPoisonFluid(poison_fluid), "poison"); - - hot_spring_water_fluid = HotSpringWaterFluid.instance; - FluidRegistry.addBucketForFluid(hot_spring_water_fluid); - hot_spring_water = registerFluidBlock(hot_spring_water_fluid, new BlockHotSpringWaterFluid(hot_spring_water_fluid), "hot_spring_water"); - } - - - public static Block registerFluidBlock(Fluid fluid, Block fluidBlock, String name) - { - fluidBlock.setRegistryName(new ResourceLocation(BiomesOPlenty.MOD_ID, name)); - ForgeRegistries.BLOCKS.register(fluidBlock); - BiomesOPlenty.proxy.registerFluidBlockRendering(fluidBlock, name); - fluid.setBlock(fluidBlock); - return fluidBlock; - } - - - // use a separate function for registering doors because the door block and item need to be registered together - public static Block registerDoor(BlockBOPDoor door_block, String name, Item door_item) - { - Block block = registerBlock( door_block, name + "_block", null, false ); - door_item = ModItems.registerItem( new ItemDoor(block), name ); - door_block.setDoorItem(door_item); - return block; - } - - - public static void registerBlockItemModel(Block block, String stateName, int stateMeta) - { - Item item = Item.getItemFromBlock(block); - BiomesOPlenty.proxy.registerItemVariantModel(item, stateName, stateMeta); - - BOPCommand.blockCount++; - } - - public static Block registerBlock(Block block, String blockName) - { - // by default, set the creative tab for all blocks added in BOP to CreativeTabBOP.instance - return registerBlock(block, blockName, CreativeTabBOP.instance); - } - - public static Block registerBlock(Block block, String blockName,CreativeTabs tab) - { - return registerBlock(block, blockName, tab, true); - } - - public static Block registerBlock(Block block, String blockName, @Nullable CreativeTabs tab, boolean registerItemModels) - { - Preconditions.checkNotNull(block, "Cannot register a null block"); - block.setUnlocalizedName(blockName); - if (tab != null) - { - block.setCreativeTab(tab); - } - - if (block instanceof IBOPBlock) - { - // if this block supports the IBOPBlock interface then we can determine the item block class, and sub-blocks automatically - IBOPBlock bopBlock = (IBOPBlock)block; - - registerBlockWithItem(block, blockName, bopBlock.getItemClass()); - BiomesOPlenty.proxy.registerBlockSided(block); - - // check for missing default states - IBlockState defaultState = block.getDefaultState(); - if (defaultState == null) - { - defaultState = block.getBlockState().getBaseState(); - BiomesOPlenty.logger.error("Missing default state for " + block.getUnlocalizedName()); - } - - // Some blocks such as doors and slabs register their items after the blocks (getItemClass returns null) - if (registerItemModels) - { - // get the preset blocks variants - ImmutableSet presets = BlockStateUtils.getBlockPresets(block); - if (presets.isEmpty()) - { - // block has no sub-blocks to register - registerBlockItemModel(block, blockName, 0); - } else - { - // register all the sub-blocks - for (IBlockState state : presets) - { - String stateName = bopBlock.getStateName(state); - int stateMeta = block.getMetaFromState(state); - registerBlockItemModel(block, stateName, stateMeta); - } - } - } - } - else - { - // for vanilla blocks, just register a single variant with meta=0 and assume ItemBlock for the item class - registerBlockWithItem(block, blockName, ItemBlock.class); - registerBlockItemModel(block, blockName, 0); - } - - return block; - } - - private static void registerBlockWithItem(Block block, String blockName, Class clazz) - { - try - { - Item itemBlock = clazz != null ? clazz.getConstructor(Block.class).newInstance(block) : null; - ResourceLocation location = new ResourceLocation(BiomesOPlenty.MOD_ID, blockName); - - block.setRegistryName(new ResourceLocation(BiomesOPlenty.MOD_ID, blockName)); - - ForgeRegistries.BLOCKS.register(block); - if (itemBlock != null) - { - itemBlock.setRegistryName(new ResourceLocation(BiomesOPlenty.MOD_ID, blockName)); - ForgeRegistries.ITEMS.register(itemBlock); - } - } - catch (Exception e) - { - throw new RuntimeException("An error occurred associating an item block during registration of " + blockName, e); - } - } - -} diff --git a/src/main/java/biomesoplenty/common/init/ModCompatibility.java b/src/main/java/biomesoplenty/common/init/ModCompatibility.java deleted file mode 100644 index f85bb8852..000000000 --- a/src/main/java/biomesoplenty/common/init/ModCompatibility.java +++ /dev/null @@ -1,113 +0,0 @@ -package biomesoplenty.common.init; - -import java.util.List; - -import com.google.common.base.Function; -import com.google.common.collect.Lists; - -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.common.integration.ThaumcraftCompat; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.world.biome.Biome; -import net.minecraftforge.common.BiomeManager; -import net.minecraftforge.common.BiomeManager.BiomeEntry; -import net.minecraftforge.common.BiomeManager.BiomeType; -import net.minecraftforge.fml.common.Loader; -import net.minecraftforge.fml.relauncher.ReflectionHelper; - -public class ModCompatibility -{ - public static void postInit() - { - if (Loader.isModLoaded("Thaumcraft")) - { - try - { - ThaumcraftCompat.init(); - } - catch (Exception e) - { - BiomesOPlenty.logger.error("There was an error while integrating Thaumcraft with Biomes O' Plenty", e); - } - } - - copyModBiomeWeights(); - } - - private static void copyModBiomeWeights() - { - try - { - // An array containing lists of default biome entries for only standard BiomeTypes - List[] vanillaBiomes = (List[])ReflectionHelper.findMethod(BiomeManager.class, "setupBiomes", "setupBiomes").invoke(null); - - for (BiomeType type : BiomeManager.BiomeType.values()) - { - // Creates a mutable version of the current biome type's biome array and wraps entries to support .equals() - List entries = Lists.transform(Lists.newArrayList(BiomeManager.getBiomes(type)), WRAP_BIOME_ENTRIES); - // Custom types may have been added, we only want the vanilla ones - final List vanillaEntries = type.ordinal() < vanillaBiomes.length ? Lists.transform(vanillaBiomes[type.ordinal()], WRAP_BIOME_ENTRIES) : Lists.newArrayList(); - - //Remove all default biomes from the entries list - entries.removeAll(vanillaEntries); - - for (WrappedBiomeEntry wrappedEntry : entries) - { - remapBiomeToBoP(wrappedEntry.biomeEntry.biome, type, wrappedEntry.biomeEntry.itemWeight); - } - } - } - catch (Exception e) - { - BiomesOPlenty.logger.error("An error has occurred whilst copying mod biomes"); - e.printStackTrace(); - return; - } - } - - //TODO: Make this more accurate, possibly analyze heights, temps, rainfall and/or biome dictionary tags - private static void remapBiomeToBoP(Biome biome, BiomeType type, int weight) - { - for (BOPClimates climate : BOPClimates.values()) - { - if (climate.biomeType == type) - { - climate.addBiome(weight, biome); - } - } - } - - public static final Function WRAP_BIOME_ENTRIES = new Function() - { - @Override - public WrappedBiomeEntry apply(BiomeEntry input) - { - return new WrappedBiomeEntry(input); - } - }; - - /** - * Provides working equals functionality for BiomeEntries - * */ - private static class WrappedBiomeEntry - { - private BiomeEntry biomeEntry; - - private WrappedBiomeEntry(BiomeEntry biomeEntry) - { - this.biomeEntry = biomeEntry; - } - - @Override - public boolean equals(Object input) - { - if (input == null) return false; - if (input == this) return true; - if (!(input instanceof WrappedBiomeEntry)) return false; - - WrappedBiomeEntry other = (WrappedBiomeEntry)input; - - return other.biomeEntry.itemWeight == this.biomeEntry.itemWeight && other.biomeEntry.biome == this.biomeEntry.biome; - } - } -} diff --git a/src/main/java/biomesoplenty/common/init/ModConfiguration.java b/src/main/java/biomesoplenty/common/init/ModConfiguration.java deleted file mode 100644 index ff88827af..000000000 --- a/src/main/java/biomesoplenty/common/init/ModConfiguration.java +++ /dev/null @@ -1,26 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import java.io.File; - -import biomesoplenty.common.config.GameplayConfigurationHandler; -import biomesoplenty.common.config.MiscConfigurationHandler; -import net.minecraftforge.common.MinecraftForge; - -public class ModConfiguration -{ - public static void init(File configDirectory) - { - GameplayConfigurationHandler.init(new File(configDirectory, "gameplay.cfg")); - MinecraftForge.EVENT_BUS.register(new GameplayConfigurationHandler()); - MiscConfigurationHandler.init(new File(configDirectory, "misc.cfg")); - MinecraftForge.EVENT_BUS.register(new MiscConfigurationHandler()); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/init/ModCrafting.java b/src/main/java/biomesoplenty/common/init/ModCrafting.java deleted file mode 100644 index 8d5493f57..000000000 --- a/src/main/java/biomesoplenty/common/init/ModCrafting.java +++ /dev/null @@ -1,196 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import static biomesoplenty.common.util.inventory.CraftingUtil.*; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.enums.*; -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.block.*; -import biomesoplenty.common.crafting.BiomeEssenceRecipe; -import biomesoplenty.common.handler.FurnaceFuelHandler; -import biomesoplenty.common.item.ItemJarFilled; -import biomesoplenty.core.BiomesOPlenty; -import com.google.common.base.CaseFormat; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.EnumDyeColor; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.IRecipe; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.common.registry.ForgeRegistries; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; - -public class ModCrafting -{ - - public static void init() - { - addOreRegistration(); - addCraftingRecipes(); - addSmeltingRecipes(); - } - - private static void addCraftingRecipes() - { - registerCustomRecipe(new BiomeEssenceRecipe(), "biome_essence"); - } - - private static void addSmeltingRecipes() - { - - // Register smelting recipes - GameRegistry.addSmelting(new ItemStack(BOPBlocks.mud), new ItemStack(Blocks.DIRT), 0.1F); - GameRegistry.addSmelting(new ItemStack(BOPBlocks.white_sand), new ItemStack(Blocks.GLASS), 0.1F); - GameRegistry.addSmelting(BlockBOPPlant.paging.getVariantItem(BOPPlants.TINYCACTUS), new ItemStack(Items.DYE, 1, EnumDyeColor.GREEN.getDyeDamage()), 0.2F); - GameRegistry.addSmelting(BOPItems.mudball, new ItemStack(BOPItems.mud_brick), 0.1F); - for (BOPWoods wood : BOPWoods.values()) - { - if (wood.canMakeCharcoal()) - { - GameRegistry.addSmelting(BlockBOPLog.paging.getVariantItem(wood), new ItemStack(Items.COAL, 1, 1), 0.15F); - } - } - - for (BOPGems gem : BOPGems.values()) - { - GameRegistry.addSmelting(new ItemStack(BOPBlocks.gem_ore, 1, gem.ordinal()), new ItemStack(BOPItems.gem, 1, gem.ordinal()), 1.0F); - } - - // Register items which can be used as fuel - FurnaceFuelHandler bopFuel = new FurnaceFuelHandler(); - GameRegistry.registerFuelHandler(bopFuel); - - bopFuel.addFuel(BOPBlocks.sapling_0, 100); - bopFuel.addFuel(BOPBlocks.sapling_1, 100); - bopFuel.addFuel(BOPBlocks.sapling_2, 100); - bopFuel.addFuel(BOPBlocks.wood_slab_0, 150); - bopFuel.addFuel(BOPBlocks.wood_slab_1, 150); - // Note, we don't have to add all the other wood blocks - by default any block with Material = wood burns with value of 300 - // See TileEntityFurnace.getItemBurnTime() - - bopFuel.addFuel(BOPItems.boat_sacred_oak, 400); - bopFuel.addFuel(BOPItems.boat_cherry, 400); - bopFuel.addFuel(BOPItems.boat_umbran, 400); - bopFuel.addFuel(BOPItems.boat_fir, 400); - bopFuel.addFuel(BOPItems.boat_ethereal, 400); - bopFuel.addFuel(BOPItems.boat_magic, 400); - bopFuel.addFuel(BOPItems.boat_mangrove, 400); - bopFuel.addFuel(BOPItems.boat_palm, 400); - bopFuel.addFuel(BOPItems.boat_redwood, 400); - bopFuel.addFuel(BOPItems.boat_willow, 400); - bopFuel.addFuel(BOPItems.boat_pine, 400); - bopFuel.addFuel(BOPItems.boat_hellbark, 400); - bopFuel.addFuel(BOPItems.boat_jacaranda, 400); - bopFuel.addFuel(BOPItems.boat_mahogany, 400); - bopFuel.addFuel(BOPItems.boat_ebony, 400); - bopFuel.addFuel(BOPItems.boat_eucalyptus, 400); - - bopFuel.addFuel(BOPItems.ash, 400); // TODO: really? 400? Ash is already burnt but burns better than wooden planks? - - } - - - private static void addOreRegistration() - { - //Registration in Ore Dictionary - - OreDictionary.registerOre("stickWood", new ItemStack(BOPBlocks.bamboo)); - OreDictionary.registerOre("stickWood", BlockBOPPlant.paging.getVariantItem(BOPPlants.RIVERCANE)); - - OreDictionary.registerOre("ballMud", new ItemStack(BOPItems.mudball)); - - OreDictionary.registerOre("blockMeatRaw", new ItemStack(BOPBlocks.flesh, 1, 0)); - - OreDictionary.registerOre("grass", BOPBlocks.grass); - OreDictionary.registerOre("dirt", BOPBlocks.dirt); - - OreDictionary.registerOre("blockMud", new ItemStack(BOPBlocks.mud)); - - OreDictionary.registerOre("sand", new ItemStack(BOPBlocks.white_sand)); - OreDictionary.registerOre("sandstone", new ItemStack(BOPBlocks.white_sandstone)); - - OreDictionary.registerOre("foodMushroompowder", new ItemStack(BOPItems.shroompowder)); - OreDictionary.registerOre("foodFilledhoneycomb", new ItemStack(BOPItems.filled_honeycomb)); - OreDictionary.registerOre("foodBowlofrice", new ItemStack(BOPItems.ricebowl)); - - OreDictionary.registerOre("cropPeach", new ItemStack(BOPItems.peach)); - OreDictionary.registerOre("cropPersimmon", new ItemStack(BOPItems.persimmon)); - OreDictionary.registerOre("cropPear", new ItemStack(BOPItems.pear)); - - OreDictionary.registerOre("listAllfruit", new ItemStack(BOPItems.peach)); - OreDictionary.registerOre("listAllfruit", new ItemStack(BOPItems.persimmon)); - OreDictionary.registerOre("listAllfruit", new ItemStack(BOPItems.pear)); - - OreDictionary.registerOre("dyeBlue", new ItemStack(BOPItems.blue_dye)); - OreDictionary.registerOre("dyeBrown", new ItemStack(BOPItems.brown_dye)); - OreDictionary.registerOre("dyeGreen", new ItemStack(BOPItems.green_dye)); - OreDictionary.registerOre("dyeWhite", new ItemStack(BOPItems.white_dye)); - OreDictionary.registerOre("dyeBlack", new ItemStack(BOPItems.black_dye)); - - OreDictionary.registerOre("record", new ItemStack(BOPItems.record_wanderer)); - - for (BOPGems gem : BOPGems.values()) - { - String gemName = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, gem.name()); - OreDictionary.registerOre("gem"+gemName, new ItemStack(BOPItems.gem, 1, gem.ordinal())); - OreDictionary.registerOre("ore"+gemName, new ItemStack(BOPBlocks.gem_ore , 1, gem.ordinal())); - } - - for (BOPFlowers flower : BOPFlowers.values()) - { - String flowerName = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, flower.name()); - OreDictionary.registerOre("flower"+flowerName, BlockBOPFlower.paging.getVariantItem(flower)); - } - - for (BOPPlants plant : BOPPlants.values()) - { - String plantName = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, plant.name()); - OreDictionary.registerOre("plant"+plantName, BlockBOPPlant.paging.getVariantItem(plant)); - } - OreDictionary.registerOre("plantFlax", ((BlockBOPDoublePlant)BOPBlocks.double_plant).getVariantItem(BlockBOPDoublePlant.DoublePlantType.FLAX)); - OreDictionary.registerOre("plantCattail", ((BlockBOPDoublePlant)BOPBlocks.double_plant).getVariantItem(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL)); - - for (BOPTrees tree : BOPTrees.values()) - { - OreDictionary.registerOre("treeLeaves", BlockBOPLeaves.paging.getVariantItem(tree)); - if (tree.hasSapling()) - { - OreDictionary.registerOre("treeSapling", BlockBOPSapling.paging.getVariantItem(tree)); - } - } - // TODO: implement fruit trees - // OreDictionary.registerOre("treeLeaves", new ItemStack(BOPCBlocks.appleLeaves, 1, OreDictionary.WILDCARD_VALUE)); - // OreDictionary.registerOre("treeLeaves", new ItemStack(BOPCBlocks.persimmonLeaves, 1, OreDictionary.WILDCARD_VALUE)); - - for (BOPWoods wood : BOPWoods.values()) - { - OreDictionary.registerOre("logWood", BlockBOPLog.paging.getVariantItem(wood)); - if (wood.hasPlanks()) - { - OreDictionary.registerOre("plankWood", BlockBOPPlanks.paging.getVariantItem(wood)); - OreDictionary.registerOre("slabWood", BlockBOPHalfWoodSlab.paging.getVariantItem(wood)); - OreDictionary.registerOre("stairWood", new ItemStack(BlockBOPWoodStairs.getBlock(wood))); - OreDictionary.registerOre("fenceWood", new ItemStack(BlockBOPFence.getBlock(wood))); - OreDictionary.registerOre("fenceGateWood", new ItemStack(BlockBOPFenceGate.getBlock(wood))); - } - } - - } - - private static void registerCustomRecipe(IRecipe recipe, String name) - { - recipe.setRegistryName(new ResourceLocation(BiomesOPlenty.MOD_ID, name)); - ForgeRegistries.RECIPES.register(recipe); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/init/ModEntities.java b/src/main/java/biomesoplenty/common/init/ModEntities.java deleted file mode 100644 index dd2f6e446..000000000 --- a/src/main/java/biomesoplenty/common/init/ModEntities.java +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import biomesoplenty.common.command.BOPCommand; -import biomesoplenty.common.entities.EntityWasp; -import biomesoplenty.common.entities.item.EntityBOPBoat; -import biomesoplenty.common.entities.projectiles.EntityMudball; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.ModContainer; -import net.minecraftforge.fml.common.registry.EntityRegistry; -import net.minecraftforge.fml.common.registry.EntityRegistry.EntityRegistration; - -public class ModEntities -{ - private static int nextBOPEntityId = 1; - - public static void init() - { - // projectiles - registerBOPEntity(EntityMudball.class, "mudball", 64, 10, true); - - // item entities - registerBOPEntity(EntityBOPBoat.class, "bop_boat", 80, 3, true); - - // mobs - registerBOPEntityWithSpawnEgg(EntityWasp.class, "wasp", 80, 3, true, 0xE5B013, 0x333234); - } - - // register an entity - public static int registerBOPEntity(Class entityClass, String entityName, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates) - { - int bopEntityId = nextBOPEntityId; - nextBOPEntityId++; - EntityRegistry.registerModEntity(new ResourceLocation(BiomesOPlenty.MOD_ID, entityName), entityClass, entityName, bopEntityId, BiomesOPlenty.instance, trackingRange, updateFrequency, sendsVelocityUpdates); - BOPCommand.entityCount++; - return bopEntityId; - } - - // register an entity and in addition create a spawn egg for it - public static int registerBOPEntityWithSpawnEgg(Class entityClass, String entityName, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates, int eggBackgroundColor, int eggForegroundColor) - { - int bopEntityId = registerBOPEntity(entityClass, entityName, trackingRange, updateFrequency, sendsVelocityUpdates); - EntityRegistry.registerEgg(new ResourceLocation(BiomesOPlenty.MOD_ID, entityName), eggBackgroundColor, eggForegroundColor); - return bopEntityId; - } - - - public static Entity createEntityByID(int bopEntityId, World worldIn) - { - Entity entity = null; - ModContainer mc = FMLCommonHandler.instance().findContainerFor(BiomesOPlenty.instance); - EntityRegistration er = EntityRegistry.instance().lookupModSpawn(mc, bopEntityId); - if (er != null) - { - Class clazz = er.getEntityClass(); - try - { - if (clazz != null) - { - entity = clazz.getConstructor(new Class[] {World.class}).newInstance(new Object[] {worldIn}); - } - } - catch (Exception exception) - { - exception.printStackTrace(); - } - } - if (entity == null) - { - BiomesOPlenty.logger.warn("Skipping BOP Entity with id " + bopEntityId); - } - return entity; - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/init/ModGenerators.java b/src/main/java/biomesoplenty/common/init/ModGenerators.java deleted file mode 100644 index 637f73a1c..000000000 --- a/src/main/java/biomesoplenty/common/init/ModGenerators.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import static biomesoplenty.common.world.GeneratorRegistry.registerGenerator; - -import biomesoplenty.common.world.generator.*; -import biomesoplenty.common.world.generator.tree.GeneratorBasicTree; -import biomesoplenty.common.world.generator.tree.GeneratorBayouTree; -import biomesoplenty.common.world.generator.tree.GeneratorBigTree; -import biomesoplenty.common.world.generator.tree.GeneratorBulbTree; -import biomesoplenty.common.world.generator.tree.GeneratorBush; -import biomesoplenty.common.world.generator.tree.GeneratorMahoganyTree; -import biomesoplenty.common.world.generator.tree.GeneratorMangroveTree; -import biomesoplenty.common.world.generator.tree.GeneratorMegaJungleTree; -import biomesoplenty.common.world.generator.tree.GeneratorPalmTree; -import biomesoplenty.common.world.generator.tree.GeneratorPineTree; -import biomesoplenty.common.world.generator.tree.GeneratorProfileTree; -import biomesoplenty.common.world.generator.tree.GeneratorRedwoodTree; -import biomesoplenty.common.world.generator.tree.GeneratorRedwoodTreeThin; -import biomesoplenty.common.world.generator.tree.GeneratorTaigaTree; -import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree; - -public class ModGenerators -{ - public static void init() - { - registerGenerator("ore_single", GeneratorOreSingle.class, new GeneratorOreSingle.Builder()); - registerGenerator("ore_cluster", GeneratorOreCluster.class, new GeneratorOreCluster.Builder()); - registerGenerator("weighted", GeneratorWeighted.class, new GeneratorWeighted.Builder()); - registerGenerator("basic_tree", GeneratorBasicTree.class, new GeneratorBasicTree.Builder()); - registerGenerator("big_tree", GeneratorBigTree.class, new GeneratorBigTree.Builder()); - registerGenerator("bush", GeneratorBush.class, new GeneratorBush.Builder()); - registerGenerator("twiglet_tree", GeneratorTwigletTree.class, new GeneratorTwigletTree.Builder()); - registerGenerator("pine_tree", GeneratorPineTree.class, new GeneratorPineTree.Builder()); - registerGenerator("bulb_tree", GeneratorBulbTree.class, new GeneratorBulbTree.Builder()); - registerGenerator("mega_jungle_tree", GeneratorMegaJungleTree.class, new GeneratorMegaJungleTree.Builder()); - registerGenerator("bayou_tree", GeneratorBayouTree.class, new GeneratorBayouTree.Builder()); - registerGenerator("mangrove_tree", GeneratorMangroveTree.class, new GeneratorMangroveTree.Builder()); - registerGenerator("taiga_tree", GeneratorTaigaTree.class, new GeneratorTaigaTree.Builder()); - registerGenerator("profile_tree", GeneratorProfileTree.class, new GeneratorProfileTree.Builder()); - registerGenerator("flora", GeneratorFlora.class, new GeneratorFlora.Builder()); - registerGenerator("double_flora", GeneratorDoubleFlora.class, new GeneratorDoubleFlora.Builder()); - registerGenerator("grass", GeneratorGrass.class, new GeneratorGrass.Builder()); - registerGenerator("logs", GeneratorLogs.class, new GeneratorLogs.Builder()); - registerGenerator("big_mushrooms", GeneratorBigMushroom.class, new GeneratorBigMushroom.Builder()); - registerGenerator("big_flowers", GeneratorBigFlower.class, new GeneratorBigFlower.Builder()); - registerGenerator("waterside", GeneratorWaterside.class, new GeneratorWaterside.Builder()); - registerGenerator("splatter", GeneratorSplatter.class, new GeneratorSplatter.Builder()); - registerGenerator("splotches", GeneratorSplotches.class, new GeneratorSplotches.Builder()); - registerGenerator("blobs", GeneratorBlobs.class, new GeneratorBlobs.Builder()); - registerGenerator("lakes", GeneratorLakes.class, new GeneratorLakes.Builder()); - registerGenerator("columns", GeneratorColumns.class, new GeneratorColumns.Builder()); - registerGenerator("bramble", GeneratorBramble.class, new GeneratorBramble.Builder()); - registerGenerator("vines", GeneratorVines.class, new GeneratorVines.Builder()); - registerGenerator("mixed_lily", GeneratorMixedLily.class, new GeneratorMixedLily.Builder()); - registerGenerator("crystals", GeneratorCrystals.class, new GeneratorCrystals.Builder()); - registerGenerator("spike", GeneratorSpike.class, new GeneratorSpike.Builder()); - registerGenerator("hive", GeneratorHive.class, new GeneratorHive.Builder()); - registerGenerator("redwood_tree", GeneratorRedwoodTree.class, new GeneratorRedwoodTree.Builder()); - registerGenerator("redwood_tree_thin", GeneratorRedwoodTreeThin.class, new GeneratorRedwoodTreeThin.Builder()); - registerGenerator("mahogany_tree", GeneratorMahoganyTree.class, new GeneratorMahoganyTree.Builder()); - registerGenerator("palm_tree", GeneratorPalmTree.class, new GeneratorPalmTree.Builder()); - } -} diff --git a/src/main/java/biomesoplenty/common/init/ModHandlers.java b/src/main/java/biomesoplenty/common/init/ModHandlers.java deleted file mode 100644 index 1bc2ff18c..000000000 --- a/src/main/java/biomesoplenty/common/init/ModHandlers.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import biomesoplenty.common.handler.BucketEventHandler; -import biomesoplenty.common.handler.DyeEventHandler; -import biomesoplenty.common.handler.FogEventHandler; -import biomesoplenty.common.handler.GrassPathEventHandler; -import biomesoplenty.common.handler.GuiEventHandler; -import biomesoplenty.common.handler.LeavesModelEventHandler; -import biomesoplenty.common.handler.LootTableEventHandler; -import biomesoplenty.common.handler.PotionCurseHandler; -import biomesoplenty.common.handler.SheepEventHandler; -import biomesoplenty.common.handler.SilkTouchEventHandler; -import biomesoplenty.common.handler.TrailsEventHandler; -import biomesoplenty.common.handler.UseHoeEventHandler; -import biomesoplenty.common.handler.VillageMaterialEventHandler; -import biomesoplenty.common.handler.decoration.DecorateBiomeEventHandler; -import biomesoplenty.common.network.BOPPacketHandler; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class ModHandlers -{ - public static void init() - { - BOPPacketHandler.init(); - - DecorateBiomeEventHandler decorateBiomeHandler = new DecorateBiomeEventHandler(); - MinecraftForge.EVENT_BUS.register(decorateBiomeHandler); - MinecraftForge.TERRAIN_GEN_BUS.register(decorateBiomeHandler); - MinecraftForge.TERRAIN_GEN_BUS.register(new VillageMaterialEventHandler()); - MinecraftForge.ORE_GEN_BUS.register(decorateBiomeHandler); - MinecraftForge.EVENT_BUS.register(new DyeEventHandler()); - MinecraftForge.EVENT_BUS.register(new BucketEventHandler()); - MinecraftForge.EVENT_BUS.register(new PotionCurseHandler()); - MinecraftForge.EVENT_BUS.register(new UseHoeEventHandler()); - MinecraftForge.EVENT_BUS.register(new GrassPathEventHandler()); - MinecraftForge.EVENT_BUS.register(new SheepEventHandler()); - MinecraftForge.EVENT_BUS.register(new SilkTouchEventHandler()); - MinecraftForge.EVENT_BUS.register(new LootTableEventHandler()); - - if (FMLCommonHandler.instance().getSide() == Side.CLIENT) - { - registerClientEvents(); - } - } - - @SideOnly(Side.CLIENT) - private static void registerClientEvents() - { - MinecraftForge.EVENT_BUS.register(new GuiEventHandler()); - MinecraftForge.EVENT_BUS.register(new TrailsEventHandler()); - MinecraftForge.EVENT_BUS.register(new LeavesModelEventHandler()); - MinecraftForge.EVENT_BUS.register(new FogEventHandler()); - } -} diff --git a/src/main/java/biomesoplenty/common/init/ModItems.java b/src/main/java/biomesoplenty/common/init/ModItems.java deleted file mode 100644 index fe54fc277..000000000 --- a/src/main/java/biomesoplenty/common/init/ModItems.java +++ /dev/null @@ -1,171 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import static biomesoplenty.api.item.BOPItems.ash; -import static biomesoplenty.api.item.BOPItems.berries; -import static biomesoplenty.api.item.BOPItems.biome_essence; -import static biomesoplenty.api.item.BOPItems.biome_finder; -import static biomesoplenty.api.item.BOPItems.black_dye; -import static biomesoplenty.api.item.BOPItems.blue_dye; -import static biomesoplenty.api.item.BOPItems.boat_cherry; -import static biomesoplenty.api.item.BOPItems.boat_ebony; -import static biomesoplenty.api.item.BOPItems.boat_ethereal; -import static biomesoplenty.api.item.BOPItems.boat_eucalyptus; -import static biomesoplenty.api.item.BOPItems.boat_fir; -import static biomesoplenty.api.item.BOPItems.boat_hellbark; -import static biomesoplenty.api.item.BOPItems.boat_jacaranda; -import static biomesoplenty.api.item.BOPItems.boat_magic; -import static biomesoplenty.api.item.BOPItems.boat_mahogany; -import static biomesoplenty.api.item.BOPItems.boat_mangrove; -import static biomesoplenty.api.item.BOPItems.boat_palm; -import static biomesoplenty.api.item.BOPItems.boat_pine; -import static biomesoplenty.api.item.BOPItems.boat_redwood; -import static biomesoplenty.api.item.BOPItems.boat_sacred_oak; -import static biomesoplenty.api.item.BOPItems.boat_umbran; -import static biomesoplenty.api.item.BOPItems.boat_willow; -import static biomesoplenty.api.item.BOPItems.brown_dye; -import static biomesoplenty.api.item.BOPItems.crystal_shard; -import static biomesoplenty.api.item.BOPItems.earth; -import static biomesoplenty.api.item.BOPItems.filled_honeycomb; -import static biomesoplenty.api.item.BOPItems.fleshchunk; -import static biomesoplenty.api.item.BOPItems.gem; -import static biomesoplenty.api.item.BOPItems.green_dye; -import static biomesoplenty.api.item.BOPItems.honeycomb; -import static biomesoplenty.api.item.BOPItems.jar_empty; -import static biomesoplenty.api.item.BOPItems.jar_filled; -import static biomesoplenty.api.item.BOPItems.mud_brick; -import static biomesoplenty.api.item.BOPItems.mudball; -import static biomesoplenty.api.item.BOPItems.peach; -import static biomesoplenty.api.item.BOPItems.pear; -import static biomesoplenty.api.item.BOPItems.persimmon; -import static biomesoplenty.api.item.BOPItems.record_wanderer; -import static biomesoplenty.api.item.BOPItems.ricebowl; -import static biomesoplenty.api.item.BOPItems.shroompowder; -import static biomesoplenty.api.item.BOPItems.terrestrial_artifact; -import static biomesoplenty.api.item.BOPItems.white_dye; - -import biomesoplenty.api.sound.BOPSounds; -import biomesoplenty.common.command.BOPCommand; -import biomesoplenty.common.entities.item.EntityBOPBoat; -import biomesoplenty.common.item.ItemBOPBoat; -import biomesoplenty.common.item.ItemBOPFood; -import biomesoplenty.common.item.ItemBOPRecord; -import biomesoplenty.common.item.ItemBiomeEssence; -import biomesoplenty.common.item.ItemBiomeFinder; -import biomesoplenty.common.item.ItemGem; -import biomesoplenty.common.item.ItemJarEmpty; -import biomesoplenty.common.item.ItemJarFilled; -import biomesoplenty.common.item.ItemMudball; -import biomesoplenty.common.util.inventory.CreativeTabBOP; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.MobEffects; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemSoup; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.common.registry.ForgeRegistries; - -import javax.annotation.Nullable; - -public class ModItems -{ - public static void init() - { - registerItems(); - } - - public static void registerItems() - { - jar_filled = registerItem(new ItemJarFilled(), "jar_filled"); - jar_empty = registerItem(new ItemJarEmpty(), "jar_empty"); - - boat_sacred_oak = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.SACRED_OAK), "boat_sacred_oak"); - boat_cherry = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.CHERRY), "boat_cherry"); - boat_umbran = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.UMBRAN), "boat_umbran"); - boat_fir = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.FIR), "boat_fir"); - boat_ethereal = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.ETHEREAL), "boat_ethereal"); - boat_magic = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.MAGIC), "boat_magic"); - boat_mangrove = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.MANGROVE), "boat_mangrove"); - boat_palm = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.PALM), "boat_palm"); - boat_redwood = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.REDWOOD), "boat_redwood"); - boat_willow = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.WILLOW), "boat_willow"); - boat_pine = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.PINE), "boat_pine"); - boat_hellbark = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.HELLBARK), "boat_hellbark"); - boat_jacaranda = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.JACARANDA), "boat_jacaranda"); - boat_mahogany = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.MAHOGANY), "boat_mahogany"); - boat_ebony = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.EBONY), "boat_ebony"); - boat_eucalyptus = registerItem(new ItemBOPBoat(EntityBOPBoat.Type.EUCALYPTUS), "boat_eucalyptus"); - - biome_finder = registerItem(new ItemBiomeFinder(), "biome_finder"); - - record_wanderer = registerItem(new ItemBOPRecord("wanderer", BOPSounds.records_wanderer), "record_wanderer"); - - mudball = registerItem(new ItemMudball(), "mudball"); - mud_brick = registerItem(new Item(), "mud_brick"); - ash = registerItem(new Item(), "ash"); - fleshchunk = registerItem(new Item(), "fleshchunk"); - - gem = registerItem(new ItemGem(), "gem"); - - terrestrial_artifact = registerItem(new Item(), "terrestrial_artifact"); - terrestrial_artifact.setMaxStackSize(1); - - crystal_shard = registerItem(new Item(), "crystal_shard"); - - biome_essence = registerItem(new ItemBiomeEssence(), "biome_essence"); - - // food - berries = registerItem(new ItemBOPFood(1, 0.1F, 8), "berries"); - pear = registerItem(new ItemFood(5, 0.3F, false), "pear"); - peach = registerItem(new ItemFood(5, 0.2F, false), "peach"); - persimmon = registerItem(new ItemFood(5, 0.2F, false), "persimmon"); - - honeycomb = registerItem(new Item(), "honeycomb"); - filled_honeycomb = registerItem(new ItemBOPFood(3, 0.4F, 16), "filled_honeycomb"); - - shroompowder = registerItem(new ItemFood(1, 0.1F, false), "shroompowder"); - ((ItemFood)shroompowder).setAlwaysEdible(); - ((ItemFood)shroompowder).setPotionEffect(new PotionEffect(MobEffects.NAUSEA, 225, 0), 1.0F); - - ricebowl = registerItem(new ItemSoup(2), "ricebowl"); - - // TODO: move dyes to their own class? - blue_dye = registerItem(new Item(), "blue_dye"); - brown_dye = registerItem(new Item(), "brown_dye"); - green_dye = registerItem(new Item(), "green_dye"); - white_dye = registerItem(new Item(), "white_dye"); - black_dye = registerItem(new Item(), "black_dye"); - - earth = registerItem(new Item(), "earth", null); - } - - public static Item registerItem(Item item, String name) - { - return registerItem(item, name, CreativeTabBOP.instance); - } - - public static Item registerItem(Item item, String name, @Nullable CreativeTabs tab) - { - item.setUnlocalizedName(name); - if (tab != null) - { - item.setCreativeTab(CreativeTabBOP.instance); - } - - item.setRegistryName(new ResourceLocation(BiomesOPlenty.MOD_ID, name)); - ForgeRegistries.ITEMS.register(item); - BOPCommand.itemCount++; - BiomesOPlenty.proxy.registerItemSided(item); - - return item; - } -} diff --git a/src/main/java/biomesoplenty/common/init/ModPotions.java b/src/main/java/biomesoplenty/common/init/ModPotions.java deleted file mode 100644 index ffebe8606..000000000 --- a/src/main/java/biomesoplenty/common/init/ModPotions.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.init; - -import static biomesoplenty.api.potion.BOPPotions.curse; - -import biomesoplenty.common.potion.PotionCurse; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.potion.Potion; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.common.registry.ForgeRegistries; - -public class ModPotions -{ - public static void init() - { - curse = registerPotion("curse", new PotionCurse().setPotionName("potion.curse")); - } - - public static Potion registerPotion(String name, Potion potion) - { - ResourceLocation location = new ResourceLocation(BiomesOPlenty.MOD_ID, name); - potion.setRegistryName(location); - ForgeRegistries.POTIONS.register(potion); - return potion; - } -} diff --git a/src/main/java/biomesoplenty/common/init/ModSounds.java b/src/main/java/biomesoplenty/common/init/ModSounds.java deleted file mode 100644 index e50ad3a99..000000000 --- a/src/main/java/biomesoplenty/common/init/ModSounds.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.init; - -import static biomesoplenty.api.sound.BOPSounds.records_wanderer; -import static biomesoplenty.api.sound.BOPSounds.wasp_ambient; -import static biomesoplenty.api.sound.BOPSounds.wasp_hurt; - -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.SoundEvent; -import net.minecraftforge.fml.common.registry.ForgeRegistries; - -public class ModSounds -{ - public static void init() - { - wasp_ambient = registerSound("entity.biomesoplenty.wasp.ambient"); - wasp_hurt = registerSound("entity.biomesoplenty.wasp.hurt"); - records_wanderer = registerSound("records.wanderer"); - } - - private static SoundEvent registerSound(String soundName) - { - ResourceLocation location = new ResourceLocation(BiomesOPlenty.MOD_ID, soundName); - SoundEvent event = new SoundEvent(location); - event.setRegistryName(location); - ForgeRegistries.SOUND_EVENTS.register(event); - return event; - } -} diff --git a/src/main/java/biomesoplenty/common/init/ModVanillaCompat.java b/src/main/java/biomesoplenty/common/init/ModVanillaCompat.java deleted file mode 100644 index 4d1c9c79d..000000000 --- a/src/main/java/biomesoplenty/common/init/ModVanillaCompat.java +++ /dev/null @@ -1,53 +0,0 @@ -package biomesoplenty.common.init; - -import java.util.List; - -import com.google.common.collect.Lists; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.common.entities.item.EntityBOPBoat; -import biomesoplenty.common.entities.projectiles.dispenser.DispenserBehaviorBOPBoat; -import biomesoplenty.common.entities.projectiles.dispenser.DispenserBehaviorMudball; -import biomesoplenty.common.util.biome.BiomeUtils; -import biomesoplenty.common.world.BOPMapGenScatteredFeature; -import net.minecraft.block.BlockDispenser; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.structure.MapGenStructureIO; -import net.minecraft.world.gen.structure.WoodlandMansion; - -public class ModVanillaCompat -{ - public static void init() - { - registerDispenserBehaviors(); - - MapGenStructureIO.registerStructure(BOPMapGenScatteredFeature.Start.class, "BOPTemple"); - List mansionBiomes = BiomeUtils.filterPresentBiomes(BOPBiomes.coniferous_forest, BOPBiomes.dead_forest, BOPBiomes.ominous_woods, BOPBiomes.snowy_coniferous_forest, BOPBiomes.woodland); - mansionBiomes.addAll(Lists.newArrayList(Biomes.ROOFED_FOREST, Biomes.MUTATED_ROOFED_FOREST)); - WoodlandMansion.ALLOWED_BIOMES = mansionBiomes; - } - - private static void registerDispenserBehaviors() - { - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.mudball, new DispenserBehaviorMudball()); - - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_sacred_oak, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.SACRED_OAK)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_cherry, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.CHERRY)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_umbran, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.UMBRAN)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_fir, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.FIR)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_ethereal, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.ETHEREAL)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_magic, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.MAGIC)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_mangrove, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.MANGROVE)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_palm, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.PALM)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_redwood, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.REDWOOD)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_willow, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.WILLOW)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_pine, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.PINE)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_hellbark, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.HELLBARK)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_jacaranda, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.JACARANDA)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_mahogany, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.MAHOGANY)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_ebony, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.EBONY)); - BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(BOPItems.boat_eucalyptus, new DispenserBehaviorBOPBoat(EntityBOPBoat.Type.EUCALYPTUS)); - } -} diff --git a/src/main/java/biomesoplenty/common/integration/ThaumcraftCompat.java b/src/main/java/biomesoplenty/common/integration/ThaumcraftCompat.java deleted file mode 100644 index ff73c8aeb..000000000 --- a/src/main/java/biomesoplenty/common/integration/ThaumcraftCompat.java +++ /dev/null @@ -1,180 +0,0 @@ -package biomesoplenty.common.integration; - -//TODO: Re-add this -public class ThaumcraftCompat -{ - public static void init() - { - //addThaumcraftAspects(); - //addThaumcraftGolemsSupport(); - } - - /*private static void addThaumcraftAspects() - { - //Thaumcraft sets most aspects automatically, just special cases are there - - //Logs - - addAspectsToState(BlockBOPLog.paging.getVariantState(BOPWoods.UMBRAN), new Aspect[] { Aspect.PLANT, Aspect.DARKNESS }, new int[] { 4, 2 }); - addAspectsToState(BlockBOPLog.paging.getVariantState(BOPWoods.ETHEREAL), new Aspect[] { Aspect.PLANT, Aspect.LIGHT }, new int[] { 4, 2 }); - addAspectsToState(BlockBOPLog.paging.getVariantState(BOPWoods.HELLBARK), new Aspect[] { Aspect.PLANT, Aspect.FIRE }, new int[] { 4, 2 }); - addAspectsToState(BlockBOPLog.paging.getVariantState(BOPWoods.DEAD), new Aspect[] { Aspect.PLANT, Aspect.DEATH }, new int[] { 4, 2 }); - addAspectsToState(BlockBOPLog.paging.getVariantState(BOPWoods.SACRED_OAK), new Aspect[] { Aspect.PLANT, Aspect.LIGHT }, new int[] { 4, 2 }); - - //Planks - - addAspectsToState(BlockBOPPlanks.paging.getVariantState(BOPWoods.SACRED_OAK), new Aspect[] { Aspect.PLANT, Aspect.LIGHT }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPPlanks.paging.getVariantState(BOPWoods.MAGIC), new Aspect[] { Aspect.PLANT }, new int[] { 1 }); - addAspectsToState(BlockBOPPlanks.paging.getVariantState(BOPWoods.UMBRAN), new Aspect[] { Aspect.PLANT, Aspect.DARKNESS }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPPlanks.paging.getVariantState(BOPWoods.ETHEREAL), new Aspect[] { Aspect.PLANT, Aspect.LIGHT }, new int[] { 1, 1 }); - addAspectsToBlock(BOPBlocks.bamboo_thatching, new Aspect[] { Aspect.WATER, Aspect.PLANT }, new int[] { 4, 4 }); - addAspectsToState(BlockBOPPlanks.paging.getVariantState(BOPWoods.HELLBARK), new Aspect[] { Aspect.PLANT, Aspect.FIRE }, new int[] { 1, 1 }); - - //Leaves - - //TODO: addAspectsToBlock(BOPCBlocks.appleLeaves, new Aspect[] { Aspect.PLANT, Aspect.LIFE }, new int[] { 1, 1 }); - //TODO: addAspectsToBlock(BOPCBlocks.persimmonLeaves, new Aspect[] { Aspect.PLANT, Aspect.LIFE }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPLeaves.paging.getVariantState(BOPTrees.DEAD), new Aspect[] { Aspect.PLANT, Aspect.DEATH }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPLeaves.paging.getVariantState(BOPTrees.UMBRAN), new Aspect[] { Aspect.PLANT, Aspect.DARKNESS }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPLeaves.paging.getVariantState(BOPTrees.ETHEREAL), new Aspect[] { Aspect.PLANT, Aspect.LIGHT }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPLeaves.paging.getVariantState(BOPTrees.SACRED_OAK), new Aspect[] { Aspect.PLANT, Aspect.LIGHT }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPLeaves.paging.getVariantState(BOPTrees.MAGIC), new Aspect[] { Aspect.PLANT }, new int[] { 1 }); - addAspectsToState(BlockBOPLeaves.paging.getVariantState(BOPTrees.HELLBARK), new Aspect[] { Aspect.PLANT, Aspect.FIRE }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPLeaves.paging.getVariantState(BOPTrees.FLOWERING), new Aspect[] { Aspect.PLANT, Aspect.LIFE }, new int[] { 1, 1 }); - - //Saplings - - //TODO: Apple addAspectsToState(BlockBOPSapling.paging.getVariantState(BOPTrees), new Aspect[] { Aspect.PLANT, Aspect.PLANT, Aspect.LIFE }, new int[] { 1, 2, 2 }); - //TODO: Persimmon addAspectsToState(BOPCBlocks.saplings, 15, new Aspect[] { Aspect.PLANT, Aspect.PLANT, Aspect.LIFE }, new int[] { 1, 1, 2 }); - addAspectsToState(BlockBOPSapling.paging.getVariantState(BOPTrees.ETHEREAL), new Aspect[] { Aspect.PLANT, Aspect.PLANT, Aspect.LIGHT }, new int[] { 1, 1, 2 }); - addAspectsToState(BlockBOPSapling.paging.getVariantState(BOPTrees.MAGIC), new Aspect[] { Aspect.PLANT, Aspect.PLANT }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPSapling.paging.getVariantState(BOPTrees.UMBRAN), new Aspect[] { Aspect.PLANT, Aspect.PLANT, Aspect.DARKNESS }, new int[] { 1, 1, 2 }); - addAspectsToState(BlockBOPSapling.paging.getVariantState(BOPTrees.DEAD), new Aspect[] { Aspect.PLANT, Aspect.PLANT, Aspect.DEATH }, new int[] { 1, 1, 2 }); - addAspectsToState(BlockBOPSapling.paging.getVariantState(BOPTrees.HELLBARK), new Aspect[] { Aspect.PLANT, Aspect.PLANT, Aspect.FIRE }, new int[] { 1, 1, 2 }); - addAspectsToState(BlockBOPSapling.paging.getVariantState(BOPTrees.SACRED_OAK), new Aspect[] { Aspect.PLANT, Aspect.PLANT, Aspect.LIGHT }, new int[] { 1, 1, 2 }); - addAspectsToState(BlockBOPSapling.paging.getVariantState(BOPTrees.FLOWERING), new Aspect[] { Aspect.PLANT, Aspect.PLANT, Aspect.LIFE }, new int[] { 1, 1, 2 }); - - //Blocks - - addAspectsToBlock(BOPBlocks.mud, new Aspect[] { Aspect.WATER, Aspect.EARTH }, new int[] { 2, 5 }); - addAspectsToBlock(BOPBlocks.dried_sand, new Aspect[] { Aspect.ENTROPY, Aspect.EARTH }, new int[] { 1, 1 }); - addAspectsToBlock(BOPBlocks.hard_ice, new Aspect[] { Aspect.EARTH, Aspect.COLD }, new int[] { 2, 2 }); - addAspectsToState(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BOPGrassType.ORIGIN), new Aspect[] { Aspect.EARTH, Aspect.PLANT }, new int[] { 1, 2 }); - addAspectsToBlock(BOPBlocks.crystal, new Aspect[] { Aspect.DESIRE, Aspect.LIGHT, Aspect.CRYSTAL }, new int[] { 5, 5, 5 }); - addAspectsToBlock(BOPBlocks.crag_rock, new Aspect[] { Aspect.EARTH }, new int[] { 2 }); - addAspectsToState(BOPBlocks.sand.getDefaultState().withProperty(BlockBOPSand.VARIANT, BlockBOPSand.SandType.QUICKSAND), new Aspect[] { Aspect.EARTH, Aspect.TRAP }, new int[] { 2, 4 }); - addAspectsToState(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BOPGrassType.SMOLDERING), new Aspect[] { Aspect.EARTH, Aspect.FIRE }, new int[] { 2, 1 }); - addAspectsToState(BOPBlocks.gem_ore.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.AMETHYST), new Aspect[] { Aspect.DESIRE, Aspect.ORDER, Aspect.CRYSTAL, Aspect.EARTH }, new int[] { 3, 3, 7, 3 }); - addAspectsToState(BOPBlocks.gem_block.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.AMETHYST), new Aspect[] { Aspect.DESIRE, Aspect.ORDER, Aspect.CRYSTAL }, new int[] { 5, 5, 8 }); - addAspectsToState(BlockBOPLeaves.paging.getVariantState(BOPTrees.RED_BIG_FLOWER), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPLeaves.paging.getVariantState(BOPTrees.YELLOW_BIG_FLOWER), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.POISONIVY), new Aspect[] { Aspect.PLANT }, new int[] { 2 }); - - //Plants - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.CATTAIL), new Aspect[] { Aspect.PLANT, Aspect.WATER }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.REED), new Aspect[] { Aspect.PLANT, Aspect.PLANT }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.CATTAIL), new Aspect[] { Aspect.PLANT, Aspect.WATER }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.SPROUT), new Aspect[] { Aspect.PLANT }, new int[] { 2 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.BUSH), new Aspect[] { Aspect.PLANT }, new int[] { 2 }); - addAspectsToState(BOPBlocks.seaweed.getDefaultState().withProperty(BlockBOPSeaweed.VARIANT, SeaweedType.KELP), new Aspect[] { Aspect.PLANT, Aspect.WATER }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.ROOT), new Aspect[] { Aspect.PLANT, Aspect.EARTH }, new int[] { 1, 1 }); - addAspectsToBlock(BOPBlocks.bamboo, new Aspect[] { Aspect.PLANT, Aspect.LIFE }, new int[] { 1, 1 }); - addAspectsToState(BOPBlocks.mushroom.getDefaultState().withProperty(BlockBOPMushroom.VARIANT, MushroomType.TOADSTOOL), new Aspect[] { Aspect.PLANT }, new int[] { 3 }); - addAspectsToState(BOPBlocks.mushroom.getDefaultState().withProperty(BlockBOPMushroom.VARIANT, MushroomType.PORTOBELLO), new Aspect[] { Aspect.PLANT }, new int[] { 3 }); - addAspectsToState(BOPBlocks.mushroom.getDefaultState().withProperty(BlockBOPMushroom.VARIANT, MushroomType.BLUE_MILK_CAP), new Aspect[] { Aspect.PLANT }, new int[] { 3 }); - addAspectsToState(BOPBlocks.mushroom.getDefaultState().withProperty(BlockBOPMushroom.VARIANT, MushroomType.GLOWSHROOM), new Aspect[] { Aspect.PLANT, Aspect.LIGHT }, new int[] { 3, 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.TINYCACTUS), new Aspect[] { Aspect.PLANT, Aspect.AVERSION }, new int[] { 2, 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.DESERTSPROUTS), new Aspect[] { Aspect.PLANT }, new int[] { 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.DUNEGRASS), new Aspect[] { Aspect.PLANT, Aspect.AIR }, new int[] { 1, 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.THORN), new Aspect[] { Aspect.PLANT, Aspect.AVERSION }, new int[] { 2, 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.DESERTGRASS), new Aspect[] { Aspect.PLANT }, new int[] { 1 }); - addAspectsToState(BlockBOPPlant.paging.getVariantState(BOPPlants.DEADGRASS), new Aspect[] { Aspect.PLANT, Aspect.DEATH }, new int[] { 1, 2 }); - addAspectsToBlock(BOPBlocks.tree_moss, new Aspect[] { Aspect.PLANT }, new int[] { 2 }); - //TODO: addAspectsToBlock(BOPBlocks.willow, new Aspect[] { Aspect.PLANT }, new int[] { 2 }); - - //Flowers - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.VIOLET), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.BLUE_HYDRANGEA), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.DEATHBLOOM), new Aspect[] { Aspect.PLANT, Aspect.DEATH }, new int[] { 4, 1 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.GLOWFLOWER), new Aspect[] { Aspect.PLANT, Aspect.LIGHT }, new int[] { 4, 1 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.WHITE_ANEMONE), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.SWAMPFLOWER), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.WILDFLOWER), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.ORANGE_COSMOS), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.WILTED_LILY), new Aspect[] { Aspect.PLANT }, new int[] { 2 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.PINK_DAFFODIL), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.BROMELIAD), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.CLOVER), new Aspect[] { Aspect.PLANT }, new int[] { 2 }); - - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.PINK_HIBISCUS), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.LILY_OF_THE_VALLEY), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.BURNING_BLOSSOM), new Aspect[] { Aspect.PLANT, Aspect.FIRE }, new int[] { 4, 2 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.LAVENDER), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.GOLDENROD), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.BLUEBELLS), new Aspect[] { Aspect.PLANT }, new int[] { 4 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.MINERS_DELIGHT), new Aspect[] { Aspect.PLANT, Aspect.EARTH }, new int[] { 4, 1 }); - addAspectsToState(BlockBOPFlower.paging.getVariantState(BOPFlowers.ICY_IRIS), new Aspect[] { Aspect.PLANT, Aspect.COLD }, new int[] { 4, 2 }); - - //Gems - addAspectsToState(BOPBlocks.gem_ore.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.RUBY), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL, Aspect.EARTH }, new int[] { 3, 5, 3 }); - addAspectsToState(BOPBlocks.gem_block.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.RUBY), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL }, new int[] { 5, 7 }); - addAspectsToState(BOPBlocks.gem_ore.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.PERIDOT), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL, Aspect.EARTH }, new int[] { 3, 5, 3 }); - addAspectsToState(BOPBlocks.gem_block.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.PERIDOT), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL }, new int[] { 5, 7 }); - addAspectsToState(BOPBlocks.gem_ore.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.TOPAZ), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL, Aspect.EARTH }, new int[] { 3, 5, 3 }); - addAspectsToState(BOPBlocks.gem_block.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.TOPAZ), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL }, new int[] { 5, 7 }); - addAspectsToState(BOPBlocks.gem_ore.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.TANZANITE), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL, Aspect.EARTH }, new int[] { 3, 5, 3 }); - addAspectsToState(BOPBlocks.gem_block.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.TANZANITE), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL }, new int[] { 5, 7 }); - addAspectsToState(BOPBlocks.gem_ore.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.MALACHITE), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL, Aspect.EARTH }, new int[] { 3, 5, 3 }); - addAspectsToState(BOPBlocks.gem_block.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.MALACHITE), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL }, new int[] { 5, 7 }); - addAspectsToState(BOPBlocks.gem_ore.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.SAPPHIRE), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL, Aspect.EARTH }, new int[] { 3, 5, 3 }); - addAspectsToState(BOPBlocks.gem_block.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.SAPPHIRE), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL }, new int[] { 5, 7 }); - addAspectsToState(BOPBlocks.gem_ore.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.AMBER), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL, Aspect.EARTH }, new int[] { 3, 5, 3 }); - addAspectsToState(BOPBlocks.gem_block.getDefaultState().withProperty(BlockBOPGem.VARIANT, BOPGems.AMBER), new Aspect[] { Aspect.DESIRE, Aspect.CRYSTAL }, new int[] { 5, 7 }); - - //Items - addAspectsToItem(BOPItems.gem, new Aspect[] { Aspect.DESIRE, Aspect.ORDER, Aspect.CRYSTAL }, new int[] { 4, 4, 4 }); - addAspectsToItem(BOPItems.ash, new Aspect[] { Aspect.ENTROPY, Aspect.EXCHANGE }, new int[] { 1, 1 }); - addAspectsToItem(BOPItems.crystal_shard, new Aspect[] { Aspect.CRYSTAL, Aspect.LIGHT, Aspect.DESIRE }, new int[] { 4, 2, 3 }); - addAspectsToItem(BOPItems.mud_brick, new Aspect[] { Aspect.EARTH, Aspect.FIRE }, new int[] { 2, 1 }); - } - - //Allows Thaumcraft golems to harvest BoP crops - private static void addThaumcraftGolemsSupport() - { - addClickableCrop(BlockBOPPlant.paging.getVariantState(BOPPlants.BERRYBUSH)); - } - - private static void addAspectsToBlock(Block block, Aspect[] aspects, int[] amounts) - { - addAspects(new ItemStack(block), aspects, amounts); - } - - private static void addAspectsToState(IBlockState state, Aspect[] aspects, int[] amounts) - { - addAspects(new ItemStack(state.getBlock(), 1, state.getBlock().getMetaFromState(state)), aspects, amounts); - } - - private static void addAspectsToItem(Item item, Aspect[] aspects, int[] amounts) - { - addAspects(new ItemStack(item), aspects, amounts); - } - - private static void addAspectsToItemMeta(Item items, int meta, Aspect[] aspects, int[] amounts) - { - addAspects(new ItemStack(items, 1, meta), aspects, amounts); - } - - private static void addClickableCrop(IBlockState state) - { - FMLInterModComms.sendMessage("Thaumcraft", "harvestClickableCrop", new ItemStack(state.getBlock(), 1, state.getBlock().getMetaFromState(state))); - } - - private static void addAspects(ItemStack stack, Aspect[] aspects, int[] amounts) - { - AspectList list = new AspectList(); - for (int i = 0; i < aspects.length; i++) - list.add(aspects[i], amounts[i]); - - ThaumcraftApi.registerObjectTag(stack, list); - }*/ -} diff --git a/src/main/java/biomesoplenty/common/item/IColoredItem.java b/src/main/java/biomesoplenty/common/item/IColoredItem.java deleted file mode 100644 index 64e74db42..000000000 --- a/src/main/java/biomesoplenty/common/item/IColoredItem.java +++ /dev/null @@ -1,18 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.item; - -import net.minecraft.client.renderer.color.IItemColor; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public interface IColoredItem -{ - @SideOnly(Side.CLIENT) - IItemColor getItemColor(); -} diff --git a/src/main/java/biomesoplenty/common/item/ItemBOPBlock.java b/src/main/java/biomesoplenty/common/item/ItemBOPBlock.java deleted file mode 100644 index 2e10a4961..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBOPBlock.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.common.block.IBOPBlock; -import biomesoplenty.common.util.block.BlockStateUtils; -import com.google.common.collect.ImmutableSet; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.NonNullList; - -public class ItemBOPBlock extends ItemBlock -{ - - public IBOPBlock bopBlock; - - public ItemBOPBlock(Block block) - { - super(block); - if (block instanceof IBOPBlock) - { - this.bopBlock = (IBOPBlock)block; - } - else - { - throw new IllegalArgumentException("ItemBOPBlock must be created with a block implementing IBOPBlock"); - } - this.setHasSubtypes(true); - } - - // define the items which will appear in the creative tab (called by ItemBlock class) - @Override - public void getSubItems(CreativeTabs tab, NonNullList subItems) - { - if (this.isInCreativeTab(tab)) - { - ImmutableSet presets = BlockStateUtils.getBlockPresets(this.block); - if (presets.isEmpty()) - { - subItems.add(new ItemStack(this.block, 1, 0)); - } - else - { - for (IBlockState state : presets) - { - subItems.add(new ItemStack(this.block, 1, this.block.getMetaFromState(state))); - } - } - } - } - - @Override - public int getMetadata(int metadata) - { - return metadata; - } - - @Override - public String getUnlocalizedName(ItemStack stack) - { - ImmutableSet presets = BlockStateUtils.getBlockPresets(this.block); - if (presets.isEmpty()) - { - return super.getUnlocalizedName(); - } - else - { - int meta = stack.getMetadata(); - IBlockState oldState = block.getStateFromMeta(meta); - IBlockState newState = BlockStateUtils.getPresetState(oldState); - - return super.getUnlocalizedName() + "." + bopBlock.getStateName(newState); - } - } -} diff --git a/src/main/java/biomesoplenty/common/item/ItemBOPBoat.java b/src/main/java/biomesoplenty/common/item/ItemBOPBoat.java deleted file mode 100644 index d25994091..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBOPBoat.java +++ /dev/null @@ -1,125 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import java.util.List; - -import biomesoplenty.common.entities.item.EntityBOPBoat; -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.StatList; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.util.math.Vec3d; -import net.minecraft.world.World; - -public class ItemBOPBoat extends Item -{ - private final EntityBOPBoat.Type type; - - public ItemBOPBoat(EntityBOPBoat.Type typeIn) - { - this.type = typeIn; - this.maxStackSize = 1; - this.setUnlocalizedName("boat_" + typeIn.getName()); - } - - @Override - public ActionResult onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) - { - ItemStack itemstack = playerIn.getHeldItem(handIn); - float f = 1.0F; - float f1 = playerIn.prevRotationPitch + (playerIn.rotationPitch - playerIn.prevRotationPitch) * 1.0F; - float f2 = playerIn.prevRotationYaw + (playerIn.rotationYaw - playerIn.prevRotationYaw) * 1.0F; - double d0 = playerIn.prevPosX + (playerIn.posX - playerIn.prevPosX) * 1.0D; - double d1 = playerIn.prevPosY + (playerIn.posY - playerIn.prevPosY) * 1.0D + (double)playerIn.getEyeHeight(); - double d2 = playerIn.prevPosZ + (playerIn.posZ - playerIn.prevPosZ) * 1.0D; - Vec3d vec3d = new Vec3d(d0, d1, d2); - float f3 = MathHelper.cos(-f2 * 0.017453292F - (float)Math.PI); - float f4 = MathHelper.sin(-f2 * 0.017453292F - (float)Math.PI); - float f5 = -MathHelper.cos(-f1 * 0.017453292F); - float f6 = MathHelper.sin(-f1 * 0.017453292F); - float f7 = f4 * f5; - float f8 = f3 * f5; - double d3 = 5.0D; - Vec3d vec3d1 = vec3d.addVector((double)f7 * 5.0D, (double)f6 * 5.0D, (double)f8 * 5.0D); - RayTraceResult raytraceresult = worldIn.rayTraceBlocks(vec3d, vec3d1, true); - - if (raytraceresult == null) - { - return new ActionResult(EnumActionResult.PASS, itemstack); - } - else - { - Vec3d vec3d2 = playerIn.getLook(1.0F); - boolean flag = false; - List list = worldIn.getEntitiesWithinAABBExcludingEntity(playerIn, playerIn.getEntityBoundingBox().expand(vec3d2.x * 5.0D, vec3d2.y * 5.0D, vec3d2.z * 5.0D).grow(1.0D)); - - for (int i = 0; i < list.size(); ++i) - { - Entity entity = list.get(i); - - if (entity.canBeCollidedWith()) - { - AxisAlignedBB axisalignedbb = entity.getEntityBoundingBox().grow((double)entity.getCollisionBorderSize()); - - if (axisalignedbb.contains(vec3d)) - { - flag = true; - } - } - } - - if (flag) - { - return new ActionResult(EnumActionResult.PASS, itemstack); - } - else if (raytraceresult.typeOfHit != RayTraceResult.Type.BLOCK) - { - return new ActionResult(EnumActionResult.PASS, itemstack); - } - else - { - Block block = worldIn.getBlockState(raytraceresult.getBlockPos()).getBlock(); - boolean flag1 = block == Blocks.WATER || block == Blocks.FLOWING_WATER; - EntityBOPBoat entitybopboat = new EntityBOPBoat(worldIn, raytraceresult.hitVec.x, flag1 ? raytraceresult.hitVec.y - 0.12D : raytraceresult.hitVec.y, raytraceresult.hitVec.z); - entitybopboat.setBoatType(this.type); - entitybopboat.rotationYaw = playerIn.rotationYaw; - - if (!worldIn.getCollisionBoxes(entitybopboat, entitybopboat.getEntityBoundingBox().grow(-0.1D)).isEmpty()) - { - return new ActionResult(EnumActionResult.FAIL, itemstack); - } - else - { - if (!worldIn.isRemote) - { - worldIn.spawnEntity(entitybopboat); - } - - if (!playerIn.capabilities.isCreativeMode) - { - itemstack.shrink(1); - } - - playerIn.addStat(StatList.getObjectUseStats(this)); - return new ActionResult(EnumActionResult.SUCCESS, itemstack); - } - } - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemBOPFlower.java b/src/main/java/biomesoplenty/common/item/ItemBOPFlower.java deleted file mode 100644 index 46c450d9d..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBOPFlower.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.common.block.BlockBOPFlower; -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; - -public class ItemBOPFlower extends ItemBOPBlock { - - public ItemBOPFlower(Block block) { - super(block); - } - - public BOPFlowers getFlower(ItemStack stack) - { - if (! (this.block instanceof BlockBOPFlower)) {return null;} - return BlockBOPFlower.paging.getVariant((BlockBOPFlower)this.block, stack.getMetadata()); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemBOPFood.java b/src/main/java/biomesoplenty/common/item/ItemBOPFood.java deleted file mode 100644 index 6a2945c66..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBOPFood.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; - -public class ItemBOPFood extends ItemFood -{ - public int eatDuration; - - public ItemBOPFood(int amount, float saturation, int eatDuration) - { - super(amount, saturation, false); - this.eatDuration = eatDuration; - } - - @Override - public int getMaxItemUseDuration(ItemStack stack) - { - return this.eatDuration; - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemBOPLilypad.java b/src/main/java/biomesoplenty/common/item/ItemBOPLilypad.java deleted file mode 100644 index f7d2d38ef..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBOPLilypad.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.api.block.BOPBlocks; -import net.minecraft.block.Block; -import net.minecraft.block.BlockLiquid; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.World; - -public class ItemBOPLilypad extends ItemBOPBlock { - - public ItemBOPLilypad(Block block) { - super(block); - } - - // The code for right clicking needs to be overridden to handle the unique way lilies are placed - on top of the water - // (usually when you point the cursor at water the picked block is whatever is underneath the water - when placing lilies the water itself has to be picked) - // The below is copied from vanille BlockLilyPad - @Override - public ActionResult onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand hand) - { - ItemStack itemStackIn = playerIn.getHeldItem(hand); - RayTraceResult movingobjectposition = this.rayTrace(worldIn, playerIn, true); - - if (movingobjectposition == null) - { - return new ActionResult(EnumActionResult.FAIL, itemStackIn); - } - else - { - if (movingobjectposition.typeOfHit == RayTraceResult.Type.BLOCK) - { - BlockPos blockpos = movingobjectposition.getBlockPos(); - - if (!worldIn.isBlockModifiable(playerIn, blockpos)) - { - return new ActionResult(EnumActionResult.FAIL, itemStackIn); - } - - if (!playerIn.canPlayerEdit(blockpos.offset(movingobjectposition.sideHit), movingobjectposition.sideHit, itemStackIn)) - { - return new ActionResult(EnumActionResult.FAIL, itemStackIn); - } - - BlockPos blockpos1 = blockpos.up(); - IBlockState iblockstate = worldIn.getBlockState(blockpos); - - if (iblockstate.getMaterial() == Material.WATER && iblockstate.getValue(BlockLiquid.LEVEL).intValue() == 0 && worldIn.isAirBlock(blockpos1)) - { - // special case for handling block placement with water lilies - net.minecraftforge.common.util.BlockSnapshot blocksnapshot = net.minecraftforge.common.util.BlockSnapshot.getBlockSnapshot(worldIn, blockpos1); - - worldIn.setBlockState(blockpos1, BOPBlocks.waterlily.getStateFromMeta(itemStackIn.getMetadata())); - if (net.minecraftforge.event.ForgeEventFactory.onPlayerBlockPlace(playerIn, blocksnapshot, net.minecraft.util.EnumFacing.UP, hand).isCanceled()) - { - blocksnapshot.restore(true, false); - return new ActionResult(EnumActionResult.FAIL, itemStackIn); - } - - if (!playerIn.capabilities.isCreativeMode) - { - itemStackIn.setCount(itemStackIn.getCount() - 1); - } - - //TODO: playerIn.addStat(StatList.objectUseStats[Item.getIdFromItem(this)]); - } - } - - return new ActionResult(EnumActionResult.SUCCESS, itemStackIn); - } - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemBOPPlant.java b/src/main/java/biomesoplenty/common/item/ItemBOPPlant.java deleted file mode 100644 index e91efd013..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBOPPlant.java +++ /dev/null @@ -1,105 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.common.block.BlockBOPPlant; -import net.minecraft.block.Block; -import net.minecraft.block.BlockLiquid; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.World; - -public class ItemBOPPlant extends ItemBOPBlock { - - public ItemBOPPlant(Block block) { - super(block); - } - - // The code for right clicking needs to be overridden to handle the unique way reeds are placed - on top of the water - // (usually when you point the cursor at water the picked block is whatever is underneath the water - when placing reeds the water itself has to be picked) - @Override - public ActionResult onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand hand) - { - ItemStack itemStackIn = playerIn.getHeldItem(hand); - if (this.block instanceof BlockBOPPlant) - { - BlockBOPPlant block = (BlockBOPPlant)this.block; - IBlockState state = block.getStateFromMeta( itemStackIn.getMetadata() ); - BOPPlants plant = ((BOPPlants) state.getValue(block.variantProperty)); - if (plant == BOPPlants.REED) - { - - RayTraceResult movingobjectposition = this.rayTrace(worldIn, playerIn, true); - - if (movingobjectposition == null) - { - return new ActionResult(EnumActionResult.FAIL, itemStackIn); - } - else - { - if (movingobjectposition.typeOfHit == RayTraceResult.Type.BLOCK) - { - BlockPos blockpos = movingobjectposition.getBlockPos(); - - if (!worldIn.isBlockModifiable(playerIn, blockpos)) - { - return new ActionResult(EnumActionResult.FAIL, itemStackIn); - } - - if (!playerIn.canPlayerEdit(blockpos.offset(movingobjectposition.sideHit), movingobjectposition.sideHit, itemStackIn)) - { - return new ActionResult(EnumActionResult.FAIL, itemStackIn); - } - - BlockPos blockpos1 = blockpos.up(); - IBlockState iblockstate = worldIn.getBlockState(blockpos); - - if (iblockstate.getMaterial() == Material.WATER && iblockstate.getValue(BlockLiquid.LEVEL).intValue() == 0 && worldIn.isAirBlock(blockpos1)) - { - // special case for handling block placement with reeds - net.minecraftforge.common.util.BlockSnapshot blocksnapshot = net.minecraftforge.common.util.BlockSnapshot.getBlockSnapshot(worldIn, blockpos1); - - worldIn.setBlockState(blockpos1, BlockBOPPlant.paging.getVariantState(BOPPlants.REED)); - if (net.minecraftforge.event.ForgeEventFactory.onPlayerBlockPlace(playerIn, blocksnapshot, net.minecraft.util.EnumFacing.UP, hand).isCanceled()) - { - blocksnapshot.restore(true, false); - return new ActionResult(EnumActionResult.FAIL, itemStackIn); - } - - if (!playerIn.capabilities.isCreativeMode) - { - itemStackIn.setCount(itemStackIn.getCount() - 1); - } - - //TODO: 1.9 playerIn.triggerAchievement(StatList.objectUseStats[Item.getIdFromItem(this)]); - } - } - - return new ActionResult(EnumActionResult.SUCCESS, itemStackIn); - } - - - } - - } - // in all other cases take the default action - return super.onItemRightClick(worldIn, playerIn, hand); - - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemBOPRecord.java b/src/main/java/biomesoplenty/common/item/ItemBOPRecord.java deleted file mode 100644 index 3d8c3c9ad..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBOPRecord.java +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import net.minecraft.item.ItemRecord; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.SoundEvent; - -public class ItemBOPRecord extends ItemRecord -{ - public ItemBOPRecord(String name, SoundEvent record) - { - super(name, record); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemBOPSapling.java b/src/main/java/biomesoplenty/common/item/ItemBOPSapling.java deleted file mode 100644 index 6c43b5385..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBOPSapling.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.common.block.BlockBOPSapling; -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; - -public class ItemBOPSapling extends ItemBOPBlock -{ - - public BlockBOPSapling saplingBlock; - - public ItemBOPSapling(Block block) { - super(block); - if (!(block instanceof BlockBOPSapling)) - { - throw new IllegalArgumentException("ItemBOPSapling must be created with a BlockBOPSapling block"); - } - this.saplingBlock = (BlockBOPSapling)block; - } - - @Override - public boolean hasEffect(ItemStack stack) - { - BOPTrees tree = BlockBOPSapling.paging.getVariant(this.saplingBlock, stack.getMetadata()); - switch (tree) - { - case SACRED_OAK: - return true; - default: - return super.hasEffect(stack); - } - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemBiomeEssence.java b/src/main/java/biomesoplenty/common/item/ItemBiomeEssence.java deleted file mode 100644 index fd678f247..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBiomeEssence.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import java.util.List; - -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; - -import javax.annotation.Nullable; - -public class ItemBiomeEssence extends Item -{ - public ItemBiomeEssence() {} - - public Biome getBiome(ItemStack itemStack) - { - if (itemStack.hasTagCompound() && itemStack.getTagCompound().hasKey("biomeID")) - { - return Biome.getBiome(itemStack.getTagCompound().getInteger("biomeID")); - } - return null; - } - - @Override - public void addInformation(ItemStack stack, @Nullable World world, List tooltip, ITooltipFlag advanced) - { - Biome biome = this.getBiome(stack); - if (biome != null) { - tooltip.add(biome.getBiomeName()); - } - } - - @Override - public boolean hasEffect(ItemStack itemStack) - { - return true; - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemBiomeFinder.java b/src/main/java/biomesoplenty/common/item/ItemBiomeFinder.java deleted file mode 100644 index 83f6da475..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemBiomeFinder.java +++ /dev/null @@ -1,207 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.common.util.biome.BiomeUtils; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.IItemPropertyGetter; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.text.TextComponentTranslation; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import org.apache.commons.lang3.text.WordUtils; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.util.List; - -public class ItemBiomeFinder extends Item -{ - - public ItemBiomeFinder() - { - this.addPropertyOverride(new ResourceLocation("frame"), new IItemPropertyGetter() - { - @Override - @SideOnly(Side.CLIENT) - public float apply(@Nonnull ItemStack stack, World world, EntityLivingBase entity) - { - if (entity == null) {return 0.00F;} - - NBTTagCompound nbt = stack.getTagCompound(); - if (nbt != null && nbt.hasKey("biomeIDToFind")) - { - if (nbt.hasKey("searchStarted")) - { - // searching for biome, but not yet found indicate searching by flashing - return this.getFlashingFrame(entity); - } - else if (nbt.getBoolean("found")) - { - // if the biome has been found, point at it - int posX = nbt.getInteger("posX"); - int posZ = nbt.getInteger("posZ"); - return getFrameForPositionRelativeToPlayer(entity, posX, posZ); - } - else - { - // the search has not yet been started, show all sectors lit - return 0.09F; - } - } - else - { - // if we've got here, the biome finder has not been bound to a biome yet - show no sectors lit - return 0.08F; - } - } - - private float getFlashingFrame(EntityLivingBase entity) - { - return (entity.ticksExisted % 2 == 0 ? 0.10F : 0.11F); - } - - private float getFrameForPositionRelativeToPlayer(EntityLivingBase entity, int biomePosX, int biomePosZ) - { - double xDiff = (double)biomePosX - entity.posX; - double zDiff = (double)biomePosZ - entity.posZ; - // angle (in degrees) of direction from player to biome (relative to player rotation) - double angleDiff = (Math.atan2(zDiff, xDiff) * 180.0D / Math.PI) + 270.0D - entity.rotationYaw; - // there are 8 sectors on the biome finder, so 45 degrees each (offset by 22.5 to center the angle in the middle of the sector) - int sector = (int)Math.floor((angleDiff + 22.5D) / 45.0D); - return (((sector % 8) + 8) % 8) / 100.0F; - } - }); - - this.setMaxStackSize(1); - } - - - @Override - @Nonnull - public ActionResult onItemRightClick(World world, EntityPlayer player, @Nonnull EnumHand hand) - { - ItemStack stack = player.getHeldItem(hand); - if (!stack.hasTagCompound()) {stack.setTagCompound(new NBTTagCompound());} - NBTTagCompound nbt = stack.getTagCompound(); - - if (nbt == null) return new ActionResult<>(EnumActionResult.PASS, stack); - - if (nbt.getBoolean("found")) - { - return new ActionResult<>(EnumActionResult.FAIL, stack); - } - if (nbt.hasKey("searchStarted") && (world.getWorldTime() - nbt.getLong("searchStarted") < 100)) - { - return new ActionResult<>(EnumActionResult.FAIL, stack); - } - if (!nbt.hasKey("biomeIDToFind")) - { - return new ActionResult<>(EnumActionResult.FAIL, stack); - } - Biome biomeToFind = Biome.getBiome(nbt.getInteger("biomeIDToFind")); // returns ocean if biomeIDToFind is out of bounds - - // both client and server set the 'searching' tag - client to update the rendering, server so it can't be used again too quickly - writeNBTSearching(nbt, world); - - // carry out the search on the server, not the client - if (world.isRemote) - { - // client functionality stops here - return new ActionResult<>(EnumActionResult.PASS, stack); - } - else if (biomeToFind != null && biomeToFind.getRegistryName() != null) - { - String biomeName = WordUtils.capitalize(biomeToFind.getRegistryName().getResourcePath()); - - // server notifies player that search is starting - sendChatMessage(player, "biome_finder.searching", biomeName, TextFormatting.DARK_PURPLE); - - // search for biomeToFind, maximum distance 5000 blocks - BlockPos pos = BiomeUtils.spiralOutwardsLookingForBiome(world, biomeToFind, player.posX, player.posZ); - - if (pos == null) - { - // server notifies player that search was unsuccessful - sendChatMessage(player, "biome_finder.not_found", biomeName, TextFormatting.RED); - // write not found tag - writeNBTNotFound(nbt); - } - else - { - // server notifies player that search was successful - sendChatMessage(player, "biome_finder.found", biomeName, TextFormatting.GREEN); - // write found tag - writeNBTFound(nbt, pos); - } - // It is necessary for the server to return a copy of the stack to make sure that the client successfully replaces it in the inventory - return new ActionResult<>(EnumActionResult.PASS, stack.copy()); - } - return new ActionResult<>(EnumActionResult.PASS, stack); - } - - private static void sendChatMessage(EntityPlayer player, String msg, Object format, TextFormatting color) - { - TextComponentTranslation chatComponent = new TextComponentTranslation(msg, format); - chatComponent.getStyle().setColor(color); - player.sendMessage(chatComponent); - } - - private static void writeNBTSearching(NBTTagCompound nbt, World world) - { - nbt.setBoolean("found", false); - nbt.setLong("searchStarted", world.getWorldTime()); - nbt.removeTag("posX"); - nbt.removeTag("posZ"); - } - - private static void writeNBTFound(NBTTagCompound nbt, BlockPos pos) - { - nbt.setBoolean("found", true); - nbt.removeTag("searchStarted"); - nbt.setInteger("posX", pos.getX()); - nbt.setInteger("posZ", pos.getZ()); - } - - private static void writeNBTNotFound(NBTTagCompound nbt) - { - nbt.setBoolean("found", false); - nbt.removeTag("searchStarted"); - nbt.removeTag("posX"); - nbt.removeTag("posZ"); - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack itemStack, @Nullable World world, List tooltip, ITooltipFlag advanced) - { - if (!itemStack.hasTagCompound()) {return;} - NBTTagCompound nbt = itemStack.getTagCompound(); - if (nbt != null && nbt.hasKey("biomeIDToFind")) - { - Biome biomeToFind = Biome.getBiome(nbt.getInteger("biomeIDToFind")); // returns ocean if biomeIDToFind is out of bounds - if (biomeToFind != null) - { - tooltip.add(biomeToFind.getBiomeName()); - } - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemEnderporter.java b/src/main/java/biomesoplenty/common/item/ItemEnderporter.java deleted file mode 100644 index eb1a6a756..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemEnderporter.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.MobEffects; -import net.minecraft.init.SoundEvents; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.util.SoundCategory; -import net.minecraft.util.text.TextComponentTranslation; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; - -public class ItemEnderporter extends Item { - - public ItemEnderporter() - { - this.maxStackSize = 1; - this.setMaxDamage(9); - } - - @Override - public ActionResult onItemRightClick( World world, EntityPlayer player, EnumHand hand) - { - ItemStack stack = player.getHeldItem(hand); - if (player.getRidingEntity() != null) {return new ActionResult(EnumActionResult.FAIL, stack);} - // can only use the enderporter on the surface world - if (world.provider.isSurfaceWorld()) - { - stack.damageItem(1, player); - player.addPotionEffect(new PotionEffect(MobEffects.BLINDNESS, 30, 999)); - player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 200, 999)); - player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, 100, 999)); - player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 200, 3)); - player.setPosition((double)world.getSpawnPoint().getX(), 250, (double)world.getSpawnPoint().getZ()); - world.playSound(player, player.getPosition(), SoundEvents.ENTITY_PLAYER_LEVELUP, SoundCategory.NEUTRAL, 1.0F, 5.0F); - //TODO: FEATURE par3EntityPlayer.addStat(BOPAchievements.achEnderporter, 1); - } - else - { - // have the server inform the client that they can't use the enderporter - if (!world.isRemote) - { - TextComponentTranslation msg = new TextComponentTranslation("enderporter.prevent"); - msg.getStyle().setColor(TextFormatting.DARK_PURPLE); - player.sendMessage(msg); - } - } - return new ActionResult(EnumActionResult.SUCCESS, stack); - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemGem.java b/src/main/java/biomesoplenty/common/item/ItemGem.java deleted file mode 100644 index 10fe9c9d7..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemGem.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.api.enums.BOPGems; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.NonNullList; - -public class ItemGem extends Item -{ - - public ItemGem() - { - this.setHasSubtypes(true); - this.setMaxDamage(0); - } - - // add all the gem types as separate items in the creative tab - @Override - public void getSubItems(CreativeTabs tab, NonNullList subItems) - { - if (this.isInCreativeTab(tab)) - { - for (BOPGems gemType : BOPGems.values()) - { - subItems.add(new ItemStack(this, 1, gemType.ordinal())); - } - } - } - - // default behavior in Item is to return 0, but the meta value is important here because it determines which gem to use - @Override - public int getMetadata(int metadata) - { - return metadata; - } - - // get the correct name for this item by looking up the meta value in the BlockGem.GemType enum - @Override - public String getUnlocalizedName(ItemStack stack) - { - String gemName; - int meta = stack.getMetadata(); - try { - gemName = BOPGems.values()[meta].getName(); - } catch (Exception e) { - // if lookup fails for whatever reason, just use the meta number - gemName = Integer.toString(meta); - } - return super.getUnlocalizedName() + "_" + gemName; - } - - -} diff --git a/src/main/java/biomesoplenty/common/item/ItemJarEmpty.java b/src/main/java/biomesoplenty/common/item/ItemJarEmpty.java deleted file mode 100644 index fd726577d..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemJarEmpty.java +++ /dev/null @@ -1,101 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.item.BOPItems; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.StatList; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.World; - - -public class ItemJarEmpty extends Item -{ - - public ItemJarEmpty() - { - this.setMaxDamage(0); - } - - - @Override - public ActionResult onItemRightClick(World world, EntityPlayer player, EnumHand hand) - { - ItemStack stack = player.getHeldItem(hand); - RayTraceResult hit = this.rayTrace(world, player, true); - - if (hit == null) { - return new ActionResult(EnumActionResult.PASS, stack); - } else { - if (hit.typeOfHit == RayTraceResult.Type.BLOCK) - { - BlockPos pos = hit.getBlockPos(); - - if (!world.isBlockModifiable(player, pos) || !player.canPlayerEdit(pos.offset(hit.sideHit), hit.sideHit, stack)) - { - return new ActionResult(EnumActionResult.PASS, stack); - } - - // determine if the block is one of our BOP fluids - // note - no need to check level - you don't get a hit unless it's full - IBlockState state = world.getBlockState(pos); - ItemJarFilled.JarContents jarContents = null; - if (state.getBlock() == BOPBlocks.honey) - { - jarContents = ItemJarFilled.JarContents.HONEY; - } - - if (state.getBlock() == BOPBlocks.blue_fire) - { - jarContents = ItemJarFilled.JarContents.BLUE_FIRE; - } - - // if it was honey, return the corresponding filled jar - if (jarContents != null) - { - world.setBlockToAir(pos); - - return new ActionResult(EnumActionResult.SUCCESS, this.fillJar(stack, player, new ItemStack(BOPItems.jar_filled, 1, jarContents.ordinal()))); - } - } - } - - player.setActiveHand(hand); - return new ActionResult(EnumActionResult.PASS, stack); - } - - private ItemStack fillJar(ItemStack stack, EntityPlayer player, ItemStack jarStack) - { - stack.setCount(stack.getCount() - 1); - player.addStat(StatList.getObjectUseStats(this)); - - // if there was only one empty jar in the stack, replace it, otherwise add the filledJar elsewhere in the inventory - if (stack.getCount() <= 0) - { - return jarStack; - } else { - if (!player.inventory.addItemStackToInventory(jarStack)) - { - // no room in inventory, so just drop it on the floor - player.dropItem(jarStack, false); - } - - return stack; - } - } -} - \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemJarFilled.java b/src/main/java/biomesoplenty/common/item/ItemJarFilled.java deleted file mode 100644 index 2bfccfc80..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemJarFilled.java +++ /dev/null @@ -1,164 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.item.BOPItems; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.StatList; -import net.minecraft.util.*; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.world.World; - -import javax.annotation.Nonnull; -import java.util.Objects; - -public class ItemJarFilled extends Item -{ - - public enum JarContents implements IStringSerializable - { - HONEY, BLUE_FIRE; - - @Override - public String getName() - { - return this.name().toLowerCase(); - } - @Override - public String toString() - { - return this.getName(); - } - } - - public ItemJarFilled() - { - this.setHasSubtypes(true); - this.setMaxDamage(0); - this.setMaxStackSize(1); - } - - // add all the contents types as separate items in the creative tab - @Override - public void getSubItems(@Nonnull CreativeTabs tab, @Nonnull NonNullList subItems) - { - if (this.isInCreativeTab(tab)) - { - for (JarContents contents : JarContents.values()) - { - subItems.add(new ItemStack(this, 1, contents.ordinal())); - } - } - } - - // default behavior in Item is to return 0, but the meta value is important here because it determines the jar contents - @Override - public int getMetadata(int metadata) - { - return metadata; - } - - public JarContents getContentsType(ItemStack stack) - { - int meta = stack.getMetadata(); - try { - return JarContents.values()[meta]; - } catch (Exception e) { - // if metadata is out of bounds return honey as a default (should never happen) - return JarContents.HONEY; - } - } - - // get the correct name for this item by looking up the meta value in the JarContents enum - @Override - @Nonnull - public String getUnlocalizedName(ItemStack stack) - { - return super.getUnlocalizedName() + "_" + this.getContentsType(stack).getName(); - } - - @Override - @Nonnull - public ActionResult onItemRightClick(World world, EntityPlayer player, @Nonnull EnumHand hand) - { - ItemStack heldStack = player.getHeldItem(hand); - if (getContentsType(heldStack) == JarContents.BLUE_FIRE) - { - RayTraceResult raytraceresult = this.rayTrace(world, player, false); - if (raytraceresult == null) - { - return new ActionResult<>(EnumActionResult.PASS, heldStack); - } - else if (raytraceresult.typeOfHit != RayTraceResult.Type.BLOCK) - { - return new ActionResult<>(EnumActionResult.PASS, heldStack); - } - else - { - BlockPos rayPos = raytraceresult.getBlockPos(); - - if (!world.isBlockModifiable(player, rayPos)) - { - return new ActionResult<>(EnumActionResult.FAIL, heldStack); - } - else - { - boolean isReplaceable = world.getBlockState(rayPos).getBlock().isReplaceable(world, rayPos); - BlockPos pos = isReplaceable && raytraceresult.sideHit == EnumFacing.UP ? rayPos : rayPos.offset(raytraceresult.sideHit); - - if (!player.canPlayerEdit(pos, raytraceresult.sideHit, heldStack)) - { - return new ActionResult<>(EnumActionResult.FAIL, heldStack); - } - else if (world.getBlockState(pos).getBlock().isReplaceable(world, pos) && world.getBlockState(pos.down()).isTopSolid()) - { - world.setBlockState(pos, BOPBlocks.blue_fire.getDefaultState()); - this.emptyJar(player, hand); - return new ActionResult<>(EnumActionResult.SUCCESS, heldStack); - } - else - { - return new ActionResult<>(EnumActionResult.FAIL, heldStack); - } - } - } - } - return new ActionResult<>(EnumActionResult.PASS, heldStack); - } - - private void emptyJar(EntityPlayer player, EnumHand hand) - { - ItemStack heldStack = player.getHeldItem(hand); - ItemStack emptyJar = new ItemStack(BOPItems.jar_empty); - if (!player.capabilities.isCreativeMode) - { - if (heldStack.isEmpty()) - { - player.setHeldItem(hand, emptyJar); - } - else if (!player.inventory.addItemStackToInventory(emptyJar)) - { - player.dropItem(emptyJar, false); - } - else if (player instanceof EntityPlayerMP) - { - ((EntityPlayerMP) player).sendContainerToPlayer(player.inventoryContainer); - } - heldStack.shrink(1); - player.addStat(Objects.requireNonNull(StatList.getObjectUseStats(this))); - } - } -} - \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/item/ItemMudball.java b/src/main/java/biomesoplenty/common/item/ItemMudball.java deleted file mode 100644 index ea85868a1..000000000 --- a/src/main/java/biomesoplenty/common/item/ItemMudball.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.item; - -import biomesoplenty.common.entities.projectiles.EntityMudball; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.SoundEvents; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.StatList; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumHand; -import net.minecraft.util.SoundCategory; -import net.minecraft.world.World; - -public class ItemMudball extends Item -{ - public ItemMudball() - { - this.maxStackSize = 16; - } - - // throw a mudball on right click - @Override - public ActionResult onItemRightClick(World world, EntityPlayer player, EnumHand hand) - { - ItemStack stack = player.getHeldItem(hand); - if (!player.capabilities.isCreativeMode) - { - stack.setCount(stack.getCount() - 1); - } - - world.playSound(player, player.getPosition(), SoundEvents.ENTITY_ARROW_SHOOT, SoundCategory.NEUTRAL, 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!world.isRemote) - { - EntityMudball mudball = new EntityMudball(world, player); - mudball.shoot(player, player.rotationPitch, player.rotationYaw, 0.0F, 1.5F, 1.0F); - world.spawnEntity(mudball); - } - - player.addStat(StatList.getObjectUseStats(this)); - return new ActionResult(EnumActionResult.SUCCESS, stack); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/network/BOPPacketHandler.java b/src/main/java/biomesoplenty/common/network/BOPPacketHandler.java deleted file mode 100644 index 946b4bdf3..000000000 --- a/src/main/java/biomesoplenty/common/network/BOPPacketHandler.java +++ /dev/null @@ -1,18 +0,0 @@ -package biomesoplenty.common.network; - -import biomesoplenty.core.BiomesOPlenty; -import net.minecraftforge.fml.common.network.NetworkRegistry; -import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper; - -public class BOPPacketHandler -{ - public static final SimpleNetworkWrapper instance = NetworkRegistry.INSTANCE.newSimpleChannel(BiomesOPlenty.MOD_ID); - - public static void init() - { - // register messages here - // instance.registerMessage(messageHandler, requestMessageType, discriminator, side); - } - - -} diff --git a/src/main/java/biomesoplenty/common/potion/BOPPotion.java b/src/main/java/biomesoplenty/common/potion/BOPPotion.java deleted file mode 100644 index 625283eaa..000000000 --- a/src/main/java/biomesoplenty/common/potion/BOPPotion.java +++ /dev/null @@ -1,44 +0,0 @@ -package biomesoplenty.common.potion; - -import net.minecraft.client.Minecraft; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public abstract class BOPPotion extends Potion -{ - private static final ResourceLocation POTIONS_LOCATION = new ResourceLocation("biomesoplenty:textures/potions/bop_potion_fx.png"); - - protected BOPPotion(boolean isBadEffectIn, int liquidColorIn, int x, int y) - { - super(isBadEffectIn, liquidColorIn); - this.setIconIndex(x, y); - } - - // We handle status icon rendering ourselves - @Override - public boolean hasStatusIcon() - { - return false; - } - - @SideOnly(Side.CLIENT) - @Override - public void renderInventoryEffect(int x, int y, PotionEffect effect, Minecraft mc) - { - mc.getTextureManager().bindTexture(POTIONS_LOCATION); - int iconIndex = this.getStatusIconIndex(); - mc.currentScreen.drawTexturedModalRect(x + 6, y + 7, 0 + iconIndex % 8 * 18, 198 + iconIndex / 8 * 18, 18, 18); - } - - @SideOnly(Side.CLIENT) - @Override - public void renderHUDEffect(int x, int y, PotionEffect effect, Minecraft mc, float alpha) - { - mc.getTextureManager().bindTexture(POTIONS_LOCATION); - int iconIndex = this.getStatusIconIndex(); - mc.ingameGUI.drawTexturedModalRect(x + 3, y + 3, iconIndex % 8 * 18, 198 + iconIndex / 8 * 18, 18, 18); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/potion/PotionCurse.java b/src/main/java/biomesoplenty/common/potion/PotionCurse.java deleted file mode 100644 index d68cd5ae1..000000000 --- a/src/main/java/biomesoplenty/common/potion/PotionCurse.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.potion; - -import net.minecraft.entity.EntityLivingBase; - -public class PotionCurse extends BOPPotion -{ - public PotionCurse() - { - super(true, 0x04A5EA, 0, 0); - } - - @Override - public boolean isReady(int duration, int amplifier) - { - return duration >= 3; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/remote/TrailManager.java b/src/main/java/biomesoplenty/common/remote/TrailManager.java deleted file mode 100644 index 7f78b305a..000000000 --- a/src/main/java/biomesoplenty/common/remote/TrailManager.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.remote; - -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; -import java.util.HashMap; -import java.util.UUID; - -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.util.ResourceLocation; - -public class TrailManager -{ - private static final String REMOTE_TRAILS_FILE = "https://raw.githubusercontent.com/Glitchfiend/BiomesOPlenty/master/trails.txt"; - - public static HashMap trailsMap = new HashMap(); - public static HashMap trailTextures = new HashMap(); - - public static void retrieveTrails() - { - try - { - URL url = new URL(REMOTE_TRAILS_FILE); - HttpURLConnection connection = (HttpURLConnection)url.openConnection(); - connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)"); - connection.connect(); - - BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); - - String line; - - while ((line = reader.readLine()) != null) - { - if (line.startsWith("//") || line.isEmpty()) continue; - - String[] split = line.split(":"); - - trailsMap.put(UUID.fromString(split[0]), split[1]); - if (!trailTextures.containsKey(split[1])) trailTextures.put(split[1], null); - } - - reader.close(); - } - catch (Exception e) - { - BiomesOPlenty.logger.warn("There was an issue retrieving trail info from remote!"); - } - } - - public enum TrailVisibilityMode - { - ALL, OTHERS, NOBODY //TODO: Implement NOBODY mode - } -} diff --git a/src/main/java/biomesoplenty/common/util/BOPReflectionHelper.java b/src/main/java/biomesoplenty/common/util/BOPReflectionHelper.java deleted file mode 100644 index 7c5446e93..000000000 --- a/src/main/java/biomesoplenty/common/util/BOPReflectionHelper.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.util; - -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; - -import net.minecraftforge.fml.common.ObfuscationReflectionHelper; -import net.minecraftforge.fml.relauncher.ReflectionHelper; - -public class BOPReflectionHelper -{ - - // Construct an instance of the given class using the given parameters in the constructor - // Works on constructors which aren't usually accessible - public static T construct(Class clazz, Object... args) - { - Constructor constructor = getConstructor(clazz, args); - try { - constructor.setAccessible(true); - return constructor.newInstance(args); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - - public static Constructor getConstructor(Class clazz, Object... args) - { - int len = args.length; - for (Constructor constructor : clazz.getDeclaredConstructors()) - { - Class[] constructorArgTypes = constructor.getParameterTypes(); - if (constructorArgTypes.length == len) - { - boolean match = true; - for (int i = 0; i < len; i++) - { - if (!constructorArgTypes[i].isInstance(args[i])) - { - match = false; - } - } - if (match) - { - return (Constructor)constructor; - } - } - } - return null; - } - - - public static void setPrivateFinalValue(Class classToAccess, T instance, E value, String... fieldNames) - { - Field field = ReflectionHelper.findField(classToAccess, ObfuscationReflectionHelper.remapFieldNames(classToAccess.getName(), fieldNames)); - - try - { - Field modifiersField = Field.class.getDeclaredField("modifiers"); - modifiersField.setAccessible(true); - modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); - field.set(instance, value); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - -} diff --git a/src/main/java/biomesoplenty/common/util/NBTUtil.java b/src/main/java/biomesoplenty/common/util/NBTUtil.java deleted file mode 100644 index a0e94a150..000000000 --- a/src/main/java/biomesoplenty/common/util/NBTUtil.java +++ /dev/null @@ -1,26 +0,0 @@ -package biomesoplenty.common.util; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -public class NBTUtil -{ - /** - * Retrieve a stack's nbt data if it has any. If it doesn't, return a new - * compound. - */ - public static NBTTagCompound getOrCreateStackNBT(ItemStack stack) - { - if (stack == null) - throw new IllegalArgumentException("ItemStack cannot be null!"); - - if (!stack.hasTagCompound()) - { - NBTTagCompound stackCompound = new NBTTagCompound(); - stack.setTagCompound(stackCompound); - return stackCompound; - } - - return stack.getTagCompound(); - } -} diff --git a/src/main/java/biomesoplenty/common/util/biome/BiomeUtils.java b/src/main/java/biomesoplenty/common/util/biome/BiomeUtils.java deleted file mode 100644 index ce6462a25..000000000 --- a/src/main/java/biomesoplenty/common/util/biome/BiomeUtils.java +++ /dev/null @@ -1,121 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.util.biome; - -import java.util.List; - -import javax.annotation.Nullable; - -import com.google.common.base.Optional; -import com.google.common.collect.Sets; -import net.minecraft.world.gen.ChunkGeneratorSettings; -import net.minecraftforge.fml.client.FMLClientHandler; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.relauncher.Side; -import org.apache.commons.lang3.tuple.Pair; - -import com.google.common.base.Function; -import com.google.common.collect.Lists; - -import biomesoplenty.common.world.BOPWorldSettings; -import biomesoplenty.common.world.WorldTypeBOP; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeProvider; - -public class BiomeUtils -{ - public static int getBiomeSize(World world) - { - String generatorSettingsJson = world.getWorldInfo().getGeneratorOptions(); - if (world.getWorldType() instanceof WorldTypeBOP) - { - return (new BOPWorldSettings(generatorSettingsJson)).biomeSize.getValue(); - } - else - { - return ChunkGeneratorSettings.Factory.jsonToFactory(generatorSettingsJson).build().biomeSize; - } - } - - /**Use getRegistryName() instead**/ - @Deprecated - public static ResourceLocation getLocForBiome(Biome biome) - { - return Biome.REGISTRY.getNameForObject(biome); - } - - public static Biome getBiomeForLoc(ResourceLocation location) - { - return Biome.REGISTRY.getObject(location); - } - - private static final Function> MAPPING_FOR_LOCATION = new Function>() - { - @Nullable - @Override - public Pair apply(@Nullable ResourceLocation input) - { - return Pair.of(input, Biome.REGISTRY.getObject(input)); - } - }; - - public static List getRegisteredBiomes() - { - return Lists.newArrayList(Biome.REGISTRY.iterator()); - } - - public static BlockPos spiralOutwardsLookingForBiome(World world, Biome biomeToFind, double startX, double startZ) - { - int sampleSpacing = 4 << BiomeUtils.getBiomeSize(world); - int maxDist = sampleSpacing * 100; - return spiralOutwardsLookingForBiome(world, biomeToFind, startX, startZ, maxDist, sampleSpacing); - } - - public static List filterPresentBiomes(Optional... biomes) { return Lists.newArrayList(Optional.presentInstances(Sets.newHashSet(biomes)));} - - // sample points in an archimedean spiral starting from startX,startY each one sampleSpace apart - // stop when the specified biome is found (and return the position it was found at) or when we reach maxDistance (and return null) - public static BlockPos spiralOutwardsLookingForBiome(World world, Biome biomeToFind, double startX, double startZ, int maxDist, int sampleSpace) - { - - if (maxDist <= 0 || sampleSpace <= 0) {throw new IllegalArgumentException("maxDist and sampleSpace must be positive");} - BiomeProvider chunkManager = world.getBiomeProvider(); - double a = sampleSpace / Math.sqrt(Math.PI); - double b = 2 * Math.sqrt(Math.PI); - double x = 0; - double z = 0; - double dist = 0; - int n = 0; - String biomeName = FMLCommonHandler.instance().getSide() == Side.CLIENT ? biomeToFind.getBiomeName() : "biome"; - for (n = 0; dist < maxDist; ++n) - { - double rootN = Math.sqrt(n); - dist = a * rootN; - x = startX + (dist * Math.sin(b * rootN)); - z = startZ + (dist * Math.cos(b * rootN)); - // chunkManager.genBiomes is the first layer returned from initializeAllBiomeGenerators() - // chunkManager.biomeIndexLayer is the second layer returned from initializeAllBiomeGenerators(), it's zoomed twice from genBiomes (>> 2) this one is actual size - // chunkManager.getBiomeGenAt uses biomeIndexLayer to get the biome - Biome[] biomesAtSample = chunkManager.getBiomes(null, (int)x, (int)z, 1, 1, false); - if (biomesAtSample[0] == biomeToFind) - { - - BiomesOPlenty.logger.info("Found "+ biomeName +" after "+n+" samples, spaced "+sampleSpace+" blocks apart at ("+((int)x)+","+((int)z)+") distance "+((int)dist)); - return new BlockPos((int)x, 0, (int)z); - } - } - BiomesOPlenty.logger.info("Failed to find "+biomeName+" gave up after "+n+" samples, spaced "+sampleSpace+" blocks apart distance "+((int)dist)); - return null; - } - -} diff --git a/src/main/java/biomesoplenty/common/util/biome/GeneratorUtils.java b/src/main/java/biomesoplenty/common/util/biome/GeneratorUtils.java deleted file mode 100644 index d1c73a654..000000000 --- a/src/main/java/biomesoplenty/common/util/biome/GeneratorUtils.java +++ /dev/null @@ -1,150 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.util.biome; - -import java.util.Collection; -import java.util.Random; - -import biomesoplenty.common.util.block.BlockQuery; -import org.apache.commons.lang3.tuple.Pair; - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonObject; -import com.google.gson.JsonSyntaxException; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import net.minecraft.block.BlockLog; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorUtils -{ - public static Pair validateMinMaxHeight(int minHeight, int maxHeight) - { - if (maxHeight < minHeight) - { - //Swap min and max height so that max is higher than min - int prevMinHeight = minHeight; - minHeight = maxHeight; - maxHeight = prevMinHeight; - } - - return Pair.of(minHeight, maxHeight); - } - - public static int safeNextInt(Random random, int i) - { - if (i <= 1) return 0; - - return random.nextInt(i); - } - - // get a random number between 2 values (inclusive of end points) - public static int nextIntBetween(Random rand, int a, int b) - { - if (a == b) {return a;} - int min = a < b ? a : b; - int max = a > b ? a : b; - return min + rand.nextInt(1 + max - min); - } - - public static IBlockState deserializeStateNonNull(JsonObject json, String memberName, JsonDeserializationContext context) - { - IBlockState state = context.deserialize(json.get(memberName), IBlockState.class); - - if (state == null) - { - throw new JsonSyntaxException("Property " + memberName + " doesn't exist"); - } - - return state; - } - - public static BlockPos getFirstBlockMatching(World world, BlockPos startPos, IBlockPosQuery query) - { - for (BlockPos pos = startPos; pos.getY() > 0; pos = pos.down()) - { - if (query.matches(world, pos)) - { - return pos; - } - } - return null; - } - - public enum ScatterYMethod - { - ANYWHERE, NETHER_SURFACE, NETHER_ROOF, AT_SURFACE, AT_GROUND, BELOW_SURFACE, BELOW_GROUND, ABOVE_SURFACE, ABOVE_GROUND; - public BlockPos getBlockPos(World world, Random random, int x, int z) - { - int tempY; - BlockPos pos; - switch(this) - { - case AT_SURFACE: - // always at the 'surface level' - to be precise, the air block directly above land or sea - pos = getFirstBlockMatching(world, new BlockPos(x, 255, z), BlockQueries.surfaceBlocks); - return (pos == null ? new BlockPos(x, 1, z) : pos.up()); - case AT_GROUND: - // always at the 'ground level' - the air or water block directly above the land, or the bottom of the sea bed - pos = getFirstBlockMatching(world, new BlockPos(x, 255, z), BlockQueries.groundBlocks); - return (pos == null ? new BlockPos(x, 1, z) : pos.up()); - case BELOW_SURFACE: - // random point below surface (but possibly in the sea) - tempY = world.getHeight(new BlockPos(x, 0, z)).getY(); - return new BlockPos(x, nextIntBetween(random, 1, tempY - 1), z); - case BELOW_GROUND: - // random point below ground (and below sea) - tempY = world.getTopSolidOrLiquidBlock(new BlockPos(x, 0, z)).getY(); - return new BlockPos(x, nextIntBetween(random, 1, tempY - 1), z); - case ABOVE_SURFACE: - // random point above surface (amd above the sea) - tempY = world.getHeight(new BlockPos(x, 0, z)).getY(); - return new BlockPos(x, GeneratorUtils.nextIntBetween(random, tempY, 255), z); - case ABOVE_GROUND: - // random point above ground (but possibly in the sea) - tempY = world.getTopSolidOrLiquidBlock(new BlockPos(x, 0, z)).getY(); - return new BlockPos(x, GeneratorUtils.nextIntBetween(random, tempY, 255), z); - case NETHER_SURFACE: - // random point above the nether surface - tempY = world.getHeight(new BlockPos(x, 0, z)).getY(); - pos = getFirstBlockMatching(world, new BlockPos(x, nextIntBetween(random, 1, 122), z), BlockQuery.buildAnd().add(BlockQueries.solid).withAirAbove().create()); - return (pos == null ? new BlockPos(x, 1, z) : pos.up()); - case NETHER_ROOF: - // random point above the nether surface - tempY = world.getHeight(new BlockPos(x, 0, z)).getY(); - pos = getFirstBlockMatching(world, new BlockPos(x, nextIntBetween(random, 1, 122), z), BlockQuery.buildAnd().add(BlockQueries.solid).withAirBelow().create()); - return (pos == null ? new BlockPos(x, 1, z) : pos.down()); - case ANYWHERE: default: - // random y coord - return new BlockPos(x, nextIntBetween(random, 1, 255), z); - } - } - } - - - // Given a blockstate for some block which has an axis orientation (such as logs), try to determine the axis property - public static IProperty getAxisProperty(IBlockState log) - { - for (Object property : log.getProperties().keySet()) - { - Collection allowedValues = ((IProperty)property).getAllowedValues(); - if (allowedValues.contains(BlockLog.EnumAxis.X) && allowedValues.contains(BlockLog.EnumAxis.Y) && allowedValues.contains(BlockLog.EnumAxis.Z)) - { - return(IProperty)property; - } - } - return null; - } - - -} diff --git a/src/main/java/biomesoplenty/common/util/block/BlockQuery.java b/src/main/java/biomesoplenty/common/util/block/BlockQuery.java deleted file mode 100644 index a9a0df480..000000000 --- a/src/main/java/biomesoplenty/common/util/block/BlockQuery.java +++ /dev/null @@ -1,607 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.util.block; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.block.ISustainsPlantType; -import net.minecraft.block.Block; -import net.minecraft.block.BlockLiquid; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; - -public class BlockQuery -{ - // for compound queries - public interface ICompoundBlockPosQuery extends IBlockPosQuery - { - void add(IBlockPosQuery a); - IBlockPosQuery instance(); - } - - // for queries which depend only on the block state, and not on it's neighbors or position in the world - public interface IBlockQuery extends IBlockPosQuery - { - boolean matches(IBlockState state); - } - - - - /***** Builder *****/ - - public static class CompoundQueryBuilder - { - private ICompoundBlockPosQuery query; - - public CompoundQueryBuilder(ICompoundBlockPosQuery query) - { - this.query = query; - } - - public CompoundQueryBuilder add(IBlockPosQuery a) - { - query.add(a); - return this; - } - - public CompoundQueryBuilder blocks(Block... blocks) {return this.add(new BlockQueryBlock(blocks));} - public CompoundQueryBuilder states(IBlockState... states) {return this.add(new BlockQueryState(states));} - public CompoundQueryBuilder blockClass(Class clazz) {return this.add(new BlockQueryClass(clazz));} - public CompoundQueryBuilder materials(Material... materials) {return this.add(new BlockQueryMaterial(materials));} - public CompoundQueryBuilder withProperty(String propName, String... propValues) {return this.add(new BlockQueryProperty(propName, propValues));} - - public CompoundQueryBuilder not(IBlockPosQuery query) {return this.add(new BlockPosQueryNot(query));} - public CompoundQueryBuilder notBlocks(Block... blocks) {return this.not(new BlockQueryBlock(blocks));} - public CompoundQueryBuilder notStates(IBlockState... states) {return this.not(new BlockQueryState(states));} - public CompoundQueryBuilder notBlockClass(Class clazz) {return this.not(new BlockQueryClass(clazz));} - public CompoundQueryBuilder notMaterial(Material... materials) {return this.not(new BlockQueryMaterial(materials));} - public CompoundQueryBuilder notWithProperty(String propName, String... propValues) {return this.not(new BlockQueryProperty(propName, propValues));} - - public CompoundQueryBuilder withAltitudeBetween(int a, int b) {return this.add(new BlockPosQueryAltitude(a,b));} - public CompoundQueryBuilder byWater() {return this.add(BlockQueries.hasWater);} - public CompoundQueryBuilder withAirAbove() {return this.add(BlockQueries.airAbove);} - public CompoundQueryBuilder withAirBelow() {return this.add(BlockQueries.airBelow);} - public CompoundQueryBuilder withLightAboveAtLeast(int a) {return this.add(new BlockPosQueryLightAboveAtLeast(a));} - public CompoundQueryBuilder withLightAboveNoMoreThan(int a) {return this.add(new BlockPosQueryLightAboveNoMoreThan(a));} - public CompoundQueryBuilder sustainsPlant(EnumPlantType plantType) {return this.add(new BlockPosQuerySustainsPlantType(plantType));} - - - public IBlockPosQuery create() {return this.query.instance();} - - } - - public static CompoundQueryBuilder buildAnd() {return new CompoundQueryBuilder(new BlockPosQueryAnd());} - public static CompoundQueryBuilder buildOr() {return new CompoundQueryBuilder(new BlockPosQueryOr());} - - - - - - - /***** Some handy reusable queries *****/ - - - // match any position - public static IBlockPosQuery anything = new IBlockPosQuery() - { - @Override - public boolean matches(World world, BlockPos pos) { - return true; - } - }; - - // match no positions - public static IBlockPosQuery nothing = new IBlockPosQuery() - { - @Override - public boolean matches(World world, BlockPos pos) { - return false; - } - }; - - - - /***** Compound Queries *****/ - - - // Match a block pos if any of the children match - public static class BlockPosQueryOr implements ICompoundBlockPosQuery - { - private ArrayList children; - public BlockPosQueryOr(IBlockPosQuery... children) - { - this.children = new ArrayList(Arrays.asList(children)); - } - @Override - public boolean matches(World world, BlockPos pos) - { - for (IBlockPosQuery child : this.children) - { - if (child.matches(world, pos)) - { - return true; - } - } - return false; - } - @Override - public void add(IBlockPosQuery child) - { - if (child != null) {this.children.add(child);} - } - @Override - public IBlockPosQuery instance() - { - return this.children.size() == 0 ? anything : (this.children.size() == 1 ? this.children.get(0) : this); - } - } - - // Match a block pos if all of the children match - public static class BlockPosQueryAnd implements ICompoundBlockPosQuery - { - private ArrayList children; - public BlockPosQueryAnd(IBlockPosQuery... children) - { - this.children = new ArrayList(Arrays.asList(children)); - } - @Override - public boolean matches(World world, BlockPos pos) - { - for (IBlockPosQuery child : this.children) - { - if (!child.matches(world, pos)) - { - return false; - } - } - return true; - } - @Override - public void add(IBlockPosQuery child) - { - if (child != null) {this.children.add(child);} - } - @Override - public IBlockPosQuery instance() - { - return this.children.size() == 0 ? anything : (this.children.size() == 1 ? this.children.get(0) : this); - } - } - - - - - /***** Other queries *****/ - - - // Match a block pos if the child does not match - public static class BlockPosQueryNot implements IBlockPosQuery - { - IBlockPosQuery child; - public BlockPosQueryNot(IBlockPosQuery child) - { - this.child = child; - } - @Override - public boolean matches(World world, BlockPos pos) - { - return !this.child.matches(world, pos); - } - } - - - // Match block positions in a height range - public static class BlockPosQueryAltitude implements IBlockPosQuery - { - public int minHeight; - public int maxHeight; - - public BlockPosQueryAltitude(int minHeight, int maxHeight) - { - this.minHeight = minHeight; - this.maxHeight = maxHeight; - } - - @Override - public boolean matches(World world, BlockPos pos) - { - return pos.getY() >= this.minHeight && pos.getY() <= this.maxHeight; - } - } - - // Match block positions based on light level (of block above) - public static class BlockPosQueryLightAboveAtLeast implements IBlockPosQuery - { - public int level; - - public BlockPosQueryLightAboveAtLeast(int level) - { - this.level = level; - } - - @Override - public boolean matches(World world, BlockPos pos) - { - return world.getLight(pos.up()) >= this.level || world.canSeeSky(pos.up()); - } - } - public static class BlockPosQueryLightAboveNoMoreThan implements IBlockPosQuery - { - public int level; - - public BlockPosQueryLightAboveNoMoreThan(int level) - { - this.level = level; - } - - @Override - public boolean matches(World world, BlockPos pos) - { - return world.getLight(pos.up()) <= this.level; - } - } - - // Match blocks which can sustain the given forge EnumPlantType plant type - public static class BlockPosQuerySustainsPlantType implements IBlockPosQuery - { - private EnumPlantType plantType; - public BlockPosQuerySustainsPlantType(EnumPlantType plantType) - { - this.plantType = plantType; - } - @Override - public boolean matches(World world, BlockPos pos) - { - IBlockState state = world.getBlockState(pos); - Block block = state.getBlock(); - - if (block instanceof ISustainsPlantType) - { - // If there's a function specifically available for it, then use it - return ((ISustainsPlantType)block).canSustainPlantType(world, pos, this.plantType); - } - else - { - // Otherwise fall back to the vanilla code - switch (this.plantType) - { - case Desert: return block == Blocks.SAND || block == Blocks.HARDENED_CLAY || block == Blocks.STAINED_HARDENED_CLAY || block == Blocks.DIRT || block == BOPBlocks.dirt || block == BOPBlocks.white_sand; - case Nether: return block == Blocks.SOUL_SAND || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK); - case Crop: return block == Blocks.FARMLAND || block == BOPBlocks.farmland_0 || block == BOPBlocks.farmland_1; - case Cave: return block.isSideSolid(state, world, pos, EnumFacing.UP); - case Plains: return block == Blocks.GRASS || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.DAISY) || block == Blocks.DIRT || block == BOPBlocks.dirt || block == Blocks.FARMLAND || block == BOPBlocks.farmland_0 || block == BOPBlocks.farmland_1 || block == Blocks.MYCELIUM; - case Water: return state.getMaterial() == Material.WATER && state.getValue(BlockLiquid.LEVEL) == 0; - case Beach: - boolean isBeach = block == Blocks.GRASS || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.DAISY) || block == Blocks.DIRT || block == BOPBlocks.dirt || block == BOPBlocks.white_sand || block == Blocks.SAND || block == Blocks.MYCELIUM; - boolean hasWater = (world.getBlockState(pos.east()).getMaterial() == Material.WATER || - world.getBlockState(pos.west()).getMaterial() == Material.WATER || - world.getBlockState(pos.north()).getMaterial() == Material.WATER || - world.getBlockState(pos.south()).getMaterial() == Material.WATER); - return isBeach && hasWater; - } - return false; - } - } - } - - - public static abstract class BlockQueryBase implements IBlockQuery - { - @Override - public boolean matches(World world, BlockPos pos) - { - return this.matches(world.getBlockState(pos)); - } - } - - // Match a block if the child does not match - public static class BlockQueryNot extends BlockQueryBase - { - IBlockQuery child; - public BlockQueryNot(IBlockQuery child) - { - this.child = child; - } - @Override - public boolean matches(IBlockState state) - { - return !this.child.matches(state); - } - } - - // Match against a set of block instances - public static class BlockQueryBlock extends BlockQueryBase - { - private Set blocks; - - public BlockQueryBlock(Block... blocks) - { - this.blocks = Sets.newHashSet(blocks); - } - - @Override - public boolean matches(IBlockState state) - { - return this.blocks.contains(state.getBlock()); - } - - public static IBlockQuery of(String blockName, boolean negated) throws BlockQueryParseException - { - Block block = Block.getBlockFromName(blockName); - if (block == null) - { - throw new BlockQueryParseException("No block called "+blockName); - } else { - IBlockQuery bm = new BlockQueryBlock(block); - return negated ? new BlockQueryNot(bm) : bm; - } - } - } - - // Match against a set of block state instances - public static class BlockQueryState extends BlockQueryBase - { - private Set states; - - public BlockQueryState(IBlockState... states) - { - this.states = Sets.newHashSet(states); - } - - @Override - public boolean matches(IBlockState state) - { - return this.states.contains(state); - } - } - - // Match against a set of block class - public static class BlockQueryClass extends BlockQueryBase - { - public static String[] packages = {"","biomesoplenty.common.block.","net.minecraft.block."}; - - private Class clazz; - private boolean strict; - - public BlockQueryClass(Class clazz) - { - this(clazz, false); - } - - public BlockQueryClass(Class clazz, boolean strict) - { - this.clazz = clazz; - this.strict = strict; - } - - @Override - public boolean matches(IBlockState state) - { - return strict ? (state.getBlock().getClass() == this.clazz) : this.clazz.isInstance(state.getBlock()); - } - - public static IBlockQuery of(String className, boolean negated, boolean strict) throws BlockQueryParseException - { - Class clazz; - for (String packageName : packages) - { - try { - clazz = Class.forName(packageName+className); - } catch (Exception e) { - continue; - } - if (Block.class.isAssignableFrom(clazz)) - { - IBlockQuery bm = new BlockQueryClass(clazz, strict); - return negated ? new BlockQueryNot(bm) : bm; - } - } - throw new BlockQueryParseException("No class found extending from Block called "+className); - } - } - - // Match against a state property value - public static class BlockQueryProperty extends BlockQueryBase - { - private static Pattern propertyNameValueRegex = Pattern.compile("^\\s*((\\w+)\\s*=\\s*)?([\\w\\|]+)\\s*$"); - - private String propName; - private String[] propValues; - - public BlockQueryProperty(String propName, String... propValues) - { - this.propName = propName; - this.propValues = propValues; - } - - @Override - public boolean matches(IBlockState state) - { - ImmutableMap properties = state.getProperties(); - for (Object property : properties.keySet()) - { - if (((IProperty)property).getName().equalsIgnoreCase(this.propName)) - { - String thisPropValue = properties.get(property).toString(); - for (String value : this.propValues) - { - if (thisPropValue.equalsIgnoreCase(value)) - { - return true; - } - } - return false; - } - } - return false; - } - - public static IBlockQuery of(String nameValuePair, boolean negated) throws BlockQueryParseException - { - Matcher m = propertyNameValueRegex.matcher(nameValuePair); - if (!m.find()) - { - throw new BlockQueryParseException("Syntax error in "+nameValuePair); - } - String propName = m.group(2); - String[] propValues = m.group(3).split("\\|"); - if (propName == null) {propName = "variant";} - IBlockQuery bm = new BlockQueryProperty(propName, propValues); - return negated ? new BlockQueryNot(bm) : bm; - } - } - - // Match against a set of block materials - public static class BlockQueryMaterial extends BlockQueryBase - { - private Set materials; - public BlockQueryMaterial(Material... materials) - { - this.materials = Sets.newHashSet(materials); - } - @Override - public boolean matches(IBlockState state) - { - return this.materials.contains(state.getMaterial()); - } - - public static IBlockQuery of(String materialName, boolean negated) throws BlockQueryParseException - { - try { - Field f = Material.class.getField(materialName); - Object mat = f.get(null); - if (mat instanceof Material) - { - IBlockQuery bm = new BlockQueryMaterial((Material)mat); - return negated ? new BlockQueryNot(bm) : bm; - } - } catch (Exception e) { - } - throw new BlockQueryParseException("No block material found called "+materialName); - } - } - - - - - - /***** Parsing from a string *****/ - - public static class BlockQueryParseException extends Exception - { - public BlockQueryParseException(String message) - { - super(message); - } - } - - public static final Map predefined = new HashMap(); - - // regular expression to match a token in a block query - eg 'sand' '%BlockBOPLeaves' '[facing=up]' etc - private static Pattern nextTokenRegex = Pattern.compile("^(!?([\\w:]+|\\%\\w+|\\$\\w+|~\\w+|\\[.+\\]|@\\w+))"); - // regular expression for splitting up a comma delimited list - private static Pattern commaDelimitRegex = Pattern.compile("\\s*,\\s*"); - - // parse the given block query string and return the equivalent IBlockQuery object - public static IBlockPosQuery parseQueryString(String spec) throws BlockQueryParseException - { - BlockPosQueryOr bmAny = new BlockPosQueryOr(); - String[] subspecs = commaDelimitRegex.split(spec); - for (String subspec : subspecs) - { - bmAny.add( parseQueryStringSingle(subspec) ); - } - return bmAny.instance(); - } - - - private static IBlockPosQuery parseQueryStringSingle(String spec) throws BlockQueryParseException - { - BlockPosQueryAnd bmAll = new BlockPosQueryAnd(); - - Matcher m = nextTokenRegex.matcher(spec); - while (spec.length() > 0) - { - - m = nextTokenRegex.matcher(spec); - if (!m.find()) - { - throw new BlockQueryParseException("Syntax error in "+spec); - } - String token = m.group(0); - spec = spec.substring(token.length()); - - boolean negated = false; - if (token.charAt(0) == '!') - { - negated = true; - token = token.substring(1); - } - - if (token.charAt(0) == '%') - { - bmAll.add( BlockQueryClass.of(token.substring(1), negated, false) ); - } - else if (token.charAt(0) == '$') - { - bmAll.add( BlockQueryClass.of(token.substring(1), negated, true) ); - } - else if (token.charAt(0) == '~') - { - bmAll.add( BlockQueryMaterial.of(token.substring(1), negated) ); - } - else if (token.charAt(0)=='[') - { - String[] subtokens = commaDelimitRegex.split(token.substring(1, token.length() - 1)); - for (String subtoken : subtokens) - { - bmAll.add( BlockQueryProperty.of(subtoken, negated) ); - } - } - else if (token.charAt(0) == '@') - { - IBlockPosQuery bm = predefined.get(token.substring(1)); - if (bm == null) - { - throw new BlockQueryParseException("No predefined query named " + token.substring(1)); - } - bmAll.add( negated ? new BlockPosQueryNot(bm) : bm ); - } - else - { - bmAll.add( BlockQueryBlock.of(token, negated) ); - } - } - - return bmAll.instance(); - - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/util/block/BlockStateUtils.java b/src/main/java/biomesoplenty/common/util/block/BlockStateUtils.java deleted file mode 100644 index ee711c322..000000000 --- a/src/main/java/biomesoplenty/common/util/block/BlockStateUtils.java +++ /dev/null @@ -1,170 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.util.block; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map.Entry; -import java.util.Stack; - -import com.google.common.collect.ImmutableSet; - -import biomesoplenty.common.block.IBOPBlock; -import net.minecraft.block.Block; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; - -public class BlockStateUtils -{ - - // utility function for dumping block state info to a string - public static String getStateInfoAsString(IBlockState state) - { - String desc = state.getBlock().getClass().getName() + "["; - Iterator it = state.getProperties().entrySet().iterator(); - boolean first = true; - while (it.hasNext()) - { - if (!first) {desc = desc + ",";} - Entry entry = (Entry)it.next(); - IProperty iproperty = (IProperty)entry.getKey(); - Comparable comparable = (Comparable)entry.getValue(); - desc = desc + iproperty.getName() + "=" + iproperty.getName(comparable); - first = false; - } - desc = desc + "]"; - return desc; - } - - - // returns a set of states, one for every possible combination of values from the provided properties - public static ImmutableSet getStatesSet(IBlockState baseState, IProperty... properties) - { - Stack propStack = new Stack(); - List states = new ArrayList(); - for (IProperty prop : properties) {propStack.push(prop);} - if (!propStack.isEmpty()) - { - addStatesToList(baseState, states, propStack); - } - ImmutableSet ret = ImmutableSet.copyOf(states); - return ret; - } - - // recursively add state values to a list - private static void addStatesToList(IBlockState state, List list, Stack stack) - { - if (stack.empty()) - { - list.add(state); - return; - } - else - { - IProperty prop = stack.pop(); - for (Object value : prop.getAllowedValues()) - { - addStatesToList(state.withProperty(prop, (Comparable)value), list, stack); - } - stack.push(prop); - } - } - - // return all of the different 'preset' variants of a block - // works by looping through all the different values of the properties specified in block.getPresetProperties() - // only works on blocks supporting IBOPBlock - returns an empty set for vanilla blocks - public static ImmutableSet getBlockPresets(Block block) - { - if (!(block instanceof IBOPBlock)) {return ImmutableSet.of();} - IBlockState defaultState = block.getDefaultState(); - if (defaultState == null) {defaultState = block.getBlockState().getBaseState();} - return getStatesSet(defaultState, ((IBOPBlock)block).getPresetProperties()); - } - - /**Discards additional block information to retrieve a state equivalent to those in the inventory**/ - public static IBlockState getPresetState(IBlockState state) - { - IBlockState outState = state.getBlock().getDefaultState(); - - if (state.getBlock() instanceof IBOPBlock) - { - IBOPBlock bopBlock = (IBOPBlock)state.getBlock(); - - for (IProperty property : bopBlock.getPresetProperties()) - { - outState = outState.withProperty(property, state.getValue(property)); - } - } - - return outState; - } - - /* no use for this yet - but left here because it might be useful later - * - public static Map getStatesSetNamed(IBlockState baseState, IProperty... properties) - { - Stack propStack = new Stack(); - Map states = new HashMap(); - for (IProperty prop : properties) {propStack.push(prop);} - AddStatesToMap(baseState, states, propStack); - return states; - } - - private static void AddStatesToMap(IBlockState state, Map map, Stack stack) - { - if (stack.empty()) - { - map.put(state.getBlock().getStateName(state), state); - return; - } - else - { - IProperty prop = stack.pop(); - for (Object value : prop.getAllowedValues()) - { - AddStatesToMap(state.withProperty(prop, (Comparable)value), map, stack); - } - stack.push(prop); - } - } - */ - - - - - public static IProperty getPropertyByName(IBlockState blockState, String propertyName) - { - for (IProperty property : blockState.getProperties().keySet()) - { - if (property.getName().equals(propertyName)) - return property; - } - - return null; - } - - public static boolean isValidPropertyName(IBlockState blockState, String propertyName) - { - return getPropertyByName(blockState, propertyName) != null; - } - - public static Comparable getPropertyValueByName(IBlockState blockState, IProperty property, String valueName) - { - for (Comparable value : (ImmutableSet) property.getAllowedValues()) - { - if (value.toString().equals(valueName)) - return value; - } - - return null; - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/util/block/VariantPagingHelper.java b/src/main/java/biomesoplenty/common/util/block/VariantPagingHelper.java deleted file mode 100644 index 52b0474ca..000000000 --- a/src/main/java/biomesoplenty/common/util/block/VariantPagingHelper.java +++ /dev/null @@ -1,176 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.util.block; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; - -import biomesoplenty.api.enums.IPagedVariants; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; - -import net.minecraft.block.Block; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.IBlockState; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IStringSerializable; - - -public class VariantPagingHelper & IStringSerializable & IPagedVariants> -{ - - public class PageIndex - { - private int pageNum; - private int index; - public PageIndex(int pageNum, int index) - { - this.pageNum = pageNum; - this.index = index; - } - public int getPageNum() - { - return this.pageNum; - } - public int getIndex() - { - return this.index; - } - @Override - public String toString() - { - return "page:"+this.pageNum+" index:"+this.index; - } - } - - protected int variantsPerPage; - protected Class variantsEnumClass; - protected Map pageNumToProperty = new HashMap(); - protected Map variantToPageIndex = new HashMap(); - protected Map masterIndexToVariant = new HashMap(); - protected Map pageNumToBlock = new HashMap(); - protected Map blockToPageNum = new HashMap(); - - public VariantPagingHelper(int variantsPerPage, Class variantsEnumClass) - { - this(variantsPerPage, variantsEnumClass, Predicates.alwaysTrue()); - } - - public VariantPagingHelper(int variantsPerPage, Class variantsEnumClass, Predicate filter) - { - - this.variantsPerPage = variantsPerPage; - this.variantsEnumClass = variantsEnumClass; - - Object[] variants = variantsEnumClass.getEnumConstants(); - if (variants == null) { throw new IllegalArgumentException("Failed creating PagedBlock - variantsEnumClass has no enum constants - is it an enum class?"); } - - ArrayList currentPage = new ArrayList(); - int currentPageNum = 0; - int index = 0; - - for (Object obj : variants) - { - V variant = (V)obj; - if (!filter.apply(variant)) {continue;} - currentPage.add(variant); - if (currentPage.size() == variantsPerPage) - { - this.addVariantPage(currentPageNum, currentPage); - currentPage = new ArrayList(); - currentPageNum++; - } - } - if (!currentPage.isEmpty()) - { - this.addVariantPage(currentPageNum, currentPage); - } - - } - - protected void addVariantPage(int pageNum, ArrayList variants) - { - for (int index = 0; index < variants.size(); ++index) - { - V variant = variants.get(index); - this.variantToPageIndex.put(variant, new PageIndex(pageNum, index)); - this.masterIndexToVariant.put(Integer.valueOf(pageNum * this.variantsPerPage + index), variant); - } - this.pageNumToProperty.put(Integer.valueOf(pageNum), PropertyEnum.create("variant", this.variantsEnumClass, variants)); - } - - public void addBlock(int pageNum, B block) - { - this.pageNumToBlock.put(pageNum, block); - this.blockToPageNum.put(block, pageNum); - } - - - public int getVariantsPerPage() - { - return this.variantsPerPage; - } - public int getNumPages() - { - return this.pageNumToProperty.size(); - } - public PropertyEnum getVariantProperty(int pageNum) - { - return this.pageNumToProperty.get(pageNum); - } - public int getIndex(V variant) - { - return this.variantToPageIndex.get(variant).getIndex(); - } - public int getPageNum(V variant) - { - return this.variantToPageIndex.get(variant).getPageNum(); - } - public int getPageNum(B block) - { - return this.blockToPageNum.get(block); - } - public V getVariant(int pageNum, int index) - { - V value = this.masterIndexToVariant.get(pageNum * this.variantsPerPage + index); - - //Use the default value if we can't find one for this index - if (value == null) - value = (V)this.getBlock(pageNum).getDefaultState().getValue(this.getVariantProperty(pageNum)); - - return value; - } - public V getVariant(B block, int index) - { - return this.getVariant(this.getPageNum(block), index); - } - public B getBlock(int pageNum) - { - return this.pageNumToBlock.get(pageNum); - } - public B getBlock(V variant) - { - return this.pageNumToBlock.get(this.getPageNum(variant)); - } - public IBlockState getVariantState(V variant) - { - return this.getBlock(variant).getDefaultState().withProperty(this.getVariantProperty(this.getPageNum(variant)), variant); - } - public ItemStack getVariantItem(V variant) - { - return this.getVariantItem(variant, 1); - } - public ItemStack getVariantItem(V variant, int howMany) - { - return new ItemStack(this.getBlock(variant), howMany, this.getBlock(variant).getMetaFromState(this.getVariantState(variant))); - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/util/config/BOPConfig.java b/src/main/java/biomesoplenty/common/util/config/BOPConfig.java deleted file mode 100644 index 4f979bb91..000000000 --- a/src/main/java/biomesoplenty/common/util/config/BOPConfig.java +++ /dev/null @@ -1,689 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.util.config; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; - -import com.google.common.collect.Maps; -import com.google.gson.*; -import org.apache.commons.io.FileUtils; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockStateUtils; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.block.Block; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.ResourceLocation; - -public class BOPConfig -{ - - public static Gson serializer = new GsonBuilder().setPrettyPrinting().create(); - public static JsonParser parser = new JsonParser(); - private enum Types {BOOLEAN, STRING, INTEGER, FLOAT, BLOCKSTATE, BLOCKPOSQUERY, RESOURCELOCATION} - - public static boolean writeFile(File outputFile, Object obj) - { - try { - FileUtils.write(outputFile, serializer.toJson(obj)); - return true; - } catch (Exception e) { - BiomesOPlenty.logger.error("Error writing config file " + outputFile.getAbsolutePath() + ": " + e.getMessage()); - return false; - } - } - - // Abstract base class for a config object - public static abstract class ConfigObjBase implements IConfigObj - { - protected Map members; - protected Map defaults; - protected Map childObjs; - protected List messages = new ArrayList(); - protected String prefix = ""; - protected boolean warnIfDefault; - - private ConfigObjBase(boolean warnIfDefault) - { - this.defaults = Maps.newHashMap(); - this.childObjs = Maps.newHashMap(); - this.warnIfDefault = warnIfDefault; - } - - public void parse(String jsonString) - { - this.members = new HashMap(); - if (jsonString == null) {return;} - JsonElement rootElement = null; - try - { - rootElement = parser.parse(jsonString); - if (rootElement != null) - { - if (rootElement.isJsonObject()) - { - for (Entry entry : rootElement.getAsJsonObject().entrySet()) - { - this.members.put(entry.getKey(), entry.getValue()); - } - } else { - this.addMessage("Error parsing config: not a JSON object"); - } - } - } catch (Exception e) { - this.addMessage("Error parsing config: "+e.getMessage()); - } - } - - @Override - public JsonElement serializeDefaults() - { - if (this.defaults.isEmpty()) - { - this.addMessage("No defaults found!"); - } - - // add top-level properties - JsonObject rootObject = new JsonObject(); - for (Entry entry : defaults.entrySet()) - { - rootObject.add(entry.getKey(), entry.getValue()); - } - - // serialize children - for (Entry entry : this.childObjs.entrySet()) - { - rootObject.add(entry.getKey(), entry.getValue().serializeDefaults()); - } - - return rootObject; - } - - @Override - public void addMessage(String message) - { - this.messages.add(this.prefix + ": " + message); - } - @Override - public void addMessage(String extraPrefix, String message) - { - this.messages.add(this.prefix + "." + extraPrefix + ": " + message); - } - @Override - public List flushMessages() - { - ArrayList out = new ArrayList(this.messages); - this.messages.clear(); - return out; - } - @Override - public boolean isEmpty() - { - return this.members == null || this.members.isEmpty(); - } - @Override - public boolean has(String name) - { - return this.members != null && this.members.containsKey(name); - } - @Override - public Set getKeys() - { - return this.members.keySet(); - } - - @Override - public IConfigObj getObject(String name) - { - return this.getObject(name, false); - } - @Override - public IConfigObj getObject(String name, boolean warnIfMissing) - { - JsonObject obj = new JsonObject(); - - // attempt to return cached child first - if (this.childObjs.containsKey(name)) - { - return this.childObjs.get(name); - } - - // check if the object exists and read it if it does - if (!this.has(name)) - { - if (warnIfMissing) - { - this.addMessage(name, "Error - missing value"); - } - } - else - { - try - { - obj = this.members.get(name).getAsJsonObject(); - } catch (Exception e) { - this.addMessage("Error fetching object " + name + ": " + e.getMessage()); - } - } - - ConfigChildObj childObj = new ConfigChildObj(this.prefix + "." + name, obj, this.warnIfDefault); - // store the child for later serialization - this.childObjs.put(name, childObj); - return childObj; - } - - @Override - public ArrayList getObjectArray(String name) - { - return this.getObjectArray(name, false); - } - @Override - public ArrayList getObjectArray(String name, boolean warnIfMissing) - { - if (!this.has(name)) - { - if (warnIfMissing) - { - this.addMessage(name, "Error - missing value"); - } - return null; - } - ArrayList list = new ArrayList(); - try - { - JsonArray arr = this.members.get(name).getAsJsonArray(); - for (int i = 0; i < arr.size(); i++) - { - try - { - JsonObject obj = arr.get(i).getAsJsonObject(); - if (obj != null) {list.add( new ConfigChildObj(this.prefix + "." + name + "." + i, obj) );} - } catch (Exception e) { - this.addMessage("Error fetching object from array " + name + " at index " + i + ": " + e.getMessage()); - } - } - } catch (Exception e) { - this.addMessage("Error fetching object array " + name + ": " + e.getMessage()); - return null; - } - return list; - } - - - // Implement the simple getter methods - - @Override - public Boolean getBool(String name, Boolean defaultVal) {return this.get(name, defaultVal, false, Types.BOOLEAN);} - @Override - public String getString(String name, String defaultVal) {return this.get(name, defaultVal, false, Types.STRING);} - @Override - public Integer getInt(String name, Integer defaultVal) {return this.get(name, defaultVal, false, Types.INTEGER);} - @Override - public Float getFloat(String name, Float defaultVal) {return this.get(name, defaultVal, false, Types.FLOAT);} - @Override - public IBlockState getBlockState(String name, IBlockState defaultVal) {return this.get(name, defaultVal, false, Types.BLOCKSTATE);} - @Override - public IBlockPosQuery getBlockPosQuery(String name, IBlockPosQuery defaultVal) {return this.get(name, defaultVal, false, Types.BLOCKPOSQUERY);} - @Override - public ResourceLocation getResourceLocation(String name, ResourceLocation defaultVal) {return this.get(name, defaultVal, false, Types.RESOURCELOCATION);} - @Override - public E getEnum(String name, E defaultVal, Class clazz) {return this.getEnum(name, defaultVal, false, clazz);} - - @Override - public Boolean getBool(String name) {return this.get(name, null, true, Types.BOOLEAN);} - @Override - public String getString(String name) {return this.get(name, null, true, Types.STRING);} - @Override - public Integer getInt(String name) {return this.get(name, null, true, Types.INTEGER);} - @Override - public Float getFloat(String name) {return this.get(name, null, true, Types.FLOAT);} - @Override - public IBlockState getBlockState(String name) {return this.get(name, null, true, Types.BLOCKSTATE);} - @Override - public IBlockPosQuery getBlockPosQuery(String name) {return this.get(name, null, true, Types.BLOCKPOSQUERY);} - @Override - public ResourceLocation getResourceLocation(String name) {return this.get(name, null, true, Types.RESOURCELOCATION);} - @Override - public E getEnum(String name, Class clazz) {return this.getEnum(name, null, true, clazz);} - - @Override - public ArrayList getBoolArray(String name, ArrayList defaultVal) {return this.getArray(name, defaultVal, false, Types.BOOLEAN);} - @Override - public ArrayList getStringArray(String name, ArrayList defaultVal) {return this.getArray(name, defaultVal, false, Types.STRING);} - @Override - public ArrayList getIntArray(String name, ArrayList defaultVal) {return this.getArray(name, defaultVal, false, Types.INTEGER);} - @Override - public ArrayList getFloatArray(String name, ArrayList defaultVal) {return this.getArray(name, defaultVal, false, Types.FLOAT);} - @Override - public ArrayList getBlockStateArray(String name, ArrayList defaultVal) {return this.getArray(name, defaultVal, false, Types.BLOCKSTATE);} - @Override - public ArrayList getBlockPosQueryArray(String name, ArrayList defaultVal) {return this.getArray(name, defaultVal, false, Types.BLOCKPOSQUERY);} - @Override - public ArrayList getResourceLocationArray(String name, ArrayList defaultVal) {return this.getArray(name, defaultVal, false, Types.RESOURCELOCATION);} - @Override - public ArrayList getEnumArray(String name, ArrayList defaultVal, Class clazz) {return this.getEnumArray(name, defaultVal, false, clazz);} - - @Override - public ArrayList getBoolArray(String name) {return this.getArray(name, null, true, Types.BOOLEAN);} - @Override - public ArrayList getStringArray(String name) {return this.getArray(name, null, true, Types.STRING);} - @Override - public ArrayList getIntArray(String name) {return this.getArray(name, null, true, Types.INTEGER);} - @Override - public ArrayList getFloatArray(String name) {return this.getArray(name, null, true, Types.FLOAT);} - @Override - public ArrayList getBlockStateArray(String name) {return this.getArray(name, null, true, Types.BLOCKSTATE);} - @Override - public ArrayList getBlockPosQueryArray(String name) {return this.getArray(name, null, true, Types.BLOCKPOSQUERY);} - @Override - public ArrayList getResourceLocationArray(String name) {return this.getArray(name, null, true, Types.RESOURCELOCATION);} - @Override - public ArrayList getEnumArray(String name, Class clazz) {return this.getEnumArray(name, null, true, clazz);} - - - - - protected ArrayList getEnumArray(String name, ArrayList defaultVal, boolean warnIfMissing, Class clazz) - { - if (!this.has(name)) - { - if (warnIfMissing) - { - this.addMessage(name, "Error - missing value"); - } - return defaultVal; - } - ArrayList list = new ArrayList(); - try - { - JsonArray arr = this.members.get(name).getAsJsonArray(); - for (int i = 0; i < arr.size(); i++) - { - E ele = this.asEnum(arr.get(i), clazz, name + "." + i); - if (ele != null) {list.add(ele);} - } - } catch (Exception e) { - this.addMessage(name, "Error fetching " + clazz.getName() + " array: " + e.getMessage()); - } - return list; - } - - protected E getEnum(String name, E defaultVal, boolean warnIfMissing, Class clazz) - { - if (!this.has(name)) - { - if (warnIfMissing) - { - this.addMessage(name, "Error - missing value"); - } - return defaultVal; - } - E out = this.asEnum(this.members.get(name), clazz, name); - return out == null ? defaultVal : out; - } - - private T get(String name, T defaultVal, boolean warnIfMissing, Types type) - { - // if a default value is set, store it for later use - if (defaultVal != null) - { - JsonElement element = this.from(defaultVal, type); - // don't store if conversion to a JsonElement failed - if (element != null) this.defaults.put(name, element); - } - // check if the property exists, if not, use the default - if (!this.has(name)) - { - if (warnIfMissing) - { - this.addMessage(name, "Error - missing value"); - } - return defaultVal; - } - T out = this.as(this.members.get(name), type, name); - // warn people who try to copy-paste default configs - if (this.warnIfDefault && out != null && out.equals(defaultVal)) - { - this.addMessage("You can't set a property to its default value, only changed properties can be included in config files. \n Property: " + name + ", Value: " + out); - } - return out == null ? defaultVal : out; - } - - private ArrayList getArray(String name, ArrayList defaultVal, boolean warnIfMissing, Types type) - { - if (!this.has(name)) - { - if (warnIfMissing) - { - this.addMessage(name, "Error - missing value"); - } - return defaultVal; - } - ArrayList list = new ArrayList(); - try - { - JsonArray arr = this.members.get(name).getAsJsonArray(); - for (int i = 0; i < arr.size(); i++) - { - T ele = this.as(arr.get(i), type, name + "." + i); - if (ele != null) {list.add(ele);} - } - } catch (Exception e) { - this.addMessage(name, "Error fetching " + type.toString().toLowerCase() + " array: " + e.getMessage()); - } - return list; - } - - private T as(JsonElement ele, Types type, String extraPrefix) - { - switch (type) { - case BOOLEAN: - return (T)this.asBool(ele, extraPrefix); - case STRING: - return (T)this.asString(ele, extraPrefix); - case INTEGER: - return (T)this.asInt(ele, extraPrefix); - case FLOAT: - return (T)this.asFloat(ele, extraPrefix); - case BLOCKSTATE: - return (T)this.asBlockState(ele, extraPrefix); - case BLOCKPOSQUERY: - return (T)this.asBlockPosQuery(ele, extraPrefix); - case RESOURCELOCATION: - return (T)this.asResourceLocation(ele, extraPrefix); - default: - return null; - } - } - - protected E asEnum(JsonElement ele, Classclazz, String extraPrefix) - { - try - { - String val = ele.getAsString(); - E[] enums = clazz.getEnumConstants(); - if (enums == null) - { - this.addMessage(extraPrefix, "Class " + clazz.getName() + " contains no enum constants"); - return null; - } - for (E enumVal : enums) - { - if (enumVal.name().equalsIgnoreCase(val)) - { - return enumVal; - } - } - this.addMessage(extraPrefix, "Value " + val + " does not exist in enum " + clazz); - return null; - } catch (Exception e) { - this.addMessage(extraPrefix, "Error fetching string: " + e.getMessage()); - return null; - } - } - - protected Boolean asBool(JsonElement ele, String extraPrefix) - { - try - { - return ele.getAsBoolean(); - } catch (Exception e) { - this.addMessage(extraPrefix, "Error fetching boolean: " + e.getMessage()); - return null; - } - } - - protected String asString(JsonElement ele, String extraPrefix) - { - try - { - return ele.getAsString(); - } catch (Exception e) { - this.addMessage(extraPrefix, "Error fetching string: " + e.getMessage()); - return null; - } - } - - protected Integer asInt(JsonElement ele, String extraPrefix) - { - try - { - return ele.getAsInt(); - } catch (Exception e) { - this.addMessage(extraPrefix, "Error fetching integer: " + e.getMessage()); - return null; - } - } - - protected Float asFloat(JsonElement ele, String extraPrefix) - { - try - { - return ele.getAsFloat(); - } catch (Exception e) { - this.addMessage(extraPrefix, "Error fetching float: " + e.getMessage()); - return null; - } - } - - protected IBlockPosQuery asBlockPosQuery(JsonElement ele, String extraPrefix) - { - try - { - String queryString = ele.getAsString(); - try { - return BlockQuery.parseQueryString(queryString); - } catch (BlockQueryParseException e) { - this.addMessage(extraPrefix, "Error parsing BlockPosQuery " + queryString + " - " + e.getMessage()); - return null; - } - } catch (Exception e) { - this.addMessage(extraPrefix, "Error fetching string: " + e.getMessage()); - return null; - } - } - - protected IBlockState asBlockState(JsonElement ele, String extraPrefix) - { - try { - - JsonObject obj = ele.getAsJsonObject(); - - // attempt to load the specified block - if (!obj.has("block")) - { - this.addMessage(extraPrefix, "Block name missing"); - return null; - } - JsonElement blockName = obj.get("block"); - if (!blockName.isJsonPrimitive()) - { - this.addMessage(extraPrefix, "Invalid block name - must be a string"); - return null; - } - Block block = Block.getBlockFromName(blockName.getAsString()); - if (block == null) - { - this.addMessage(extraPrefix, "Unrecognised block name " + blockName.getAsString()); - return null; - } - - IBlockState state = block.getDefaultState(); - - // attempt to add properties - if (obj.has("properties")) { - - JsonElement properties = obj.get("properties"); - if (!properties.isJsonObject()) - { - this.addMessage(extraPrefix, "Invalid properties list - must be a JSON object"); - return state; - } - - for (Entry entry : properties.getAsJsonObject().entrySet()) - { - IProperty property = BlockStateUtils.getPropertyByName(state, entry.getKey()); - if (property != null) - { - Comparable propertyValue = BlockStateUtils.getPropertyValueByName(state, property, entry.getValue().getAsString()); - if (propertyValue != null) - { - state = state.withProperty(property, propertyValue); - } - else - { - this.addMessage(extraPrefix, "Invalid value " + entry.getValue().getAsString() + " for property " + entry.getKey()); - } - } - else - { - this.addMessage(extraPrefix, "Invalid property name: " + entry.getKey()); - } - } - } - - return state; - - } catch (Exception e) { - this.addMessage(extraPrefix, "Error fetching blockstate: " + e.getMessage()); - return null; - } - } - - protected ResourceLocation asResourceLocation(JsonElement ele, String extraPrefix) - { - try - { - return new ResourceLocation(asString(ele, extraPrefix)); - } catch (Exception e) { - this.addMessage(extraPrefix, "Error fetching resourcelocation: " + e.getMessage()); - return null; - } - } - - private JsonElement from(Object value, Types type) - { - switch (type) { - case BOOLEAN: - return new JsonPrimitive((Boolean)value); - case STRING: - return new JsonPrimitive((String)value); - case INTEGER: - return new JsonPrimitive((Integer)value); - case FLOAT: - return new JsonPrimitive((Float)value); - case BLOCKSTATE: - return fromState((IBlockState)value); - case BLOCKPOSQUERY: - return null; // ignore for now - case RESOURCELOCATION: - return fromResourceLocation((ResourceLocation)value); - default: - this.addMessage("Undefined type " + type); - return null; - } - } - - private JsonElement fromState(IBlockState state) - { - JsonObject root = new JsonObject(); - - // add block name - root.add("block", new JsonPrimitive(state.getBlock().getRegistryName().toString())); - JsonObject properties = new JsonObject(); - root.add("properties", properties); - - // add all property values - for (Entry, Comparable> entry : state.getProperties().entrySet()) - { - properties.add(entry.getKey().getName(), new JsonPrimitive(entry.getValue().toString())); - } - - return root; - } - - private JsonElement fromResourceLocation(ResourceLocation location) - { - return new JsonPrimitive(location.toString()); - } - } - - // Concrete class for a config object created by supplying the JSON in a string - public static class ConfigObj extends ConfigObjBase - { - public ConfigObj(String jsonString) - { - super(false); - this.parse(jsonString); - } - } - - // Concrete class for a config object created from a file - public static class ConfigFileObj extends ConfigObjBase - { - public ConfigFileObj(File configFile) - { - this(configFile, false, false); - } - - public ConfigFileObj(File configFile, boolean warnIfMissing, boolean warnIfDefault) - { - super(warnIfDefault); - this.prefix = configFile.getName(); - String jsonString = null; - if (configFile.exists()) - { - this.addMessage("Detected config file "); - try - { - jsonString = FileUtils.readFileToString(configFile); - } catch (IOException e) { - this.addMessage("Error reading config file "+e.getMessage()); - } - } else { - if (warnIfMissing) - { - this.addMessage("File missing"); - } - } - this.parse(jsonString); - } - } - - // Concrete class for a config object which is a child of another config object - public static class ConfigChildObj extends ConfigObjBase - { - protected ConfigChildObj(String prefix, JsonObject obj, boolean warnIfDefault) - { - super(warnIfDefault); - this.prefix = prefix; - this.members = new HashMap(); - for (Entry entry : obj.entrySet()) - { - this.members.put(entry.getKey(), entry.getValue()); - } - } - - protected ConfigChildObj(String prefix, JsonObject obj) - { - this(prefix, obj, false); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/util/entity/PlayerUtil.java b/src/main/java/biomesoplenty/common/util/entity/PlayerUtil.java deleted file mode 100644 index 394bac892..000000000 --- a/src/main/java/biomesoplenty/common/util/entity/PlayerUtil.java +++ /dev/null @@ -1,35 +0,0 @@ -package biomesoplenty.common.util.entity; - -import java.util.UUID; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumHand; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class PlayerUtil -{ - @SideOnly(Side.CLIENT) - public static UUID getClientPlayerUUID() - { - Minecraft minecraft = Minecraft.getMinecraft(); - - return minecraft.getSession().getProfile().getId(); - } - - public static EnumHand getHandForItemAndMeta(EntityPlayer player, Item item, int meta) - { - for (EnumHand hand : EnumHand.values()) - { - ItemStack heldStack = player.getHeldItem(hand); - - if (!heldStack.isEmpty() && heldStack.getItem() == item && heldStack.getMetadata() == meta) - return hand; - } - - return EnumHand.MAIN_HAND; - } -} diff --git a/src/main/java/biomesoplenty/common/util/inventory/CraftingUtil.java b/src/main/java/biomesoplenty/common/util/inventory/CraftingUtil.java deleted file mode 100644 index 7887d7ad7..000000000 --- a/src/main/java/biomesoplenty/common/util/inventory/CraftingUtil.java +++ /dev/null @@ -1,415 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.util.inventory; - -import biomesoplenty.core.BiomesOPlenty; -import com.google.common.base.Charsets; -import com.google.common.collect.*; -import com.google.gson.*; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.*; -import net.minecraft.util.NonNullList; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.crafting.CraftingHelper; -import net.minecraftforge.oredict.OreIngredient; -import org.apache.commons.io.FileUtils; - -import java.io.File; -import java.util.*; - -/** - * Utilities for adding recipes and generating - * json files programmatically in 1.12+. - */ -public class CraftingUtil -{ - private static final Gson SERIALIZER = new GsonBuilder().setPrettyPrinting().create(); - public static final File RECIPES_DIR = new File(BiomesOPlenty.configDirectory, "recipes"); - - // We should no longer need this now we've switched over to JSON, however - // it might be handy to keep around for future reference - public static boolean doRegistration = false; - public static boolean generateJson = false; - - private static Map ingredientOreMap = Maps.newHashMap(); - - static - { - // remove any existing auto-generated recipe files - try - { - FileUtils.deleteDirectory(RECIPES_DIR); - RECIPES_DIR.mkdir(); - } - catch (Exception e) - { - BiomesOPlenty.logger.error("Could not delete default biome config directory!"); - } - } - - public static void addShapelessRecipe(ItemStack output, Object... inputs) - { - NonNullList ingredients = NonNullList.create(); - - for (Object input : inputs) - { - Ingredient ingredient = CraftingHelper.getIngredient(input); - // keep track of the origin of ore ingredients since they don't do so themselves - if (ingredient instanceof OreIngredient) - { - ingredientOreMap.put((OreIngredient)ingredient, (String)input); - } - - ingredients.add(ingredient); - } - - if (ingredients.isEmpty()) - { - throw new IllegalArgumentException("No ingredients for shapeless recipe"); - } - else if (ingredients.size() > 9) - { - throw new IllegalArgumentException("Too many ingredients for shapeless recipe"); - } - - ShapelessRecipes recipe = new ShapelessRecipes("", output, ingredients); - registerRecipe(unusedLocForOutput(output), recipe); - } - - public static void addShapedRecipe(ItemStack output, Object... inputs) - { - ArrayList pattern = Lists.newArrayList(); - Map key = Maps.newHashMap(); - - parseRecipe(pattern, key, inputs); - int width = pattern.get(0).length(); - int height = pattern.size(); - - NonNullList ingredients = ShapedRecipes.deserializeIngredients(pattern.toArray(new String[pattern.size()]), key, width, height); - ShapedRecipes recipe = new ShapedRecipes("", width, height, ingredients, output); - registerRecipe(unusedLocForOutput(output), recipe); - } - - public static void addRecipe(String name, IRecipe recipe) - { - ResourceLocation location = new ResourceLocation(BiomesOPlenty.MOD_ID, name); - registerRecipe(location, recipe); - } - - private static void registerRecipe(ResourceLocation location, IRecipe recipe) - { - // only generate json if enabled and it isn't a custom recipe implementation - if (generateJson && (recipe instanceof ShapedRecipes || recipe instanceof ShapelessRecipes)) - { - String json = createJsonRecipe(recipe); - File recipeFile = new File(RECIPES_DIR, location.getResourcePath() + ".json"); - - try - { - FileUtils.writeStringToFile(recipeFile, json, Charsets.US_ASCII); - } - catch (Exception e) - { - BiomesOPlenty.logger.error("Could not write recipe to file " + recipeFile.getName()); - } - } - - // don't register if it has been disabled - // mainly for debugging whilst switching to json files - if (!doRegistration) return; - - if (CraftingManager.REGISTRY.containsKey(location)) - { - throw new IllegalStateException("Duplicate recipe ignored with ID " + location); - } - else - { - CraftingManager.REGISTRY.register(CraftingManager.REGISTRY.getKeys().size(), location, recipe); - } - } - - private static void parseRecipe(List pattern, Map key, Object... inputs) - { - Iterator itr = Arrays.asList(inputs).iterator(); - - while (itr.hasNext()) - { - Object obj = itr.next(); - - if (obj instanceof String) - { - String str = (String) obj; - - if (str.length() > 3) - { - throw new IllegalArgumentException("Invalid string length for recipe " + str.length()); - } - - if (pattern.size() <= 2) - { - pattern.add(str); - } - else - { - throw new IllegalArgumentException("Recipe has too many crafting rows!"); - } - } - else if (obj instanceof Character) - { - Object next = itr.next(); - Ingredient ingredient = CraftingHelper.getIngredient(next); - // keep track of the origin of ore ingredients since they don't do so themselves - if (ingredient instanceof OreIngredient) - { - ingredientOreMap.put((OreIngredient)ingredient, (String)next); - } - key.put(((Character)obj).toString(), ingredient); - } - else - { - throw new IllegalArgumentException("Unexpected argument of type " + obj.getClass().toString()); - } - } - - key.put(" ", Ingredient.EMPTY); - } - - private static ResourceLocation unusedLocForOutput(ItemStack output) - { - ResourceLocation baseLoc = new ResourceLocation(BiomesOPlenty.MOD_ID, output.getItem().getRegistryName().getResourcePath()); - // purely for generating some nicer names for json files - //ResourceLocation baseLoc = new ResourceLocation(BiomesOPlenty.MOD_ID, output.getDisplayName().toLowerCase().replace(" ", "_")); - ResourceLocation recipeLoc = baseLoc; - int index = 0; - - // find unused recipe name - while (CraftingManager.REGISTRY.containsKey(recipeLoc)) - { - index++; - recipeLoc = new ResourceLocation(BiomesOPlenty.MOD_ID, baseLoc.getResourcePath() + "_" + index); - } - - return recipeLoc; - } - - private static String createJsonRecipe(IRecipe recipe) - { - JsonObject root = new JsonObject(); - - if (!recipe.getGroup().isEmpty()) - root.add("group", new JsonPrimitive(recipe.getGroup())); - - if (recipe instanceof ShapedRecipes) - { - ShapedRecipes shapedRecipe = (ShapedRecipes)recipe; - BiMap keyMap = createShapedRecipeKey(recipe.getIngredients()); - String[] pattern = createShapedPattern(shapedRecipe, keyMap); - - String type = "minecraft:crafting_shaped"; - - // create the pattern and add it to the generated json - JsonArray patternJsonArray = new JsonArray(); - for (String row : pattern) - { - patternJsonArray.add(row); - } - - // create the key and add it to the generated json - JsonObject keyObj = new JsonObject(); - for (String key : keyMap.keySet()) - { - // get the ingredient for the corresponding key - Ingredient ingredient = keyMap.get(key); - - if (ingredient instanceof OreIngredient) - { - type = "forge:ore_shaped"; - } - - // add the ingredient to the key map - keyObj.add(key, createJsonIngredient(ingredient)); - } - - // add in this order to look nice - root.add("type", new JsonPrimitive(type)); - root.add("pattern", patternJsonArray); - root.add("key", keyObj); - } - else if (recipe instanceof ShapelessRecipes) - { - String type = "minecraft:crafting_shapeless"; - - JsonArray ingredientsArray = new JsonArray(); - for (Ingredient ingredient : recipe.getIngredients()) - { - // validate the ingredient - we only cover json generation for the cases we use - if (ingredient.getMatchingStacks().length > 1 && !(ingredient instanceof OreIngredient)) - { - throw new IllegalArgumentException("Cannot create key for ingredient matching multiple stacks!"); - } - else if (ingredient.getMatchingStacks().length == 0) - { - // skip ingredients which are 'empty' - continue; - } - - if (ingredient instanceof OreIngredient) - { - type = "forge:ore_shapeless"; - } - - ingredientsArray.add(createJsonIngredient(ingredient)); - } - - root.add("type", new JsonPrimitive(type)); - root.add("ingredients", ingredientsArray); - } - root.add("result", createJsonItemStack(recipe.getRecipeOutput())); - - return SERIALIZER.toJson(root); - } - - private static JsonObject createJsonIngredient(Ingredient ingredient) - { - JsonObject ret; - if (ingredient instanceof OreIngredient) - { - ret = new JsonObject(); - ret.add("type", new JsonPrimitive("forge:ore_dict")); - ret.add("ore", new JsonPrimitive(ingredientOreMap.get(ingredient))); - } - else - { - ret = createJsonItemStack(ingredient.getMatchingStacks()[0]); - } - return ret; - } - - private static JsonObject createJsonItemStack(ItemStack stack) - { - JsonObject ret = new JsonObject(); - ret.add("item", new JsonPrimitive(stack.getItem().getRegistryName().toString())); - if (stack.getCount() != 1) ret.add("count", new JsonPrimitive(stack.getCount())); - if (stack.getMetadata() != 0 || stack.getHasSubtypes()) ret.add("data", new JsonPrimitive(stack.getMetadata())); - return ret; - } - - private static String[] createShapedPattern(ShapedRecipes recipe, BiMap keyMap) - { - String[] pattern = new String[recipe.recipeHeight]; - - // initialize the pattern rows - for (int i = 0; i < pattern.length; i++) - { - pattern[i] = ""; - } - - // don't bother with ore dict recipes yet - if (keyMap.isEmpty()) - { - return pattern; - } - - // iterate over the recipe ingredients - for (int i = 0; i < recipe.getIngredients().size(); i++) - { - Ingredient ingredient = recipe.getIngredients().get(i); - String key = " "; - - if (ingredient.getMatchingStacks().length > 1 && !(ingredient instanceof OreIngredient)) - { - throw new IllegalArgumentException("Cannot generate json for a recipe matching multiple stacks!"); - } - else if (ingredient.getMatchingStacks().length != 0) // blank spaces just use the default key value - { - key = keyMap.inverse().get(ingredient); - } - - int row = i / recipe.recipeWidth; - pattern[row] += key; - } - - return pattern; - } - - private static BiMap createShapedRecipeKey(NonNullList ingredients) - { - Set ingredientsSet = Sets.newHashSet(ingredients); - BiMap key = HashBiMap.create(); - int fallbackCount = 0; - - for (Ingredient ingredient : ingredientsSet) - { - // validate the ingredient - we only cover json generation for the cases we use - if (ingredient.getMatchingStacks().length > 1 && !(ingredient instanceof OreIngredient)) - { - throw new IllegalArgumentException("Cannot create key for ingredient matching multiple stacks!"); - } - else if (ingredient.getMatchingStacks().length == 0) - { - // skip ingredients which are 'empty' - continue; - } - - // default to using # (completely arbitrary) - if (fallbackCount == 0) - { - key.put(getFallbackRecipeKey(fallbackCount), ingredient); - fallbackCount++; - continue; - } - - String letterKey = ingredient.getMatchingStacks()[0].getItem().getRegistryName().getResourcePath().substring(0, 1).toUpperCase(); - - if (!key.containsKey(letterKey)) - { - key.put(letterKey, ingredient); - } - else - { - String fallbackKey = getFallbackRecipeKey(fallbackCount); - - // this should never happen - if (key.containsKey(fallbackKey)) - { - throw new RuntimeException("Fallback key " + fallbackKey + " is already present!"); - } - - key.put(fallbackKey, ingredient); - fallbackCount++; - } - } - - return key; - } - - private static String getFallbackRecipeKey(int index) - { - switch (index) - { - case 1: - return "*"; - case 2: - return "@"; - case 3: - return "%"; - case 4: - return "+"; - case 5: - return "-"; - case 6: - return "~"; - case 7: - return "="; - case 8: - return "?"; - default: - return "#"; - } - } -} diff --git a/src/main/java/biomesoplenty/common/util/inventory/CreativeTabBOP.java b/src/main/java/biomesoplenty/common/util/inventory/CreativeTabBOP.java deleted file mode 100644 index 29dec1a39..000000000 --- a/src/main/java/biomesoplenty/common/util/inventory/CreativeTabBOP.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.util.inventory; - -import java.util.Set; - -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityList; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemMonsterPlacer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.NonNullList; -import net.minecraftforge.common.ForgeModContainer; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.UniversalBucket; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class CreativeTabBOP extends CreativeTabs -{ - public static final CreativeTabs instance = new CreativeTabBOP(CreativeTabs.getNextID(), "tabBiomesOPlenty"); - - private CreativeTabBOP(int index, String label) - { - super(index, label); - } - - @Override - public ItemStack getTabIconItem() - { - return new ItemStack(BOPItems.earth); - } - - @Override - @SideOnly(Side.CLIENT) - public void displayAllRelevantItems(NonNullList itemList) - { - super.displayAllRelevantItems(itemList); - - for (Fluid bucketFluid : FluidRegistry.getBucketFluids()) - { - if (bucketFluid.getBlock() != null && bucketFluid.getBlock().getRegistryName().getResourceDomain().equals(BiomesOPlenty.MOD_ID)) - { - ItemStack itemstack = UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, bucketFluid); - itemList.add(itemstack); - } - } - - for (EntityList.EntityEggInfo eggInfo : EntityList.ENTITY_EGGS.values()) - { - if (eggInfo.spawnedID.getResourceDomain().equals(BiomesOPlenty.MOD_ID)) - { - ItemStack itemstack = new ItemStack(Items.SPAWN_EGG, 1); - ItemMonsterPlacer.applyEntityIdToItemStack(itemstack, eggInfo.spawnedID); - itemList.add(itemstack); - } - } - } -} diff --git a/src/main/java/biomesoplenty/common/world/BOPMapGenScatteredFeature.java b/src/main/java/biomesoplenty/common/world/BOPMapGenScatteredFeature.java deleted file mode 100644 index c30aea8df..000000000 --- a/src/main/java/biomesoplenty/common/world/BOPMapGenScatteredFeature.java +++ /dev/null @@ -1,180 +0,0 @@ -package biomesoplenty.common.world; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Random; - -import biomesoplenty.common.util.biome.BiomeUtils; -import com.google.common.base.Optional; -import com.google.common.collect.Lists; - -import biomesoplenty.api.biome.BOPBiomes; -import com.google.common.collect.Sets; -import net.minecraft.entity.monster.EntityWitch; -import net.minecraft.init.Biomes; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.structure.ComponentScatteredFeaturePieces; -import net.minecraft.world.gen.structure.MapGenScatteredFeature; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureStart; - -public class BOPMapGenScatteredFeature extends MapGenScatteredFeature -{ - private static final List JUNGLE_BIOMES = Lists.newArrayList(Biomes.JUNGLE, Biomes.JUNGLE_HILLS); - private static final List SWAMP_BIOMES = Lists.newArrayList(Biomes.SWAMPLAND); - private static final List DESERT_BIOMES = Lists.newArrayList( Biomes.DESERT, Biomes.DESERT_HILLS); - private static final List ICE_BIOMES = Lists.newArrayList(Biomes.ICE_PLAINS, Biomes.COLD_TAIGA); - - private final List scatteredFeatureSpawnList; - private int maxDistanceBetweenScatteredFeatures; - private final int minDistanceBetweenScatteredFeatures; - - static - { - JUNGLE_BIOMES.addAll(BiomeUtils.filterPresentBiomes(BOPBiomes.bamboo_forest, BOPBiomes.eucalyptus_forest, BOPBiomes.overgrown_cliffs, BOPBiomes.rainforest, BOPBiomes.sacred_springs, BOPBiomes.tropical_rainforest)); - SWAMP_BIOMES.addAll(BiomeUtils.filterPresentBiomes(BOPBiomes.bayou, BOPBiomes.bog, BOPBiomes.dead_swamp, BOPBiomes.fen, BOPBiomes.lush_swamp, BOPBiomes.moor, BOPBiomes.ominous_woods, BOPBiomes.quagmire, BOPBiomes.wetland)); - DESERT_BIOMES.addAll(BiomeUtils.filterPresentBiomes(BOPBiomes.lush_desert, BOPBiomes.outback, BOPBiomes.oasis, BOPBiomes.xeric_shrubland)); - ICE_BIOMES.addAll(BiomeUtils.filterPresentBiomes(BOPBiomes.alps, BOPBiomes.cold_desert, BOPBiomes.snowy_coniferous_forest, BOPBiomes.snowy_forest)); - } - - public BOPMapGenScatteredFeature() - { - this.scatteredFeatureSpawnList = Lists.newArrayList(); - this.maxDistanceBetweenScatteredFeatures = 32; - this.minDistanceBetweenScatteredFeatures = 8; - this.scatteredFeatureSpawnList.add(new Biome.SpawnListEntry(EntityWitch.class, 1, 1, 1)); - } - - public BOPMapGenScatteredFeature(Map p_i2061_1_) - { - this(); - - for (Entry entry : p_i2061_1_.entrySet()) - { - if (entry.getKey().equals("distance")) - { - this.maxDistanceBetweenScatteredFeatures = MathHelper.getInt(entry.getValue(), this.maxDistanceBetweenScatteredFeatures, 9); - } - } - } - - @Override - public String getStructureName() - { - return "Temple"; - } - - @Override - protected boolean canSpawnStructureAtCoords(int chunkX, int chunkZ) - { - int i = chunkX; - int j = chunkZ; - - if (chunkX < 0) - { - chunkX -= this.maxDistanceBetweenScatteredFeatures - 1; - } - - if (chunkZ < 0) - { - chunkZ -= this.maxDistanceBetweenScatteredFeatures - 1; - } - - int k = chunkX / this.maxDistanceBetweenScatteredFeatures; - int l = chunkZ / this.maxDistanceBetweenScatteredFeatures; - Random random = this.world.setRandomSeed(k, l, 14357617); - k = k * this.maxDistanceBetweenScatteredFeatures; - l = l * this.maxDistanceBetweenScatteredFeatures; - k = k + random.nextInt(this.maxDistanceBetweenScatteredFeatures - 8); - l = l + random.nextInt(this.maxDistanceBetweenScatteredFeatures - 8); - - if (i == k && j == l) - { - Biome biome = this.world.getBiomeProvider().getBiome(new BlockPos(i * 16 + 8, 0, j * 16 + 8)); - - return biome != null && (JUNGLE_BIOMES.contains(biome) || SWAMP_BIOMES.contains(biome) || DESERT_BIOMES.contains(biome) || ICE_BIOMES.contains(biome)); - } - - return false; - } - - @Override - public BlockPos getNearestStructurePos(World worldIn, BlockPos pos, boolean findUnexplored) - { - this.world = worldIn; - return findNearestStructurePosBySpacing(worldIn, this, pos, this.maxDistanceBetweenScatteredFeatures, 8, 14357617, false, 100, findUnexplored); - } - - @Override - protected StructureStart getStructureStart(int chunkX, int chunkZ) - { - return new BOPMapGenScatteredFeature.Start(this.world, this.rand, chunkX, chunkZ); - } - - @Override - public boolean isSwampHut(BlockPos p_175798_1_) - { - StructureStart structurestart = this.getStructureAt(p_175798_1_); - - if (structurestart != null && structurestart instanceof BOPMapGenScatteredFeature.Start && !structurestart.getComponents().isEmpty()) - { - StructureComponent structurecomponent = structurestart.getComponents().get(0); - return structurecomponent instanceof ComponentScatteredFeaturePieces.SwampHut; - } - else - { - return false; - } - } - - @Override - public List getMonsters() - { - return this.scatteredFeatureSpawnList; - } - - public static class Start extends StructureStart - { - public Start() {} - - public Start(World worldIn, Random random, int chunkX, int chunkZ) - { - this(worldIn, random, chunkX, chunkZ, worldIn.getBiome(new BlockPos(chunkX * 16 + 8, 0, chunkZ * 16 + 8))); - } - - public Start(World worldIn, Random random, int chunkX, int chunkZ, Biome biome) - { - super(chunkX, chunkZ); - - if (JUNGLE_BIOMES.contains(biome)) - { - ComponentScatteredFeaturePieces.JunglePyramid componentscatteredfeaturepieces$junglepyramid = new ComponentScatteredFeaturePieces.JunglePyramid(random, chunkX * 16, chunkZ * 16); - this.components.add(componentscatteredfeaturepieces$junglepyramid); - } - else if (SWAMP_BIOMES.contains(biome)) - { - ComponentScatteredFeaturePieces.SwampHut componentscatteredfeaturepieces$swamphut = new ComponentScatteredFeaturePieces.SwampHut(random, chunkX * 16, chunkZ * 16); - this.components.add(componentscatteredfeaturepieces$swamphut); - } - else if (DESERT_BIOMES.contains(biome)) - { - ComponentScatteredFeaturePieces.DesertPyramid componentscatteredfeaturepieces$desertpyramid = new ComponentScatteredFeaturePieces.DesertPyramid(random, chunkX * 16, chunkZ * 16); - this.components.add(componentscatteredfeaturepieces$desertpyramid); - } - else if (ICE_BIOMES.contains(biome)) - { - ComponentScatteredFeaturePieces.Igloo componentscatteredfeaturepieces$igloo = new ComponentScatteredFeaturePieces.Igloo(random, chunkX * 16, chunkZ * 16); - this.components.add(componentscatteredfeaturepieces$igloo); - } - - this.updateBoundingBox(); - } - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/BOPWorldSettings.java b/src/main/java/biomesoplenty/common/world/BOPWorldSettings.java deleted file mode 100644 index fa0b80773..000000000 --- a/src/main/java/biomesoplenty/common/world/BOPWorldSettings.java +++ /dev/null @@ -1,263 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; - -import java.io.File; - -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonObject; - -import biomesoplenty.api.config.IBOPWorldSettings; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.config.BOPConfig; -import biomesoplenty.core.BiomesOPlenty; - -public class BOPWorldSettings implements IBOPWorldSettings -{ - - public static Gson serializer = new GsonBuilder().create(); - - public enum LandMassScheme - { - VANILLA, - CONTINENTS, - ARCHIPELAGO - } - - public enum TemperatureVariationScheme - { - LATITUDE, - SMALL_ZONES, - MEDIUM_ZONES, - LARGE_ZONES, - RANDOM - } - - public enum RainfallVariationScheme - { - SMALL_ZONES, - MEDIUM_ZONES, - LARGE_ZONES, - RANDOM - } - - public enum BiomeSize - { - TINY (2), - SMALL (3), - MEDIUM (4), - LARGE (5), - HUGE (6); - - private final int value; - BiomeSize(int value) - { - this.value = value; - } - public int getValue() - { - return this.value; - } - } - - // BOP World properties - - public LandMassScheme landScheme = LandMassScheme.VANILLA; - public TemperatureVariationScheme tempScheme = TemperatureVariationScheme.MEDIUM_ZONES; - public RainfallVariationScheme rainScheme = RainfallVariationScheme.MEDIUM_ZONES; - public BiomeSize biomeSize = BiomeSize.MEDIUM; - public float amplitude = 1.0F; - public boolean generateBopGems = true; - public boolean generatePoisonIvy = false; - public boolean generateBerryBushes = true; - public boolean generateThorns = true; - public boolean generateQuicksand = true; - public boolean generateLiquidPoison = true; - public boolean generateHotSprings = true; - public boolean generateNetherHives = true; - public boolean generateEndFeatures = true; - - - // Vanilla properties - not configurable (yet) but included for consistency with vanilla ChunkProviderSettings - - public int seaLevel; - public boolean useCaves; - public boolean useDungeons; - public int dungeonChance; - public boolean useStrongholds; - public boolean useVillages; - public boolean useMineShafts; - public boolean useTemples; - public boolean useMonuments; - public boolean useRavines; - public boolean useWaterLakes; - public int waterLakeChance; - public boolean useLavaLakes; - public int lavaLakeChance; - public boolean useLavaOceans; - public boolean useMansions; - - public float coordinateScale; - public float heightScale; - public float upperLimitScale; - public float lowerLimitScale; - public float mainNoiseScaleX; - public float mainNoiseScaleY; - public float mainNoiseScaleZ; - - public BOPWorldSettings() - { - this.setDefault(); - } - - public BOPWorldSettings(String jsonString) - { - this.setDefault(); - this.fromJson(jsonString); - } - - public String toJson() - { - JsonObject obj = new JsonObject(); - obj.addProperty("landScheme", this.landScheme.name().toLowerCase()); - obj.addProperty("tempScheme", this.tempScheme.name().toLowerCase()); - obj.addProperty("rainScheme", this.rainScheme.name().toLowerCase()); - obj.addProperty("biomeSize", this.biomeSize.name().toLowerCase()); - obj.addProperty("amplitude", this.amplitude); - obj.addProperty("generateBopOre", this.generateBopGems); - obj.addProperty("generatePoisonIvy", this.generatePoisonIvy); - obj.addProperty("generateBerryBushes", this.generateBerryBushes); - obj.addProperty("generateThorns", this.generateThorns); - obj.addProperty("generateQuicksand", this.generateQuicksand); - obj.addProperty("generateLiquidPoison", this.generateLiquidPoison); - obj.addProperty("generateHotSprings", this.generateHotSprings); - obj.addProperty("generateNetherHives", this.generateNetherHives); - obj.addProperty("generateEndFeatures", this.generateEndFeatures); - obj.addProperty("mainNoiseScaleX", this.mainNoiseScaleX); - obj.addProperty("mainNoiseScaleY", this.mainNoiseScaleY); - obj.addProperty("mainNoiseScaleZ", this.mainNoiseScaleZ); - obj.addProperty("coordinateScale", this.coordinateScale); - obj.addProperty("heightScale", this.heightScale); - obj.addProperty("upperLimitScale", this.upperLimitScale); - obj.addProperty("lowerLimitScale", this.lowerLimitScale); - - return serializer.toJson(obj); - } - - public void fromJson(String jsonString) - { - this.fromConfigObj(new BOPConfig.ConfigObj(jsonString)); - } - - public void fromConfigObj(IConfigObj worldConfig) - { - this.landScheme = worldConfig.getEnum("landScheme", this.landScheme, LandMassScheme.class); - this.tempScheme = worldConfig.getEnum("tempScheme", this.tempScheme, TemperatureVariationScheme.class); - this.rainScheme = worldConfig.getEnum("rainScheme", this.rainScheme, RainfallVariationScheme.class); - this.biomeSize = worldConfig.getEnum("biomeSize", this.biomeSize, BiomeSize.class); - this.amplitude = worldConfig.getFloat("amplitude", this.amplitude); - this.generateBopGems = worldConfig.getBool("generateBopOre", this.generateBopGems); - this.generatePoisonIvy = worldConfig.getBool("generatePoisonIvy", this.generatePoisonIvy); - this.generateBerryBushes = worldConfig.getBool("generateBerryBushes", this.generateBerryBushes); - this.generateThorns = worldConfig.getBool("generateThorns", this.generateThorns); - this.generateQuicksand = worldConfig.getBool("generateQuicksand", this.generateQuicksand); - this.generateLiquidPoison = worldConfig.getBool("generateLiquidPoison", this.generateLiquidPoison); - this.generateHotSprings = worldConfig.getBool("generateHotSprings", this.generateHotSprings); - this.generateNetherHives = worldConfig.getBool("generateNetherHives", this.generateNetherHives); - this.generateEndFeatures = worldConfig.getBool("generateEndFeatures", this.generateEndFeatures); - this.mainNoiseScaleX = worldConfig.getFloat("mainNoiseScaleX", this.mainNoiseScaleX); - this.mainNoiseScaleY = worldConfig.getFloat("mainNoiseScaleY", this.mainNoiseScaleY); - this.mainNoiseScaleZ = worldConfig.getFloat("mainNoiseScaleZ", this.mainNoiseScaleZ); - this.coordinateScale = worldConfig.getFloat("coordinateScale", this.coordinateScale); - this.heightScale = worldConfig.getFloat("heightScale", this.heightScale); - this.upperLimitScale = worldConfig.getFloat("upperLimitScale", this.upperLimitScale); - this.lowerLimitScale = worldConfig.getFloat("lowerLimitScale", this.lowerLimitScale); - } - - public void setDefault() - { - - // BOP default values - this.landScheme = LandMassScheme.VANILLA; - this.tempScheme = TemperatureVariationScheme.MEDIUM_ZONES; - this.rainScheme = RainfallVariationScheme.MEDIUM_ZONES; - this.biomeSize = BiomeSize.MEDIUM; - this.amplitude = 1.0F; - this.generateBopGems = true; - this.generatePoisonIvy = false; - this.generateBerryBushes = true; - this.generateThorns = true; - this.generateQuicksand = true; - this.generateLiquidPoison = true; - this.generateHotSprings = true; - this.generateNetherHives = true; - this.generateEndFeatures = true; - - // Vanilla default values - this.seaLevel = 63; - this.useCaves = true; - this.useDungeons = true; - this.dungeonChance = 8; - this.useStrongholds = true; - this.useVillages = true; - this.useMineShafts = true; - this.useTemples = true; - this.useMonuments = true; - this.useMansions = true; - this.useRavines = true; - this.useWaterLakes = true; - this.waterLakeChance = 4; - this.useLavaLakes = true; - this.lavaLakeChance = 80; - this.useLavaOceans = false; - - this.mainNoiseScaleX = 80.0F; - this.mainNoiseScaleY = 160.0F; - this.mainNoiseScaleZ = 80.0F; - this.coordinateScale = 684.412F; - this.heightScale = 684.412F; - this.upperLimitScale = 512.0F; - this.lowerLimitScale = 512.0F; - - // Allow defaults to be overridden from file - IConfigObj worldConfig = new BOPConfig.ConfigFileObj(new File(BiomesOPlenty.configDirectory, "world.json")); - this.fromConfigObj(worldConfig); - - } - - @Override - public boolean isEnabled(GeneratorType type) - { - switch (type) - { - case GEMS: - return this.generateBopGems; - case POISON_IVY: - return this.generatePoisonIvy; - case BERRY_BUSHES: - return this.generateBerryBushes; - case THORNS: - return this.generateThorns; - case QUICKSAND: - return this.generateQuicksand; - case LIQUID_POISON: - return this.generateLiquidPoison; - case HOT_SPRINGS: - return this.generateHotSprings; - case NETHER_HIVES: - return this.generateNetherHives; - case END_FEATURES: - return this.generateEndFeatures; - - default: - return true; - } - } -} diff --git a/src/main/java/biomesoplenty/common/world/BiomeProviderBOP.java b/src/main/java/biomesoplenty/common/world/BiomeProviderBOP.java deleted file mode 100644 index d12080295..000000000 --- a/src/main/java/biomesoplenty/common/world/BiomeProviderBOP.java +++ /dev/null @@ -1,277 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.biome.IExtendedBiome; -import biomesoplenty.api.generation.Generators; -import biomesoplenty.common.util.biome.BiomeUtils; -import biomesoplenty.common.world.BOPWorldSettings.LandMassScheme; -import biomesoplenty.common.world.layer.GenLayerBiomeBOP; -import biomesoplenty.common.world.layer.GenLayerBiomeEdgeBOP; -import biomesoplenty.common.world.layer.GenLayerBiomeIslands; -import biomesoplenty.common.world.layer.GenLayerClimate; -import biomesoplenty.common.world.layer.GenLayerIslandBOP; -import biomesoplenty.common.world.layer.GenLayerLargeIsland; -import biomesoplenty.common.world.layer.GenLayerRaggedEdges; -import biomesoplenty.common.world.layer.GenLayerRainfallNoise; -import biomesoplenty.common.world.layer.GenLayerRainfallRandom; -import biomesoplenty.common.world.layer.GenLayerRiverMixBOP; -import biomesoplenty.common.world.layer.GenLayerShoreBOP; -import biomesoplenty.common.world.layer.GenLayerSubBiomesBOP; -import biomesoplenty.common.world.layer.GenLayerTemperatureLatitude; -import biomesoplenty.common.world.layer.GenLayerTemperatureNoise; -import biomesoplenty.common.world.layer.GenLayerTemperatureRandom; -import net.minecraft.world.World; -import net.minecraft.world.WorldType; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeProvider; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.GenLayerAddMushroomIsland; -import net.minecraft.world.gen.layer.GenLayerDeepOcean; -import net.minecraft.world.gen.layer.GenLayerFuzzyZoom; -import net.minecraft.world.gen.layer.GenLayerIsland; -import net.minecraft.world.gen.layer.GenLayerRemoveTooMuchOcean; -import net.minecraft.world.gen.layer.GenLayerRiver; -import net.minecraft.world.gen.layer.GenLayerRiverInit; -import net.minecraft.world.gen.layer.GenLayerSmooth; -import net.minecraft.world.gen.layer.GenLayerVoronoiZoom; -import net.minecraft.world.gen.layer.GenLayerZoom; - -public class BiomeProviderBOP extends BiomeProvider -{ - public BiomeProviderBOP(long seed, WorldType worldType, String chunkProviderSettings) - { - super(); - if (!(worldType instanceof WorldTypeBOP)) - { - throw new RuntimeException("WorldChunkManagerBOP requires a world of type WorldTypeBOP"); - } - - // load the settings object - // note on the client side, chunkProviderSettings is an empty string - // I'm not sure if this is a bug or deliberate, but it might have some consequences when the biomes/genlayers are different between client and server - // The same thing happens in vanilla minecraft - System.out.println("settings for world: "+chunkProviderSettings); - BOPWorldSettings settings = new BOPWorldSettings(chunkProviderSettings); - - // loop through the biomes and apply the settings - for (Biome biome : BiomeUtils.getRegisteredBiomes()) - { - if (biome == null) {continue;} - - IExtendedBiome extBiome = BOPBiomes.REG_INSTANCE.getExtendedBiome(biome); - - if (extBiome == null) {continue;} - else - { - extBiome.applySettings(settings); - } - } - - // set up all the gen layers - GenLayer[] agenlayer = setupBOPGenLayers(seed, settings); - agenlayer = getModdedBiomeGenerators(worldType, seed, agenlayer); - this.genBiomes = Generators.biomeGenLayer = agenlayer[0]; - this.biomeIndexLayer = Generators.biomeIndexLayer = agenlayer[1]; - } - - public BiomeProviderBOP(World world) - { - this(world.getSeed(), world.getWorldInfo().getTerrainType(), world.getWorldInfo().getGeneratorOptions()); - } - - // generate the regions of land and sea - public static GenLayer initialLandAndSeaLayer(LandMassScheme scheme) - { - System.out.println("Setting up landmass "+scheme.name()); - GenLayer stack; - - switch(scheme) - { - case CONTINENTS: - stack = new GenLayerIslandBOP(1L, 4); - stack = new GenLayerFuzzyZoom(2000L, stack); - stack = new GenLayerZoom(2001L, stack); - stack = new GenLayerIslandBOP(3L, 12, stack); - stack = new GenLayerZoom(2002L, stack); - stack = new GenLayerRaggedEdges(4L, stack); - break; - - case ARCHIPELAGO: - stack = new GenLayerIslandBOP(1L, 5); - break; - - case VANILLA: default: - stack = new GenLayerIsland(1L); - stack = new GenLayerFuzzyZoom(2000L, stack); - stack = new GenLayerRaggedEdges(1L, stack); - stack = new GenLayerZoom(2001L, stack); - stack = new GenLayerRaggedEdges(2L, stack); - stack = new GenLayerRaggedEdges(50L, stack); - stack = new GenLayerRaggedEdges(70L, stack); - stack = new GenLayerRemoveTooMuchOcean(2L, stack); // <--- this is the layer which does 90% of the work, the ones before it are almost pointless - stack = new GenLayerRaggedEdges(3L, stack); - stack = new GenLayerZoom(2002L, stack); - stack = new GenLayerZoom(2003L, stack); - stack = new GenLayerRaggedEdges(4L, stack); - break; - } - - return stack; - } - - // superimpose hot and cold regions an a land and sea layer - public static GenLayerClimate climateLayer(BOPWorldSettings settings, long worldSeed) - { - GenLayer temperature; - switch(settings.tempScheme) - { - case LATITUDE: default: - temperature = new GenLayerTemperatureLatitude(2L, 16, worldSeed); - break; - case SMALL_ZONES: - temperature = new GenLayerTemperatureNoise(3L, worldSeed, 0.14D); - break; - case MEDIUM_ZONES: - temperature = new GenLayerTemperatureNoise(4L, worldSeed, 0.08D); - break; - case LARGE_ZONES: - temperature = new GenLayerTemperatureNoise(5L, worldSeed, 0.04D); - break; - case RANDOM: - temperature = new GenLayerTemperatureRandom(6L); - break; - } - - GenLayer rainfall; - switch(settings.rainScheme) - { - case SMALL_ZONES: - rainfall = new GenLayerRainfallNoise(7L, worldSeed, 0.14D); - break; - case MEDIUM_ZONES: default: - rainfall = new GenLayerRainfallNoise(8L, worldSeed, 0.08D); - break; - case LARGE_ZONES: - rainfall = new GenLayerRainfallNoise(9L, worldSeed, 0.04D); - break; - case RANDOM: - rainfall = new GenLayerRainfallRandom(10L); - break; - } - - GenLayerClimate climate = new GenLayerClimate(103L, temperature, rainfall); - // stack = new GenLayerEdge(3L, stack, GenLayerEdge.Mode.SPECIAL); - return climate; - } - - public static GenLayer allocateBiomes(long worldSeed, BOPWorldSettings settings, GenLayer mainBranch, GenLayer subBiomesInit, GenLayerClimate climateLayer) - { - // allocate the basic biomes - GenLayer biomesLayer = new GenLayerBiomeBOP(200L, mainBranch, climateLayer, settings); - - // magnify everything (using the same seed) - biomesLayer = new GenLayerZoom(1000L, biomesLayer); - subBiomesInit = new GenLayerZoom(1000L, subBiomesInit); - GenLayer climateLayerZoomed = new GenLayerZoom(1000L, climateLayer); - - // add medium islands - switch(settings.landScheme) - { - case ARCHIPELAGO: - biomesLayer = new GenLayerBiomeIslands(15L, biomesLayer, climateLayerZoomed, 4); - break; - case CONTINENTS: - biomesLayer = new GenLayerBiomeIslands(15L, biomesLayer, climateLayerZoomed, 60); - break; - case VANILLA: default: - break; - } - - // magnify everything again (using the same seed) - biomesLayer = new GenLayerZoom(1000L, biomesLayer); - subBiomesInit = new GenLayerZoom(1000L, subBiomesInit); - climateLayerZoomed = new GenLayerZoom(1000L, climateLayerZoomed); - - // add edge biomes - biomesLayer = new GenLayerBiomeEdgeBOP(1000L, biomesLayer); - - // add sub-biomes (like hills or rare mutated variants) seeded with subBiomesInit - biomesLayer = new GenLayerSubBiomesBOP(1000L, biomesLayer, subBiomesInit); - - // add tiny islands - switch(settings.landScheme) - { - case ARCHIPELAGO: - biomesLayer = new GenLayerBiomeIslands(15L, biomesLayer, climateLayerZoomed, 8); - break; - case CONTINENTS: - biomesLayer = new GenLayerBiomeIslands(15L, biomesLayer, climateLayerZoomed, 60); - break; - case VANILLA: default: - biomesLayer = new GenLayerBiomeIslands(15L, biomesLayer, climateLayerZoomed, 12); - break; - } - - return biomesLayer; - } - - - public static GenLayer[] setupBOPGenLayers(long worldSeed, BOPWorldSettings settings) - { - - int biomeSize = settings.biomeSize.getValue(); - int riverSize = 4; - - // first few layers just create areas of land and sea, continents and islands - GenLayer mainBranch = initialLandAndSeaLayer(settings.landScheme); - - // add mushroom islands and deep oceans - mainBranch = new GenLayerAddMushroomIsland(5L, mainBranch); - mainBranch = new GenLayerLargeIsland(5L, mainBranch); - mainBranch = new GenLayerDeepOcean(4L, mainBranch); - - // fork off a new branch as a seed for rivers and sub biomes - GenLayer riversAndSubBiomesInit = new GenLayerRiverInit(100L, mainBranch); - - // create climate layer - GenLayerClimate climateLayer = climateLayer(settings, worldSeed); - - // allocate the biomes - mainBranch = allocateBiomes(worldSeed, settings, mainBranch, riversAndSubBiomesInit, climateLayer); - - // do a bit more zooming, depending on biomeSize - //mainBranch = new GenLayerRareBiome(1001L, mainBranch); - sunflower plains I think - for (int i = 0; i < biomeSize; ++i) - { - mainBranch = new GenLayerZoom((long)(1000 + i), mainBranch); - if (i == 0) {mainBranch = new GenLayerRaggedEdges(3L, mainBranch);} - if (i == 1 || biomeSize == 1) {mainBranch = new GenLayerShoreBOP(1000L, mainBranch);} - } - mainBranch = new GenLayerSmooth(1000L, mainBranch); - - // develop the rivers branch - GenLayer riversBranch = GenLayerZoom.magnify(1000L, riversAndSubBiomesInit, 2); - riversBranch = GenLayerZoom.magnify(1000L, riversBranch, riverSize); - riversBranch = new GenLayerRiver(1L, riversBranch); - riversBranch = new GenLayerSmooth(1000L, riversBranch); - - // mix rivers into main branch - GenLayer riverMixFinal = new GenLayerRiverMixBOP(100L, mainBranch, riversBranch); - - // finish biomes with Voronoi zoom - GenLayer biomesFinal = new GenLayerVoronoiZoom(10L, riverMixFinal); - - riverMixFinal.initWorldGenSeed(worldSeed); - biomesFinal.initWorldGenSeed(worldSeed); - return new GenLayer[] {riverMixFinal, biomesFinal, riverMixFinal}; - - } -} diff --git a/src/main/java/biomesoplenty/common/world/BiomeProviderBOPHell.java b/src/main/java/biomesoplenty/common/world/BiomeProviderBOPHell.java deleted file mode 100644 index 82da5c6cd..000000000 --- a/src/main/java/biomesoplenty/common/world/BiomeProviderBOPHell.java +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world; - -import biomesoplenty.common.world.layer.*; -import net.minecraft.crash.CrashReport; -import net.minecraft.crash.CrashReportCategory; -import net.minecraft.init.Biomes; -import net.minecraft.util.ReportedException; -import net.minecraft.world.World; -import net.minecraft.world.WorldType; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeProvider; -import net.minecraft.world.gen.layer.*; - -public class BiomeProviderBOPHell extends BiomeProvider -{ - - public BiomeProviderBOPHell(long seed, WorldType worldType, String chunkProviderSettings) - { - super(); - - // load the settings object - // note on the client side, chunkProviderSettings is an empty string - // I'm not sure if this is a bug or deliberate, but it might have some consequences when the biomes/genlayers are different between client and server - // The same thing happens in vanilla minecraft - System.out.println("settings for hell world: "+chunkProviderSettings); - BOPWorldSettings settings = new BOPWorldSettings(chunkProviderSettings); - - // set up all the gen layers - GenLayer[] genlayers = setupBOPGenLayers(seed, settings); - this.genBiomes = genlayers[0]; - this.biomeIndexLayer = genlayers[1]; - } - - @Override - public Biome[] getBiomesForGeneration(Biome[] biomes, int x, int z, int width, int height) - { - IntCache.resetIntCache(); - - if (biomes == null || biomes.length < width * height) - { - biomes = new Biome[width * height]; - } - - int[] aint = this.genBiomes.getInts(x, z, width, height); - - try - { - for (int i = 0; i < width * height; ++i) - { - biomes[i] = Biome.getBiome(aint[i], Biomes.HELL); - } - - return biomes; - } - catch (Throwable throwable) - { - CrashReport crashreport = CrashReport.makeCrashReport(throwable, "Invalid Biome id"); - CrashReportCategory crashreportcategory = crashreport.makeCategory("RawBiomeBlock"); - crashreportcategory.addCrashSection("biomes[] size", biomes.length); - crashreportcategory.addCrashSection("x", x); - crashreportcategory.addCrashSection("z", z); - crashreportcategory.addCrashSection("w", width); - crashreportcategory.addCrashSection("h", height); - throw new ReportedException(crashreport); - } - } - - public BiomeProviderBOPHell(World world) - { - this(world.getSeed(), world.getWorldInfo().getTerrainType(), world.getWorldInfo().getGeneratorOptions()); - } - - public static GenLayer allocateBiomes(long worldSeed, BOPWorldSettings settings, GenLayer subBiomesInit) - { - // allocate the basic biomes - GenLayer biomesLayer = new GenLayerBiomeBOPHell(200L, settings); - - // magnify everything (using the same seed) - biomesLayer = new GenLayerZoom(1000L, biomesLayer); - subBiomesInit = new GenLayerZoom(1000L, subBiomesInit); - - // magnify everything again (using the same seed) - biomesLayer = new GenLayerZoom(1000L, biomesLayer); - subBiomesInit = new GenLayerZoom(1000L, subBiomesInit); - - // add sub-biomes (like hills or rare mutated variants) seeded with subBiomesInit - biomesLayer = new GenLayerSubBiomesBOPHell(1000L, biomesLayer, subBiomesInit); - - return biomesLayer; - } - - - public static GenLayer[] setupBOPGenLayers(long worldSeed, BOPWorldSettings settings) - { - int biomeSize = 3; - - // the nether doesn't have oceans, so make it all land - GenLayer mainBranch = new GenLayerIslandBOP(1L, 1); - - // fork off a new branch as a seed for sub biomes (normally for rivers too, but they're not applicable here) - GenLayer riversAndSubBiomesInit = new GenLayerRiverInit(100L, mainBranch); - - // allocate the biomes - mainBranch = allocateBiomes(worldSeed, settings, riversAndSubBiomesInit); - - // do a bit more zooming, depending on biomeSize - for (int i = 0; i < biomeSize; ++i) - { - mainBranch = new GenLayerZoom((long)(1000 + i), mainBranch); - if (i == 0) {mainBranch = new GenLayerRaggedEdges(3L, mainBranch);} - } - mainBranch = new GenLayerSmooth(1000L, mainBranch); - - // finish biomes with Voronoi zoom - GenLayer biomesFinal = new GenLayerVoronoiZoom(10L, mainBranch); - - mainBranch.initWorldGenSeed(worldSeed); - biomesFinal.initWorldGenSeed(worldSeed); - return new GenLayer[] {mainBranch, biomesFinal}; - } -} diff --git a/src/main/java/biomesoplenty/common/world/ChunkGeneratorHellBOP.java b/src/main/java/biomesoplenty/common/world/ChunkGeneratorHellBOP.java deleted file mode 100644 index b0cf6bda6..000000000 --- a/src/main/java/biomesoplenty/common/world/ChunkGeneratorHellBOP.java +++ /dev/null @@ -1,589 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world; - -import net.minecraft.block.BlockFalling; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.block.state.pattern.BlockMatcher; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.ChunkPos; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.ChunkPrimer; -import net.minecraft.world.gen.*; -import net.minecraft.world.gen.feature.*; -import net.minecraft.world.gen.structure.MapGenNetherBridge; -import net.minecraftforge.common.ForgeModContainer; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeEventFactory; -import net.minecraftforge.event.terraingen.*; -import net.minecraftforge.fml.common.eventhandler.Event; - -import javax.annotation.Nullable; -import java.util.List; -import java.util.Random; - -public class ChunkGeneratorHellBOP implements IChunkGenerator -{ - protected static final IBlockState AIR = Blocks.AIR.getDefaultState(); - protected static final IBlockState NETHERRACK = Blocks.NETHERRACK.getDefaultState(); - protected static final IBlockState BEDROCK = Blocks.BEDROCK.getDefaultState(); - protected static final IBlockState LAVA = Blocks.LAVA.getDefaultState(); - protected static final IBlockState GRAVEL = Blocks.GRAVEL.getDefaultState(); - protected static final IBlockState SOUL_SAND = Blocks.SOUL_SAND.getDefaultState(); - private final World world; - private final boolean generateStructures; - private final Random rand; - private double[] slowsandNoise = new double[256]; - private double[] gravelNoise = new double[256]; - private double[] depthBuffer = new double[256]; - private double[] noiseArray; - private NoiseGeneratorOctaves lperlinNoise1; - private NoiseGeneratorOctaves lperlinNoise2; - private NoiseGeneratorOctaves perlinNoise1; - private NoiseGeneratorOctaves slowsandGravelNoiseGen; - private NoiseGeneratorOctaves netherrackExculsivityNoiseGen; - public NoiseGeneratorOctaves scaleNoise; - public NoiseGeneratorOctaves depthNoise; - private NoiseGeneratorPerlin stoneNoiseGen; - - private final WorldGenFire fireFeature = new WorldGenFire(); - private final WorldGenGlowStone1 lightGemGen = new WorldGenGlowStone1(); - private final WorldGenGlowStone2 hellPortalGen = new WorldGenGlowStone2(); - private final WorldGenerator quartzGen = new WorldGenMinable(Blocks.QUARTZ_ORE.getDefaultState(), 14, BlockMatcher.forBlock(Blocks.NETHERRACK)); - private final WorldGenerator magmaGen = new WorldGenMinable(Blocks.MAGMA.getDefaultState(), 33, BlockMatcher.forBlock(Blocks.NETHERRACK)); - private final WorldGenHellLava lavaTrapGen = new WorldGenHellLava(Blocks.FLOWING_LAVA, true); - private final WorldGenHellLava hellSpringGen = new WorldGenHellLava(Blocks.FLOWING_LAVA, false); - private final WorldGenBush brownMushroomFeature = new WorldGenBush(Blocks.BROWN_MUSHROOM); - private final WorldGenBush redMushroomFeature = new WorldGenBush(Blocks.RED_MUSHROOM); - - private MapGenNetherBridge genNetherBridge = new MapGenNetherBridge(); - private MapGenBase genNetherCaves = new MapGenCavesHell(); - private double[] xyzBalanceNoiseArray; - private double[] xyzNoiseArrayA; - private double[] xyzNoiseArrayB; - private double[] noiseData4; - private double[] depthRegion; - private double[] stoneNoiseArray; - - public ChunkGeneratorHellBOP(World worldIn, boolean p_i45637_2_, long seed) - { - this.world = worldIn; - this.generateStructures = p_i45637_2_; - this.rand = new Random(seed); - this.lperlinNoise1 = new NoiseGeneratorOctaves(this.rand, 16); - this.lperlinNoise2 = new NoiseGeneratorOctaves(this.rand, 16); - this.perlinNoise1 = new NoiseGeneratorOctaves(this.rand, 8); - this.slowsandGravelNoiseGen = new NoiseGeneratorOctaves(this.rand, 4); - this.netherrackExculsivityNoiseGen = new NoiseGeneratorOctaves(this.rand, 4); - this.scaleNoise = new NoiseGeneratorOctaves(this.rand, 10); - this.depthNoise = new NoiseGeneratorOctaves(this.rand, 16); - this.stoneNoiseGen = new NoiseGeneratorPerlin(this.rand, 4); - worldIn.setSeaLevel(63); - - net.minecraftforge.event.terraingen.InitNoiseGensEvent.ContextHell ctx = - new net.minecraftforge.event.terraingen.InitNoiseGensEvent.ContextHell(lperlinNoise1, lperlinNoise2, perlinNoise1, slowsandGravelNoiseGen, netherrackExculsivityNoiseGen, scaleNoise, depthNoise); - ctx = net.minecraftforge.event.terraingen.TerrainGen.getModdedNoiseGenerators(worldIn, this.rand, ctx); - this.lperlinNoise1 = ctx.getLPerlin1(); - this.lperlinNoise2 = ctx.getLPerlin2(); - this.perlinNoise1 = ctx.getPerlin(); - this.slowsandGravelNoiseGen = ctx.getPerlin2(); - this.netherrackExculsivityNoiseGen = ctx.getPerlin3(); - this.scaleNoise = ctx.getScale(); - this.depthNoise = ctx.getDepth(); - - this.stoneNoiseArray = new double[256]; - - this.genNetherBridge = (MapGenNetherBridge)net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(genNetherBridge, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.NETHER_BRIDGE); - this.genNetherCaves = net.minecraftforge.event.terraingen.TerrainGen.getModdedMapGen(genNetherCaves, net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.NETHER_CAVE); - } - - public void setChunkLavaNetherrack(int chunkX, int chunkZ, ChunkPrimer primer) - { - int seaLevel = this.world.getSeaLevel() / 2 + 1; - this.noiseArray = this.getHeights(this.noiseArray, chunkX * 4, 0, chunkZ * 4, 5, 17, 5); - - double oneEighth = 0.125D; - double oneQuarter = 0.25D; - - // entire chunk is 16x128x16 - // process chunk in subchunks, each one 4x8x4 blocks in size - // 4 subchunks in x direction, each 4 blocks long - // 16 subchunks in y direction, each 8 blocks long - // 4 subchunks in z direction, each 4 blocks long - // for a total of 256 subchunks - - // divide chunk into 4 subchunks in x direction, index as ix - for (int ix = 0; ix < 4; ++ix) - { - int k_x0 = ix * 5; - int k_x1 = (ix + 1) * 5; - - // divide chunk into 4 subchunks in z direction, index as iz - for (int iz = 0; iz < 4; ++iz) - { - int k_x0z0 = (k_x0 + iz) * 17; - int k_x0z1 = (k_x0 + iz + 1) * 17; - int k_x1z0 = (k_x1 + iz) * 17; - int k_x1z1 = (k_x1 + iz + 1) * 17; - - // divide chunk into 16 subchunks in y direction, index as iy - for (int iy = 0; iy < 16; ++iy) - { - // get the noise values from the noise array - // these are the values at the corners of the subchunk - double n_x0y0z0 = this.noiseArray[k_x0z0 + iy]; - double n_x0y0z1 = this.noiseArray[k_x0z1 + iy]; - double n_x1y0z0 = this.noiseArray[k_x1z0 + iy]; - double n_x1y0z1 = this.noiseArray[k_x1z1 + iy]; - double n_x0y1z0 = this.noiseArray[k_x0z0 + iy + 1]; - double n_x0y1z1 = this.noiseArray[k_x0z1 + iy + 1]; - double n_x1y1z0 = this.noiseArray[k_x1z0 + iy + 1]; - double n_x1y1z1 = this.noiseArray[k_x1z1 + iy + 1]; - - // linearly interpolate between the noise points to get a noise value for each block in the subchunk - - double noiseStepY00 = (n_x0y1z0 - n_x0y0z0) * oneEighth; - double noiseStepY01 = (n_x0y1z1 - n_x0y0z1) * oneEighth; - double noiseStepY10 = (n_x1y1z0 - n_x1y0z0) * oneEighth; - double noiseStepY11 = (n_x1y1z1 - n_x1y0z1) * oneEighth; - - double noiseStartX0 = n_x0y0z0; - double noiseStartX1 = n_x0y0z1; - double noiseEndX0 = n_x1y0z0; - double noiseEndX1 = n_x1y0z1; - - // subchunk is 8 blocks high in y direction, index as jy - for (int jy = 0; jy < 8; ++jy) - { - double noiseStartZ = noiseStartX0; - double noiseEndZ = noiseStartX1; - - double noiseStepX0 = (noiseEndX0 - noiseStartX0) * oneQuarter; - double noiseStepX1 = (noiseEndX1 - noiseStartX1) * oneQuarter; - - // subchunk is 4 blocks long in x direction, index as jx - for (int jx = 0; jx < 4; ++jx) - { - double noiseStepZ = (noiseEndZ - noiseStartZ) * oneQuarter; - double noiseVal = noiseStartZ; - - // subchunk is 4 blocks long in x direction, index as jz - for (int jz = 0; jz < 4; ++jz) - { - // If the noise value is above zero, this block starts as netherrack - // Otherwise it's 'empty' - air above sealevel and lava below it - if (noiseVal > 0.0D) - { - primer.setBlockState(ix * 4 + jx, iy * 8 + jy, iz * 4 + jz, NETHERRACK); - } - else if (iy * 8 + jy < seaLevel) - { - primer.setBlockState(ix * 4 + jx, iy * 8 + jy, iz * 4 + jz, LAVA); - } - noiseVal += noiseStepZ; - } - - noiseStartZ += noiseStepX0; - noiseEndZ += noiseStepX1; - } - - noiseStartX0 += noiseStepY00; - noiseStartX1 += noiseStepY01; - noiseEndX0 += noiseStepY10; - noiseEndX1 += noiseStepY11; - } - } - } - } - } - - // Biomes add their top blocks and filler blocks to the primer here - public void replaceBlocksForBiome(int chunkX, int chunkZ, ChunkPrimer primer, Biome[] biomes) - { - if (!ForgeEventFactory.onReplaceBiomeBlocks(this, chunkX, chunkZ, primer, this.world)) return; - - double d0 = 0.03125D; - this.stoneNoiseArray = this.stoneNoiseGen.getRegion(this.stoneNoiseArray, (double)(chunkX * 16), (double)(chunkZ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); - - for (int localX = 0; localX < 16; ++localX) - { - for (int localZ = 0; localZ < 16; ++localZ) - { - Biome biome = biomes[localZ + localX * 16]; - biome.genTerrainBlocks(this.world, this.rand, primer, chunkX * 16 + localX, chunkZ * 16 + localZ, this.stoneNoiseArray[localZ + localX * 16]); - } - } - } - - public void buildSurfaces(int chunkX, int chunkZ, ChunkPrimer primer) - { - if (!ForgeEventFactory.onReplaceBiomeBlocks(this, chunkX, chunkZ, primer, this.world)) return; - int i = this.world.getSeaLevel() + 1; - double d0 = 0.03125D; - this.slowsandNoise = this.slowsandGravelNoiseGen.generateNoiseOctaves(this.slowsandNoise, chunkX * 16, chunkZ * 16, 0, 16, 16, 1, 0.03125D, 0.03125D, 1.0D); - this.gravelNoise = this.slowsandGravelNoiseGen.generateNoiseOctaves(this.gravelNoise, chunkX * 16, 109, chunkZ * 16, 16, 1, 16, 0.03125D, 1.0D, 0.03125D); - this.depthBuffer = this.netherrackExculsivityNoiseGen.generateNoiseOctaves(this.depthBuffer, chunkX * 16, chunkZ * 16, 0, 16, 16, 1, 0.0625D, 0.0625D, 0.0625D); - - for (int ix = 0; ix < 16; ++ix) - { - for (int iz = 0; iz < 16; ++iz) - { - boolean flag = this.slowsandNoise[ix + iz * 16] + this.rand.nextDouble() * 0.2D > 0.0D; - boolean flag1 = this.gravelNoise[ix + iz * 16] + this.rand.nextDouble() * 0.2D > 0.0D; - int l = (int)(this.depthBuffer[ix + iz * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); - int i1 = -1; - IBlockState iblockstate = NETHERRACK; - IBlockState iblockstate1 = NETHERRACK; - - for (int iy = 127; iy >= 0; --iy) - { - if (iy < 127 - this.rand.nextInt(5) && iy > this.rand.nextInt(5)) - { - IBlockState iblockstate2 = primer.getBlockState(iz, iy, ix); - - if (iblockstate2.getBlock() != null && iblockstate2.getMaterial() != Material.AIR) - { - if (iblockstate2.getBlock() == Blocks.NETHERRACK) - { - if (i1 == -1) - { - if (l <= 0) - { - iblockstate = AIR; - iblockstate1 = NETHERRACK; - } - else if (iy >= i - 4 && iy <= i + 1) - { - iblockstate = NETHERRACK; - iblockstate1 = NETHERRACK; - - if (flag1) - { - iblockstate = GRAVEL; - iblockstate1 = NETHERRACK; - } - - if (flag) - { - iblockstate = SOUL_SAND; - iblockstate1 = SOUL_SAND; - } - } - - if (iy < i && (iblockstate == null || iblockstate.getMaterial() == Material.AIR)) - { - iblockstate = LAVA; - } - - i1 = l; - - if (iy >= i - 1) - { - primer.setBlockState(iz, iy, ix, iblockstate); - } - else - { - primer.setBlockState(iz, iy, ix, iblockstate1); - } - } - else if (i1 > 0) - { - --i1; - primer.setBlockState(iz, iy, ix, iblockstate1); - } - } - } - else - { - i1 = -1; - } - } - else - { - primer.setBlockState(iz, iy, ix, BEDROCK); - } - } - } - } - } - - @Override - public Chunk generateChunk(int chunkX, int chunkZ) - { - // initialize the random generator using the chunk coordinates - this.rand.setSeed((long)chunkX * 341873128712L + (long)chunkZ * 132897987541L); - - // create the primer - ChunkPrimer chunkprimer = new ChunkPrimer(); - - // start off by adding the basic terrain shape with air netherrack and lava blocks - this.setChunkLavaNetherrack(chunkX, chunkZ, chunkprimer); - - this.buildSurfaces(chunkX, chunkZ, chunkprimer); - this.genNetherCaves.generate(this.world, chunkX, chunkZ, chunkprimer); - - if (this.generateStructures) - { - this.genNetherBridge.generate(this.world, chunkX, chunkZ, chunkprimer); - } - - Biome[] biomes = this.world.getBiomeProvider().getBiomes(null, chunkX * 16, chunkZ * 16, 16, 16); - this.replaceBlocksForBiome(chunkX, chunkZ, chunkprimer, biomes); - - Chunk chunk = new Chunk(this.world, chunkprimer, chunkX, chunkZ); - byte[] chunkBiomes = chunk.getBiomeArray(); - - for (int i = 0; i < chunkBiomes.length; ++i) - { - chunkBiomes[i] = (byte)Biome.getIdForBiome(biomes[i]); - } - - chunk.resetRelightChecks(); - return chunk; - } - - // by default, sizeX = 5, sizeY = 17 and sizeZ = 5 - private double[] getHeights(double[] noiseArray, int subchunkX, int subchunkY, int subchunkZ, int sizeX, int sizeY, int sizeZ) - { - if (noiseArray == null) - { - noiseArray = new double[sizeX * sizeY * sizeZ]; - } - - ChunkGeneratorEvent.InitNoiseField event = new ChunkGeneratorEvent.InitNoiseField(this, noiseArray, subchunkX, subchunkY, subchunkZ, sizeX, sizeY, sizeZ); - MinecraftForge.EVENT_BUS.post(event); - if (event.getResult() == Event.Result.DENY) return event.getNoisefield(); - - this.depthRegion = this.depthNoise.generateNoiseOctaves(this.depthRegion, subchunkX, subchunkY, subchunkZ, sizeX, 1, sizeZ, 100.0D, 0.0D, 100.0D); - - // terrain settings - double coordinateScale = 684.412; - double heightScale = 2053.236D; - double mainNoiseScaleX = 80.0; - double mainNoiseScaleY = 60.0; - double mainNoiseScaleZ = 80.0; - - // generate the xyz noise for the chunk - this.xyzBalanceNoiseArray = this.perlinNoise1.generateNoiseOctaves(this.xyzBalanceNoiseArray, subchunkX, subchunkY, subchunkZ, sizeX, sizeY, sizeZ, coordinateScale / mainNoiseScaleX, heightScale / mainNoiseScaleY, coordinateScale / mainNoiseScaleZ); - this.xyzNoiseArrayA = this.lperlinNoise1.generateNoiseOctaves(this.xyzNoiseArrayA, subchunkX, subchunkY, subchunkZ, sizeX, sizeY, sizeZ, coordinateScale, heightScale, coordinateScale); - this.xyzNoiseArrayB = this.lperlinNoise2.generateNoiseOctaves(this.xyzNoiseArrayB, subchunkX, subchunkY, subchunkZ, sizeX, sizeY, sizeZ, coordinateScale, heightScale, coordinateScale); - - // loop over the subchunks and calculate the overall noise value - int xyzCounter = 0; - // adjustments made to the noise based on the y position of the subchunk - double[] yBalanceArray = new double[sizeY]; - - // generate noise adjustment values based on the y position - for (int iy = 0; iy < sizeY; ++iy) - { - // slightly bias towards a platform in the centre of the y axis with air above and below - yBalanceArray[iy] = Math.cos((double)iy * Math.PI * 6.0D / (double)sizeY) * 2.0D; - double jy = (double)iy; - - // jy should reach a max of 8 at the centre subchunk, and decreases above and below that - if (iy > sizeY / 2) - { - jy = (double)(sizeY - 1 - iy); - } - - if (jy < 4.0D) - { - jy = 4.0D - jy; - - // drastically increase netherrack at the roof and floor of the nether - yBalanceArray[iy] -= jy * jy * jy * 10.0D; - } - } - - // loop over the subchunks and calculate the overall noise value - for (int ix = 0; ix < sizeX; ++ix) - { - for (int iz = 0; iz < sizeZ; ++iz) - { - for (int iy = 0; iy < sizeY; ++iy) - { - double yBalance = yBalanceArray[iy]; - - // calculate the xzy noise value - double xyzNoiseA = this.xyzNoiseArrayA[xyzCounter] / 512.0D; - double xyzNoiseB = this.xyzNoiseArrayB[xyzCounter] / 512.0D; - double balance = (this.xyzBalanceNoiseArray[xyzCounter] / 10.0D + 1.0D) / 2.0D; - double xyzNoiseValue; - - if (balance < 0.0D) - { - xyzNoiseValue = xyzNoiseA; - } - else if (balance > 1.0D) - { - xyzNoiseValue = xyzNoiseB; - } - else - { - xyzNoiseValue = xyzNoiseA + (xyzNoiseB - xyzNoiseA) * balance; - } - - xyzNoiseValue = xyzNoiseValue - yBalance; - - // make the noiseVal decrease sharply when we're close to the top of the chunk - // guarantees value of -10 at iy=16, so that there is always some air at the top - if (iy > sizeY - 4) - { - double closeToTopOfChunkFactor = (double)((float)(iy - (sizeY - 4)) / 3.0F); // 1/3, 2/3, or 1 - xyzNoiseValue = xyzNoiseValue * (1.0D - closeToTopOfChunkFactor) + -10.0D * closeToTopOfChunkFactor; - } - - noiseArray[xyzCounter] = xyzNoiseValue; - ++xyzCounter; - } - } - } - - return noiseArray; - } - - @Override - public void populate(int chunkX, int chunkZ) - { - boolean prevLogging = ForgeModContainer.logCascadingWorldGeneration; - ForgeModContainer.logCascadingWorldGeneration = false; - - BlockFalling.fallInstantly = true; - net.minecraftforge.event.ForgeEventFactory.onChunkPopulate(true, this, this.world, this.rand, chunkX, chunkZ, false); - int x = chunkX * 16; - int z = chunkZ * 16; - BlockPos blockpos = new BlockPos(x, 0, z); - Biome biome = this.world.getBiome(blockpos.add(16, 0, 16)); - ChunkPos chunkpos = new ChunkPos(chunkX, chunkZ); - this.genNetherBridge.generateStructure(this.world, this.rand, chunkpos); - - if (TerrainGen.populate(this, this.world, this.rand, chunkX, chunkZ, false, PopulateChunkEvent.Populate.EventType.NETHER_LAVA)) - for (int k = 0; k < 8; ++k) - { - this.hellSpringGen.generate(this.world, this.rand, blockpos.add(this.rand.nextInt(16) + 8, this.rand.nextInt(120) + 4, this.rand.nextInt(16) + 8)); - } - - // don't do this to prevent double-ups - //MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Pre(this.world, this.rand, blockpos)); - - // note: this was moved earlier to be more similar to overworld biome decoration, however - // it's possible that this may cause issues with other mods - biome.decorate(this.world, this.rand, new BlockPos(x, 0, z)); - - if (TerrainGen.populate(this, this.world, this.rand, chunkX, chunkZ, false, PopulateChunkEvent.Populate.EventType.FIRE)) - for (int i1 = 0; i1 < this.rand.nextInt(this.rand.nextInt(10) + 1) + 1; ++i1) - { - this.fireFeature.generate(this.world, this.rand, blockpos.add(this.rand.nextInt(16) + 8, this.rand.nextInt(120) + 4, this.rand.nextInt(16) + 8)); - } - - if (TerrainGen.populate(this, this.world, this.rand, chunkX, chunkZ, false, PopulateChunkEvent.Populate.EventType.GLOWSTONE)) - { - for (int j1 = 0; j1 < this.rand.nextInt(this.rand.nextInt(10) + 1); ++j1) - { - this.lightGemGen.generate(this.world, this.rand, blockpos.add(this.rand.nextInt(16) + 8, this.rand.nextInt(120) + 4, this.rand.nextInt(16) + 8)); - } - - for (int k1 = 0; k1 < 10; ++k1) - { - this.hellPortalGen.generate(this.world, this.rand, blockpos.add(this.rand.nextInt(16) + 8, this.rand.nextInt(128), this.rand.nextInt(16) + 8)); - } - }//Forge: End doGLowstone - - ForgeEventFactory.onChunkPopulate(false, this, this.world, this.rand, chunkX, chunkZ, false); - - if (TerrainGen.decorate(this.world, this.rand, blockpos, DecorateBiomeEvent.Decorate.EventType.SHROOM)) - { - if (this.rand.nextBoolean()) - { - this.brownMushroomFeature.generate(this.world, this.rand, blockpos.add(this.rand.nextInt(16) + 8, this.rand.nextInt(128), this.rand.nextInt(16) + 8)); - } - - if (this.rand.nextBoolean()) - { - this.redMushroomFeature.generate(this.world, this.rand, blockpos.add(this.rand.nextInt(16) + 8, this.rand.nextInt(128), this.rand.nextInt(16) + 8)); - } - } - - if (TerrainGen.generateOre(this.world, this.rand, quartzGen, blockpos, OreGenEvent.GenerateMinable.EventType.QUARTZ)) - for (int l1 = 0; l1 < 16; ++l1) - { - this.quartzGen.generate(this.world, this.rand, blockpos.add(this.rand.nextInt(16), this.rand.nextInt(108) + 10, this.rand.nextInt(16))); - } - - int i2 = this.world.getSeaLevel() / 2 + 1; - - if (TerrainGen.populate(this, this.world, this.rand, chunkX, chunkZ, false, PopulateChunkEvent.Populate.EventType.NETHER_MAGMA)) - for (int l = 0; l < 4; ++l) - { - this.magmaGen.generate(this.world, this.rand, blockpos.add(this.rand.nextInt(16), i2 - 5 + this.rand.nextInt(10), this.rand.nextInt(16))); - } - - if (TerrainGen.populate(this, this.world, this.rand, chunkX, chunkZ, false, PopulateChunkEvent.Populate.EventType.NETHER_LAVA2)) - for (int j2 = 0; j2 < 16; ++j2) - { - this.lavaTrapGen.generate(this.world, this.rand, blockpos.add(this.rand.nextInt(16), this.rand.nextInt(108) + 10, this.rand.nextInt(16))); - } - - // this should already be called during biome decoration (Vanilla doesn't usually call this for the Nether - // though, since the decoration method is empty) - //MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Post(this.world, this.rand, blockpos)); - - BlockFalling.fallInstantly = false; - ForgeModContainer.logCascadingWorldGeneration = prevLogging; - } - - @Override - public boolean generateStructures(Chunk chunkIn, int x, int z) - { - return false; - } - - @Override - public List getPossibleCreatures(EnumCreatureType creatureType, BlockPos pos) - { - if (creatureType == EnumCreatureType.MONSTER) - { - if (this.genNetherBridge.isInsideStructure(pos)) - { - return this.genNetherBridge.getSpawnList(); - } - - if (this.genNetherBridge.isPositionInStructure(this.world, pos) && this.world.getBlockState(pos.down()).getBlock() == Blocks.NETHER_BRICK) - { - return this.genNetherBridge.getSpawnList(); - } - } - - Biome biome = this.world.getBiome(pos); - return biome.getSpawnableList(creatureType); - } - - @Override - @Nullable - public BlockPos getNearestStructurePos(World worldIn, String structureName, BlockPos position, boolean p_180513_4_) - { - return "Fortress".equals(structureName) && this.genNetherBridge != null ? this.genNetherBridge.getNearestStructurePos(worldIn, position, p_180513_4_) : null; - } - - @Override - public boolean isInsideStructure(World world, String structureName, BlockPos pos) - { - return ("Fortress".equals(structureName) && this.genNetherBridge != null) && this.genNetherBridge.isInsideStructure(pos); - } - - @Override - public void recreateStructures(Chunk chunkIn, int x, int z) - { - this.genNetherBridge.generate(this.world, x, z, null); - } -} diff --git a/src/main/java/biomesoplenty/common/world/ChunkGeneratorOverworldBOP.java b/src/main/java/biomesoplenty/common/world/ChunkGeneratorOverworldBOP.java deleted file mode 100644 index 30ea6d9ae..000000000 --- a/src/main/java/biomesoplenty/common/world/ChunkGeneratorOverworldBOP.java +++ /dev/null @@ -1,730 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; - -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.MINESHAFT; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.OCEAN_MONUMENT; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.SCATTERED_FEATURE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.STRONGHOLD; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.VILLAGE; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ANIMALS; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.DUNGEON; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ICE; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAKE; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import biomesoplenty.common.util.biome.BiomeUtils; -import net.minecraft.block.BlockFalling; -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.ChunkPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.WorldEntitySpawner; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.ChunkPrimer; -import net.minecraft.world.gen.*; -import net.minecraft.world.gen.feature.WorldGenDungeons; -import net.minecraft.world.gen.feature.WorldGenLakes; -import net.minecraft.world.gen.structure.MapGenMineshaft; -import net.minecraft.world.gen.structure.MapGenScatteredFeature; -import net.minecraft.world.gen.structure.MapGenStronghold; -import net.minecraft.world.gen.structure.MapGenVillage; -import net.minecraft.world.gen.structure.StructureOceanMonument; -import net.minecraft.world.gen.structure.WoodlandMansion; -import net.minecraftforge.common.ForgeModContainer; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.terraingen.PopulateChunkEvent; -import net.minecraftforge.event.terraingen.TerrainGen; - -public class ChunkGeneratorOverworldBOP implements IChunkGenerator -{ - private Random rand; - private NoiseGeneratorOctaves xyzNoiseGenA; - private NoiseGeneratorOctaves xyzNoiseGenB; - private NoiseGeneratorOctaves xyzBalanceNoiseGen; - private NoiseGeneratorPerlin stoneNoiseGen; - public NoiseGeneratorBOPByte byteNoiseGen; - private World world; - private final boolean mapFeaturesEnabled; - private BOPWorldSettings settings; - private IBlockState seaBlockState; - private IBlockState stoneBlockState; - private MapGenBase caveGenerator; - private MapGenStronghold strongholdGenerator; - private MapGenVillage villageGenerator; - private MapGenMineshaft mineshaftGenerator; - private MapGenScatteredFeature scatteredFeatureGenerator; - private MapGenBase ravineGenerator; - private StructureOceanMonument oceanMonumentGenerator; - private WoodlandMansion woodlandMansionGenerator; - private double[] xyzBalanceNoiseArray; - private double[] xyzNoiseArrayA; - private double[] xyzNoiseArrayB; - private double[] stoneNoiseArray; - private final double[] noiseArray; - private Map biomeTerrainSettings; - - public ChunkGeneratorOverworldBOP(World worldIn, long seed, boolean mapFeaturesEnabled, String chunkProviderSettingsString) - { - System.out.println("ChunkGeneratorOverworldBOP json: "+chunkProviderSettingsString); - - this.world = worldIn; - this.mapFeaturesEnabled = mapFeaturesEnabled; - this.rand = new Random(seed); - - this.settings = new BOPWorldSettings(chunkProviderSettingsString); - System.out.println("ChunkGeneratorOverworldBOP settings: "+this.settings.toJson()); - - // set up structure generators (overridable by forge) - this.caveGenerator = TerrainGen.getModdedMapGen(new MapGenCaves(), CAVE); - this.strongholdGenerator = (MapGenStronghold)TerrainGen.getModdedMapGen(new MapGenStronghold(), STRONGHOLD); - this.villageGenerator = (MapGenVillage)TerrainGen.getModdedMapGen(new MapGenVillage(), VILLAGE); - this.mineshaftGenerator = (MapGenMineshaft)TerrainGen.getModdedMapGen(new MapGenMineshaft(), MINESHAFT); - this.scatteredFeatureGenerator = (MapGenScatteredFeature)TerrainGen.getModdedMapGen(new BOPMapGenScatteredFeature(), SCATTERED_FEATURE); - this.ravineGenerator = TerrainGen.getModdedMapGen(new MapGenRavine(), RAVINE); - this.oceanMonumentGenerator = (StructureOceanMonument)TerrainGen.getModdedMapGen(new StructureOceanMonument(), OCEAN_MONUMENT); - // TODO: Remove and adopt Forge's setup whenever that is added - this.woodlandMansionGenerator = new WoodlandMansion(new FakeMansionChunkProvider()); - - // set up the noise generators - this.xyzNoiseGenA = new NoiseGeneratorOctaves(this.rand, 16); - this.xyzNoiseGenB = new NoiseGeneratorOctaves(this.rand, 16); - this.xyzBalanceNoiseGen = new NoiseGeneratorOctaves(this.rand, 8); - this.stoneNoiseGen = new NoiseGeneratorPerlin(this.rand, 4); - this.byteNoiseGen = new NoiseGeneratorBOPByte(this.rand, 6, 5, 5); // 6 octaves, 5x5 xz grid - this.stoneNoiseArray = new double[256]; - this.noiseArray = new double[825]; - - // blockstates for stone and sea blocks - this.stoneBlockState = Blocks.STONE.getDefaultState(); - this.seaBlockState = Blocks.WATER.getDefaultState(); - - // store a TerrainSettings object for each biome - this.biomeTerrainSettings = new HashMap(); - for (Biome biome : BiomeUtils.getRegisteredBiomes()) - { - if (biome == null) {continue;} - this.biomeTerrainSettings.put(biome, (biome instanceof BOPOverworldBiome) ? ((BOPOverworldBiome)biome).terrainSettings : TerrainSettings.forVanillaBiome(biome)); - } - - } - - - - @Override - public Chunk generateChunk(int chunkX, int chunkZ) - { - // initialize the random generator using the chunk coordinates - this.rand.setSeed((long)chunkX * 341873128712L + (long)chunkZ * 132897987541L); - - // create the primer - ChunkPrimer chunkprimer = new ChunkPrimer(); - - // start off by adding the basic terrain shape with air stone and water blocks - this.setChunkAirStoneWater(chunkX, chunkZ, chunkprimer); - - // hand over to the biomes for them to set bedrock grass and dirt - Biome[] biomes = this.world.getBiomeProvider().getBiomes(null, chunkX * 16, chunkZ * 16, 16, 16); - this.replaceBlocksForBiome(chunkX, chunkZ, chunkprimer, biomes); - - // add structures - if (this.settings.useCaves) - { - this.caveGenerator.generate(this.world, chunkX, chunkZ, chunkprimer); - } - if (this.settings.useRavines) - { - this.ravineGenerator.generate(this.world, chunkX, chunkZ, chunkprimer); - } - - if (this.mapFeaturesEnabled) - { - if (this.settings.useMineShafts) - { - this.mineshaftGenerator.generate(this.world, chunkX, chunkZ, chunkprimer); - } - - if (this.settings.useVillages) - { - this.villageGenerator.generate(this.world, chunkX, chunkZ, chunkprimer); - } - - if (this.settings.useStrongholds) - { - this.strongholdGenerator.generate(this.world, chunkX, chunkZ, chunkprimer); - } - - if (this.settings.useTemples) - { - this.scatteredFeatureGenerator.generate(this.world, chunkX, chunkZ, chunkprimer); - } - - if (this.settings.useMonuments) - { - this.oceanMonumentGenerator.generate(this.world, chunkX, chunkZ, chunkprimer); - } - - if (this.settings.useMansions) - { - this.woodlandMansionGenerator.generate(this.world, chunkX, chunkZ, chunkprimer); - } - } - - // create and return the chunk - Chunk chunk = new Chunk(this.world, chunkprimer, chunkX, chunkZ); - byte[] chunkBiomes = chunk.getBiomeArray(); - for (int k = 0; k < chunkBiomes.length; ++k) - { - chunkBiomes[k] = (byte)Biome.getIdForBiome(biomes[k]); - } - chunk.generateSkylightMap(); - return chunk; - } - - - - - - public void setChunkAirStoneWater(int chunkX, int chunkZ, ChunkPrimer primer) - { - - // get noise values for the whole chunk - this.populateNoiseArray(chunkX, chunkZ); - - double oneEighth = 0.125D; - double oneQuarter = 0.25D; - - // entire chunk is 16x256x16 - // process chunk in subchunks, each one 4x8x4 blocks in size - // 4 subchunks in x direction, each 4 blocks long - // 32 subchunks in y direction, each 8 blocks long - // 4 subchunks in z direction, each 4 blocks long - // for a total of 512 subchunks - - // divide chunk into 4 subchunks in x direction, index as ix - for (int ix = 0; ix < 4; ++ix) - { - int k_x0 = ix * 5; - int k_x1 = (ix + 1) * 5; - - // divide chunk into 4 subchunks in z direction, index as iz - for (int iz = 0; iz < 4; ++iz) - { - int k_x0z0 = (k_x0 + iz) * 33; - int k_x0z1 = (k_x0 + iz + 1) * 33; - int k_x1z0 = (k_x1 + iz) * 33; - int k_x1z1 = (k_x1 + iz + 1) * 33; - - // divide chunk into 32 subchunks in y direction, index as iy - for (int iy = 0; iy < 32; ++iy) - { - // get the noise values from the noise array - // these are the values at the corners of the subchunk - double n_x0y0z0 = this.noiseArray[k_x0z0 + iy]; - double n_x0y0z1 = this.noiseArray[k_x0z1 + iy]; - double n_x1y0z0 = this.noiseArray[k_x1z0 + iy]; - double n_x1y0z1 = this.noiseArray[k_x1z1 + iy]; - double n_x0y1z0 = this.noiseArray[k_x0z0 + iy + 1]; - double n_x0y1z1 = this.noiseArray[k_x0z1 + iy + 1]; - double n_x1y1z0 = this.noiseArray[k_x1z0 + iy + 1]; - double n_x1y1z1 = this.noiseArray[k_x1z1 + iy + 1]; - - // linearly interpolate between the noise points to get a noise value for each block in the subchunk - - double noiseStepY00 = (n_x0y1z0 - n_x0y0z0) * oneEighth; - double noiseStepY01 = (n_x0y1z1 - n_x0y0z1) * oneEighth; - double noiseStepY10 = (n_x1y1z0 - n_x1y0z0) * oneEighth; - double noiseStepY11 = (n_x1y1z1 - n_x1y0z1) * oneEighth; - - double noiseStartX0 = n_x0y0z0; - double noiseStartX1 = n_x0y0z1; - double noiseEndX0 = n_x1y0z0; - double noiseEndX1 = n_x1y0z1; - - // subchunk is 8 blocks high in y direction, index as jy - for (int jy = 0; jy < 8; ++jy) - { - - double noiseStartZ = noiseStartX0; - double noiseEndZ = noiseStartX1; - - double noiseStepX0 = (noiseEndX0 - noiseStartX0) * oneQuarter; - double noiseStepX1 = (noiseEndX1 - noiseStartX1) * oneQuarter; - - // subchunk is 4 blocks long in x direction, index as jx - for (int jx = 0; jx < 4; ++jx) - { - double noiseStepZ = (noiseEndZ - noiseStartZ) * oneQuarter; - double noiseVal = noiseStartZ; - - // subchunk is 4 blocks long in x direction, index as jz - for (int jz = 0; jz < 4; ++jz) - { - - // If the noise value is above zero, this block starts as stone - // Otherwise it's 'empty' - air above sealevel and water below it - if (noiseVal > 0.0D) - { - primer.setBlockState(ix * 4 + jx, iy * 8 + jy, iz * 4 + jz, this.stoneBlockState); - } - else if (iy * 8 + jy < this.settings.seaLevel) - { - primer.setBlockState(ix * 4 + jx, iy * 8 + jy, iz * 4 + jz, this.seaBlockState); - } - noiseVal += noiseStepZ; - } - - noiseStartZ += noiseStepX0; - noiseEndZ += noiseStepX1; - } - - noiseStartX0 += noiseStepY00; - noiseStartX1 += noiseStepY01; - noiseEndX0 += noiseStepY10; - noiseEndX1 += noiseStepY11; - } - } - } - } - } - - - // Biomes add their top blocks and filler blocks to the primer here - public void replaceBlocksForBiome(int chunkX, int chunkZ, ChunkPrimer primer, Biome[] biomes) - { - if (!net.minecraftforge.event.ForgeEventFactory.onReplaceBiomeBlocks(this, chunkX, chunkZ, primer, this.world)) return; - - double d0 = 0.03125D; - this.stoneNoiseArray = this.stoneNoiseGen.getRegion(this.stoneNoiseArray, (double)(chunkX * 16), (double)(chunkZ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); - - for (int localX = 0; localX < 16; ++localX) - { - for (int localZ = 0; localZ < 16; ++localZ) - { - Biome biome = biomes[localZ + localX * 16]; - biome.genTerrainBlocks(this.world, this.rand, primer, chunkX * 16 + localX, chunkZ * 16 + localZ, this.stoneNoiseArray[localZ + localX * 16]); - } - } - } - - - - - // a 5x5 bell-shaped curve which can be multiplied over to quickly get a weighted average with a radial falloff - the constant was chosen so that it sums to 1 - private static float[] radialFalloff5x5 = new float[25]; - // similar to the above but falls off faster, so giving stronger weight to the center item - private static float[] radialStrongFalloff5x5 = new float[25]; - static { - for (int j = -2; j <= 2; ++j) - { - for (int k = -2; k <= 2; ++k) - { - radialFalloff5x5[j + 2 + (k + 2) * 5] = 0.06476162171F / MathHelper.sqrt((float)(j * j + k * k) + 0.2F); - radialStrongFalloff5x5[j + 2 + (k + 2) * 5] = 0.076160519601F / ((float)(j * j + k * k) + 0.2F); - } - } - } - - - private TerrainSettings getWeightedTerrainSettings(int localX, int localZ, Biome[] biomes) - { - - // Rivers shouldn't be influenced by the neighbors - Biome centerBiome = biomes[localX + 2 + (localZ + 2) * 10]; - if (centerBiome == Biomes.RIVER || centerBiome == Biomes.FROZEN_RIVER || ((centerBiome instanceof BOPOverworldBiome) && ((BOPOverworldBiome)centerBiome).noNeighborTerrainInfuence)) - { - return this.biomeTerrainSettings.get(centerBiome); - } - - // Otherwise, get weighted average of properties from this and surrounding biomes - TerrainSettings settings = new TerrainSettings(); - for (int i = -2; i <= 2; ++i) - { - for (int j = -2; j <= 2; ++j) - { - float weight = radialFalloff5x5[i + 2 + (j + 2) * 5]; - TerrainSettings biomeSettings = this.biomeTerrainSettings.get(biomes[localX + i + 2 + (localZ + j + 2) * 10]); - - if (biomeSettings != null) - { - settings.avgHeight += weight * biomeSettings.avgHeight; - settings.variationAbove += weight * biomeSettings.variationAbove; - settings.variationBelow += weight * biomeSettings.variationBelow; - settings.minHeight += weight * biomeSettings.minHeight; - settings.maxHeight += weight * biomeSettings.maxHeight; - settings.sidewaysNoiseAmount += weight * biomeSettings.sidewaysNoiseAmount; - for (int k = 0; k < settings.octaveWeights.length; k++) - { - settings.octaveWeights[k] += weight * biomeSettings.octaveWeights[k]; - } - } - } - } - - return settings; - } - - - - private void populateNoiseArray(int chunkX, int chunkZ) - { - - Biome[] biomes = this.world.getBiomeProvider().getBiomesForGeneration(null, chunkX * 4 - 2, chunkZ * 4 - 2, 10, 10); - - // values from vanilla - float coordinateScale = this.settings.coordinateScale; - float heightScale = this.settings.heightScale; - double upperLimitScale = this.settings.upperLimitScale; - double lowerLimitScale = this.settings.lowerLimitScale; - float mainNoiseScaleX = this.settings.mainNoiseScaleX; - float mainNoiseScaleY = this.settings.mainNoiseScaleY; - float mainNoiseScaleZ = this.settings.mainNoiseScaleZ; - - int subchunkX = chunkX * 4; - int subchunkY = 0; - int subchunkZ = chunkZ * 4; - - // generate the xz noise for the chunk - this.byteNoiseGen.generateNoise(subchunkX, subchunkZ); - - // generate the xyz noise for the chunk - this.xyzBalanceNoiseArray = this.xyzBalanceNoiseGen.generateNoiseOctaves(this.xyzBalanceNoiseArray, subchunkX, subchunkY, subchunkZ, 5, 33, 5, (double)(coordinateScale / mainNoiseScaleX), (double)(heightScale / mainNoiseScaleY), (double)(coordinateScale / mainNoiseScaleZ)); - this.xyzNoiseArrayA = this.xyzNoiseGenA.generateNoiseOctaves(this.xyzNoiseArrayA, subchunkX, subchunkY, subchunkZ, 5, 33, 5, (double)coordinateScale, (double)heightScale, (double)coordinateScale); - this.xyzNoiseArrayB = this.xyzNoiseGenB.generateNoiseOctaves(this.xyzNoiseArrayB, subchunkX, subchunkY, subchunkZ, 5, 33, 5, (double)coordinateScale, (double)heightScale, (double)coordinateScale); - - // loop over the subchunks and calculate the overall noise value - int xyzCounter = 0; - int xzCounter = 0; - for (int ix = 0; ix < 5; ++ix) - { - for (int iz = 0; iz < 5; ++iz) - { - // get the terrain settings to use for this subchunk as a weighted average of the settings from the nearby biomes - TerrainSettings settings = this.getWeightedTerrainSettings(ix, iz, biomes); - - // get the xz noise value - double xzNoiseVal = this.byteNoiseGen.getWeightedDouble(xzCounter, settings.octaveWeights); - - // get the amplitudes - double xzAmplitude = this.settings.amplitude * (xzNoiseVal < 0 ? settings.variationBelow : settings.variationAbove) * (1 - settings.sidewaysNoiseAmount); - double xyzAmplitude = this.settings.amplitude * (xzNoiseVal < 0 ? settings.variationBelow : settings.variationAbove) * (settings.sidewaysNoiseAmount); - - // the 'base level' is the average height, plus the height from the xz noise - double baseLevel = settings.avgHeight + (xzNoiseVal * xzAmplitude); - - for (int iy = 0; iy < 33; ++iy) - { - int y = iy * 8; - - if (y < settings.minHeight) - { - this.noiseArray[xyzCounter] = settings.minHeight - y; - } - else if (y > settings.maxHeight) - { - this.noiseArray[xyzCounter] = settings.maxHeight - y; - } - else - { - // calculate the xzy noise value - double xyzNoiseA = this.xyzNoiseArrayA[xyzCounter] / lowerLimitScale; - double xyzNoiseB = this.xyzNoiseArrayB[xyzCounter] / upperLimitScale; - double balance = (this.xyzBalanceNoiseArray[xyzCounter] / 10.0D + 1.0D) / 2.0D; - double xyzNoiseValue = MathHelper.clamp(xyzNoiseA, xyzNoiseB, balance) / 50.0D; - - // calculate the depth - double depth = baseLevel - y + (xyzAmplitude * xyzNoiseValue); - - // make the noiseVal decrease sharply when we're close to the top of the chunk - // guarantees value of -10 at iy=32, so that there is always some air at the top - if (iy > 29) - { - double closeToTopOfChunkFactor = (double)((float)(iy - 29) / 3.0F); // 1/3, 2/3 or 1 - depth = depth * (1.0D - closeToTopOfChunkFactor) + -10.0D * closeToTopOfChunkFactor; - } - - this.noiseArray[xyzCounter] = depth; - } - ++xyzCounter; - } - - xzCounter++; - - } - } - } - - @Override - public void populate(int chunkX, int chunkZ) - { - boolean prevLogging = ForgeModContainer.logCascadingWorldGeneration; - ForgeModContainer.logCascadingWorldGeneration = false; - - BlockFalling.fallInstantly = true; - int x = chunkX * 16; - int z = chunkZ * 16; - - BlockPos blockpos = new BlockPos(x, 0, z); - - Biome Biome = this.world.getBiome(blockpos.add(16, 0, 16)); - - this.rand.setSeed(this.world.getSeed()); - long l0 = this.rand.nextLong() / 2L * 2L + 1L; - long l1 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed((long)chunkX * l0 + (long)chunkZ * l1 ^ this.world.getSeed()); - boolean hasVillageGenerated = false; - ChunkPos chunkPos = new ChunkPos(chunkX, chunkZ); - - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(this, world, rand, chunkX, chunkZ, hasVillageGenerated)); - - // populate the structures - if (this.mapFeaturesEnabled) - { - if (this.settings.useMineShafts) - { - this.mineshaftGenerator.generateStructure(this.world, this.rand, chunkPos); - } - - if (this.settings.useVillages) - { - hasVillageGenerated = this.villageGenerator.generateStructure(this.world, this.rand, chunkPos); - } - - if (this.settings.useStrongholds) - { - this.strongholdGenerator.generateStructure(this.world, this.rand, chunkPos); - } - - if (this.settings.useTemples) - { - this.scatteredFeatureGenerator.generateStructure(this.world, this.rand, chunkPos); - } - - if (this.settings.useMonuments) - { - this.oceanMonumentGenerator.generateStructure(this.world, this.rand, chunkPos); - } - - if (this.settings.useMansions) - { - this.woodlandMansionGenerator.generateStructure(this.world, this.rand, chunkPos); - } - } - - BlockPos decorateStart = blockpos.add(8, 0, 8); - BlockPos target; - - // add water lakes - if (Biome.getRainfall() > 0.01F && Biome != Biomes.DESERT && Biome != Biomes.DESERT_HILLS && this.settings.useWaterLakes && !hasVillageGenerated && this.rand.nextInt(this.settings.waterLakeChance) == 0 && TerrainGen.populate(this, world, rand, chunkX, chunkZ, hasVillageGenerated, LAKE)) - { - target = decorateStart.add(this.rand.nextInt(16), this.rand.nextInt(256), this.rand.nextInt(16)); - (new WorldGenLakes(Blocks.WATER)).generate(this.world, this.rand, target); - } - - // add lava lakes - if (!hasVillageGenerated && (BOPBiomes.redwood_forest.isPresent() && Biome != BOPBiomes.redwood_forest.get()) && (BOPBiomes.redwood_forest_edge.isPresent() && Biome != BOPBiomes.redwood_forest_edge.get()) && (BOPBiomes.wasteland.isPresent() && Biome != BOPBiomes.wasteland.get()) && this.rand.nextInt(this.settings.lavaLakeChance / 10) == 0 && this.settings.useLavaLakes && TerrainGen.populate(this, world, rand, chunkX, chunkZ, hasVillageGenerated, LAVA)) - { - target = decorateStart.add(this.rand.nextInt(16), this.rand.nextInt(248) + 8, this.rand.nextInt(16)); - if (target.getY() < 63 || this.rand.nextInt(this.settings.lavaLakeChance / 8) == 0) - { - (new WorldGenLakes(Blocks.LAVA)).generate(this.world, this.rand, target); - } - } - - // add dungeons - if (this.settings.useDungeons && TerrainGen.populate(this, world, rand, chunkX, chunkZ, hasVillageGenerated, DUNGEON)) - { - for (int i = 0; i < this.settings.dungeonChance; ++i) - { - target = decorateStart.add(this.rand.nextInt(16), this.rand.nextInt(256), this.rand.nextInt(16)); - (new WorldGenDungeons()).generate(this.world, this.rand, target); - } - } - - // hand over to the biome to decorate itself - Biome.decorate(this.world, this.rand, new BlockPos(x, 0, z)); - - // add animals - if (TerrainGen.populate(this, world, rand, chunkX, chunkZ, hasVillageGenerated, ANIMALS)) - { - WorldEntitySpawner.performWorldGenSpawning(this.world, Biome, x + 8, z + 8, 16, 16, this.rand); - } - - // add ice and snow - if (TerrainGen.populate(this, world, rand, chunkX, chunkZ, hasVillageGenerated, ICE)) - { - for (int i = 0; i < 16; ++i) - { - for (int j = 0; j < 16; ++j) - { - target = this.world.getPrecipitationHeight(decorateStart.add(i, 0, j)); - Biome biome = this.world.getBiome(target); - // if it's cold enough for ice, and there's exposed water, then freeze it - if (this.world.canBlockFreezeWater(target.down())) - { - this.world.setBlockState(target.down(), Blocks.ICE.getDefaultState(), 2); - } - // if it's cold enough for snow, add a layer of snow - if (biome.getRainfall() > 0.01F && this.world.canSnowAt(target, true)) - { - this.world.setBlockState(target, Blocks.SNOW_LAYER.getDefaultState(), 2); - } - } - } - } - - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(this, world, rand, chunkX, chunkZ, hasVillageGenerated)); - - BlockFalling.fallInstantly = false; - ForgeModContainer.logCascadingWorldGeneration = prevLogging; - } - - @Override - public boolean generateStructures(Chunk chunkIn, int x, int z) - { - boolean flag = false; - - if (this.settings.useMonuments && this.mapFeaturesEnabled && chunkIn.getInhabitedTime() < 3600L) - { - flag |= this.oceanMonumentGenerator.generateStructure(this.world, this.rand, new ChunkPos(x, z)); - } - - return flag; - } - - @Override - public List getPossibleCreatures(EnumCreatureType creatureType, BlockPos pos) - { - Biome Biome = this.world.getBiome(pos); - - if (this.mapFeaturesEnabled) - { - if (creatureType == EnumCreatureType.MONSTER && this.scatteredFeatureGenerator.isSwampHut(pos)) - { - return this.scatteredFeatureGenerator.getMonsters(); - } - - if (creatureType == EnumCreatureType.MONSTER && this.settings.useMonuments && this.oceanMonumentGenerator.isPositionInStructure(this.world, pos)) - { - return this.oceanMonumentGenerator.getMonsters(); - } - } - - return Biome.getSpawnableList(creatureType); - } - - @Override - public BlockPos getNearestStructurePos(World world, String structureName, BlockPos pos, boolean findUnexplored) - { - return !this.mapFeaturesEnabled ? null : ("Stronghold".equals(structureName) && this.strongholdGenerator != null ? this.strongholdGenerator.getNearestStructurePos(world, pos, findUnexplored) : ("Mansion".equals(structureName) && this.woodlandMansionGenerator != null ? this.woodlandMansionGenerator.getNearestStructurePos(world, pos, findUnexplored) : ("Monument".equals(structureName) && this.oceanMonumentGenerator != null ? this.oceanMonumentGenerator.getNearestStructurePos(world, pos, findUnexplored) : ("Village".equals(structureName) && this.villageGenerator != null ? this.villageGenerator.getNearestStructurePos(world, pos, findUnexplored) : ("Mineshaft".equals(structureName) && this.mineshaftGenerator != null ? this.mineshaftGenerator.getNearestStructurePos(world, pos, findUnexplored) : ("Temple".equals(structureName) && this.scatteredFeatureGenerator != null ? this.scatteredFeatureGenerator.getNearestStructurePos(world, pos, findUnexplored) : null)))))); - } - - @Override - public void recreateStructures(Chunk chunk, int chunkX, int chunkZ) - { - if (this.mapFeaturesEnabled) - { - if (this.settings.useMineShafts) - { - this.mineshaftGenerator.generate(this.world, chunkX, chunkZ, null); - } - - if (this.settings.useVillages) - { - this.villageGenerator.generate(this.world, chunkX, chunkZ, null); - } - - if (this.settings.useStrongholds) - { - this.strongholdGenerator.generate(this.world, chunkX, chunkZ, null); - } - - if (this.settings.useTemples) - { - this.scatteredFeatureGenerator.generate(this.world, chunkX, chunkZ, null); - } - - if (this.settings.useMonuments) - { - this.oceanMonumentGenerator.generate(this.world, chunkX, chunkZ, null); - } - - if (this.settings.useMansions) - { - this.woodlandMansionGenerator.generate(this.world, chunkX, chunkZ, null); - } - } - } - - @Override - public boolean isInsideStructure(World world, String structureName, BlockPos pos) - { - if (!this.mapFeaturesEnabled) - { - return false; - } - else if ("Stronghold".equals(structureName) && this.strongholdGenerator != null) - { - return this.strongholdGenerator.isInsideStructure(pos); - } - else if ("Mansion".equals(structureName) && this.woodlandMansionGenerator != null) - { - return this.woodlandMansionGenerator.isInsideStructure(pos); - } - else if ("Monument".equals(structureName) && this.oceanMonumentGenerator != null) - { - return this.oceanMonumentGenerator.isInsideStructure(pos); - } - else if ("Village".equals(structureName) && this.villageGenerator != null) - { - return this.villageGenerator.isInsideStructure(pos); - } - else if ("Mineshaft".equals(structureName) && this.mineshaftGenerator != null) - { - return this.mineshaftGenerator.isInsideStructure(pos); - } - else - { - return ("Temple".equals(structureName) && this.scatteredFeatureGenerator != null) && this.scatteredFeatureGenerator.isInsideStructure(pos); - } - } - - /** - * TODO: Temporary hack for woodland mansion generation - * Either adopt ChunkGeneratorOverworld properly for this class or wait until - * Forge patches WoodlandMansion properly - */ - private class FakeMansionChunkProvider extends ChunkGeneratorOverworld - { - public FakeMansionChunkProvider() - { - super(ChunkGeneratorOverworldBOP.this.world, 0, true, ""); - } - - @Override - public void setBlocksInChunk(int x, int z, ChunkPrimer primer) - { - ChunkGeneratorOverworldBOP.this.setChunkAirStoneWater(x, z, primer); - } - } -} diff --git a/src/main/java/biomesoplenty/common/world/GenerationManager.java b/src/main/java/biomesoplenty/common/world/GenerationManager.java deleted file mode 100644 index 71cc49034..000000000 --- a/src/main/java/biomesoplenty/common/world/GenerationManager.java +++ /dev/null @@ -1,97 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import com.google.common.collect.ImmutableCollection; -import com.google.common.collect.ImmutableList; - -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.api.generation.IGenerationManager; -import biomesoplenty.api.generation.IGenerator; - -public class GenerationManager implements IGenerationManager -{ - private Map generators = new HashMap(); - - public void addGenerator(String name, GeneratorStage stage, IGenerator generator) - { - if (this.generators.containsKey(name)) - { - throw new RuntimeException("A generator with name " + name + " already exists!"); - } - generator.setName(name); - generator.setStage(stage); - this.generators.put(name, generator); - } - - public ImmutableCollection getGeneratorsForStage(GeneratorStage stage) - { - ArrayList out = new ArrayList(); - for (IGenerator generator : this.generators.values()) - { - if (generator.getStage() == stage) - { - out.add(generator); - } - } - return ImmutableList.copyOf(out); - } - - public void removeGenerator(String name) - { - this.generators.remove(name); - } - - public IGenerator getGenerator(String name) - { - return this.generators.get(name); - } - - public void configure(IConfigObj generatorsObj) - { - Iterator genKeysItr = generators.keySet().iterator(); - - // iterate over all registered generators - while (genKeysItr.hasNext()) - { - String name = genKeysItr.next(); - IConfigObj currentObj = generatorsObj.getObject(name); - - // configure the generator - // always attempt to do this so defaults are generated - if (currentObj.getBool("enable", true)) { - this.generators.get(name).configure(currentObj); - } else { - // remove this generator - genKeysItr.remove(); - } - } - - // attempt to add generators where there is no existing one present - for (String name : generatorsObj.getKeys()) - { - if (generatorsObj.has(name)) - { - IConfigObj currentObj = generatorsObj.getObject(name); - IGenerator generator = GeneratorRegistry.createGenerator(currentObj); - if (generator != null) - { - this.generators.put(name, generator); - } - } - } - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/GeneratorRegistry.java b/src/main/java/biomesoplenty/common/world/GeneratorRegistry.java deleted file mode 100644 index e4d9ec32b..000000000 --- a/src/main/java/biomesoplenty/common/world/GeneratorRegistry.java +++ /dev/null @@ -1,116 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; - -import java.util.HashMap; -import java.util.Map; - -import com.google.common.collect.BiMap; -import com.google.common.collect.HashBiMap; - -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.api.generation.Generators; -import biomesoplenty.api.generation.IGenerator; -import biomesoplenty.api.generation.IGenerator.IGeneratorBuilder; -import biomesoplenty.api.generation.IGeneratorRegistry; - -public class GeneratorRegistry -{ - private static BiMap> generatorClasses = HashBiMap.create(); - private static Map generatorBuilders = new HashMap(); - - public static void registerGenerator(String identifier, Class generatorClass, IGenerator.IGeneratorBuilder builder) - { - generatorClasses.put(identifier, generatorClass); - generatorBuilders.put(identifier, builder); - } - - public static String getIdentifier(Class generatorClass) - { - return generatorClasses.inverse().get(generatorClass); - } - - public static Class getGeneratorClass(String identifier) - { - return generatorClasses.get(identifier); - } - - public static IGenerator.IGeneratorBuilder getGeneratorBuilder(String identifier) - { - return generatorBuilders.get(identifier); - } - - public static boolean generatorExists(String identifier) - { - return generatorClasses.containsValue(identifier); - } - - public static IGenerator createGenerator(IConfigObj conf) - { - GeneratorStage stage = conf.getEnum("stage", GeneratorStage.class); - String identifier = conf.getString("type"); - if (stage == null || identifier == null) {return null;} - - IGenerator.IGeneratorBuilder builder = getGeneratorBuilder(identifier); - if (builder == null) - { - conf.addMessage("No generator is registered with type name " + identifier); - return null; - } - IGenerator generator = builder.create(); - generator.setStage(stage); - generator.configure(conf); - return generator; - } - - static - { - Generators.registry = new GeneratorRegistryImpl(); - } - - public static class GeneratorRegistryImpl implements IGeneratorRegistry - { - @Override - public void registerGenerator(String identifier, Class generatorClass, IGeneratorBuilder builder) - { - GeneratorRegistry.registerGenerator(identifier, generatorClass, builder); - } - - @Override - public String getIdentifier(Class generatorClass) - { - return GeneratorRegistry.getIdentifier(generatorClass); - } - - @Override - public Class getGeneratorClass(String identifier) - { - return GeneratorRegistry.getGeneratorClass(identifier); - } - - @Override - public IGeneratorBuilder getGeneratorBuilder(String identifier) - { - return GeneratorRegistry.getGeneratorBuilder(identifier); - } - - @Override - public boolean generatorExists(String identifier) - { - return GeneratorRegistry.generatorExists(identifier); - } - - @Override - public IGenerator createGenerator(IConfigObj conf) - { - return GeneratorRegistry.createGenerator(conf); - } - } -} diff --git a/src/main/java/biomesoplenty/common/world/NoiseGeneratorBOP.java b/src/main/java/biomesoplenty/common/world/NoiseGeneratorBOP.java deleted file mode 100644 index 5d2fc6fd9..000000000 --- a/src/main/java/biomesoplenty/common/world/NoiseGeneratorBOP.java +++ /dev/null @@ -1,245 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; -import java.util.Random; - -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.gen.NoiseGenerator; - -public class NoiseGeneratorBOP extends NoiseGenerator -{ - private int[] permutations; - - public double offsetU; - public double offsetV; - public double offsetW; - - public NoiseGeneratorBOP() - { - this(new Random()); - } - - public NoiseGeneratorBOP(Random rand) - { - this.permutations = new int[512]; - this.offsetU = rand.nextDouble() * 256.0D; - this.offsetV = rand.nextDouble() * 256.0D; - this.offsetW = rand.nextDouble() * 256.0D; - - // fill first half of permutations array with sequential numbers 0 to 255 - for (int i = 0; i < 256; i++) {this.permutations[i] = i;} - - // randomly rearrange the numbers 0 to 255 and repeat the sequence - for (int i = 0; i < 256; ++i) - { - int j = rand.nextInt(256 - i) + i; - // swap numbers at positions i and j - int k = this.permutations[i]; - this.permutations[i] = this.permutations[j]; - this.permutations[j] = k; - // repeat permutations in second half - this.permutations[i + 256] = this.permutations[i]; - } - } - - - // linear interpolation between a and b, where bias is the fraction (between 0 and 1) - public final double lerp(double t, double a, double b) - { - return a + t * (b - a); - } - - private static final double[] rc2_a = new double[] {1.0D, -1.0D, 1.0D, -1.0D, 1.0D, -1.0D, 1.0D, -1.0D, 0.0D, 0.0D, 0.0D, 0.0D, 1.0D, 0.0D, -1.0D, 0.0D}; - private static final double[] rc2_b = new double[] {0.0D, 0.0D, 0.0D, 0.0D, 1.0D, 1.0D, -1.0D, -1.0D, 1.0D, 1.0D, -1.0D, -1.0D, 0.0D, 1.0D, 0.0D, -1.0D}; - - // return a random combination of a and b, from the following: - // a, -a, a, -a, a+b, -a+b, a-b, -a-b, b, b, -b, -b, a, b, -a, -b - public final double randomCombineTwo(int seed, double a, double b) - { - int j = seed & 15; - return rc2_a[j] * a + rc2_b[j] * b; - } - - private static final double[] rc3_a = new double[] {1.0D, -1.0D, 1.0D, -1.0D, 1.0D, -1.0D, 1.0D, -1.0D, 0.0D, 0.0D, 0.0D, 0.0D, 1.0D, 0.0D, -1.0D, 0.0D}; - private static final double[] rc3_b = new double[] {1.0D, 1.0D, -1.0D, -1.0D, 0.0D, 0.0D, 0.0D, 0.0D, 1.0D, -1.0D, 1.0D, -1.0D, 1.0D, -1.0D, 1.0D, -1.0D}; - private static final double[] rc3_c = new double[] {0.0D, 0.0D, 0.0D, 0.0D, 1.0D, 1.0D, -1.0D, -1.0D, 1.0D, 1.0D, -1.0D, -1.0D, 0.0D, 1.0D, 0.0D, -1.0D}; - - // return a random combination of a,b and c, from the following: - // a+b, -a+b, a-b, -a-b, a+c, -a+c, a-c, -a-c, b+c, -b+c, b-c, -b-c, a+b, -b+c, -a+b, -b-c - // note that the coefficients have been chosen such that randomCombineThree(seed, a, 0, c) is identically equal to randomCombineTwo(seed, a, c) - public final double randomCombineThree(int seed, double a, double b, double c) - { - int j = seed & 15; - return rc3_a[j] * a + rc3_b[j] * b + rc3_c[j] * c; - } - - public double wraparound(double d) - { - long intD = MathHelper.floor(d); - return d - intD + (intD % 0x1000000); - } - - - - // wavelength is in blocks - public double[] populateNoiseArrayXZ(int chunkX, int chunkZ, int numX, int numZ, double wavelength, double amplitude) - { - int index = 0; - double[] out = new double[numX * numZ]; - - double sampleSpacing = 4.0D / wavelength; // each subchunk is 4x4 blocks - double startU = ((double)(chunkX * 16) / wavelength) + this.offsetU; - double startV = ((double)(chunkZ * 16) / wavelength) + this.offsetV; - startU = this.wraparound(startU); - startV = this.wraparound(startV); - - for (int i = 0; i < numX; ++i) - { - double u = startU + (i * sampleSpacing); - - // separate integer and fractional parts - int intU = (int)u; - if (u < (double)intU) {--intU;} - double fracU = u - (double)intU; - intU = intU & 255; - - // smoothing function - double tu = fracU * fracU * fracU * (fracU * (fracU * 6.0D - 15.0D) + 10.0D); - - // pick random permutations - int permX0 = this.permutations[intU]; - int permX1 = this.permutations[intU + 1]; - - for (int j = 0; j < numZ; ++j) - { - double v = startV + (j * sampleSpacing); - - // separate integer and fractional parts - int intV = (int)v; - if (v < (double)intV) {--intV;} - double fracV = v - (double)intV; - intV = intV & 255; - - // smoothing function - double tv = fracV * fracV * fracV * (fracV * (fracV * 6.0D - 15.0D) + 10.0D); - - // pick random permutations - int permZ0 = this.permutations[permX0] + intV; - int permZ1 = this.permutations[permX1] + intV; - - // pick corner values - double val00 = this.randomCombineTwo(this.permutations[permZ0], fracU, fracV); - double val01 = this.randomCombineTwo(this.permutations[permZ1], fracU - 1.0D, fracV); - double val10 = this.randomCombineTwo(this.permutations[permZ0 + 1], fracU, fracV - 1.0D); - double val11 = this.randomCombineTwo(this.permutations[permZ1 + 1], fracU - 1.0D, fracV - 1.0D); - - // bilinear interpolation in u direction first (twice) then in v direction (once) to get the interpolated value - double val0 = this.lerp(tu, val00, val01); - double val1 = this.lerp(tu, val10, val11); - double val = this.lerp(tv, val0, val1); - - // final value is multiplied by amplitude and added to the array - out[index] = val * amplitude; - index++; - } - } - return out; - } - - - public void populateNoiseArray(int chunkX, int chunkZ, int numX, int numY, int numZ, double wavelength, double amplitude) - { - - int index = 0; - double[] out = new double[numX * numY * numZ]; - - double sampleSpacing = 4.0D / wavelength; // each subchunk is 4x4 blocks - double startU = ((double)(chunkX * 16) / wavelength) + this.offsetU; - double startV = this.offsetV; - double startW = ((double)(chunkZ * 16) / wavelength) + this.offsetW; - startU = this.wraparound(startU); - startV = this.wraparound(startV); - startV = this.wraparound(startW); - - - for (int i = 0; i < numX; ++i) - { - double u = startU + (i * sampleSpacing); - - // separate integer and fractional parts - int intU = (int)u; - if (u < (double)intU) {--intU;} - double fracU = u - (double)intU; - intU = intU & 255; - - // smoothing function - double tu = fracU * fracU * fracU * (fracU * (fracU * 6.0D - 15.0D) + 10.0D); - - for (int j = 0; j < numZ; ++j) - { - double v = startV + (j * sampleSpacing); - - // separate integer and fractional parts - int intV = (int)v; - if (v < (double)intV) {--intV;} - double fracV = v - (double)intV; - intV = intV & 255; - - // smoothing function - double tv = fracV * fracV * fracV * (fracV * (fracV * 6.0D - 15.0D) + 10.0D); - - for (int k = 0; k < numY; ++k) - { - double w = startW + (k * sampleSpacing); - - // separate integer and fractional parts - int intW = (int)w; - if (w < (double)intW) {--intW;} - double fracW = w - (double)intW; - intW = intW & 255; - - // smoothing function - double tw = fracW * fracW * fracW * (fracW * (fracW * 6.0D - 15.0D) + 10.0D); - - // pick random permutations - int perm0 = this.permutations[intU] + intW; - int perm1 = this.permutations[perm0] + intV; - int perm2 = this.permutations[perm0 + 1] + intV; - int perm3 = this.permutations[intU + 1] + intW; - int perm4 = this.permutations[perm3] + intV; - int perm5 = this.permutations[perm3 + 1] + intV; - - // pick corner values - double val000 = this.randomCombineThree(this.permutations[perm1], u, fracW, fracV); - double val001 = this.randomCombineThree(this.permutations[perm4], u - 1.0D, fracW, fracV); - double val010 = this.randomCombineThree(this.permutations[perm2], u, fracW - 1.0D, fracV); - double val011 = this.randomCombineThree(this.permutations[perm5], u - 1.0D, fracW - 1.0D, fracV); - double val100 = this.randomCombineThree(this.permutations[perm1 + 1], u, fracW, fracV - 1.0D); - double val101 = this.randomCombineThree(this.permutations[perm4 + 1], u - 1.0D, fracW, fracV - 1.0D); - double val110 = this.randomCombineThree(this.permutations[perm2 + 1], u, fracW - 1.0D, fracV - 1.0D); - double val111 = this.randomCombineThree(this.permutations[perm5 + 1], u - 1.0D, fracW - 1.0D, fracV - 1.0D); - - // trilinear interpolation in u direction first (three times) then in w direction (twice) then in v direction (once) to get the interpolated value - double val00 = this.lerp(tu, val000, val001); - double val01 = this.lerp(tu, val010, val011); - double val10 = this.lerp(tu, val100, val101); - double val11 = this.lerp(tu, val110, val111); - double val0 = this.lerp(tw, val00, val01); - double val1 = this.lerp(tw, val10, val11); - double val = this.lerp(tv, val0, val1); - - // final value is multiplied by amplitude and added to the array - out[index] = val * amplitude; - index++; - } - } - } - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/NoiseGeneratorBOPByte.java b/src/main/java/biomesoplenty/common/world/NoiseGeneratorBOPByte.java deleted file mode 100644 index fd54801f4..000000000 --- a/src/main/java/biomesoplenty/common/world/NoiseGeneratorBOPByte.java +++ /dev/null @@ -1,357 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; -import java.util.Arrays; -import java.util.Random; - -public class NoiseGeneratorBOPByte -{ - - // TODO: get rid of the interpolater classes - there's only one sensible interpolater - /*** Interpolation ***/ - - public interface IIntInterpolater - { - // interpolation between a and b, where t is the fraction (between 0 and 255) - int interpolate(int t, int a, int b); - } - - public static class IntInterpolateLinear implements IIntInterpolater - { - @Override - public int interpolate(int t, int a, int b) - { - return a + (t * (b - a) / 255); - } - } - - public static class IntInterpolateSmooth implements IIntInterpolater - { - private int[] table = new int[256]; - public IntInterpolateSmooth() - { - double t; - for (int i = 0; i < 256; i++) - { - t = i / 256.0D; - this.table[i] = (int)(256.0D * t * t * t * (t * (t * 6.0D - 15.0D) + 10.0D)); - } - } - @Override - public int interpolate(int t, int a, int b) - { - return a + (this.table[t] * (b - a) / 255); - } - } - - public static class IntInterpolatePower implements IIntInterpolater - { - private int[] table = new int[256]; - public IntInterpolatePower(double power) - { - double t; - for (int i = 0; i < 256; i++) - { - t = i / 256.0D; - this.table[i] = (int)Math.pow(t, power); - } - } - @Override - public int interpolate(int t, int a, int b) - { - return a + (this.table[t] * (b - a) / 255); - } - } - - private int numOctaves; - private int octavesToSkip; - private int[][] permutations; - private int[] offsetU; - private int[] offsetV; - private int numX; - private int numZ; - private IIntInterpolater interpolater; - - public byte[][] noise; - - public NoiseGeneratorBOPByte(Random rand, int numOctaves, int numX, int numZ) - { - if (numOctaves < 1) {throw new IllegalArgumentException("Must have at least one octave");} - if (numOctaves > 8) {throw new IllegalArgumentException("Cannot have more than 8 octaves");} - this.init(rand, numOctaves, numX, numZ, 0); - } - - public NoiseGeneratorBOPByte(Random rand, int numOctaves, int numX, int numZ, int octavesToSkip) - { - if (numOctaves < 1) {throw new IllegalArgumentException("Must have at least one octave");} - if (octavesToSkip < 0) {throw new IllegalArgumentException("octavesToSkip cannot be negative");} - if ((numOctaves + octavesToSkip) > 8) {throw new IllegalArgumentException("sum of numOctaves and octavesToSkip cannot be more than 8");} - this.init(rand, numOctaves, numX, numZ, octavesToSkip); - } - - private void init(Random rand, int numOctaves, int numX, int numZ, int octavesToSkip) - { - this.numOctaves = numOctaves; - this.octavesToSkip = octavesToSkip; - this.numX = numX; - this.numZ = numZ; - - this.interpolater = new IntInterpolateSmooth(); - this.permutations = new int[numOctaves][512]; - this.offsetU = new int[numOctaves]; - this.offsetV = new int[numOctaves]; - - for (int i = 0; i < numOctaves; i++) - { - this.generatePermutations(this.permutations[i], rand); - this.offsetU[i] = rand.nextInt(); - this.offsetV[i] = rand.nextInt(); - } - } - - public void setInterpolator(IIntInterpolater interpolator) - { - this.interpolater = interpolator; - } - - // real world x and z values - public void generateNoise(int startX, int startZ) - { - // this assumes one noise value for each unit x and z - this.noise = new byte[this.numOctaves][numX * numZ]; - for (int octave = 0; octave < this.numOctaves; octave++) - { - this.populateNoise(octave, startX, startZ); - } - } - - - // get an int based on the generated octaves and provided weights - // x and z values relative to the original startX and startZ - public int getWeightedInt(int localX, int localZ, int[] weights) - { - return this.getWeightedInt(localX * numZ + localZ, weights); - } - public int getWeightedInt(int index, int[] weights) - { - int total = 0; - for (int octave = 0; octave < this.numOctaves; octave++) - { - total += weights[octave] * this.noise[octave][index]; - } - return total; - } - - // determined empirically - private static double[] doubleScalingsPerNumOctave = new double[] {96.0D, 89.0D, 83.0D, 76.0D, 72.0D, 60.0D, 48.0D, 38.0D, 30.0D}; - - // get a double based on the generated octaves and provided weights - // scaled so that if the weights are normalised to sum to 1, then the weighted value is very likely to be between -1 and 1 - // the exact nature of the distribution depends on the weightings, but the above scalings determined empirically are fairly close most of the time - // x and z values relative to the original startX and startZ - public double getWeightedDouble(int localX, int localZ, double[] weights) - { - return this.getWeightedDouble(localX * numZ + localZ, weights); - } - public double getWeightedDouble(int index, double[] weights) - { - double total = 0.0D; - for (int octave = 0; octave < this.numOctaves; octave++) - { - total += weights[octave] * this.noise[octave][index]; - } - return total / doubleScalingsPerNumOctave[this.numOctaves]; - } - - private void generatePermutations(int[] permutations, Random rand) - { - // fill first half of permutations array with sequential numbers 0 to 255 - for (int i = 0; i < 256; i++) {permutations[i] = i;} - - // randomly rearrange the numbers 0 to 255 and repeat the sequence - for (int i = 0; i < 256; ++i) - { - int j = rand.nextInt(256 - i) + i; - // swap numbers at positions i and j - int k = permutations[i]; - permutations[i] = permutations[j]; - permutations[j] = k; - // repeat permutations in second half - permutations[i + 256] = permutations[i]; - } - } - - - private static final int[] rc2_a = new int[] {1, -1, 1, -1, 1, -1, 1, -1, 0, 0, 0, 0, 1, 0, -1, 0}; - private static final int[] rc2_b = new int[] {0, 0, 0, 0, 1, 1, -1, -1, 1, 1, -1, -1, 0, 1, 0, -1}; - - // return a random combination of a and b, from the following: - // a, -a, a, -a, a+b, -a+b, a-b, -a-b, b, b, -b, -b, a, b, -a, -b - public final int randomCombineTwo(int seed, int a, int b) - { - int j = seed & 15; - return rc2_a[j] * a + rc2_b[j] * b; - } - - private void populateNoise(int octave, int startX, int startZ) - { - int unitsUVperUnitXZ = 1 << (7 - octave - this.octavesToSkip); - long startU = (((long)startX) << (7 - octave - this.octavesToSkip)) + this.offsetU[octave]; - long startV = (((long)startZ) << (7 - octave - this.octavesToSkip)) + this.offsetV[octave]; - int[] permutations = this.permutations[octave]; - byte[] noise = this.noise[octave]; - - int index = 0; - long u = startU; - for (int localX = 0; localX < this.numX; ++localX) - { - int intU = (int)((u >> 8) & 255); // high 8 bits are the int - int fracU = (int)(u & 255); // low 8 bits are the fraction - - // pick random permutations - int permU0 = permutations[intU]; - int permU1 = permutations[intU + 1]; - - long v = startV; - for (int localZ = 0; localZ < this.numZ; ++localZ) - { - int intV = (int)((v >> 8) & 255); // high 8 bits are the int - int fracV = (int)(v & 255); // low 8 bits are the fraction - - // pick random permutations - int permV0 = permutations[permU0] + intV; - int permV1 = permutations[permU1] + intV; - - // pick corner values - int val00 = this.randomCombineTwo(permutations[permV0], fracU, fracV); - int val01 = this.randomCombineTwo(permutations[permV1], fracU - 255, fracV); - int val10 = this.randomCombineTwo(permutations[permV0 + 1], fracU, fracV - 255); - int val11 = this.randomCombineTwo(permutations[permV1 + 1], fracU - 255, fracV - 255); - - // bilinear interpolation in x direction first (twice) then in z direction (once) to get the interpolated value - // TODO: use smoothing funciton on fracU and fracV and lerp instead of interpolate - int val0 = this.interpolater.interpolate(fracU, val00, val01); - int val1 = this.interpolater.interpolate(fracU, val10, val11); - int val = this.interpolater.interpolate(fracV, val0, val1); - val = val >> 1; - - // final value clamped and added to the array - noise[index] = ((val < 127) ? ((val > -127) ? (byte)val : (byte)(-127)) : (byte)127); - - index++; - v += unitsUVperUnitXZ; - } - u += unitsUVperUnitXZ; - } - - } - - - // TODO: get rid of this testing stuff - public void getOctaveDistribution(int octave) - { - int[] counters = new int[64]; - int min = 256; - int max = -256; - for (byte b : this.noise[octave]) - { - counters[(b >> 2) + 32]++; - min = Math.min(min, b); - max = Math.max(max, b); - } - int counterMax = 0; - for (int i = 0; i < 64; i++) - { - counterMax = Math.max(counterMax, counters[i]); - } - double scale = (50.0 / counterMax); - for (int i = 0; i < 64; i++) - { - char[] line = new char[(int)(counters[i] * scale)]; - Arrays.fill(line, '+'); - int low = (i - 32) * 4; - System.out.println( String.format("%-16s",low+" to "+(low+3)+":")+(new String(line))+" "+counters[i]); - } - System.out.println("Min "+min+" Max "+max); - } - - public void getWeightedDoubleDistribution(double[] weights) - { - int n = this.numX * this.numZ; - double[] vals = new double[n]; - int bars = 32; - int[] counters = new int[bars]; - double min = Double.POSITIVE_INFINITY; - double max = Double.NEGATIVE_INFINITY; - for (int i = 0; i < n; i++) - { - double val = this.getWeightedDouble(i, weights); - vals[i] = val; - max = Math.max(max, val); - min = Math.min(min, val); - } - double interval = (max - min) / bars; - for (int j = 0; j < bars; j++) - { - double barMin = min + (interval * j); - double barMax = barMin + interval; - for (int i = 0; i < n; i++) - { - if (vals[i] > barMin && vals[i] <= barMax) - { - counters[j]++; - } - } - } - int countersMax = 0; - for (int j = 0; j < bars; j++) - { - countersMax = Math.max(countersMax, counters[j]); - } - double scale = (50.0 / countersMax); - for (int j = 0; j < bars; j++) - { - double barMin = min + (interval * j); - double barMax = barMin + interval; - char[] line = new char[(int)(counters[j] * scale)]; - Arrays.fill(line, '+'); - System.out.println( String.format("%-50s",barMin+" to "+(barMax)+":")+(new String(line))+" "+counters[j]); - } - } - - - - - - public static void main(String[] args) - { - int numX = 1000; - int numZ = 400; - int numOctaves = 4; - double[] weights = new double[numOctaves]; - - for (int i = 0; i < numOctaves; i++) - { - weights[i] = Math.pow(2.0D, i) / (Math.pow(2.0D, numOctaves) - 1.0D); - // weights[i] = i / (numOctaves == 1 ? 1.0D : (0.5D*numOctaves*(numOctaves - 1))); - // weights[i] = 1 / (double)numOctaves; - } - //weights = new double[] {0.5D, 0.0D, 0.0D, 0.5D}; - - - NoiseGeneratorBOPByte noise = new NoiseGeneratorBOPByte(new Random(), numOctaves, numX, numZ); - noise.generateNoise(4, 5); - - - noise.getWeightedDoubleDistribution(weights); - - //noise.getOctaveDistribution(0); - - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/NoiseGeneratorOctavesBOP.java b/src/main/java/biomesoplenty/common/world/NoiseGeneratorOctavesBOP.java deleted file mode 100644 index a0ca6ad86..000000000 --- a/src/main/java/biomesoplenty/common/world/NoiseGeneratorOctavesBOP.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; -import java.util.Random; - -import net.minecraft.world.gen.NoiseGenerator; - -public class NoiseGeneratorOctavesBOP extends NoiseGenerator -{ - private NoiseGeneratorBOP[] generatorCollection; - private int numOctaves; - - public NoiseGeneratorOctavesBOP(Random rand, int numOctaves) - { - this.numOctaves = numOctaves; - this.generatorCollection = new NoiseGeneratorBOP[numOctaves]; - - for (int j = 0; j < numOctaves; ++j) - { - this.generatorCollection[j] = new NoiseGeneratorBOP(rand); - } - } - - public double[][] generateNoiseOctaves(int chunkX, int chunkZ, double firstWavelength) - { - // default to fetching a 5 x 5 array (4 subchunks in a chunk) - return this.generateNoiseOctaves(chunkX, chunkZ, 5, 5, firstWavelength); - } - - public double[][] generateNoiseOctaves(int chunkX, int chunkZ, int numX, int numZ, double firstWavelength) - { - return this.generateNoiseOctaves(chunkX, chunkZ, numX, numZ, firstWavelength, 1.0D); - } - - - public double[][] generateNoiseOctaves(int chunkX, int chunkZ, int numX, int numZ, double firstWavelength, double amplitude) - { - - double[][] out = new double[this.numOctaves][numX * numZ]; - - // generate XZ noise arrays for each octave, all with the same amplitude, starting with the provided wavelength (in blocks) and doubling each time - double wavelength = firstWavelength; - for (int i = 0; i < this.numOctaves; ++i) - { - out[i] = this.generatorCollection[i].populateNoiseArrayXZ(chunkX, chunkZ, numX, numZ, wavelength, amplitude); - wavelength *= 2; - } - return out; - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/SimplexNoise.java b/src/main/java/biomesoplenty/common/world/SimplexNoise.java deleted file mode 100644 index 8e3a48aac..000000000 --- a/src/main/java/biomesoplenty/common/world/SimplexNoise.java +++ /dev/null @@ -1,151 +0,0 @@ -package biomesoplenty.common.world; - -/** - * A speed-improved simplex noise algorithm for 2D in Java. - * - * Based on example code by Stefan Gustavson (stegu@itn.liu.se). - * Optimisations by Peter Eastman (peastman@drizzle.stanford.edu). - * Better rank ordering method by Stefan Gustavson in 2012. - * - * This could be speeded up even further, but it's useful as it is. - * - * Version 2012-03-09 - * - * This code was placed in the public domain by its original author, - * Stefan Gustavson. You may use it as you see fit, but - * attribution is appreciated. - */ -public final class SimplexNoise { - - private static Grad[] grad2 = { - new Grad(1, 1), new Grad(-1, 1), new Grad(1, -1), new Grad(-1, -1), - new Grad(1, 0), new Grad(-1, 0), new Grad(1, 0), new Grad(-1, 0), - new Grad(0, 1), new Grad(0, -1), new Grad(0, 1), new Grad(0, -1) - }; - - private static short[] p = {151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, - 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, - 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, - 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, - 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, - 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, - 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, - 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, - 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, - 61, 156, 180}; - - // To remove the need for index wrapping, double the permutation table length - private static short[] perm = new short[512]; - private static short[] permMod12 = new short[512]; - static { - for (int i = 0; i < 512; i++) { - perm[i] = p[i & 255]; - permMod12[i] = (short) (perm[i] % 12); - } - } - - // Skewing and unskewing factors for 2, 3, and 4 dimensions - private static final double F2 = 0.5 * (Math.sqrt(3.0) - 1.0); - private static final double G2 = (3.0 - Math.sqrt(3.0)) / 6.0; - - /** - * Deactivate constructor - */ - private SimplexNoise() { - } - - // This method is a *lot* faster than using (int)Math.floor(x) - private static int fastfloor(double x) { - int xi = (int) x; - return x < xi ? xi - 1 : xi; - } - - private static double dot(Grad g, double x, double y) { - return g.x * x + g.y * y; - } - - // 2D simplex noise - public static double noise(double xin, double yin) { - - double n0, n1, n2; // Noise contributions from the three corners - // Skew the input space to determine which simplex cell we're in - double s = (xin + yin) * F2; // Hairy factor for 2D - int i = fastfloor(xin + s); - int j = fastfloor(yin + s); - double t = (i + j) * G2; - double originX0 = i - t; // Unskew the cell origin back to (x,y) space - double originY0 = j - t; - double x0 = xin - originX0; // The x,y distances from the cell origin - double y0 = yin - originY0; - // For the 2D case, the simplex shape is an equilateral triangle. - // Determine which simplex we are in. - int i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords - if (x0 > y0) { - i1 = 1; - j1 = 0; - } else { - // lower triangle, XY order: (0,0)->(1,0)->(1,1) - i1 = 0; - j1 = 1; - } // upper triangle, YX order: (0,0)->(0,1)->(1,1) - // A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and - // a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where - // c = (3-sqrt(3))/6 - double x1 = x0 - i1 + G2; // Offsets for middle corner in (x,y) unskewed coords - double y1 = y0 - j1 + G2; - double x2 = x0 - 1.0 + 2.0 * G2; // Offsets for last corner in (x,y) unskewed coords - double y2 = y0 - 1.0 + 2.0 * G2; - // Work out the hashed gradient indices of the three simplex corners - int ii = i & 255; - int jj = j & 255; - int gi0 = permMod12[ii + perm[jj]]; - int gi1 = permMod12[ii + i1 + perm[jj + j1]]; - int gi2 = permMod12[ii + 1 + perm[jj + 1]]; - // Calculate the contribution from the three corners - double t0 = 0.5 - x0 * x0 - y0 * y0; - if (t0 < 0) { - n0 = 0.0; - } else { - t0 *= t0; - n0 = t0 * t0 * dot(grad2[gi0], x0, y0); // (x,y) of grad3 used for 2D gradient - } - double t1 = 0.5 - x1 * x1 - y1 * y1; - if (t1 < 0) { - n1 = 0.0; - } else { - t1 *= t1; - n1 = t1 * t1 * dot(grad2[gi1], x1, y1); - } - double t2 = 0.5 - x2 * x2 - y2 * y2; - if (t2 < 0) { - n2 = 0.0; - } else { - t2 *= t2; - n2 = t2 * t2 * dot(grad2[gi2], x2, y2); - } - // Add contributions from each corner to get the final noise value. - // The result is scaled to return values in the interval [-1,1]. - return 70.0 * (n0 + n1 + n2); - } - - // Inner class to speed up gradient computations - // (array access is a lot slower than member access) - private static class Grad { - double x, y; - Grad(double x, double y) { - this.x = x; - this.y = y; - } - } - - public static void main(String[] args) - { - double startX = 0.3543276545; - double startZ = 0.534523434; - double d = 0.11111; - for (int i = 0; i < 1000; i++) - { - System.out.println(SimplexNoise.noise(startX + d * i, startZ + d * i)); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/TerrainSettings.java b/src/main/java/biomesoplenty/common/world/TerrainSettings.java deleted file mode 100644 index 2ec502f27..000000000 --- a/src/main/java/biomesoplenty/common/world/TerrainSettings.java +++ /dev/null @@ -1,114 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; - -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.biome.Biome; - -public class TerrainSettings -{ - public enum PresetOctaveWeights - { - DEFAULT (new double[] {1 / 24.0D, 2 / 24.0D, 4 / 24.0D, 8 / 24.0D, 6 / 24.0D, 3 / 24.0D}); - - private final double[] weights; - PresetOctaveWeights(double[] weights) - { - this.weights = weights; - } - public void copyWeights(double[] destination) - { - System.arraycopy(this.weights, 0, destination, 0, this.weights.length); - } - } - - public double avgHeight = 0.0D; - public double variationBelow = 0.0D; - public double variationAbove = 0.0D; - public double sidewaysNoiseAmount = 0.0D; - public double[] octaveWeights = new double[] {0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D}; - public double minHeight = 0.0D; - public double maxHeight = 255.0D; - - public TerrainSettings() {} - - public TerrainSettings setDefaults() - { - this.avgHeight = 64.0D; - this.variationBelow = 10.0D; - this.variationAbove = 20.0D; - this.minHeight = 0.0D; - this.maxHeight = 255.0D; - this.sidewaysNoiseAmount = 0.4D; - PresetOctaveWeights.DEFAULT.copyWeights(this.octaveWeights); - return this; - } - - public TerrainSettings avgHeight(double a) - { - this.avgHeight = a; - return this; - } - - public TerrainSettings sidewaysNoise(double a) - { - this.sidewaysNoiseAmount = MathHelper.clamp(a, 0.0F, 1.0F); - return this; - } - - public TerrainSettings heightVariation(double variation) - { - return this.heightVariation(variation, variation); - } - - public TerrainSettings heightVariation(double varBelow, double varAbove) - { - this.variationBelow = varBelow; - this.variationAbove = varAbove; - return this; - } - - public TerrainSettings minHeight(double minHeight) - { - this.minHeight = MathHelper.clamp(minHeight, 0.0D, 255.0D); - return this; - } - - public TerrainSettings maxHeight(double maxHeight) - { - this.maxHeight = MathHelper.clamp(maxHeight, 0.0D, 255.0D); - return this; - } - - public TerrainSettings octaves(double w0, double w1, double w2, double w3, double w4, double w5) - { - // standard weights for the octaves are 1,2,4,8,6,3 - double norm = 1 / (1 * w0 + 2 * w1 + 4 * w2 + 8 * w3 + 6 * w4 + 3 * w5); - this.octaveWeights[0] = w0 * 1 * norm; - this.octaveWeights[1] = w1 * 2 * norm; - this.octaveWeights[2] = w2 * 4 * norm; - this.octaveWeights[3] = w3 * 8 * norm; - this.octaveWeights[4] = w4 * 6 * norm; - this.octaveWeights[5] = w5 * 3 * norm; - return this; - } - - public static TerrainSettings forVanillaBiome(Biome biome) - { - // Transform vanilla height parameters into equivalent BOP terrain parameters - // Note they're named appallingly - minHeight and maxHeight in the vanilla biomes should be called baseHeight and scale - double avgHeight = 65 + 17 * biome.getBaseHeight(); - double variationAbove = 7 + 20 * 4 * biome.getHeightVariation(); - double variationBelow = 4 + 20 * biome.getHeightVariation(); - - return (new TerrainSettings()).setDefaults().avgHeight(avgHeight).heightVariation(variationAbove, variationBelow).sidewaysNoise(0.9D); - - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/WorldProviderBOPHell.java b/src/main/java/biomesoplenty/common/world/WorldProviderBOPHell.java deleted file mode 100644 index 2754b3664..000000000 --- a/src/main/java/biomesoplenty/common/world/WorldProviderBOPHell.java +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world; - -import net.minecraft.world.WorldProviderHell; -import net.minecraft.world.gen.IChunkGenerator; - -public class WorldProviderBOPHell extends WorldProviderHell -{ - @Override - public void init() - { - this.biomeProvider = new BiomeProviderBOPHell(this.world); - this.doesWaterVaporize = true; - this.nether = true; - } - - @Override - public IChunkGenerator createChunkGenerator() - { - return new ChunkGeneratorHellBOP(this.world, this.world.getWorldInfo().isMapFeaturesEnabled(), this.world.getSeed()); - } -} diff --git a/src/main/java/biomesoplenty/common/world/WorldTypeBOP.java b/src/main/java/biomesoplenty/common/world/WorldTypeBOP.java deleted file mode 100644 index 9f2fa16da..000000000 --- a/src/main/java/biomesoplenty/common/world/WorldTypeBOP.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world; - -import biomesoplenty.client.gui.GuiBOPConfigureWorld; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiCreateWorld; -import net.minecraft.world.World; -import net.minecraft.world.WorldType; -import net.minecraft.world.biome.BiomeProvider; -import net.minecraft.world.gen.IChunkGenerator; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -public class WorldTypeBOP extends WorldType -{ - public WorldTypeBOP() - { - super("BIOMESOP"); - this.enableInfoNotice(); - } - - @Override - public BiomeProvider getBiomeProvider(World world) - { - return new BiomeProviderBOP(world); - } - - @Override - public IChunkGenerator getChunkGenerator(World world, String generatorOptions) - { - return new ChunkGeneratorOverworldBOP(world, world.getSeed(), world.getWorldInfo().isMapFeaturesEnabled(), generatorOptions); - } - - @Override - public boolean isCustomizable() - { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public void onCustomizeButton(Minecraft mc, GuiCreateWorld guiCreateWorld) - { - mc.displayGuiScreen(new GuiBOPConfigureWorld(guiCreateWorld, guiCreateWorld.chunkProviderSettingsJson)); - } -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorBigFlower.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorBigFlower.java deleted file mode 100644 index 4c2bc03c4..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorBigFlower.java +++ /dev/null @@ -1,276 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.BOPGeneratorBase; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLog; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.Block; -import net.minecraft.block.BlockLeaves; -import net.minecraft.block.BlockLog; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorBigFlower extends BOPGeneratorBase -{ - - public enum BigFlowerType - { - RED, YELLOW - } - - protected static IBlockState stem = BlockBOPLog.paging.getVariantState(BOPWoods.GIANT_FLOWER); - - public static class Builder extends BOPGeneratorBase.InnerBuilder implements IGeneratorBuilder - { - protected BigFlowerType flowerType; - protected IBlockPosQuery placeOn; - protected IBlockPosQuery replace; - - public Builder flowerType(BigFlowerType a) {this.flowerType = a; return this;} - public Builder placeOn(IBlockPosQuery a) {this.placeOn = a; return this.self();} - public Builder placeOn(String a) throws BlockQueryParseException {this.placeOn = BlockQuery.parseQueryString(a); return this.self();} - public Builder placeOn(Block a) {this.placeOn = new BlockQueryBlock(a); return this.self();} - public Builder placeOn(IBlockState a) {this.placeOn = new BlockQueryState(a); return this.self();} - public Builder replace(IBlockPosQuery a) {this.replace = a; return this.self();} - public Builder replace(String a) throws BlockQueryParseException {this.replace = BlockQuery.parseQueryString(a); return this.self();} - public Builder replace(Block a) {this.replace = new BlockQueryBlock(a); return this.self();} - public Builder replace(IBlockState a) {this.replace = new BlockQueryState(a); return this.self();} - - public Builder() - { - this.amountPerChunk = 1.0F; - this.flowerType = BigFlowerType.RED; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - } - - @Override - public GeneratorBigFlower create() - { - return new GeneratorBigFlower(this.amountPerChunk, this.placeOn, this.replace, this.flowerType); - } - } - - protected IBlockPosQuery placeOn; - protected IBlockPosQuery replace; - protected BigFlowerType flowerType; - protected IBlockState petalState; - - public GeneratorBigFlower(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, BigFlowerType flowerType) - { - super(amountPerChunk); - this.placeOn = placeOn; - this.replace = replace; - this.setFlowerType(flowerType); - } - - public void setFlowerType(BigFlowerType type) - { - this.flowerType = type; - switch (type) - { - case RED: - this.petalState = BlockBOPLeaves.paging.getVariantState(BOPTrees.RED_BIG_FLOWER); - break; - case YELLOW: - this.petalState = BlockBOPLeaves.paging.getVariantState(BOPTrees.YELLOW_BIG_FLOWER); - break; - } - this.petalState = this.petalState.withProperty(BlockLeaves.CHECK_DECAY, false).withProperty(BlockLeaves.DECAYABLE, false); - } - - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) - { - // always at world surface - return GeneratorUtils.ScatterYMethod.AT_SURFACE.getBlockPos(world, random, x, z); - } - - public boolean isEnoughSpace(World world, BlockPos pos) - { - if (pos.getY() < 1 || pos.getY() + 8 > 255) - { - return false; - } - for (int y = pos.getY(); y <= pos.getY() + 8; ++y) - { - int radius = (y <= pos.getY() + 4) ? 0 : 2; - - for (int x = pos.getX() - radius; x <= pos.getX() + radius; ++x) - { - for (int z = pos.getZ() - radius; z <= pos.getZ() + radius; ++z) - { - if (!this.replace.matches(world, new BlockPos(x, y, z))) - { - return false; - } - } - } - } - return true; - } - - - public boolean setStem(World world, BlockPos pos) - { - return this.setStem(world, pos, EnumFacing.Axis.Y); - } - - public boolean setStem(World world, BlockPos pos, EnumFacing.Axis axis) - { - IBlockState directedStem = (axis == null) ? stem : stem.withProperty(BlockLog.LOG_AXIS, BlockLog.EnumAxis.fromFacingAxis(axis)); - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, directedStem, 2); - return true; - } - return false; - } - - public boolean setPetal(World world, BlockPos pos) - { - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, this.petalState, 2); - return true; - } - return false; - } - - - - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - - // check that there's room - if (!this.isEnoughSpace(world, pos)) {return false;} - - if (!this.placeOn.matches(world, pos.down())) - { - return false; - } - - world.getBlockState(pos.down()).getBlock().onPlantGrow(world.getBlockState(pos.down()), world, pos.down(), pos); - - this.setStem(world, pos); - this.setStem(world, pos.up(1)); - this.setStem(world, pos.up(2)); - this.setStem(world, pos.up(3)); - this.setStem(world, pos.up(4)); - - switch(this.flowerType) - { - case RED: - - this.setPetal(world, pos.add(-1, 4, 0)); - this.setPetal(world, pos.add(1, 4, 0)); - this.setPetal(world, pos.add(0, 4, -1)); - this.setPetal(world, pos.add(0, 4, 1)); - - this.setPetal(world, pos.add(0, 5, 0)); - this.setPetal(world, pos.add(-1, 5, 0)); - this.setPetal(world, pos.add(1, 5, 0)); - this.setPetal(world, pos.add(0, 5, -1)); - this.setPetal(world, pos.add(0, 5, 1)); - this.setPetal(world, pos.add(1, 5, 1)); - this.setPetal(world, pos.add(1, 5, -1)); - this.setPetal(world, pos.add(-1, 5, 1)); - this.setPetal(world, pos.add(-1, 5, -1)); - this.setPetal(world, pos.add(2, 5, 0)); - this.setPetal(world, pos.add(-2, 5, 0)); - this.setPetal(world, pos.add(0, 5, 2)); - this.setPetal(world, pos.add(0, 5, -2)); - - this.setPetal(world, pos.add(1, 6, 1)); - this.setPetal(world, pos.add(1, 6, -1)); - this.setPetal(world, pos.add(-1, 6, 1)); - this.setPetal(world, pos.add(-1, 6, -1)); - this.setPetal(world, pos.add(2, 6, 0)); - this.setPetal(world, pos.add(-2, 6, 0)); - this.setPetal(world, pos.add(0, 6, 2)); - this.setPetal(world, pos.add(0, 6, -2)); - this.setPetal(world, pos.add(2, 6, 2)); - this.setPetal(world, pos.add(2, 6, -2)); - this.setPetal(world, pos.add(-2, 6, 2)); - this.setPetal(world, pos.add(-2, 6, -2)); - - this.setPetal(world, pos.add(2, 7, 0)); - this.setPetal(world, pos.add(-2, 7, 0)); - this.setPetal(world, pos.add(0, 7, 2)); - this.setPetal(world, pos.add(0, 7, -2)); - - this.setPetal(world, pos.add(3, 8, 0)); - this.setPetal(world, pos.add(-3, 8, 0)); - this.setPetal(world, pos.add(0, 8, 3)); - this.setPetal(world, pos.add(0, 8, -3)); - - break; - - case YELLOW: - - this.setPetal(world, pos.add(-1, 4, 0)); - this.setPetal(world, pos.add(1, 4, 0)); - this.setPetal(world, pos.add(0, 4, -1)); - this.setPetal(world, pos.add(0, 4, 1)); - this.setPetal(world, pos.add(2, 4, 2)); - this.setPetal(world, pos.add(2, 4, -2)); - this.setPetal(world, pos.add(-2, 4, 2)); - this.setPetal(world, pos.add(-2, 4, -2)); - - this.setPetal(world, pos.add(0, 5, 0)); - this.setPetal(world, pos.add(-1, 5, 0)); - this.setPetal(world, pos.add(1, 5, 0)); - this.setPetal(world, pos.add(0, 5, -1)); - this.setPetal(world, pos.add(0, 5, 1)); - this.setPetal(world, pos.add(1, 5, 1)); - this.setPetal(world, pos.add(1, 5, -1)); - this.setPetal(world, pos.add(-1, 5, 1)); - this.setPetal(world, pos.add(-1, 5, -1)); - this.setPetal(world, pos.add(2, 5, 0)); - this.setPetal(world, pos.add(-2, 5, 0)); - this.setPetal(world, pos.add(0, 5, 2)); - this.setPetal(world, pos.add(0, 5, -2)); - - this.setPetal(world, pos.add(0, 6, 0)); - this.setPetal(world, pos.add(3, 6, 0)); - this.setPetal(world, pos.add(-3, 6, 0)); - this.setPetal(world, pos.add(0, 6, 3)); - this.setPetal(world, pos.add(0, 6, -3)); - - } - - return true; - } - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.setFlowerType(conf.getEnum("type", this.flowerType, BigFlowerType.class)); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorBigMushroom.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorBigMushroom.java deleted file mode 100644 index 9041a46c1..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorBigMushroom.java +++ /dev/null @@ -1,325 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.generation.BOPGeneratorBase; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import biomesoplenty.common.world.generator.GeneratorColumns.Builder; -import net.minecraft.block.Block; -import net.minecraft.block.BlockHugeMushroom; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorBigMushroom extends BOPGeneratorBase -{ - - public enum BigMushroomType - { - BROWN, RED; - public IBlockState getDefaultState() - { - switch (this) - { - case BROWN: - return Blocks.BROWN_MUSHROOM_BLOCK.getDefaultState(); - case RED: default: - return Blocks.RED_MUSHROOM_BLOCK.getDefaultState(); - } - } - public int getCapHeight(int height) - { - switch (this) - { - case BROWN: - return 1; - case RED: default: - return 4; - } - } - public int getCapDiameter(int y, int height) - { - switch (this) - { - case BROWN: - // only one layer - 7 blocks across - return 7; - case RED: default: - // top layer 3 blocks across, other layers 5 blocks across - return (y < (height - 1)) ? 5 : 3; - } - } - public boolean cutCorners(int y, int height) - { - switch (this) - { - case BROWN: - return true; - case RED: default: - // cur corners of every layer except the top layer on red mushroom - return (y < (height - 1)); - } - } - } - - public static class Builder extends BOPGeneratorBase.InnerBuilder implements IGeneratorBuilder - { - protected int minHeight; - protected int maxHeight; - protected BigMushroomType mushroomType; - protected IBlockPosQuery placeOn; - protected IBlockPosQuery replace; - protected ScatterYMethod scatterYMethod; - - public Builder minHeight(int a) {this.minHeight = a; return this.self();} - public Builder maxHeight(int a) {this.maxHeight = a; return this.self();} - public Builder mushroomType(BigMushroomType a) {this.mushroomType = a; return this;} - public Builder placeOn(IBlockPosQuery a) {this.placeOn = a; return this.self();} - public Builder placeOn(String a) throws BlockQueryParseException {this.placeOn = BlockQuery.parseQueryString(a); return this.self();} - public Builder placeOn(Block a) {this.placeOn = new BlockQueryBlock(a); return this.self();} - public Builder placeOn(IBlockState a) {this.placeOn = new BlockQueryState(a); return this.self();} - public Builder replace(IBlockPosQuery a) {this.replace = a; return this.self();} - public Builder replace(String a) throws BlockQueryParseException {this.replace = BlockQuery.parseQueryString(a); return this.self();} - public Builder replace(Block a) {this.replace = new BlockQueryBlock(a); return this.self();} - public Builder replace(IBlockState a) {this.replace = new BlockQueryState(a); return this.self();} - public Builder scatterYMethod(ScatterYMethod a) {this.scatterYMethod = a; return this.self();} - - public Builder() - { - this.minHeight = 5; - this.maxHeight = 8; - this.amountPerChunk = 1.0F; - this.mushroomType = BigMushroomType.BROWN; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - // always at world surface - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorBigMushroom create() - { - return new GeneratorBigMushroom(this.amountPerChunk, this.placeOn, this.replace, this.mushroomType, this.scatterYMethod, this.minHeight, this.maxHeight); - } - } - - protected int minHeight; - protected int maxHeight; - protected IBlockPosQuery placeOn; - protected IBlockPosQuery replace; - protected BigMushroomType mushroomType; - protected IBlockState mushroomState; - protected ScatterYMethod scatterYMethod; - - public GeneratorBigMushroom(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, BigMushroomType mushroomType, ScatterYMethod scatterYMethod, int minHeight, int maxHeight) - { - super(amountPerChunk); - this.minHeight = minHeight; - this.maxHeight = maxHeight; - this.placeOn = placeOn; - this.replace = replace; - this.setMushroomType(mushroomType); - this.scatterYMethod = scatterYMethod; - } - - public void setMushroomType(BigMushroomType type) - { - this.mushroomType = type; - this.mushroomState = type.getDefaultState(); - } - - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) - { - return this.scatterYMethod.getBlockPos(world, random, x, z); - } - - protected void replaceWithMushroom(World world, BlockPos pos, BlockHugeMushroom.EnumType side) - { - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, this.mushroomState.withProperty(BlockHugeMushroom.VARIANT, side), 2); - } - } - - public boolean isEnoughSpace(World world, BlockPos pos, int height) - { - if (pos.getY() < 1 || pos.getY() + height > 255) - { - return false; - } - for (int y = pos.getY(); y <= pos.getY() + height; ++y) - { - int radius = (y <= pos.getY() + 3) ? 0 : 3; - - for (int x = pos.getX() - radius; x <= pos.getX() + radius; ++x) - { - for (int z = pos.getZ() - radius; z <= pos.getZ() + radius; ++z) - { - if (!this.replace.matches(world, new BlockPos(x, y, z))) - { - return false; - } - } - } - } - return true; - } - - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - - int height = rand.nextInt(this.maxHeight - this.minHeight) + this.minHeight; - - // check that there's room - if (!this.isEnoughSpace(world, pos, height)) {return false;} - - if (!this.placeOn.matches(world, pos.down())) - { - return false; - } - - // create the mushroom cap - for (int y = height - this.mushroomType.getCapHeight(height); y < height; ++y) - { - - // not strictly the radius, but the number of blocks either side of the center - int radius = ((this.mushroomType.getCapDiameter(y, height) - 1) / 2); - - for (int x = -radius; x <= radius; ++x) - { - for (int z = -radius; z <= radius; ++z) - { - // work out which sides are exposed - BlockHugeMushroom.EnumType side; - if (x == -radius) - { - if (z == radius) { - side = BlockHugeMushroom.EnumType.SOUTH_WEST; - } else if (z == -radius) { - side = BlockHugeMushroom.EnumType.NORTH_WEST; - } else { - side = BlockHugeMushroom.EnumType.WEST; - } - } - else if (x == radius) - { - if (z == radius) { - side = BlockHugeMushroom.EnumType.SOUTH_EAST; - } else if (z == -radius) { - side = BlockHugeMushroom.EnumType.NORTH_EAST; - } else { - side = BlockHugeMushroom.EnumType.EAST; - } - } - else - { - if (z == radius) { - side = BlockHugeMushroom.EnumType.SOUTH; - } else if (z == -radius) { - side = BlockHugeMushroom.EnumType.NORTH; - } else { - side = BlockHugeMushroom.EnumType.CENTER; - } - } - - - if (this.mushroomType.cutCorners(y, height)) - { - // skip the corner blocks - if ((x == -radius || x == radius) && (z == -radius || z == radius)) - { - continue; - } - - // fix the sides which now become exposed after cutting the corners - if (x == -(radius - 1) && z == -radius) - { - side = BlockHugeMushroom.EnumType.NORTH_WEST; - } - if (x == -radius && z == -(radius - 1)) - { - side = BlockHugeMushroom.EnumType.NORTH_WEST; - } - if (x == (radius - 1) && z == -radius) - { - side = BlockHugeMushroom.EnumType.NORTH_EAST; - } - if (x == radius && z == -(radius - 1)) - { - side = BlockHugeMushroom.EnumType.NORTH_EAST; - } - if (x == -(radius - 1) && z == radius) - { - side = BlockHugeMushroom.EnumType.SOUTH_WEST; - } - if (x == -radius && z == (radius - 1)) - { - side = BlockHugeMushroom.EnumType.SOUTH_WEST; - } - if (x == (radius - 1) && z == radius) - { - side = BlockHugeMushroom.EnumType.SOUTH_EAST; - } - if (x == radius && z == (radius - 1)) - { - side = BlockHugeMushroom.EnumType.SOUTH_EAST; - } - } - - // skip blocks which are totally inside the cap (unless the mushroom is really small) - if (side == BlockHugeMushroom.EnumType.CENTER && y < (height - 1)) - { - if (height <= 2) - { - side = BlockHugeMushroom.EnumType.ALL_INSIDE; - } else { - continue; - } - } - - // finally add the mushroom block - this.replaceWithMushroom(world, pos.add(x, y, z), side); - } - } - } - - // create the mushroom stem - for (int y = 0; y < height - 1; ++y) - { - this.replaceWithMushroom(world, pos.up(y), BlockHugeMushroom.EnumType.STEM); - } - - return true; - - } - - @Override - public void configure(IConfigObj conf) - { - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("maxHeight", this.maxHeight); - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.setMushroomType(conf.getEnum("type", this.mushroomType, BigMushroomType.class)); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorBlobs.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorBlobs.java deleted file mode 100644 index 84a6068f8..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorBlobs.java +++ /dev/null @@ -1,172 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; - -public class GeneratorBlobs extends GeneratorReplacing -{ - - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected float minRadius; - protected float maxRadius; - protected float radiusFalloff; - protected int numBalls; - - public Builder minRadius(float a) {this.minRadius = a; return this.self();} - public Builder maxRadius(float a) {this.maxRadius = a; return this.self();} - public Builder radiusFalloff(float a) {this.radiusFalloff = a; return this.self();} - public Builder numBalls(int a) {this.numBalls = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQuery.buildOr().blocks(Blocks.STONE).materials(Material.GROUND, Material.GRASS).create(); - this.replace = BlockQueries.breakable; - this.with = Blocks.COBBLESTONE.getDefaultState(); - this.scatterYMethod = ScatterYMethod.BELOW_SURFACE; - this.minRadius = 0.0F; - this.maxRadius = 3.0F; - this.radiusFalloff = 0.5F; - this.numBalls = 3; - } - - @Override - public GeneratorBlobs create() - { - return new GeneratorBlobs(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.minRadius, this.maxRadius, this.radiusFalloff, this.numBalls); - } - } - - - protected float minRadius; - protected float maxRadius; - protected float radiusFalloff; // should normally be between 0 and 1 so that balls get smaller - protected int numBalls; - - public GeneratorBlobs(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, float minRadius, float maxRadius, float radiusFalloff, int numBalls) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.minRadius = minRadius; - this.maxRadius = maxRadius; - this.radiusFalloff = radiusFalloff; - this.numBalls = numBalls; - } - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - // move downwards until we find a block matching this.placeOn - while (pos.getY() > 3 && !placeOn.matches(world, pos.down())) - { - pos = pos.down(); - } - if (pos.getY() <= 3) {return false;} - - - float minRadius = this.minRadius; - float maxRadius = this.maxRadius; - - float x = (float)pos.getX() + rand.nextFloat() + 0.5F; - float y = (float)pos.getY() + rand.nextFloat() + 0.5F; - float z = (float)pos.getZ() + rand.nextFloat() + 0.5F; - - for (int i = 0; minRadius >= 0 && i < this.numBalls; ++i) - { - // fill a ball - this.fillBall(world, rand, x, y, z, minRadius, maxRadius - minRadius); - - // move to a nearby point (downward bias) - x += rand.nextFloat()*(minRadius + 2) - (minRadius + 1); - y -= rand.nextFloat()*2; - z += rand.nextFloat()*(minRadius + 2) - (minRadius + 1); - - // reduce radius of successive balls - minRadius = minRadius * this.radiusFalloff; - maxRadius = maxRadius * this.radiusFalloff; - } - - return true; - } - - protected void fillBall(World world, Random rand, float centerX, float centerY, float centerZ, float minRadius, float radiusVariation) - { - float radiusRand = rand.nextFloat() * 0.5F * radiusVariation; - float radiusX = minRadius + radiusRand + (rand.nextFloat() * radiusVariation * 0.5F); - float radiusY = minRadius + radiusRand + (rand.nextFloat() * radiusVariation * 0.5F); - float radiusZ = minRadius + radiusRand + (rand.nextFloat() * radiusVariation * 0.5F); - - int x0 = MathHelper.floor(centerX - radiusX + 0.5F); - int y0 = MathHelper.floor(centerY - radiusY + 0.5F); - int z0 = MathHelper.floor(centerZ - radiusZ + 0.5F); - int x1 = MathHelper.floor(centerX + radiusX + 0.5F); - int y1 = MathHelper.floor(centerY + radiusY + 0.5F); - int z1 = MathHelper.floor(centerZ + radiusZ + 0.5F); - - for (int x = x0; x <= x1; ++x) - { - double px = (x + 0.5D - centerX) / radiusX; - - if (px * px < 1.0D) - { - for (int y = y0; y <= y1; ++y) - { - double py = (y + 0.5D - centerY) / radiusY; - - if (px * px + py * py < 1.0D) - { - for (int z = z0; z <= z1; ++z) - { - double pz = (z + 0.5D - centerZ) / radiusZ; - - if (px * px + py * py + pz * pz < 1.0D) - { - BlockPos pos = new BlockPos(x, y, z); - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, this.with); - } - } - } - } - } - } - } - - - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.with = conf.getBlockState("with", this.with); - this.minRadius = conf.getFloat("innerRadius", this.minRadius); - this.radiusFalloff = conf.getFloat("radiusFalloff", this.radiusFalloff); - this.numBalls = conf.getInt("numBalls", this.numBalls); - this.scatterYMethod = conf.getEnum("scatterYMethod", this.scatterYMethod, ScatterYMethod.class); - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorBramble.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorBramble.java deleted file mode 100644 index e35801968..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorBramble.java +++ /dev/null @@ -1,156 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.BlockLeaves; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorBramble extends GeneratorReplacing -{ - - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int minLength; - protected int maxLength; - protected int maxHeight; - protected int generationAttempts; - - public Builder minLength(int a) {this.minLength = a; return this.self();} - public Builder maxLength(int a) {this.maxLength = a; return this.self();} - public Builder maxHeight(int a) {this.maxHeight = a; return this.self();} - public Builder generationAttempts(int a) {this.generationAttempts = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = new BlockQueryMaterial(Material.GROUND, Material.GRASS); - this.replace = BlockQueries.airOrLeaves; - this.with = BOPBlocks.bramble_plant.getDefaultState(); - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - this.minLength = 15; - this.maxLength = 30; - this.maxHeight = 6; - this.generationAttempts = 128; - } - - @Override - public GeneratorBramble create() - { - return new GeneratorBramble(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.minLength, this.maxLength, this.maxHeight, this.generationAttempts); - } - } - - protected int minLength; - protected int maxLength; - protected int maxHeight; - protected int generationAttempts; - - public GeneratorBramble(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int minLength, int maxLength, int maxHeight, int generationAttempts) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.minLength = minLength; - this.maxLength = maxLength; - this.maxHeight = maxHeight; - this.generationAttempts = generationAttempts; - } - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - for (int i = 0; i < this.generationAttempts; ++i) - { - BlockPos genPos = pos.add(rand.nextInt(4) - rand.nextInt(4), rand.nextInt(3) - rand.nextInt(3), rand.nextInt(4) - rand.nextInt(4)); - - if (this.placeOn.matches(world, genPos.down()) && this.replace.matches(world, genPos)) - { - int targetLength = GeneratorUtils.nextIntBetween(rand, this.minLength, this.maxLength); - int height = 0; - int direction = rand.nextInt(4) + 2; - - for (int length = 0; length <= targetLength && replace.matches(world, genPos); length++) - { - if (this.with.getBlock().canPlaceBlockAt(world, genPos)) - { - world.setBlockState(genPos, this.with); - - if (rand.nextInt(2) == 0) - { - direction = rand.nextInt(4) + 2; - } - - if (rand.nextInt(2) == 0) - { - int leafDirection = rand.nextInt(6); - if (world.isAirBlock(genPos.offset(EnumFacing.values()[leafDirection]))) - { - world.setBlockState(genPos.offset(EnumFacing.values()[leafDirection]), Blocks.LEAVES.getDefaultState().withProperty(BlockLeaves.CHECK_DECAY, false)); - } - } - - switch (rand.nextInt(6)) - { - case 0: case 1: - if (height <= this.maxHeight) - { - genPos = genPos.up(); - height++; - } - break; - case 2: - if (height >= 0) - { - genPos = genPos.down(); - height--; - } - break; - default: - genPos = genPos.offset(EnumFacing.values()[direction]); - break; - } - } - else - { - return false; - } - } - } - } - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.with = conf.getBlockState("with", this.with); - this.minLength = conf.getInt("minLength", this.minLength); - this.maxLength = conf.getInt("maxLength", this.maxLength); - this.maxHeight = conf.getInt("maxHeight", this.maxHeight); - this.generationAttempts = conf.getInt("generationAttempts", this.generationAttempts); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorColumns.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorColumns.java deleted file mode 100644 index 19a8e250e..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorColumns.java +++ /dev/null @@ -1,173 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorColumns extends GeneratorReplacing -{ - - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int minHeight; - protected int maxHeight; - protected int generationAttempts; - protected boolean randomDirection; - - public Builder minHeight(int a) {this.minHeight = a; return this.self();} - public Builder maxHeight(int a) {this.maxHeight = a; return this.self();} - public Builder generationAttempts(int a) {this.generationAttempts = a; return this.self();} - public Builder randomDirection(boolean a) {this.randomDirection = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = new BlockQueryMaterial(Material.GROUND, Material.GRASS); - this.replace = BlockQueries.airOrLeaves; - this.with = Blocks.COBBLESTONE.getDefaultState(); - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - this.minHeight = 2; - this.maxHeight = 4; - this.generationAttempts = 12; - this.randomDirection = false; - } - - @Override - public GeneratorColumns create() - { - return new GeneratorColumns(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.minHeight, this.maxHeight, this.generationAttempts, this.randomDirection); - } - } - - protected int minHeight; - protected int maxHeight; - protected int generationAttempts; - protected boolean randomDirection; - - public GeneratorColumns(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int minHeight, int maxHeight, int generationAttempts, boolean randomDirection) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.minHeight = minHeight; - this.maxHeight = maxHeight; - this.generationAttempts = generationAttempts; - this.randomDirection = randomDirection; - } - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - for (int i = 0; i < this.generationAttempts; ++i) - { - BlockPos genPos = pos.add(rand.nextInt(4) - rand.nextInt(4), rand.nextInt(3) - rand.nextInt(3), rand.nextInt(4) - rand.nextInt(4)); - - if (this.randomDirection == true) - { - int randDirection = rand.nextInt(3); - - if (randDirection == 0) - { - // see if we can place the column - if (this.placeOn.matches(world, genPos.down()) && this.replace.matches(world, genPos)) - { - // choose random target height - int targetHeight = GeneratorUtils.nextIntBetween(rand, this.minHeight, this.maxHeight); - - // keep placing blocks upwards (if there's room) - for (int height = targetHeight; height >= 0 && replace.matches(world, genPos); height--) - { - if (this.with.getBlock().canPlaceBlockAt(world, genPos)) - { - world.setBlockState(genPos, this.with); - genPos = genPos.up(); - } - else - { - return false; - } - } - } - } - else - { - // see if we can place the column - if (this.placeOn.matches(world, genPos.up()) && this.replace.matches(world, genPos)) - { - // choose random target height - int targetHeight = GeneratorUtils.nextIntBetween(rand, this.minHeight, this.maxHeight); - - // keep placing blocks upwards (if there's room) - for (int height = 0; height <= targetHeight && replace.matches(world, genPos); height++) - { - if (this.with.getBlock().canPlaceBlockAt(world, genPos)) - { - world.setBlockState(genPos, this.with); - genPos = genPos.down(); - } - else - { - return false; - } - } - } - } - } - else - { - // see if we can place the column - if (this.placeOn.matches(world, genPos.down()) && this.replace.matches(world, genPos)) - { - // choose random target height - int targetHeight = GeneratorUtils.nextIntBetween(rand, this.minHeight, this.maxHeight); - - // keep placing blocks upwards (if there's room) - for (int height = targetHeight; height >= 0 && replace.matches(world, genPos); height--) - { - if (this.with.getBlock().canPlaceBlockAt(world, genPos)) - { - world.setBlockState(genPos, this.with); - genPos = genPos.up(); - } - else - { - return false; - } - } - } - } - } - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.with = conf.getBlockState("with", this.with); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("maxHeight", this.maxHeight); - this.generationAttempts = conf.getInt("generationAttempts", this.generationAttempts); - this.randomDirection = conf.getBool("randomDirection", this.randomDirection); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorCrystals.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorCrystals.java deleted file mode 100644 index 32a470f0a..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorCrystals.java +++ /dev/null @@ -1,121 +0,0 @@ -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorCrystals extends GeneratorReplacing -{ - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int generationAttempts; - protected int maxRadius; - protected int maxDepth; - - public Builder generationAttempts(int a) {this.generationAttempts = a; return this.self();} - public Builder maxRadius(int a) {this.maxRadius = a; return this.self();} - public Builder maxDepth(int a) {this.maxDepth = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.hellish; - this.replace = new BlockQueryMaterial(Material.AIR); - this.with = Blocks.GLOWSTONE.getDefaultState(); - this.scatterYMethod = ScatterYMethod.BELOW_GROUND; - this.generationAttempts = 1500; - this.maxRadius = 7; - this.maxDepth = 11; - } - - @Override - public GeneratorCrystals create() - { - return new GeneratorCrystals(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.generationAttempts, this.maxRadius, this.maxDepth); - } - } - - protected int generationAttempts; - protected int maxRadius; - protected int maxDepth; - - public GeneratorCrystals(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int generationAttempts, int maxRadius, int maxDepth) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.generationAttempts = generationAttempts; - this.maxRadius = maxRadius; - this.maxDepth = maxDepth; - } - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - //Ensure the current position isn't occupied - if (this.replace.matches(world, pos)) - { - return false; - } - else if (this.placeOn.matches(world, pos.up())) //Crystals hang down, ensure the block above is suitable - { - return false; - } - else - { - world.setBlockState(pos, this.with, 2); - - for (int i = 0; i < this.generationAttempts; ++i) - { - //Randomly choose a position within the max depth and radius. Subtracting random numbers adds a bias towards choosing positions closer to the origin - BlockPos randPos = pos.add(rand.nextInt(this.maxRadius + 1) - rand.nextInt(this.maxRadius + 1), -rand.nextInt(this.maxDepth + 1), rand.nextInt(this.maxRadius + 1) - rand.nextInt(this.maxRadius + 1)); - - //Ensure the random position isn't occupied - if (this.replace.matches(world, randPos)) - { - boolean adjacentCrystals = false; - - //Iterate through each side adjacent to the random position and check for existing crystal blocks - for (EnumFacing face : EnumFacing.values()) - { - if (world.getBlockState(randPos.offset(face)) == this.with) - { - adjacentCrystals = true; - break; - } - } - - if (adjacentCrystals) - { - //Set random position to crystal block - world.setBlockState(randPos, this.with, 2); - } - } - } - - return true; - } - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.placeOn = conf.getBlockPosQuery("placeUnder", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.with = conf.getBlockState("with", this.with); - this.generationAttempts = conf.getInt("generationAttempts", this.generationAttempts); - this.scatterYMethod = conf.getEnum("scatterYMethod", this.scatterYMethod, ScatterYMethod.class); - this.maxRadius = conf.getInt("maxRadius", this.maxRadius); - this.maxDepth = conf.getInt("maxDepth", this.maxDepth); - } -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorDoubleFlora.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorDoubleFlora.java deleted file mode 100644 index f6a0e2e15..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorDoubleFlora.java +++ /dev/null @@ -1,151 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.block.BlockBOPDecoration; -import biomesoplenty.common.block.BlockBOPDoubleDecoration; -import biomesoplenty.common.block.BlockBOPDoublePlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.Block; -import net.minecraft.block.BlockBush; -import net.minecraft.block.BlockDoublePlant; -import net.minecraft.block.BlockGrass; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorDoubleFlora extends GeneratorReplacing -{ - - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int generationAttempts; - protected IBlockState withTop; - - public Builder generationAttempts(int a) {this.generationAttempts = a; return this.self();} - - @Override - public Builder with(IBlockState a) {this.with = a; this.withTop = a; return this.self();} - public Builder with(IBlockState bottom, IBlockState top) {this.with = bottom; this.withTop = top; return this.self();} - public Builder with(BlockBOPDoublePlant.DoublePlantType type) - { - this.with = BOPBlocks.double_plant.getDefaultState().withProperty(BlockBOPDoublePlant.VARIANT, type).withProperty(BlockBOPDoublePlant.HALF, BlockBOPDoubleDecoration.Half.LOWER); - this.withTop = BOPBlocks.double_plant.getDefaultState().withProperty(BlockBOPDoublePlant.VARIANT, type).withProperty(BlockBOPDoublePlant.HALF, BlockBOPDoubleDecoration.Half.UPPER); - return this.self(); - } - public Builder with(BlockDoublePlant.EnumPlantType type) - { - this.with = Blocks.DOUBLE_PLANT.getStateFromMeta(type.getMeta()); - this.withTop = Blocks.DOUBLE_PLANT.getStateFromMeta(8); - return this; - } - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.anything; - this.replace = new BlockQueryMaterial(Material.AIR); - this.with = BOPBlocks.double_plant.getDefaultState().withProperty(BlockBOPDoublePlant.VARIANT, BlockBOPDoublePlant.DoublePlantType.FLAX).withProperty(BlockBOPDoublePlant.HALF, BlockBOPDoubleDecoration.Half.LOWER); - this.withTop = BOPBlocks.double_plant.getDefaultState().withProperty(BlockBOPDoublePlant.VARIANT, BlockBOPDoublePlant.DoublePlantType.FLAX).withProperty(BlockBOPDoublePlant.HALF, BlockBOPDoubleDecoration.Half.UPPER); - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - this.generationAttempts = 32; - } - - @Override - public GeneratorDoubleFlora create() { - return new GeneratorDoubleFlora(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.withTop, this.generationAttempts); - } - - } - - - protected IBlockState withTop; - protected int generationAttempts; - - public GeneratorDoubleFlora(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, IBlockState withTop, int generationAttempts) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.withTop = withTop; - this.generationAttempts = generationAttempts; - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - Block bottomBlock = this.with.getBlock(); - - for (int i = 0; i < this.generationAttempts; ++i) - { - BlockPos genPos = pos.add(random.nextInt(8) - random.nextInt(8), random.nextInt(4) - random.nextInt(4), random.nextInt(8) - random.nextInt(8)); - - if (this.with == BOPBlocks.double_plant.getDefaultState().withProperty(BlockBOPDoublePlant.VARIANT, BlockBOPDoublePlant.DoublePlantType.SEA_OATS).withProperty(BlockBOPDoublePlant.HALF, BlockBOPDoubleDecoration.Half.LOWER)) - { - boolean grassCheck = false; - - for (int x = -4; x < 4; ++x) - { - for (int y = -4; y < 4; ++y) - { - for (int z = -4; z < 4; ++z) - { - if (world.getBlockState(genPos.down().add(x, y, z)).getBlock() instanceof BlockGrass) - { - grassCheck = true; - break; - } - } - } - } - - if (!grassCheck) { return false; } - } - - if (this.placeOn.matches(world, genPos.down()) && this.replace.matches(world, genPos) && this.replace.matches(world, genPos.up()) && genPos.getY() < 254) - { - boolean canStay; - if (bottomBlock instanceof BlockBOPDecoration) - { - canStay = ((BlockBOPDecoration)bottomBlock).canBlockStay(world, genPos, this.with); - } else if (bottomBlock instanceof BlockBush) { - canStay = bottomBlock.canPlaceBlockAt(world, genPos); - } else { - canStay = bottomBlock.canPlaceBlockAt(world, genPos); - } - - if (canStay) - { - world.setBlockState(genPos, this.with, 2); - world.setBlockState(genPos.up(), this.withTop, 2); - } - } - } - - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.with = conf.getBlockState("with", this.with); - this.withTop = conf.getBlockState("withTop", this.withTop); - this.generationAttempts = conf.getInt("generationAttempts", this.generationAttempts); - } -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorFlora.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorFlora.java deleted file mode 100644 index 2212ab224..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorFlora.java +++ /dev/null @@ -1,152 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPFlowers; -import biomesoplenty.api.enums.BOPPlants; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.common.block.BlockBOPDecoration; -import biomesoplenty.common.block.BlockBOPFlower; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.block.BlockBOPMushroom; -import biomesoplenty.common.block.BlockBOPPlant; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.Block; -import net.minecraft.block.BlockBush; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.BlockLeaves; -import net.minecraft.block.BlockNewLeaf; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockTallGrass; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorFlora extends GeneratorReplacing -{ - - protected static abstract class InnerBuilder, G extends GeneratorFlora> extends GeneratorReplacing.InnerBuilder - { - protected int generationAttempts; - - public T with(BOPPlants a) {this.with = BlockBOPPlant.paging.getVariantState(a); return this.self();} - public T with(BOPFlowers a) {this.with = BlockBOPFlower.paging.getVariantState(a); return this.self();} - public T with(BlockBOPMushroom.MushroomType a) {this.with = BOPBlocks.mushroom.getDefaultState().withProperty(BlockBOPMushroom.VARIANT, a); return this.self();} - public T with(BlockBOPLilypad.LilypadType a) {this.with = BOPBlocks.waterlily.getDefaultState().withProperty(BlockBOPLilypad.VARIANT, a); return this.self();} - public T with(BlockFlower.EnumFlowerType a) - { - BlockFlower flowerBlock = a.getBlockType().getBlock(); - this.with = flowerBlock.getDefaultState().withProperty(flowerBlock.getTypeProperty(), a); - return this.self(); - } - public T with(BlockTallGrass.EnumType a) {this.with = Blocks.TALLGRASS.getDefaultState().withProperty(BlockTallGrass.TYPE, a); return this.self();} - public T withNonDecayingLeaf(BlockPlanks.EnumType a) - { - IBlockState leafState; - if (a.getMetadata() < 4) - { - leafState = Blocks.LEAVES.getDefaultState().withProperty(BlockOldLeaf.VARIANT, a); - } else { - leafState = Blocks.LEAVES2.getDefaultState().withProperty(BlockNewLeaf.VARIANT, a); - } - this.with = leafState.withProperty(BlockLeaves.CHECK_DECAY, Boolean.valueOf(false)).withProperty(BlockLeaves.DECAYABLE, Boolean.valueOf(false)); - return this.self(); - } - public T withNonDecayingLeaf(BOPTrees a) - { - this.with = BlockBOPLeaves.paging.getVariantState(a).withProperty(BlockLeaves.CHECK_DECAY, Boolean.valueOf(false)).withProperty(BlockLeaves.DECAYABLE, Boolean.valueOf(false)); - return this.self(); - } - - public T generationAttempts(int a) {this.generationAttempts = a; return this.self();} - - } - - public static class Builder extends InnerBuilder implements IGeneratorBuilder - { - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.anything; - this.replace = new BlockQueryMaterial(Material.AIR); - this.with = Blocks.RED_FLOWER.getDefaultState(); - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - this.generationAttempts = 32; - } - - @Override - public GeneratorFlora create() - { - return new GeneratorFlora(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.generationAttempts); - } - } - - protected int generationAttempts; - - public GeneratorFlora(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int generationAttempts) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.generationAttempts = generationAttempts; - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - Block block = this.with.getBlock(); - - for (int i = 0; i < this.generationAttempts; ++i) - { - BlockPos genPos = pos.add(random.nextInt(8) - random.nextInt(8), random.nextInt(4) - random.nextInt(4), random.nextInt(8) - random.nextInt(8)); - - if (this.placeOn.matches(world, genPos.down()) && this.replace.matches(world, genPos) && genPos.getY() < 255) - { - boolean canStay; - if (block instanceof BlockBOPDecoration) - { - canStay = ((BlockBOPDecoration)block).canBlockStay(world, genPos, this.with); - } else if (block instanceof BlockBush) { - canStay = block.canPlaceBlockAt(world, genPos); - } else { - canStay = block.canPlaceBlockAt(world, genPos); - } - - if (canStay) - { - world.setBlockState(genPos, this.with, 2); - } - } - } - - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.with = conf.getBlockState("with", this.with); - this.generationAttempts = conf.getInt("generationAttempts", this.generationAttempts); - this.scatterYMethod = conf.getEnum("scatterYMethod", this.scatterYMethod, ScatterYMethod.class); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorGrass.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorGrass.java deleted file mode 100644 index 26826863e..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorGrass.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; - -public class GeneratorGrass extends GeneratorFlora -{ - - public static class Builder extends GeneratorFlora.InnerBuilder implements IGeneratorBuilder - { - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.anything; - this.replace = new BlockQueryMaterial(Material.AIR); - this.with = Blocks.TALLGRASS.getDefaultState(); - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - this.generationAttempts = 96; - } - - @Override - public GeneratorGrass create() - { - return new GeneratorGrass(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.generationAttempts); - } - } - - public GeneratorGrass(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int generationAttempts) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod, generationAttempts); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorHive.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorHive.java deleted file mode 100644 index 8cc250a82..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorHive.java +++ /dev/null @@ -1,241 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world.generator; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.block.BlockBOPHive; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.core.BiomesOPlenty; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Biomes; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.MobSpawnerBaseLogic; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityMobSpawner; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import org.apache.commons.lang3.tuple.Pair; - -import java.util.Random; - -public class GeneratorHive extends GeneratorReplacing -{ - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int halfHeight; - protected int maxRadius; - protected int layerSize; - protected int bottomExtra; - protected float emptyChance; - - public GeneratorHive.Builder halfHeight(int a) {this.halfHeight = a; return this.self();} - public GeneratorHive.Builder maxRadius(int a) {this.maxRadius = a; return this.self();} - public GeneratorHive.Builder layerSize(int a) {this.layerSize = a; return this.self();} - public GeneratorHive.Builder bottomExtra(int a) {this.bottomExtra = a; return this.self();} - public GeneratorHive.Builder emptyChance(float a) {this.emptyChance = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQuery.buildAnd().states(Blocks.NETHERRACK.getDefaultState()).withAirBelow().create(); - this.replace = new BlockQuery.BlockQueryMaterial(Material.AIR); - this.with = null; - this.scatterYMethod = GeneratorUtils.ScatterYMethod.NETHER_ROOF; - this.halfHeight = 7; - this.maxRadius = 9; - this.layerSize = 3; - this.bottomExtra = 4; - this.emptyChance = 0.25F; - } - - @Override - public GeneratorHive create() - { - return new GeneratorHive(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.halfHeight, this.maxRadius, this.layerSize, this.bottomExtra, this.emptyChance); - } - } - - protected int halfHeight; - protected int maxRadius; - protected int layerSize; - protected int bottomExtra; - protected float emptyChance; - - public GeneratorHive(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, GeneratorUtils.ScatterYMethod scatterYMethod, int halfHeight, int maxRadius, int layerSize, int bottomExtra, float emptyChance) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.halfHeight = halfHeight; - this.maxRadius = maxRadius; - this.layerSize = layerSize; - this.bottomExtra = bottomExtra; - this.emptyChance = emptyChance; - } - - @Override - public boolean generate(World world, Random rand, BlockPos position) - { - // check that there's room and if the blocks below are suitable - if (!this.canPlaceHere(world, position)) {return false;} - - boolean empty = rand.nextFloat() <= this.emptyChance; - - // create the top and bottom halves of the hive, and a little bit extra on the bottom for the sake of looking - // slightly more like a hive - for (int yOffset = this.halfHeight; yOffset >= -this.halfHeight - this.bottomExtra; yOffset--) - { - // y is already negative, so add it rather than subtract - int radius = this.maxRadius + (yOffset / this.layerSize) * (yOffset >= 0 ? -1 : 1); - - for (int xOffset = -radius; xOffset <= radius; xOffset++) - { - for (int zOffset = -radius; zOffset <= radius; zOffset++) - { - int x2_z2 = xOffset * xOffset + zOffset * zOffset; - - // used to determine where to fill with honey - boolean bottomHalf = yOffset <= 0; - - // check to fill the top and bottom of the two layers - boolean outerCap = yOffset == -this.halfHeight - this.bottomExtra || yOffset == this.halfHeight; - boolean innerCap = yOffset == -this.halfHeight - this.bottomExtra + 1 || yOffset == this.halfHeight - 1; - BlockPos realPos = position.add(xOffset, yOffset - this.halfHeight, zOffset); - - // create a circular outline for the hive. the bottom and top layers should be filled. - // add a bit extra (1) to make the circles nicer too - - // inner layer. inset by one block - if (x2_z2 <= (radius - 1) * (radius - 1) + 1 && (x2_z2 >= (radius - 2) * (radius - 2) || innerCap)) - { - IBlockState honeyComb = BOPBlocks.hive.getDefaultState().withProperty(BlockBOPHive.VARIANT, BlockBOPHive.HiveType.EMPTY_HONEYCOMB); - float f = rand.nextFloat(); - - if (!empty && f <= 0.95) - { - honeyComb = BOPBlocks.hive.getDefaultState().withProperty(BlockBOPHive.VARIANT, BlockBOPHive.HiveType.HONEYCOMB); - - // if on the bottom half of the hive bias more towards filled honeycomb. - // the rest of the hive can still have filled blocks though - if (f <= 0.2 || (f <= 0.65 && bottomHalf)) - { - honeyComb = BOPBlocks.hive.getDefaultState().withProperty(BlockBOPHive.VARIANT, BlockBOPHive.HiveType.FILLED_HONEYCOMB); - } - } - else if (empty && f <= 0.2) - { - honeyComb = Blocks.AIR.getDefaultState(); - } - - // offset so we're placing the hive underneath the initial y coordinate - world.setBlockState(realPos, honeyComb, 2); - } - - // inner fill - if (!empty && bottomHalf && x2_z2 <= (radius - 2) * (radius - 2) + 1) - { - // fill the centre of the hive with honey blocks honey - IBlockState fillBlock = yOffset == 0 ? BOPBlocks.honey_block.getDefaultState() : BOPBlocks.honey.getDefaultState(); - - // only replace air blocks, not the hive layers - if (world.getBlockState(realPos).getMaterial() == Material.AIR) - { - world.setBlockState(realPos, fillBlock, 2); - } - } - - // place a wasp spawner in the middle of the hive - if (!empty && yOffset == 0 && xOffset == 0 && zOffset == 0) - { - world.setBlockState(realPos, Blocks.MOB_SPAWNER.getDefaultState(), 2); - TileEntity tileentity = world.getTileEntity(realPos); - - if (tileentity instanceof TileEntityMobSpawner) - { - MobSpawnerBaseLogic spawnerLogic = ((TileEntityMobSpawner)tileentity).getSpawnerBaseLogic(); - - NBTTagCompound spawnerConfig = new NBTTagCompound(); - spawnerConfig.setShort("MinSpawnDelay", (short)100); - spawnerConfig.setShort("MaxSpawnDelay", (short)250); - spawnerConfig.setShort("SpawnCount", (short)2); - spawnerConfig.setShort("MaxNearbyEntities", (short)10); - spawnerConfig.setShort("RequiredPlayerRange", (short)48); - - spawnerLogic.readFromNBT(spawnerConfig); - spawnerLogic.setEntityId(new ResourceLocation(BiomesOPlenty.MOD_ID, "wasp")); - } - else - { - BiomesOPlenty.logger.error("Failed to fetch mob spawner entity at ({}, {}, {})", new Object[] {Integer.valueOf(realPos.getX()), Integer.valueOf(realPos.getY()), Integer.valueOf(realPos.getZ())}); - } - } - - // outer layer - if (x2_z2 <= radius * radius + 1 && (x2_z2 >= (radius - 1) * (radius - 1) || outerCap)) - { - // offset so we're placing the hive underneath the initial y coordinate - world.setBlockState(realPos, BOPBlocks.hive.getDefaultState(), 2); - } - } - } - } - - return true; - } - - public boolean canPlaceHere(World world, BlockPos pos) - { - if (pos.getY() <= 1 || pos.getY() > 255) - { - return false; - } - for (int y = this.halfHeight; y >= -this.halfHeight - this.bottomExtra; y--) - { - // y is already negative, so add it rather than subtract - int radius = this.maxRadius + (y / this.layerSize) * (y >= 0 ? -1 : 1); - - for (int x = -radius; x <= radius; x++) - { - for (int z = -radius; z <= radius; z++) - { - if (x == 0 && z == 0 && y == this.halfHeight && !this.placeOn.matches(world, pos.add(x, y - this.halfHeight + 1, z))) - { - return false; - } - - if (!this.replace.matches(world, pos.add(x, y - this.halfHeight, z))) - { - return false; - } - } - } - } - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.placeOn = conf.getBlockPosQuery("placeUnder", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.scatterYMethod = conf.getEnum("scatterYMethod", this.scatterYMethod, GeneratorUtils.ScatterYMethod.class); - - this.halfHeight = conf.getInt("halfHeight", this.halfHeight); - this.maxRadius = conf.getInt("maxRadius", this.maxRadius); - this.layerSize = conf.getInt("layerSize", this.layerSize); - this.bottomExtra = conf.getInt("bottomExtra", this.bottomExtra); - this.emptyChance = conf.getFloat("emptyChance", this.emptyChance); - } -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorLakes.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorLakes.java deleted file mode 100644 index ae3bf7d4c..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorLakes.java +++ /dev/null @@ -1,324 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.generation.BOPGeneratorBase; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.EnumSkyBlock; -import net.minecraft.world.World; -import net.minecraft.world.biome.Biome; - -public class GeneratorLakes extends BOPGeneratorBase -{ - - public static class Builder extends BOPGeneratorBase.InnerBuilder implements IGeneratorBuilder - { - protected IBlockState liquid; - protected IBlockState frozenLiquid; - protected IBlockState grassBorderWith; - protected IBlockPosQuery grassReplace; - protected IBlockState lineWith; - protected ScatterYMethod scatterYMethod; - - public Builder liquid(IBlockState a) {this.liquid = a; return this.self();} - public Builder liquid(Block a) {this.liquid = a.getDefaultState(); return this.self();} - public Builder frozenLiquid(IBlockState a) {this.frozenLiquid = a; return this.self();} - public Builder frozenLiquid(Block a) {this.frozenLiquid = a.getDefaultState(); return this.self();} - public Builder grassBorderWith(IBlockState a) {this.grassBorderWith = a; return this.self();} - public Builder grassBorderWith(Block a) {this.grassBorderWith = a.getDefaultState(); return this.self();} - public Builder grassReplace(IBlockPosQuery a) {this.grassReplace = a; return this.self();} - public Builder grassReplace(String a) throws BlockQueryParseException {this.grassReplace = BlockQuery.parseQueryString(a); return this.self();} - public Builder grassReplace(Block a) {this.grassReplace = new BlockQueryBlock(a); return this.self();} - public Builder grassReplace(IBlockState a) {this.grassReplace = new BlockQueryState(a); return this.self();} - public Builder lineWith(IBlockState a) {this.lineWith = a; return this.self();} - public Builder lineWith(Block a) {this.lineWith = a.getDefaultState(); return this.self();} - public Builder scatterYMethod(ScatterYMethod a) {this.scatterYMethod = a; return this.self();} - - public Builder waterLakeForBiome(Biome a) - { - this.liquid = Blocks.WATER.getDefaultState(); - this.frozenLiquid = Blocks.ICE.getDefaultState(); - this.grassBorderWith = a.topBlock; - this.grassReplace = new BlockQueryBlock(a.fillerBlock.getBlock()); - this.lineWith = null; - return this; - } - public Builder lavaLake() - { - this.liquid = Blocks.LAVA.getDefaultState(); - this.frozenLiquid = null; - this.grassBorderWith = null; - this.grassReplace = null; - this.lineWith = Blocks.STONE.getDefaultState(); - return this; - } - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.liquid = Blocks.WATER.getDefaultState(); - this.frozenLiquid = Blocks.ICE.getDefaultState(); - this.grassBorderWith = Blocks.GRASS.getDefaultState(); - this.grassReplace = new BlockQueryBlock(Blocks.DIRT); - this.lineWith = null; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorLakes create() { - return new GeneratorLakes(this.amountPerChunk, this.liquid, this.frozenLiquid, this.grassBorderWith, this.grassReplace, this.lineWith, this.scatterYMethod); - } - } - - protected IBlockState liquid; - protected IBlockState frozenLiquid; - protected IBlockState grassBorderWith; - protected IBlockPosQuery grassReplace; - protected IBlockState lineWith; - protected GeneratorUtils.ScatterYMethod scatterYMethod; - - - public GeneratorLakes(float amountPerChunk, IBlockState liquid, IBlockState frozenLiquid, IBlockState grassBorderWith, IBlockPosQuery grassReplace, IBlockState lineWith, ScatterYMethod scatterYMethod) - { - super(amountPerChunk); - this.liquid = liquid; - this.frozenLiquid = frozenLiquid; - this.grassBorderWith = grassBorderWith; - this.grassReplace = grassReplace; - this.lineWith = lineWith; - this.scatterYMethod = scatterYMethod; - } - - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) - { - // always at world surface - return this.scatterYMethod.getBlockPos(world, random, x, z); - } - - public boolean[] getCavityShape(Random rand) - { - boolean[] cavityShape = new boolean[2048]; - int numPasses = rand.nextInt(4) + 4; - int pass; - - for (pass = 0; pass < numPasses; ++pass) - { - double scaleX = rand.nextDouble() * 6.0D + 3.0D; // between 3 and 9 - double scaleY = rand.nextDouble() * 4.0D + 2.0D; // between 2 and 6 - double scaleZ = rand.nextDouble() * 6.0D + 3.0D; // between 3 and 9 - - double pointX = rand.nextDouble() * (16.0D - scaleX - 2.0D) + 1.0D + scaleX / 2.0D; // between 2.5 and 13.5 - double pointY = rand.nextDouble() * (8.0D - scaleY - 4.0D) + 2.0D + scaleY / 2.0D; // between 3 and 5 - double pointZ = rand.nextDouble() * (16.0D - scaleZ - 2.0D) + 1.0D + scaleZ / 2.0D; // between 2.5 and 13.5 - - for (int x = 1; x < 15; ++x) - { - for (int z = 1; z < 15; ++z) - { - for (int y = 1; y < 7; ++y) - { - double dx = ((double)x - pointX) / (scaleX / 2.0D); - double dy = ((double)y - pointY) / (scaleY / 2.0D); - double dz = ((double)z - pointZ) / (scaleZ / 2.0D); - - double r = dx * dx + dy * dy + dz * dz; - - if (r < 1.0D) - { - cavityShape[(x * 16 + z) * 8 + y] = true; - } - } - } - } - } - - return cavityShape; - } - - public boolean isCavityEdge(int x, int y, int z, boolean[] cavityShape) - { - if (cavityShape[(x * 16 + z) * 8 + y]) {return false;} - return x < 15 && cavityShape[((x + 1) * 16 + z) * 8 + y] || x > 0 && cavityShape[((x - 1) * 16 + z) * 8 + y] || z < 15 && cavityShape[(x * 16 + z + 1) * 8 + y] || z > 0 && cavityShape[(x * 16 + (z - 1)) * 8 + y] || y < 7 && cavityShape[(x * 16 + z) * 8 + y + 1] || y > 0 && cavityShape[(x * 16 + z) * 8 + (y - 1)]; - } - - public boolean isCavityViable(World world, BlockPos startPos, boolean[] cavityShape) - { - for (int x = 0; x < 16; ++x) - { - for (int z = 0; z < 16; ++z) - { - for (int y = 0; y < 8; ++y) - { - if (this.isCavityEdge(x, y, z, cavityShape)) { - - Material material = world.getBlockState(startPos.add(x, y, z)).getMaterial(); - - // abandon if there's liquid at the edge of the cavity above the water level - if (y >= 4 && material.isLiquid()) - { - return false; - } - - // abandon if there's a different liquid at the edge of the cavity below the water level - if (y < 4 && !material.isSolid() && world.getBlockState(startPos.add(x, y, z)).getBlock() != this.liquid) - { - return false; - } - } - } - } - } - return true; - } - - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - // move to start of square - pos = pos.add(-8, 0, -8); - - // move downwards to the first non-air block - while (pos.getY() > 5 && world.isAirBlock(pos)) - { - pos = pos.down(); - } - - // abandon if there isn't 4 blocks beneath pos - if (pos.getY() <= 4) - { - return false; - } - - // move down 4 blocks (to bottom of lake-to-be) - pos = pos.down(4); - - // create a random cavity - boolean[] cavityShape = this.getCavityShape(rand); - - // check it's viable - if (!this.isCavityViable(world, pos, cavityShape)) - { - return false; - } - - - - int x; - int y; - int z; - - // create the lake - bottom 4 layers of turned to water, top 4 turned to air - for (x = 0; x < 16; ++x) - { - for (z = 0; z < 16; ++z) - { - for (y = 0; y < 8; ++y) - { - if (cavityShape[(x * 16 + z) * 8 + y]) - { - world.setBlockState(pos.add(x, y, z), y >= 4 ? Blocks.AIR.getDefaultState() : this.liquid, 2); - } - } - } - } - - if (this.grassBorderWith != null) - { - // replace newly exposed dirt at the surface edges of the lake with grass - for (x = 0; x < 16; ++x) - { - for (z = 0; z < 16; ++z) - { - for (y = 4; y < 8; ++y) - { - if (cavityShape[(x * 16 + z) * 8 + y]) - { - BlockPos blockBelow = pos.add(x, y - 1, z); - if (this.grassReplace.matches(world, blockBelow) && world.getLightFor(EnumSkyBlock.SKY, pos.add(x, y, z)) > 0) - { - world.setBlockState(blockBelow, this.grassBorderWith, 2); - } - } - } - } - } - } - - if (this.lineWith != null) - { - // line interior of lakes (used for instance with lava lakes to turn edge to stone) - for (x = 0; x < 16; ++x) - { - for (z = 0; z < 16; ++z) - { - for (y = 0; y < 8; ++y) - { - if (this.isCavityEdge(x, y, z, cavityShape)) - { - if ((y < 4 || rand.nextInt(2) != 0) && world.getBlockState(pos.add(x, y, z)).getMaterial().isSolid()) - { - world.setBlockState(pos.add(x, y, z), this.lineWith, 2); - } - } - } - } - } - } - - // use frozen liquid if the temperature is low - if (this.frozenLiquid != null) - { - y = 4; - for (x = 0; x < 16; ++x) - { - for (z = 0; z < 16; ++z) - { - if (world.canBlockFreezeWater(pos.add(x, y, z))) - { - world.setBlockState(pos.add(x, y, z), this.frozenLiquid, 2); - } - } - } - } - - return true; - } - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - - this.liquid = conf.getBlockState("liquid", this.liquid); - this.lineWith = conf.getBlockState("lineWith", this.lineWith); - this.grassBorderWith = conf.getBlockState("grassBorderWith", this.grassBorderWith); - this.frozenLiquid = conf.getBlockState("frozenLiquid", this.frozenLiquid); - this.grassReplace = conf.getBlockPosQuery("grassReplace", this.grassReplace); - this.scatterYMethod = conf.getEnum("scatterYMethod", this.scatterYMethod, ScatterYMethod.class); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorLogs.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorLogs.java deleted file mode 100644 index 5814d78cd..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorLogs.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.block.BlockBOPLog; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.BlockLog; -import net.minecraft.block.BlockNewLog; -import net.minecraft.block.BlockOldLog; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorLogs extends GeneratorReplacing -{ - - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int minLength; - protected int maxLength; - - public Builder with(BOPWoods a) {this.with = BlockBOPLog.paging.getVariantState(a); return this.self();} - public Builder with(BlockPlanks.EnumType a) - { - if (a.getMetadata() < 4) - { - this.with = Blocks.LOG.getDefaultState().withProperty(BlockOldLog.VARIANT, a); - } else { - this.with = Blocks.LOG2.getDefaultState().withProperty(BlockNewLog.VARIANT, a); - } - return this.self(); - } - public Builder minLength(int a) {this.minLength = a; return this.self();} - public Builder maxLength(int a) {this.maxLength = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = new BlockQueryMaterial(Material.GRASS, Material.GROUND); - this.replace = new BlockQueryMaterial(Material.AIR); - this.with = Blocks.LOG.getDefaultState(); - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - this.minLength = 3; - this.maxLength = 5; - } - - @Override - public GeneratorLogs create() - { - return new GeneratorLogs(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.minLength, this.maxLength); - } - } - - protected IProperty axisProperty; - protected int minLength; - protected int maxLength; - - public GeneratorLogs(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int minLength, int maxLength) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.axisProperty = GeneratorUtils.getAxisProperty(with); - this.minLength = minLength; - this.maxLength = maxLength; - - } - - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - // if we can't start placing the log, abandon now - if (!this.placeOn.matches(world, pos.down())) {return false;} - - // choose random direction and target length - BlockLog.EnumAxis direction = (random.nextInt(2) == 0) ? BlockLog.EnumAxis.X : BlockLog.EnumAxis.Z; - int length = this.minLength + random.nextInt(this.maxLength - this.minLength); - IBlockState state = (this.axisProperty == null) ? this.with : this.with.withProperty(this.axisProperty, direction); - - // keep placing logs along the chosen direction (as long as the block beneath is suitable) - while(length > 0 && this.replace.matches(world, pos) && this.placeOn.matches(world, pos.down())) - { - world.setBlockState(pos, state); - pos = (direction == BlockLog.EnumAxis.X) ? pos.east() : pos.north(); - length--; - } - return true; - } - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.with = conf.getBlockState("with", this.with); - this.axisProperty = GeneratorUtils.getAxisProperty(with); - this.minLength = conf.getInt("minLength", this.minLength); - this.maxLength = conf.getInt("maxLength", this.maxLength); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorMixedLily.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorMixedLily.java deleted file mode 100644 index 946e186b7..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorMixedLily.java +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.generation.BOPGeneratorBase; -import biomesoplenty.common.block.BlockBOPLilypad; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.BlockLilyPad; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorMixedLily extends BOPGeneratorBase -{ - - // list of possibly lilypads - protected static IBlockState[] lilies = new IBlockState[] { - BOPBlocks.waterlily.getDefaultState().withProperty(BlockBOPLilypad.VARIANT, BlockBOPLilypad.LilypadType.TINY), - BOPBlocks.waterlily.getDefaultState().withProperty(BlockBOPLilypad.VARIANT, BlockBOPLilypad.LilypadType.SMALL), - BOPBlocks.waterlily.getDefaultState().withProperty(BlockBOPLilypad.VARIANT, BlockBOPLilypad.LilypadType.MEDIUM), - Blocks.WATERLILY.getDefaultState() - }; - protected static IBlockPosQuery replace = new BlockQueryMaterial(Material.AIR); - - protected int generationAttempts; - - public static class Builder extends BOPGeneratorBase.InnerBuilder implements IGeneratorBuilder - { - protected int generationAttempts; - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.generationAttempts = 64; - } - - public Builder generationAttempts(int a) {this.generationAttempts = a; return this.self();} - - @Override - public GeneratorMixedLily create() { - return new GeneratorMixedLily(this.amountPerChunk, this.generationAttempts); - } - } - - public GeneratorMixedLily(float amountPerChunk, int generationAttempts) - { - super(amountPerChunk); - this.generationAttempts = generationAttempts; - - // make sure that all of the liles are the right type - for (IBlockState lily : lilies) { - if (!(lily.getBlock() instanceof BlockLilyPad)) - { - throw new RuntimeException("GeneratorMixedLily liles must all be instances of BlockLilyPad"); - } - } - } - - - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) - { - return ScatterYMethod.AT_SURFACE.getBlockPos(world, random, x, z); - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - for (int i = 0; i < this.generationAttempts; ++i) - { - BlockPos genPos = pos.add(random.nextInt(8) - random.nextInt(8), random.nextInt(4) - random.nextInt(4), random.nextInt(8) - random.nextInt(8)); - - // pick a random lily to place - IBlockState lily = lilies[random.nextInt(lilies.length)]; - - // note unchecked cast below should be safe because lily types are all checked during class initialisation - if (replace.matches(world, genPos) && ((BlockLilyPad)lily.getBlock()).canBlockStay(world, genPos, lily)) { - world.setBlockState(genPos, lily, 2); - } - } - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.generationAttempts = conf.getInt("generationAttempts", this.generationAttempts); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorOreBase.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorOreBase.java deleted file mode 100644 index 2637012ce..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorOreBase.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import org.apache.commons.lang3.tuple.Pair; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPGems; -import biomesoplenty.api.generation.BOPGeneratorBase; -import biomesoplenty.common.block.BlockBOPGem; -import biomesoplenty.common.util.biome.GeneratorUtils; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public abstract class GeneratorOreBase extends BOPGeneratorBase -{ - - protected static abstract class InnerBuilder, G extends GeneratorOreBase> extends BOPGeneratorBase.InnerBuilder - { - protected IBlockState with; - protected int minHeight; - protected int maxHeight; - - public T with(IBlockState a) {this.with = a; return this.self();} - public T with(BOPGems a) {this.with = BOPBlocks.gem_ore.getDefaultState().withProperty(BlockBOPGem.VARIANT, a); return this.self();} - public T minHeight(int a) {this.minHeight = a; return this.self();} - public T maxHeight(int a) {this.maxHeight = a; return this.self();} - - } - - protected int minHeight; - protected int maxHeight; - - protected GeneratorOreBase(float amountPerChunk, int minHeight, int maxHeight) - { - super(amountPerChunk); - this.minHeight = minHeight; - this.maxHeight = maxHeight; - } - - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) - { - // between max and min - return new BlockPos(x, GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight), z); - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - int minHeight = conf.getInt("minHeight", this.minHeight).intValue(); - int maxHeight = conf.getInt("maxHeight", this.maxHeight).intValue(); - - Pair heights = GeneratorUtils.validateMinMaxHeight(minHeight, maxHeight); - this.minHeight = heights.getLeft(); - this.maxHeight = heights.getRight(); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorOreCluster.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorOreCluster.java deleted file mode 100644 index 5808c7181..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorOreCluster.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenMinable; - -public class GeneratorOreCluster extends GeneratorOreBase -{ - - public static class Builder extends GeneratorOreBase.InnerBuilder implements IGeneratorBuilder - { - protected int clusterSize; - - public Builder clusterSize(int a) {this.clusterSize = a; return this.self();} - - protected IBlockPosQuery replace; - - public Builder replace(IBlockPosQuery a) {this.replace = a; return this.self();} - public Builder replace(String a) throws BlockQueryParseException {this.replace = BlockQuery.parseQueryString(a); return this.self();} - public Builder replace(Block a) {this.replace = new BlockQueryBlock(a); return this.self();} - public Builder replace(IBlockState a) {this.replace = new BlockQueryState(a); return this.self();} - - public Builder() - { - this.amountPerChunk = 1.0F; - this.with = Blocks.EMERALD_ORE.getDefaultState(); - this.minHeight = 4; - this.maxHeight = 32; - this.clusterSize = 4; - this.replace = new BlockQueryBlock(Blocks.STONE); - } - - @Override - public GeneratorOreCluster create() - { - return new GeneratorOreCluster(this.amountPerChunk, this.minHeight, this.maxHeight, this.with, this.clusterSize, this.replace); - } - } - - - private WorldGenMinable generator; - - private IBlockState with; - private IBlockPosQuery replace; - - public GeneratorOreCluster(float amountPerChunk, int minHeight, int maxHeight, IBlockState with, int clusterSize, IBlockPosQuery replace) - { - super(amountPerChunk, minHeight, maxHeight); - this.generator = new WorldGenMinable(with, clusterSize); - - this.with = with; - this.replace = replace; - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - if (this.replace.matches(world, pos)) - { - return this.generator.generate(world, random, pos); - } - return false; - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.generator.oreBlock = conf.getBlockState("with", this.generator.oreBlock); - this.generator.numberOfBlocks = conf.getInt("clusterSize", this.generator.numberOfBlocks); - this.replace = conf.getBlockPosQuery("replace", this.replace); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorOreSingle.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorOreSingle.java deleted file mode 100644 index cfe464306..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorOreSingle.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorOreSingle extends GeneratorOreBase -{ - - public static class Builder extends GeneratorOreBase.InnerBuilder implements IGeneratorBuilder - { - protected IBlockPosQuery replace; - - public Builder replace(IBlockPosQuery a) {this.replace = a; return this.self();} - public Builder replace(String a) throws BlockQueryParseException {this.replace = BlockQuery.parseQueryString(a); return this.self();} - public Builder replace(Block a) {this.replace = new BlockQueryBlock(a); return this.self();} - public Builder replace(IBlockState a) {this.replace = new BlockQueryState(a); return this.self();} - - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 4; - this.maxHeight = 32; - this.with = Blocks.EMERALD_ORE.getDefaultState(); - this.replace = new BlockQueryBlock(Blocks.STONE); - } - - @Override - public GeneratorOreSingle create() - { - return new GeneratorOreSingle(this.amountPerChunk, this.minHeight, this.maxHeight, this.with, this.replace); - } - } - - private IBlockState with; - private IBlockPosQuery replace; - - public GeneratorOreSingle(float amountPerChunk, int minHeight, int maxHeight, IBlockState with, IBlockPosQuery replace) - { - super(amountPerChunk, minHeight, maxHeight); - - this.with = with; - this.replace = replace; - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - if (this.replace.matches(world, pos)) - { - return world.setBlockState(pos, this.with, 2); - } - return false; - } - - @Override - public void configure(IConfigObj conf) - { - super.configure(conf); - - this.with = conf.getBlockState("with", this.with); - this.replace = conf.getBlockPosQuery("replace", this.replace); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorReplacing.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorReplacing.java deleted file mode 100644 index 9fd18385f..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorReplacing.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.generation.BOPGeneratorBase; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public abstract class GeneratorReplacing extends BOPGeneratorBase -{ - protected IBlockPosQuery placeOn; - protected IBlockPosQuery replace; - protected IBlockState with; - protected ScatterYMethod scatterYMethod; - - protected GeneratorReplacing(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod) { - super(amountPerChunk); - this.placeOn = placeOn; - this.replace = replace; - this.with = with; - this.scatterYMethod = scatterYMethod; - } - - protected static abstract class InnerBuilder, G extends GeneratorReplacing> extends BOPGeneratorBase.InnerBuilder - { - protected IBlockPosQuery placeOn; - protected IBlockPosQuery replace; - protected IBlockState with; - protected ScatterYMethod scatterYMethod; - - public T placeOn(IBlockPosQuery a) {this.placeOn = a; return this.self();} - public T placeOn(String a) throws BlockQueryParseException {this.placeOn = BlockQuery.parseQueryString(a); return this.self();} - public T placeOn(Block a) {this.placeOn = new BlockQueryBlock(a); return this.self();} - public T placeOn(IBlockState a) {this.placeOn = new BlockQueryState(a); return this.self();} - public T placeOn(Material... a) {this.placeOn = new BlockQueryMaterial(a); return this.self();} - - public T replace(IBlockPosQuery a) {this.replace = a; return this.self();} - public T replace(String a) throws BlockQueryParseException {this.replace = BlockQuery.parseQueryString(a); return this.self();} - public T replace(Block a) {this.replace = new BlockQueryBlock(a); return this.self();} - public T replace(IBlockState a) {this.replace = new BlockQueryState(a); return this.self();} - public T replace(Material... a) {this.replace = new BlockQueryMaterial(a); return this.self();} - - public T with(IBlockState a) {this.with = a; return this.self();} - - public T scatterYMethod(ScatterYMethod a) {this.scatterYMethod = a; return this.self();} - - } - - - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) - { - return this.scatterYMethod.getBlockPos(world, random, x, z); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorSpike.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorSpike.java deleted file mode 100644 index afad1bb59..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorSpike.java +++ /dev/null @@ -1,230 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import org.apache.commons.lang3.tuple.Pair; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorSpike extends GeneratorReplacing -{ - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int minHeight; - protected int maxHeight; - protected int minRadius; - protected int maxRadius; - - public Builder minHeight(int a) {this.minHeight = a; return this.self();} - public Builder maxHeight(int a) {this.maxHeight = a; return this.self();} - public Builder minRadius(int a) {this.minRadius = a; return this.self();} - public Builder maxRadius(int a) {this.maxRadius = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.solid; - this.replace = new BlockQueryMaterial(Material.AIR); - this.with = BOPBlocks.dried_sand.getDefaultState(); - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - this.minHeight = 8; - this.maxHeight = 12; - this.minRadius = 3; - this.maxRadius = 3; - } - - @Override - public GeneratorSpike create() - { - return new GeneratorSpike(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.minHeight, this.maxHeight, this.minRadius, this.maxRadius); - } - } - - protected int minHeight; - protected int maxHeight; - protected int minRadius; - protected int maxRadius; - - public GeneratorSpike(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int minHeight, int maxHeight, int minRadius, int maxRadius) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.minHeight = minHeight; - this.maxHeight = maxHeight; - this.minRadius = minRadius; - this.maxRadius = maxRadius; - } - - @Override - public boolean generate(World world, Random rand, BlockPos position) - { - int maxRadius = this.minRadius + rand.nextInt(this.maxRadius - this.minRadius + 1); - int centreHeight = this.minHeight + rand.nextInt(this.maxHeight - this.minHeight + 1); - - // check that there's room and if the blocks below are suitable - if (!this.canPlaceHere(world, position, centreHeight, maxRadius)) {return false;} - - //Distribute the height excluding the spire and the base between the radius (other than the base) - int layerHeight = centreHeight / (maxRadius - 1); - - // - // Generate the base - // - - //Fill the inner section of the circle - createCircleWithChance(world, position, this.with, maxRadius - 1, true, 1.0F); - //Randomly remove the outer edges - createCircleWithChance(world, position, this.with, maxRadius, true, 0.15F); - - // - // Generate the centre and the spire - // - - BlockPos layerStartPos = position.up(); - - //Add 2 for the spire - for (int y = 0; y <= centreHeight + 2; y++) - { - //Generate the spire - if (y > centreHeight) - { - world.setBlockState(layerStartPos.add(0, y, 0), this.with); - } - else //Generate the layers - { - //Bottom layer is 0, then 1 etc - int layer = y / layerHeight; - int layerIndex = y % layerHeight; //Get the position of y within the current layer, ignoring the base - int radius = maxRadius - 1 - layer; //The radius for this layer, with the base radius subtracted - - //Treat any layers with a radius of 0 as an extension of the spire - if (radius == 0) - { - world.setBlockState(layerStartPos.add(0, y, 0), this.with); - continue; - } - - if (layerIndex == layerHeight - 1) //Generate midpoints randomly - { - //Fill the inner section of the circle - createCircleWithChance(world, layerStartPos.add(0, y, 0), this.with, radius - 1, true, 1.0F); - createMidpointsWithChance(world, layerStartPos.add(0, y, 0), this.with, radius, 0.7F); - } - else if (layerIndex == layerHeight - 2) - { - //Fill the inner section of the circle - createCircleWithChance(world, layerStartPos.add(0, y, 0), this.with, radius - 1, true, 1.0F); - //Randomly remove the outer edges - createCircleWithChance(world, layerStartPos.add(0, y, 0), this.with, radius, true, 0.1F / (layer + 1)); - } - else - { - createCircleWithChance(world, layerStartPos.add(0, y, 0), this.with, radius, true, 1.0F); - } - } - } - - return true; - } - - public boolean canPlaceHere(World world, BlockPos pos, int height, int radius) - { - if (pos.getY() < 1 || pos.getY() + height > 255) - { - return false; - } - for (int y = pos.getY(); y <= pos.getY() + height; ++y) - { - for (int x = pos.getX() - radius; x <= pos.getX() + radius; ++x) - { - for (int z = pos.getZ() - radius; z <= pos.getZ() + radius; ++z) - { - if (y == pos.getY() && !this.placeOn.matches(world, new BlockPos(x, y - 1, z))) - { - return false; - } - - if (!this.replace.matches(world, new BlockPos(x, y, z))) - { - return false; - } - } - } - } - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.placeOn = conf.getBlockPosQuery("placeUnder", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.with = conf.getBlockState("with", this.with); - this.scatterYMethod = conf.getEnum("scatterYMethod", this.scatterYMethod, ScatterYMethod.class); - int minHeight = conf.getInt("minHeight", this.minHeight).intValue(); - int maxHeight = conf.getInt("maxHeight", this.maxHeight).intValue(); - - Pair heights = GeneratorUtils.validateMinMaxHeight(minHeight, maxHeight); - this.minHeight = heights.getLeft(); - this.maxHeight = heights.getRight(); - - int minRadius = conf.getInt("minRadius", this.minRadius).intValue(); - int maxRadius = conf.getInt("maxRadius", this.maxRadius).intValue(); - - Pair radii = GeneratorUtils.validateMinMaxHeight(minRadius, maxRadius); - this.minRadius = radii.getLeft(); - this.maxRadius = radii.getRight(); - } - - private void createCircleWithChance(World world, BlockPos middle, IBlockState state, int maxRadius, boolean fill, float chance) - { - //This may break for larger radii however it will do for this purpose - double increment = 0.05D; - - for (int radius = maxRadius; radius >= 0; radius--) - { - for (double angle = 0.0F; angle <= Math.PI * 2; angle += increment) - { - BlockPos pos = middle.add(Math.round(radius * Math.cos(angle)), 0, Math.round(radius * Math.sin(angle))); - - setBlockWithChance(world, pos, state, chance); - } - - if (!fill) break; - } - } - - private void createMidpointsWithChance(World world, BlockPos middle, IBlockState state, int radius, float chance) - { - BlockPos midpoint; - - if (world.getBlockState((midpoint = middle.add(-radius, 0, 0)).down()) == state) setBlockWithChance(world, midpoint, state, chance); - if (world.getBlockState((midpoint = middle.add(radius, 0, 0)).down()) == state) setBlockWithChance(world, midpoint, state, chance); - if (world.getBlockState((midpoint = middle.add(0, 0, -radius)).down()) == state) setBlockWithChance(world, midpoint, state, chance); - if (world.getBlockState((midpoint = middle.add(0, 0, radius)).down()) == state) setBlockWithChance(world, midpoint, state, chance); - } - - private void setBlockWithChance(World world, BlockPos pos, IBlockState state, float chance) - { - if (world.rand.nextFloat() < chance) - world.setBlockState(pos, state); - } -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorSplatter.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorSplatter.java deleted file mode 100644 index b5d047c89..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorSplatter.java +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorSplatter extends GeneratorReplacing -{ - - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int generationAttempts; - - public Builder generationAttempts(int a) {this.generationAttempts = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.anything; - this.replace = BlockQueries.breakable; - this.with = Blocks.STONE.getDefaultState(); - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - this.generationAttempts = 64; - } - - @Override - public GeneratorSplatter create() - { - return new GeneratorSplatter(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.generationAttempts); - } - } - - protected int generationAttempts; - - public GeneratorSplatter(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int generationAttempts) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.generationAttempts = generationAttempts; - } - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - // look for blocks on the matching this.placeOn and randomly put this.to on top of them - for (int i = 0; i < this.generationAttempts; ++i) - { - BlockPos pos1 = pos.add(rand.nextInt(8) - rand.nextInt(8), rand.nextInt(4) - rand.nextInt(4), rand.nextInt(8) - rand.nextInt(8)); - if (this.replace.matches(world, pos1) && this.placeOn.matches(world, pos1.down())) - { - world.setBlockState(pos1, this.with); - } - } - - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.with = conf.getBlockState("with", this.with); - this.generationAttempts = conf.getInt("generationAttempts", this.generationAttempts); - this.scatterYMethod = conf.getEnum("scatterYMethod", this.scatterYMethod, ScatterYMethod.class); - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorSplotches.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorSplotches.java deleted file mode 100644 index 024eccd73..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorSplotches.java +++ /dev/null @@ -1,150 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; - -public class GeneratorSplotches extends GeneratorReplacing -{ - - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int splotchSize; - - public Builder splotchSize(int a) {this.splotchSize = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = new BlockQueryMaterial(Material.GRASS, Material.GROUND); - this.replace = new BlockQueryMaterial(Material.GRASS, Material.GROUND); - this.with = Blocks.COBBLESTONE.getDefaultState(); - this.scatterYMethod = ScatterYMethod.BELOW_SURFACE; - this.splotchSize = 8; - } - - @Override - public GeneratorSplotches create() - { - return new GeneratorSplotches(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.splotchSize); - } - } - - - protected int splotchSize; - - public GeneratorSplotches(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int splotchSize) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.splotchSize = splotchSize; - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - if (! this.placeOn.matches(world, pos.down())) {return false;} - - float a = random.nextFloat() * (float)Math.PI; - - // choose a start point - double x0 = pos.getX() + MathHelper.sin(a) * this.splotchSize / 8.0F; - double y0 = pos.getY() + random.nextInt(3) - 1; - double z0 = pos.getZ() + MathHelper.cos(a) * this.splotchSize / 8.0F; - - // choose an end point - double x1 = pos.getX() - MathHelper.sin(a) * this.splotchSize / 8.0F; - double y1 = pos.getY() + random.nextInt(3) - 1; - double z1 = pos.getZ() - MathHelper.cos(a) * this.splotchSize / 8.0F; - - // move along a line from the start point to the end point and replace in random ellipsoids along the way (bigger at the center) - for (int i = 0; i <= this.splotchSize; ++i) - { - double x = x0 + (x1 - x0) * i / this.splotchSize; - double y = y0 + (y1 - y0) * i / this.splotchSize; - double z = z0 + (z1 - z0) * i / this.splotchSize; - - double b = random.nextDouble() * this.splotchSize / 16.0D; - double diameterXZ = (MathHelper.sin(i * (float)Math.PI / this.splotchSize) + 1.0F) * b + 1.0D; - double diameterY = (MathHelper.sin(i * (float)Math.PI / this.splotchSize) + 1.0F) * b + 1.0D; - - this.replaceInEllipsoid(world, x, y, z, diameterXZ / 2.0D, diameterY / 2.0D, diameterXZ / 2.0D); - } - - return true; - } - - public void replaceInEllipsoid(World world, double centerX, double centerY, double centerZ, double radiusX, double radiusY, double radiusZ) - { - - int x0 = MathHelper.floor(centerX - radiusX + 0.5D); - int y0 = MathHelper.floor(centerY - radiusY + 0.5D); - int z0 = MathHelper.floor(centerZ - radiusZ + 0.5D); - int x1 = MathHelper.floor(centerX + radiusX + 0.5D); - int y1 = MathHelper.floor(centerY + radiusY + 0.5D); - int z1 = MathHelper.floor(centerZ + radiusZ + 0.5D); - - for (int x = x0; x <= x1; ++x) - { - double px = (x + 0.5D - centerX) / radiusX; - - if (px * px < 1.0D) - { - for (int y = y0; y <= y1; ++y) - { - double py = (y + 0.5D - centerY) / radiusY; - - if (px * px + py * py < 1.0D) - { - for (int z = z0; z <= z1; ++z) - { - double pz = (z + 0.5D - centerZ) / radiusZ; - - if (px * px + py * py + pz * pz < 1.0D) - { - this.replaceAt(world, new BlockPos(x, y, z)); - } - } - } - } - } - } - } - - public void replaceAt(World world, BlockPos pos) - { - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, this.with, 2); - } - } - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.with = conf.getBlockState("with", this.with); - this.splotchSize = conf.getInt("splotchSize", this.splotchSize); - this.scatterYMethod = conf.getEnum("scatterYMethod", this.scatterYMethod, ScatterYMethod.class); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorVines.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorVines.java deleted file mode 100644 index 59fd8f4f1..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorVines.java +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.List; -import java.util.Random; -import java.util.Set; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import net.minecraft.block.BlockVine; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorVines extends GeneratorReplacing -{ - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int minHeight; - protected int maxHeight; - protected int generationAttempts; - - public Builder minHeight(int a) {this.minHeight = a; return this.self();} - public Builder maxHeight(int a) {this.maxHeight = a; return this.self();} - public Builder generationAttempts(int a) {this.generationAttempts = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = new BlockQueryMaterial(Material.GROUND, Material.GRASS); - this.replace = BlockQueries.air; - this.with = Blocks.VINE.getDefaultState(); - this.scatterYMethod = ScatterYMethod.NETHER_ROOF; - this.minHeight = 2; - this.maxHeight = 4; - this.generationAttempts = 12; - } - - @Override - public GeneratorVines create() - { - return new GeneratorVines(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.minHeight, this.maxHeight, this.generationAttempts); - } - } - - protected int minHeight; - protected int maxHeight; - protected int generationAttempts; - - public GeneratorVines(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int minHeight, int maxHeight, int generationAttempts) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.minHeight = minHeight; - this.maxHeight = maxHeight; - this.generationAttempts = generationAttempts; - } - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - boolean ret = true; - - for (int i = 0; i < this.generationAttempts; ++i) - { - BlockPos genPos = pos.add(rand.nextInt(4) - rand.nextInt(4), rand.nextInt(3) - rand.nextInt(3), rand.nextInt(4) - rand.nextInt(4)); - - if (!this.replace.matches(world, genPos) || !this.placeOn.matches(world, genPos.up())) continue; - - IBlockState vineState = this.with; - - // make sure there is an adjacent block for the vine to attach to - List validDirections = Lists.newArrayList(); - - for (EnumFacing facing : EnumFacing.values()) { - if (facing == EnumFacing.UP || facing == EnumFacing.DOWN) continue; - if (this.placeOn.matches(world, genPos.offset(facing))) validDirections.add(facing); - } - - if (validDirections.isEmpty()) continue; - - if (this.with.getBlock() instanceof BlockVine) - { - EnumFacing direction = validDirections.get(rand.nextInt(validDirections.size())); - vineState = this.with.withProperty(BlockVine.getPropertyFor(direction), Boolean.valueOf(true)); - } - - // choose random target height - int targetHeight = GeneratorUtils.nextIntBetween(rand, this.minHeight, this.maxHeight); - - // keep placing blocks upwards (if there's room) - for (int height = 0; height <= targetHeight; height++) - { - BlockPos offsetPos = genPos.down(height); - - if (replace.matches(world, offsetPos) && vineState.getBlock().canPlaceBlockAt(world, offsetPos)) - { - world.setBlockState(offsetPos, vineState); - } - else - { - ret = false; - break; - } - } - } - return ret; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.with = conf.getBlockState("with", this.with); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("maxHeight", this.maxHeight); - this.generationAttempts = conf.getInt("generationAttempts", this.generationAttempts); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorWaterside.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorWaterside.java deleted file mode 100644 index 89efd2796..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorWaterside.java +++ /dev/null @@ -1,135 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.block.BlockBOPGrass; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import net.minecraft.block.BlockGrass; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorWaterside extends GeneratorReplacing -{ - - public static class Builder extends GeneratorReplacing.InnerBuilder implements IGeneratorBuilder - { - protected int maxRadius; - - public Builder maxRadius(int a) {this.maxRadius = a; return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.anything; - this.replace = new BlockQueryBlock(Blocks.GRASS, Blocks.DIRT, BOPBlocks.grass, BOPBlocks.dirt); - this.with = Blocks.GRAVEL.getDefaultState(); - this.scatterYMethod = ScatterYMethod.AT_GROUND; - this.maxRadius = 7; - } - - @Override - public GeneratorWaterside create() - { - return new GeneratorWaterside(this.amountPerChunk, this.placeOn, this.replace, this.with, this.scatterYMethod, this.maxRadius); - } - } - - - protected int maxRadius; - - public GeneratorWaterside(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState with, ScatterYMethod scatterYMethod, int maxRadius) - { - super(amountPerChunk, placeOn, replace, with, scatterYMethod); - this.maxRadius = maxRadius; - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - //Check we are generating around water - if (world.getBlockState(pos).getMaterial() != Material.WATER) - { - return false; - } - else - { - //The minimum radius must be 2, so two is subtracted from the random number calculation - //and is added back on at the end - int radius = random.nextInt(this.maxRadius - 2) + 2; - byte heightRadius = 2; - - for (int x = pos.getX() - radius; x <= pos.getX() + radius; ++x) - { - for (int z = pos.getZ() - radius; z <= pos.getZ() + radius; ++z) - { - int xDiff = x - pos.getX(); - int zDiff = z - pos.getZ(); - - //Only replace blocks if the point is within an actual circle of the given radius - //The for loops merely create a square with a length and width 2 * radius - //x^2 + y^2 = r^2 is the equation of a circle - if (xDiff * xDiff + zDiff * zDiff <= radius * radius) - { - for (int y = pos.getY() - heightRadius; y <= pos.getY() + heightRadius; y++) - { - BlockPos posToReplace = new BlockPos(x, y, z); - - // If the current block is applicable, replace it - if (this.replace.matches(world, posToReplace)) - { - IBlockState dirt = this.with; - - if (this.with.getBlock() == Blocks.GRASS) - { - dirt = Blocks.DIRT.getDefaultState(); - } - if (this.with.getBlock() == BOPBlocks.grass) - { - dirt = BlockBOPGrass.getDirtBlockState(this.with); - } - - if (world.getBlockState(posToReplace.up()).getBlock() != Blocks.AIR) - { - world.setBlockState(posToReplace, dirt, 2); - } - else - { - world.setBlockState(posToReplace, this.with, 2); - } - } - } - } - } - } - - return true; - } - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.with = conf.getBlockState("with", this.with); - this.maxRadius = conf.getInt("maxRadius", this.maxRadius); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/GeneratorWeighted.java b/src/main/java/biomesoplenty/common/world/generator/GeneratorWeighted.java deleted file mode 100644 index c559997ce..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/GeneratorWeighted.java +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator; - -import java.util.HashMap; -import java.util.Map.Entry; -import java.util.Random; - -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.generation.BOPGeneratorBase; -import biomesoplenty.api.generation.GeneratorStage; -import biomesoplenty.api.generation.IGenerator; -import biomesoplenty.common.world.GeneratorRegistry; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorWeighted extends BOPGeneratorBase -{ - - public static class Builder implements IGeneratorBuilder - { - protected float amountPerChunk = 1.0F; - - public Builder amountPerChunk(float a) {this.amountPerChunk = a; return this;} - - @Override - public GeneratorWeighted create() - { - return new GeneratorWeighted(this.amountPerChunk); - } - } - - private HashMap generators = new HashMap(); - private HashMap weights = new HashMap(); - - public GeneratorWeighted() - { - // default - this(1); - } - - public GeneratorWeighted(float amountPerChunk) - { - super(amountPerChunk); - } - - public void add(String name, int weight, IGenerator entry) - { - if (this.generators.containsKey(name)) - { - throw new RuntimeException("A generator with name " + name + " already exists!"); - } - if (weight < 1) - { - throw new IllegalArgumentException("Generator weight must be positive"); - } - entry.setStage(GeneratorStage.PARENT); - this.generators.put(name, entry); - this.weights.put(entry, weight); - } - - public void clear() - { - this.generators.clear(); - this.weights.clear(); - } - - public IGenerator getGenerator(String name) - { - return this.generators.get(name); - } - - public void removeGenerator(String name) - { - IGenerator generator = this.generators.get(name); - if (generator != null) - { - this.generators.remove(name); - this.weights.remove(generator); - } - } - - public IGenerator getRandomGenerator(Random random) - { - if (this.weights.isEmpty()) - { - throw new RuntimeException("GeneratorWeighted has no child generators"); - } - int totalWeight = 0; - for (int weight : this.weights.values()) {totalWeight += weight;} - int j = random.nextInt(totalWeight); - for (Entry entry : this.weights.entrySet()) - { - j -= entry.getValue(); - if (j < 0) {return entry.getKey();} - } - throw new RuntimeException("Shouldn't ever get here"); - } - - // never used - the scatter method is overriden - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) {return null;} - - @Override - public void scatter(World world, Random random, BlockPos pos) - { - int amount = this.getAmountToScatter(random); - for (int i = 0; i < amount; i++) - { - this.getRandomGenerator(random).scatter(world, random, pos); - } - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - return this.getRandomGenerator(random).generate(world, random, pos); - } - - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - IConfigObj confGenerators = conf.getObject("generators"); - if (confGenerators != null) - { - for (String name : confGenerators.getKeys()) - { - IConfigObj confCurrentGen = confGenerators.getObject(name); - - if (this.generators.containsKey(name)) - { - IGenerator generator = this.getGenerator(name); - Integer weight = confCurrentGen.getInt("weight", this.weights.get(generator)); - if (weight.intValue() < 1) - { - // remove this generator if the weight is zero (or negative) - this.removeGenerator(name); - } - else - { - // adjust weight - this.weights.put(generator, weight); - // configure the existing generator - generator.configure(confCurrentGen); - } - } - else - { - // there was previously no generator of this name - attempt to add it - Integer weight = confCurrentGen.getInt("weight", null); - IGenerator generator = GeneratorRegistry.createGenerator(confCurrentGen); - if (weight != null && generator != null) - { - this.add(name, weight, generator); - } - } - } - } - } -} diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBasicTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBasicTree.java deleted file mode 100644 index a5ebd56b4..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBasicTree.java +++ /dev/null @@ -1,406 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; - -import java.util.Random; - -import org.apache.commons.lang3.tuple.Pair; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.Block; -import net.minecraft.block.BlockCocoa; -import net.minecraft.block.BlockSapling; -import net.minecraft.block.BlockVine; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorBasicTree extends GeneratorTreeBase -{ - // TODO: update neighbours in builder? - public static class Builder extends GeneratorBasicTree.InnerBuilder implements IGeneratorBuilder - { - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.anything; - this.replace = new BlockQueryMaterial(Material.AIR, Material.LEAVES); - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState(); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.minHeight = 4; - this.maxHeight = 7; - this.updateNeighbours = false; - this.leafLayers = 4; - this.leavesOffset = 1; - this.maxLeavesRadius = 1; - this.leavesLayerHeight = 2; - this.placeVinesOn = BlockQueries.air; - this.hangingChance = 0.0F; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorBasicTree create() - { - return new GeneratorBasicTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.updateNeighbours, this.leafLayers, this.leavesOffset, this.maxLeavesRadius, this.leavesLayerHeight, this.placeVinesOn, this.hangingChance, this.scatterYMethod); - } - } - - protected static abstract class InnerBuilder, G extends GeneratorBasicTree> extends GeneratorTreeBase.InnerBuilder - { - protected int leafLayers; - protected int leavesOffset; - protected int maxLeavesRadius; - protected int leavesLayerHeight; - protected IBlockPosQuery placeVinesOn; - protected float hangingChance; - - public T leafLayers(int a) {this.leafLayers = a; return this.self();} - public T leavesOffset(int a) {this.leavesOffset = a; return this.self();} - public T leavesLayerHeight(int a) {this.leavesLayerHeight = a; return this.self();} - public T maxLeavesRadius(int a) {this.maxLeavesRadius = a; return this.self();} - - public T placeVinesOn(IBlockPosQuery a) {this.placeVinesOn = a; return this.self();} - public T placeVinesOn(String a) throws BlockQueryParseException {this.placeVinesOn = BlockQuery.parseQueryString(a); return this.self();} - public T placeVinesOn(Block a) {this.placeVinesOn = new BlockQueryBlock(a); return this.self();} - public T placeVinesOn(IBlockState a) {this.placeVinesOn = new BlockQueryState(a); return this.self();} - public T placeVinesOn(Material... a) {this.placeVinesOn = new BlockQueryMaterial(a); return this.self();} - - public T hangingChance(float a) {this.hangingChance = a; return this.self();} - } - - protected boolean updateNeighbours; - protected int leafLayers; - protected int leavesOffset; - protected int maxLeavesRadius; - protected int leavesLayerHeight; - protected IBlockPosQuery placeVinesOn; - protected float hangingChance; - - public GeneratorBasicTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, boolean updateNeighbours, int leafLayers, int leavesOffset, int maxLeavesRadius, int leavesLayerHeight, IBlockPosQuery placeVinesOn, float hangingChance, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - this.updateNeighbours = updateNeighbours; - this.leavesOffset = leavesOffset; - this.leafLayers = leafLayers; - this.maxLeavesRadius = maxLeavesRadius; - this.leavesLayerHeight = leavesLayerHeight; - this.placeVinesOn = placeVinesOn; - this.hangingChance = hangingChance; - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - int height = random.nextInt(this.maxHeight - this.minHeight) + this.minHeight; - boolean hasSpace = true; - - //Generate only if we are above the lowest bedrock level (1) and reach less than the world height - //There must be a gap of 1 between the top leaf block and the world height - if (pos.getY() >= 1 && pos.getY() + height + 1 <= 256) - { - int radius; - - for (int y = pos.getY(); y <= pos.getY() + 1 + height; y++) - { - radius = 1; - - //Don't check for space on the first level, if we are a sapling then there will - //already be a block here (the sapling itself) - if (y == pos.getY()) - { - radius = 0; - } - - //At and above the top log block, require a radius of 2 to be empty - if (y >= pos.getY() + 1 + height - 2) - { - radius = 2; - } - - for (int x = pos.getX() - radius; x <= pos.getX() + radius && hasSpace; ++x) - { - for (int z = pos.getZ() - radius; z <= pos.getZ() + radius && hasSpace; ++z) - { - if (y >= 0 && y < 256) - { - if (!this.replace.matches(world, new BlockPos(x, y, z))) - { - hasSpace = false; - } - } - else - { - hasSpace = false; - } - } - } - } - - if (!hasSpace) - { - return false; - } - else - { - BlockPos soilPos = pos.down(); - Block soil = world.getBlockState(soilPos).getBlock(); - boolean isSoil = soil.canSustainPlant(world.getBlockState(soilPos), world, soilPos, EnumFacing.UP, (BlockSapling)Blocks.SAPLING); - - if (this.placeOn.matches(world, soilPos) && isSoil && pos.getY() < 256 - height - 1) - { - soil.onPlantGrow(world.getBlockState(soilPos), world, soilPos, pos); - int leavesLayers = (this.leafLayers - 1); - - //Generates leaves at the top of the tree, going one block above the top log (<= rather than <) - for (int y = pos.getY() + height - leavesLayers; y <= pos.getY() + height; y++) - { - //Determines the distance from the top of the tree as a negative number - int currentLayer = y - (pos.getY() + height); - //Uses integer division truncation (-3 / 2 = -1, -2 / 2 = -1) to reduce - //the radius closer to the top of the tree. (2, 2, 1, 1) - int leavesRadius = this.maxLeavesRadius - currentLayer / this.leavesLayerHeight; - - for (int x = pos.getX() - leavesRadius; x <= pos.getX() + leavesRadius; x++) - { - int xDiff = x - pos.getX(); - - for (int z = pos.getZ() - leavesRadius; z <= pos.getZ() + leavesRadius; ++z) - { - int zDiff = z - pos.getZ(); - - //Randomly prevent the generation of leaves on the corners of each layer - //If the layer is the top layer, never generate the corners - if (Math.abs(xDiff) != leavesRadius || Math.abs(zDiff) != leavesRadius || random.nextInt(2) != 0 && currentLayer != 0) - { - BlockPos leavesPos = new BlockPos(x, y, z); - if (this.replace.matches(world, leavesPos)) - { - if (this.altLeaves != null) - { - if (random.nextInt(4) == 0) - { - this.setBlockAndNotifyAdequately(world, leavesPos, this.altLeaves); - } - else - { - this.setBlockAndNotifyAdequately(world, leavesPos, this.leaves); - } - } - else - { - this.setBlockAndNotifyAdequately(world, leavesPos, this.leaves); - } - } - } - } - } - } - - this.generateTrunk(world, pos, height); - - if (this.vine != null) - { - for (int y = pos.getY() - leavesLayers + height; y <= pos.getY() + height; y++) - { - //Determines the distance from the top of the tree as a negative number - int currentLayer = y - (pos.getY() + height); - //Uses integer division truncation (-3 / 2 = -1, -2 / 2 = -1) to reduce - //the radius closer to the top of the tree. (3, 3, 2, 2) - int leavesRadius = (this.maxLeavesRadius + this.leavesOffset) - currentLayer / this.leavesLayerHeight; - - for (int x = pos.getX() - leavesRadius; x <= pos.getX() + leavesRadius; x++) - { - for (int z = pos.getZ() - leavesRadius; z <= pos.getZ() + leavesRadius; z++) - { - BlockPos blockpos3 = new BlockPos(x, y, z); - - //Surround leaves on the edge of the tree with vines and extend them downwards - if (world.getBlockState(blockpos3).getBlock().isLeaves(world.getBlockState(blockpos3), world, blockpos3)) - { - BlockPos westPos = blockpos3.west(); - BlockPos eastPos = blockpos3.east(); - BlockPos northPos = blockpos3.north(); - BlockPos southPos = blockpos3.south(); - - if (random.nextInt(4) == 0 && this.placeVinesOn.matches(world, westPos)) - { - this.extendVines(world, westPos, EnumFacing.EAST); - } - - if (random.nextInt(4) == 0 && this.placeVinesOn.matches(world, eastPos)) - { - this.extendVines(world, eastPos, EnumFacing.WEST); - } - - if (random.nextInt(4) == 0 && this.placeVinesOn.matches(world, northPos)) - { - this.extendVines(world, northPos, EnumFacing.SOUTH); - } - - if (random.nextInt(4) == 0 && this.placeVinesOn.matches(world, southPos)) - { - this.extendVines(world, southPos, EnumFacing.NORTH); - } - } - } - } - } - } - - //Generate fruit or any other blocks that may hang off of the tree - if (this.hanging != null) this.generateHanging(world, pos, height); - - if (this.trunkFruit != null) - { - if (random.nextInt(5) == 0 && height > 5) - { - for (int l3 = 0; l3 < 2; ++l3) - { - for (EnumFacing enumfacing : EnumFacing.Plane.HORIZONTAL) - { - if (random.nextInt(4 - l3) == 0) - { - EnumFacing enumfacing1 = enumfacing.getOpposite(); - this.generateTrunkFruit(world, random.nextInt(3), pos.add(enumfacing1.getFrontOffsetX(), height - 5 + l3, enumfacing1.getFrontOffsetZ()), enumfacing); - } - } - } - } - } - - return true; - } - else - { - return false; - } - } - } - else - { - return false; - } - } - - protected void generateTrunk(World world, BlockPos start, int height) - { - //Create the trunk from the bottom up, using < to ensure it is covered with one layer of leaves - for (int layer = 0; layer < height; ++layer) - { - BlockPos blockpos2 = start.up(layer); - if (this.replace.matches(world, blockpos2)) - { - this.setBlockAndNotifyAdequately(world, start.up(layer), this.log); - } - } - } - - protected void generateHanging(World world, BlockPos start, int height) - { - //Generate below the bottom layer of leaves - int y = start.getY() + (height - this.leafLayers); - - for (int x = start.getX() - (maxLeavesRadius + 1); x <= start.getX() + (maxLeavesRadius + 1); x++) - { - for (int z = start.getZ() - (maxLeavesRadius + 1); z <= start.getZ() + (maxLeavesRadius + 1); z++) - { - BlockPos hangingPos = new BlockPos(x, y, z); - - if (!world.isAirBlock(hangingPos.up()) && (world.isAirBlock(hangingPos)) && world.rand.nextFloat() <= this.hangingChance) - { - this.setHanging(world, hangingPos); - } - } - } - } - - private void generateTrunkFruit(World world, int age, BlockPos pos, EnumFacing direction) - { - if (this.trunkFruit == Blocks.COCOA.getDefaultState()) - { - this.setBlockAndNotifyAdequately(world, pos, this.trunkFruit.withProperty(BlockCocoa.AGE, Integer.valueOf(age)).withProperty(BlockCocoa.FACING, direction)); - } - else - { - this.setBlockAndNotifyAdequately(world, pos, this.trunkFruit.withProperty(BlockCocoa.FACING, direction)); - } - } - - private IBlockState getVineStateForSide(EnumFacing side) - { - return this.vine.getBlock() instanceof BlockVine ? this.vine.withProperty(BlockVine.getPropertyFor(side), Boolean.valueOf(true)) : this.vine; - } - - private void extendVines(World world, BlockPos pos, EnumFacing side) - { - IBlockState vineState = this.getVineStateForSide(side); - this.setBlockAndNotifyAdequately(world, pos, vineState); - - int length = 4; - - //Extend vine downwards for a maximum of 4 blocks - for (pos = pos.down(); this.placeVinesOn.matches(world, pos) && length > 0; length--) - { - this.setBlockAndNotifyAdequately(world, pos, vineState); - pos = pos.down(); - } - } - - public void setBlockAndNotifyAdequately(World world, BlockPos pos, IBlockState state) - { - if (this.updateNeighbours) - { - world.setBlockState(pos, state, 3); - } - else - { - world.setBlockState(pos, state, 2); - } - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.updateNeighbours = conf.getBool("updateNeighbours", this.updateNeighbours); - int minHeight = conf.getInt("minHeight", this.minHeight); - int maxHeight = conf.getInt("maxHeight", this.maxHeight); - - Pair heights = GeneratorUtils.validateMinMaxHeight(minHeight, maxHeight); - this.minHeight = heights.getLeft(); - this.maxHeight = heights.getRight(); - - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - this.vine = conf.getBlockState("vineState", this.vine); - this.hanging = conf.getBlockState("hangingState", this.hanging); - this.trunkFruit = conf.getBlockState("trunkFruitState", this.trunkFruit); - this.altLeaves = conf.getBlockState("altLeavesState", this.altLeaves); - - this.hangingChance = conf.getFloat("hangingChance", this.hangingChance); - } -} diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBayouTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBayouTree.java deleted file mode 100644 index 166d924b4..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBayouTree.java +++ /dev/null @@ -1,294 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; -import java.util.Random; - -import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorBayouTree extends GeneratorTreeBase -{ - - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - protected int minLeavesRadius; - protected int leavesGradient; - protected int vineAttempts; - protected int maxVineLength; - protected IBlockPosQuery rootsReplace; - - public Builder minLeavesRadius(int a) {this.minLeavesRadius = a; return this.self();} - public Builder leavesGradient(int a) {this.leavesGradient = a; return this.self();} - public Builder vineAttempts(int a) {this.vineAttempts = a; return this.self();} - public Builder maxVineLength(int a) {this.maxVineLength = a; return this.self();} - public Builder rootsReplace(IBlockPosQuery a) {this.replace = a; return this.self();} - public Builder rootsReplace(String a) throws BlockQueryParseException {this.replace = BlockQuery.parseQueryString(a); return this.self();} - public Builder rootsReplace(Block a) {this.replace = new BlockQueryBlock(a); return this.self();} - public Builder rootsReplace(IBlockState a) {this.replace = new BlockQueryState(a); return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - this.rootsReplace = BlockQueries.rootsCanDigThrough; - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState(); - this.vine = BOPBlocks.willow_vine.getDefaultState(); - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.minHeight = 8; - this.maxHeight = 18; - this.minLeavesRadius = 2; - this.leavesGradient = 4; - this.vineAttempts = 20; - this.maxVineLength = 20; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorBayouTree create() - { - return new GeneratorBayouTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.minLeavesRadius, this.leavesGradient, this.vineAttempts, this.maxVineLength, this.rootsReplace, this.scatterYMethod); - } - } - - - private int minLeavesRadius; - private int leavesGradient; - private int vineAttempts; - private int maxVineLength; - private IBlockPosQuery rootsReplace; - - public GeneratorBayouTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, int minLeavesRadius, int leavesGradient, int vineAttempts, int maxVineLength, IBlockPosQuery rootsReplace, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - this.minLeavesRadius = minLeavesRadius; - this.leavesGradient = leavesGradient; - this.vineAttempts = vineAttempts; - this.maxVineLength = maxVineLength; - this.rootsReplace = rootsReplace; - } - - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) - { - // always at ground (sometimes underwater) - return GeneratorUtils.ScatterYMethod.AT_GROUND.getBlockPos(world, random, x, z); - } - - public boolean setRoot(World world, BlockPos pos) - { - if (this.rootsReplace.matches(world, pos)) - { - world.setBlockState(pos, this.log, 2); - return true; - } - return false; - } - - public boolean checkRootViable(World world, BlockPos pos, int rootHeight, EnumFacing direction) - { - // a viable root has an path which roots can dig through from trunk to some fertile ground - pos = pos.offset(direction).up(rootHeight - 1); - for (int i = 0; i < rootHeight; i++) - { - if (!this.rootsReplace.matches(world, pos)) {return false;} - pos = pos.down(); - if (this.placeOn.matches(world, pos)) {return true;} - } - return false; - } - - public boolean checkSpace(World world, BlockPos pos, int rootHeight, int middleHeight, int height) - { - - // we want at least 2 of the roots to be viable - int rootsOk = 0; - for (EnumFacing direction : EnumFacing.Plane.HORIZONTAL) - { - if (this.checkRootViable(world, pos, rootHeight, direction)) {rootsOk++;} - } - if (rootsOk < 2) {return false;} - - // check there's some space for the trunk and leaves too - for (int y = rootHeight; y <= height; y++) - { - // require 1x1 for the trunk, 3x3 for the leaves - int radius = (y <= (rootHeight + middleHeight) ? 0 : 1); - for (int x = -radius; x <= radius; x++) - { - for (int z = -radius; z <= radius; z++) - { - BlockPos pos1 = pos.add(x, y, z); - // note, there may be a sapling on the first layer - make sure this.replace matches it! - if (pos1.getY() >= 255 || !this.replace.matches(world, pos1)) - { - return false; - } - } - } - } - return true; - } - - public void generateTop(World world, Random random, BlockPos pos, int topHeight) - { - - for (int y = 0; y < topHeight; y++) - { - int radius = Math.min(3, this.minLeavesRadius + (topHeight - y) / this.leavesGradient); - - for (int x = -radius; x <= radius; ++x) - { - for (int z = -radius; z <= radius; ++z) - { - // too far away and the leaves will decay - int dist = Math.abs(x) + Math.abs(z); - if (dist < 4 || (dist == 4 && random.nextInt(2) == 0)) - { - this.setLeaves(world, pos.add(x, y, z)); - } - } - } - if (y < topHeight - 1) - { - // add the trunk in the middle - this.setLog(world, pos.add(0, y, 0)); - } else { - // add leaves on top for certain - this.setLeaves(world, pos.add(0, y, 0)); - } - } - } - - public void generateRoots(World world, Random random, BlockPos pos, int rootHeight) - { - for (int i = 0; i < rootHeight; i++) - { - this.setRoot(world, pos.north()); - this.setRoot(world, pos.east()); - this.setRoot(world, pos.south()); - this.setRoot(world, pos.west()); - pos = pos.up(); - } - this.setRoot(world, pos.down()); - } - - @Override - public boolean generate(World world, Random random, BlockPos startPos) - { - - if (!this.placeOn.matches(world, startPos.down())) - { - // Abandon if we can't place the tree on this block - return false; - } - - // Choose heights - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - - int topHeight = Math.min(6, GeneratorUtils.nextIntBetween(random, height / 5, height / 3)); - int rootHeight = Math.min(5, GeneratorUtils.nextIntBetween(random, height / 4, height / 2)); - int middleHeight = height - topHeight - rootHeight; - if (middleHeight < 1) {return false;} - - // Start in the ground block - BlockPos pos = startPos.down(); - - if (!this.checkSpace(world, pos, rootHeight, middleHeight, height)) - { - // Abandon if there isn't enough room - return false; - } - - // Generate roots - this.generateRoots(world, random, pos, rootHeight); - pos = pos.up(rootHeight); - - // Generate middle of tree (trunk only) - for(int i = 0; i < middleHeight; i++) - { - this.setLog(world, pos); - pos = pos.up(); - } - - // Generate the top of the tree - this.generateTop(world, random, pos, topHeight); - - // Add vines - if (this.vine != null) - { - int maxLeavesRadius = this.minLeavesRadius + topHeight / this.leavesGradient; - this.addVines(world, random, startPos, height, maxLeavesRadius, this.vineAttempts); - } - - return true; - } - - protected void addVines(World world, Random rand, BlockPos startPos, int height, int leavesRadius, int generationAttempts) - { - for (int i = 0; i < generationAttempts; i++) - { - // choose a random direction - EnumFacing direction = EnumFacing.Plane.HORIZONTAL.random(rand); - EnumFacing back = direction.getOpposite(); - EnumFacing sideways = direction.rotateY(); - - // choose a random starting point somewhere just outside the boundary of the tree - BlockPos pos = startPos.up(GeneratorUtils.nextIntBetween(rand, 2, height)).offset(direction, leavesRadius + 1).offset(sideways, GeneratorUtils.nextIntBetween(rand, -leavesRadius, leavesRadius)); - - // move back towards the center until we meet a leaf or log, then stick a vine on it - IBlockState state; - for (int l = 0; l < leavesRadius; l++) - { - state = world.getBlockState(pos.offset(back, 1 + l)); - if (state == this.leaves || state == this.log) { - this.setVine(world, rand, pos.offset(back, l), back, this.maxVineLength); - break; - } - } - } - } - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.minLeavesRadius = conf.getInt("minLeavesRadius", this.minLeavesRadius); - this.leavesGradient = conf.getInt("leavesGradient", this.leavesGradient); - this.vineAttempts = conf.getInt("vineAttempts", this.vineAttempts); - this.maxVineLength = conf.getInt("maxVineLength", this.maxVineLength); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.rootsReplace = conf.getBlockPosQuery("rootsReplace", this.rootsReplace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - this.vine = conf.getBlockState("vinesState", this.vine); - this.trunkFruit = conf.getBlockState("trunkFruitState", this.trunkFruit); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBigTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBigTree.java deleted file mode 100644 index 6b8151fd7..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBigTree.java +++ /dev/null @@ -1,585 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; - -import java.util.List; -import java.util.Random; - -import org.apache.commons.lang3.tuple.Pair; - -import com.google.common.collect.Lists; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.BlockLeaves; -import net.minecraft.block.BlockLog; -import net.minecraft.block.BlockSapling; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; - -/*This class is heavily based on https://gist.github.com/grum/62cfdec0537e8db24eb3#file-bigtreefeature-java -additional information has been added from http://pastebin.com/XBLdGqXQ. This class has been cross-checked -against WorldGenBigTree to ensure any subsequent changes from Forge/Mojang have been included.*/ -public class GeneratorBigTree extends GeneratorTreeBase -{ - - // TODO: update neighbours in builder? - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - private int trunkWidth; - private int foliageHeight; - private double foliageDensity; - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState().withProperty(BlockLeaves.CHECK_DECAY, Boolean.valueOf(false)); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.minHeight = 5; - this.maxHeight = 17; - - this.trunkWidth = 1; - this.foliageHeight = 4; - this.foliageDensity = 1.0F; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - public Builder trunkWidth(int a) {this.trunkWidth = a; return this.self();} - public Builder foliageHeight(int a) {this.foliageHeight = a; return this.self();} - public Builder foliageDensity(double a) {this.foliageDensity = a; return this.self();} - - - @Override - public GeneratorBigTree create() - { - return new GeneratorBigTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.trunkWidth, this.foliageHeight, this.foliageDensity, false, this.scatterYMethod); - } - } - - - private Random random; - private World world; - private BlockPos origin; - - private int height; - private int trunkHeight; - private double trunkHeightScale = 0.618; - private double branchSlope = 0.381; - private double widthScale = 1; - private int trunkWidth = 1; - //private int heightVariance = 12; - - //Configurable fields - private boolean updateNeighbours; - private int foliageHeight; - private double foliageDensity; - - private List foliageCoords; - - - public GeneratorBigTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, int trunkWidth, int foliageHeight, double foliageDensity, boolean updateNeighbours, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - this.foliageHeight = foliageHeight; - this.foliageDensity = foliageDensity; - this.trunkWidth = trunkWidth; - this.updateNeighbours = updateNeighbours; - } - - protected void prepare() - { - // Populate the list of foliage cluster locations. - // Designed to be overridden in child classes to change basic - // tree properties (trunk width, branch angle, foliage density, etc..). - - trunkHeight = (int) (height * trunkHeightScale); - - if (trunkHeight >= height) - { - trunkHeight = height - 1; - } - - // Define foliage clusters per y - int clustersPerY = (int) (1.382 + Math.pow(foliageDensity * height / 13.0, 2)); - if (clustersPerY < 1) { - clustersPerY = 1; - } - - final int trunkTop = origin.getY() + trunkHeight; - int relativeY = height - foliageHeight; - - foliageCoords = Lists.newArrayList(); - foliageCoords.add(new FoliageCoords(origin.up(relativeY), trunkTop)); - - for (; relativeY >= 0; relativeY--) - { - float treeShape = treeShape(relativeY); - - if (treeShape < 0) - { - continue; - } - - for (int i = 0; i < clustersPerY; i++) - { - final double radius = widthScale * treeShape * (random.nextFloat() + 0.328); - final double angle = random.nextFloat() * 2 * Math.PI; - - final double x = radius * Math.sin(angle) + 0.5; - final double z = radius * Math.cos(angle) + 0.5; - - final BlockPos checkStart = origin.add(x, relativeY - 1, z); - final BlockPos checkEnd = checkStart.up(foliageHeight); - - // check the center column of the cluster for obstructions. - if (checkLine(checkStart, checkEnd) == -1) - { - // If the cluster can be created, check the branch path for obstructions. - final int dx = origin.getX() - checkStart.getX(); - final int dz = origin.getZ() - checkStart.getZ(); - - final double height = checkStart.getY() - Math.sqrt(dx * dx + dz * dz) * branchSlope; - final int branchTop = height > trunkTop ? trunkTop : (int) height; - final BlockPos checkBranchBase = new BlockPos(origin.getX(), branchTop, origin.getZ()); - - // Now check the branch path - if (checkLine(checkBranchBase, checkStart) == -1) - { - // If the branch path is clear, add the position to the list of foliage positions - foliageCoords.add(new FoliageCoords(checkStart, checkBranchBase.getY())); - } - } - } - } - } - - private void crossection(BlockPos pos, float radius) - { - // Create a circular cross section. - // - // Used to nearly everything in the foliage, branches, and trunk. - // This is a good target for performance optimization. - - // Passed values: - // pos is the center location of the cross section - // radius is the radius of the section from the center - // direction is the direction the cross section is pointed, 0 for x, 1 - // for y, 2 for z material is the index number for the material to use - - final int r = (int) (radius + 0.618); - - for (int dx = -r; dx <= r; dx++) - { - for (int dz = -r; dz <= r; dz++) - { - if (Math.pow(Math.abs(dx) + 0.5, 2) + Math.pow(Math.abs(dz) + 0.5, 2) <= radius * radius) - { - BlockPos checkedPos = pos.add(dx, 0, dz); - if (this.replace.matches(world, checkedPos)) - { - if (this.altLeaves != null) - { - int rand = new Random().nextInt(4); - - if (rand == 0) - { - this.setBlockAndNotifyAdequately(world, checkedPos, this.altLeaves.withProperty(BlockLeaves.CHECK_DECAY, Boolean.valueOf(false))); - } - else - { - this.setBlockAndNotifyAdequately(world, checkedPos, this.leaves.withProperty(BlockLeaves.CHECK_DECAY, Boolean.valueOf(false))); - } - } - else - { - this.setBlockAndNotifyAdequately(world, checkedPos, this.leaves.withProperty(BlockLeaves.CHECK_DECAY, Boolean.valueOf(false))); - } - } - } - } - } - } - - protected float treeShape(int y) - { - // Take the y position relative to the base of the tree. - // Return the distance the foliage should be from the trunk axis. - // Return a negative number if foliage should not be created at this - // height. This method is intended for overriding in child classes, - // allowing different shaped trees. This method should return a - // consistent value for each y (don't randomize). - - if (y < height * 0.3f) { - return -1f; - } - - final float radius = height / 2.0f; - final float adjacent = radius - y; - - float distance = MathHelper.sqrt(radius * radius - adjacent * adjacent); - - if (adjacent == 0) { - distance = radius; - } else if (Math.abs(adjacent) >= radius) { - return 0f; - } - - // Alter this factor to change the overall width of the tree. - return distance * 0.5f; - } - - protected float foliageShape(int y) - { - // Take the y position relative to the base of the foliage cluster. - // Return the radius of the cluster at this y - // Return a negative number if no foliage should be created at this - // level. This method is intended for overriding in child classes, - // allowing foliage of different sizes and shapes. - - if (y < 0 || y >= foliageHeight) - { - return -1f; - } - //The following has been replaced as recommended by - //http://www.reddit.com/r/Minecraft/comments/1m97cw/while_you_are_all_crying_over_the_name_change_of/ccfgc3k - //The change should fix the decaying leaves - else if (y == 0 || y == foliageHeight - 1) - { - return 2f; - } - else - { - return 3f; - } - } - - private void foliageCluster(BlockPos blockPos) - { - // Generate a cluster of foliage, with the base at blockPos - // The shape of the cluster is derived from foliageShape - // crossection is called to make each level. - - for (int y = 0; y < foliageHeight; y++) - { - crossection(blockPos.up(y), foliageShape(y)); - } - } - - private void limb(BlockPos startPos, BlockPos endPos, IBlockState state) - { - // Create a limb from the start position to the end position. - // Used for creating the branches and trunk. - // Similar to checkLine, however it is setting rather than checking - - //The distance between the two points, may be negative if the second pos is smaller - BlockPos delta = endPos.add(-startPos.getX(), -startPos.getY(), -startPos.getZ()); - - int steps = getSteps(delta); - - //How much should be incremented with each iteration relative - //to the greatest distance which will have a value of 1.0F. - float dx = delta.getX() / (float) steps; - float dy = delta.getY() / (float) steps; - float dz = delta.getZ() / (float) steps; - - //Iterates over all values between the start pos and end pos - for (int i = 0; i <= steps; i++) - { - //A delta position between the start pos and end pos. Increments are added to the x, y and z coords - //so that they meet their corresponding values in the end pos when j reaches the greatest distance. 0.5F - //is added to ensure the final point is reached. - BlockPos blockPos = startPos.add(.5f + i * dx, .5f + i * dy, .5f + i * dz); - BlockLog.EnumAxis logAxis = getLogAxis(startPos, blockPos); - - this.setBlockAndNotifyAdequately(world, blockPos, state.withProperty(BlockLog.LOG_AXIS, logAxis)); - } - } - - private int getSteps(BlockPos pos) - { - final int absX = MathHelper.abs(pos.getX()); - final int absY = MathHelper.abs(pos.getY()); - final int absZ = MathHelper.abs(pos.getZ()); - - //Determine which axis has the greatest distance from the origin (0, 0, 0) - if (absZ > absX && absZ > absY) { - return absZ; - } else if (absY > absX) { - return absY; - } - - return absX; - } - - private int getGreatestDistance(BlockPos posIn) - { - int i = MathHelper.abs(posIn.getX()); - int j = MathHelper.abs(posIn.getY()); - int k = MathHelper.abs(posIn.getZ()); - return k > i && k > j ? k : (j > i ? j : i); - } - - private BlockLog.EnumAxis getLogAxis(BlockPos startPos, BlockPos endPos) - { - BlockLog.EnumAxis axis = BlockLog.EnumAxis.Y; - - //Find the difference between the start and end pos - int xDiff = Math.abs(endPos.getX() - startPos.getX()); - int zDiff = Math.abs(endPos.getZ() - startPos.getZ()); - int maxDiff = Math.max(xDiff, zDiff); - - //Check if the distance between the two positions is greater than 0 on either - //the x or the z axis. axis is set to the axis with the greatest distance - if (maxDiff > 0) - { - if (xDiff == maxDiff) - { - axis = BlockLog.EnumAxis.X; - } - else if (zDiff == maxDiff) - { - axis = BlockLog.EnumAxis.Z; - } - } - - return axis; - } - - private void makeFoliage() - { - // Create the tree foliage. - // Call foliageCluster at the correct locations - - for (FoliageCoords foliageCoord : foliageCoords) - { - foliageCluster(foliageCoord); - } - } - - protected boolean trimBranches(int localY) - { - // For larger trees, randomly "prune" the branches so there - // aren't too many. - // Return true if the branch should be created. - // This method is intended for overriding in child classes, allowing - // decent amounts of branches on very large trees. - // Can also be used to disable branches on some tree types, or - // make branches more sparse. - return localY >= height * 0.2; - } - - private void makeTrunk() - { - // Create the trunk of the tree. - BlockPos start = origin; - BlockPos end = origin.up(trunkHeight); - IBlockState materialState = this.log; - - limb(start, end, materialState); - - if (trunkWidth == 2) - { - limb(start.east(), end.east(), materialState); - limb(start.east().south(), end.east().south(), materialState); - limb(start.south(), end.south(), materialState); - } - } - - private void makeBranches() - { - for (FoliageCoords endCoord : foliageCoords) - { - int branchBase = endCoord.getBranchBase(); - BlockPos baseCoord = new BlockPos(this.origin.getX(), branchBase, this.origin.getZ()); - - if (this.trimBranches(branchBase - this.origin.getY())) - { - this.limb(baseCoord, endCoord, this.log); - } - } - } - - private int checkLine(BlockPos startPos, BlockPos endPos) - { - // Check from coordinates start to end (both inclusive) for blocks - // other than air and foliage If a block other than air and foliage is - // found, return the number of steps taken. - // If no block other than air and foliage is found, return -1. - // Examples: - // If the third block searched is stone, return 2 - // If the first block searched is lava, return 0 - - //The distance between the two points, may be negative if the second pos is smaller - BlockPos delta = endPos.add(-startPos.getX(), -startPos.getY(), -startPos.getZ()); - - int steps = this.getGreatestDistance(delta); - - //How much should be incremented with each iteration relative - //to the greatest distance which will have a value of 1.0F. - float dx = (float)delta.getX() / (float)steps; - float dy = (float)delta.getY() / (float)steps; - float dz = (float)delta.getZ() / (float)steps; - - //Check if both positions are the same - if (steps == 0) - { - return -1; - } - - //Iterates over all values between the start pos and end pos - for (int i = 0; i <= steps; i++) - { - //A delta position between the start pos and end pos. Increments are added to the x, y and z coords - //so that they meet their corresponding values in the end pos when j reaches the greatest distance. 0.5F - //is added to ensure the final point is reached. - BlockPos deltaPos = startPos.add((double)(0.5F + (float)i * dx), (double)(0.5F + (float)i * dy), (double)(0.5F + (float)i * dz)); - - if (!this.replace.matches(world, deltaPos)) - { - return i; - } - } - - //The line is unobstructed - return -1; - } - - - - @Override - public boolean generate(World world, Random rand, BlockPos pos) - { - this.world = world; - this.origin = pos; - - this.random = new Random(rand.nextLong()); - - this.height = random.nextInt(this.maxHeight - this.minHeight) + this.minHeight; - - if (!this.checkLocation()) - { - this.world = null; //Fix vanilla Mem leak, holds latest world - return false; - } - - try { - prepare(); - makeFoliage(); - makeTrunk(); - makeBranches(); - } catch (RuntimeException e) { - // TODO: deal with this. - } - - this.world = null; //Fix vanilla Mem leak, holds latest world - - return true; - } - - - private boolean checkLocation() - { - BlockPos down = this.origin.down(); - IBlockState state = this.world.getBlockState(down); - boolean isSoil = state.getBlock().canSustainPlant(state, this.world, down, EnumFacing.UP, ((BlockSapling)Blocks.SAPLING)); - - //Don't grow the tree here if the location can't sustain a sapling - if (!isSoil && !this.placeOn.matches(world, down)) - { - return false; - } - - // Examine center column for how tall the tree can be. - int allowedHeight = checkLine(this.origin, this.origin.up(height - 1)); - - if (trunkWidth == 2) - { - allowedHeight = Math.min(checkLine(this.origin.east(), this.origin.east().up(height - 1)), allowedHeight); - allowedHeight = Math.min(checkLine(this.origin.east().south(), this.origin.east().south().up(height - 1)), allowedHeight); - allowedHeight = Math.min(checkLine(this.origin.south(), this.origin.south().up(height - 1)), allowedHeight); - } - - // If the set height is good, go with that - if (allowedHeight == -1) { - return true; - } - - // If the space is too short, tell the build to abort - if (allowedHeight < this.minHeight) { - return false; - } - - height = allowedHeight; - return true; - } - - public void setBlockAndNotifyAdequately(World world, BlockPos pos, IBlockState state) - { - if (this.updateNeighbours) - { - world.setBlockState(pos, state, 3); - } - else - { - world.setBlockState(pos, state, 2); - } - } - - private static class FoliageCoords extends BlockPos - { - private final int branchBase; - - public FoliageCoords(BlockPos pos, int branchBase) - { - super(pos.getX(), pos.getY(), pos.getZ()); - this.branchBase = branchBase; - } - - public int getBranchBase() - { - return branchBase; - } - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.updateNeighbours = conf.getBool("updateNeighbours", this.updateNeighbours); - int minHeight = conf.getInt("minHeight", this.minHeight); - int maxHeight = conf.getInt("maxHeight", this.maxHeight); - - Pair heights = GeneratorUtils.validateMinMaxHeight(minHeight, maxHeight); - this.minHeight = heights.getLeft(); - this.maxHeight = heights.getRight(); - - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - this.foliageHeight = conf.getInt("foliageHeight", this.foliageHeight); - this.foliageDensity = conf.getFloat("foliageDensity", (float)this.foliageDensity); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBulbTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBulbTree.java deleted file mode 100644 index 8acdc8bf2..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBulbTree.java +++ /dev/null @@ -1,252 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.BlockDirectional; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorBulbTree extends GeneratorTreeBase -{ - - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 6; - this.maxHeight = 12; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState(); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorBulbTree create() { - return new GeneratorBulbTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.scatterYMethod); - } - - } - - - public GeneratorBulbTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - } - - public boolean setCocoa(World world, BlockPos pos, EnumFacing side) - { - IBlockState cocoaState = Blocks.COCOA.getDefaultState().withProperty(BlockDirectional.FACING, side); - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, cocoaState); - return true; - } - return false; - } - - public boolean checkSpace(World world, BlockPos pos, int baseHeight, int height) - { - for (int y = 0; y <= height; y++) - { - // require 3x3 for the leaves, 1x1 for the trunk - int radius = (y <= baseHeight ? 0 : 1); - - for (int x = -radius; x <= radius; x++) - { - for (int z = -radius; z <= radius; z++) - { - BlockPos pos1 = pos.add(x, y, z); - // note, there may be a sapling on the first layer - make sure this.replace matches it! - if (pos1.getY() >= 255 || !this.replace.matches(world, pos1)) - { - return false; - } - } - } - } - return true; - } - - // generates a 'branch' of a leaf layer - public void generateBranch(World world, Random random, BlockPos pos, EnumFacing direction) - { - EnumFacing sideways = direction.rotateY(); - this.setLeaves(world, pos.offset(direction, 1)); - this.setLeaves(world, pos.up().offset(direction, 1)); - if (random.nextInt(3) > 0) - { - this.setLeaves(world, pos.up().offset(direction, 1).offset(sideways, 1)); - } - } - - // generates a layer of leafs (2 blocks high) - public void generateLeafLayer(World world, Random random, BlockPos pos) - { - for (EnumFacing direction : EnumFacing.Plane.HORIZONTAL) - { - this.generateBranch(world, random, pos, direction); - } - - // add the trunk in the middle - this.setLog(world, pos); - this.setLog(world, pos.up()); - } - - public void generateTop(World world, Random random, BlockPos pos, int topHeight) - { - for (int y = 0; y < topHeight; y++) - { - int radius = topHeight - 1 - y; - - for (int x = -radius; x <= radius; ++x) - { - for (int z = -radius; z <= radius; ++z) - { - if (Math.abs(x) < radius || Math.abs(z) < radius || random.nextInt(2) == 0) - { - this.setLeaves(world, pos.add(x, y, z)); - } - } - } - if (y < topHeight - 1) - { - // add the trunk in the middle - this.setLog(world, pos.add(0, y, 0)); - } else { - // add leaves on top for certain - this.setLeaves(world, pos.add(0, y, 0)); - } - } - } - - @Override - public boolean generate(World world, Random random, BlockPos startPos) - { - - // Move down until we reach the ground - while (startPos.getY() > 1 && world.isAirBlock(startPos) || world.getBlockState(startPos).getBlock().isLeaves(world.getBlockState(startPos), world, startPos)) {startPos = startPos.down();} - - if (!this.placeOn.matches(world, startPos)) - { - // Abandon if we can't place the tree on this block - return false; - } - - // Choose heights - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - if (height < 6) {return false;} - int topHeight = 3; - int heightMinusTop = height - topHeight; - int numBranches = heightMinusTop / 5; - int baseHeight = heightMinusTop - (numBranches * 2); - - // Start on the space above ground - BlockPos pos = startPos.up(); - - if (!this.checkSpace(world, pos, baseHeight, height)) - { - // Abandon if there isn't enough room - return false; - } - - // Generate bottom of tree (trunk only) - for(int i = 0; i < baseHeight; i++) - { - this.setLog(world, pos); - pos = pos.up(); - } - - // Generate middle of the tree - 2 steps at a time (trunk and leaves) - for (int i = 0; i < numBranches; i++) - { - this.generateLeafLayer(world, random, pos); - pos = pos.up(2); - } - - // Generate the top of the tree - this.generateTop(world, random, pos, topHeight); - - // Add vines - this.addVines(world, random, startPos, baseHeight, height, 3, 10); - - // Add cocoa - // this.addCocoa(world, random, startPos, baseHeight, 3); - - return true; - } - - protected void addVines(World world, Random rand, BlockPos startPos, int baseHeight, int height, int leavesRadius, int generationAttempts) - { - if (this.vine == null) {return;} - for (int i = 0; i < generationAttempts; i++) - { - // choose a random direction - EnumFacing direction = EnumFacing.Plane.HORIZONTAL.random(rand); - EnumFacing back = direction.getOpposite(); - EnumFacing sideways = direction.rotateY(); - - // choose a random starting point somewhere just outside the boundary of the tree leaves - BlockPos pos = startPos.up(GeneratorUtils.nextIntBetween(rand, baseHeight + 1, height)).offset(direction, leavesRadius + 1).offset(sideways, GeneratorUtils.nextIntBetween(rand, -leavesRadius, leavesRadius)); - - // move back towards the center until we meet a leaf, then stick a vine on it - for (int l = 0; l < leavesRadius; l++) - { - if (world.getBlockState(pos.offset(back, 1 + l)) == this.leaves) { - this.setVine(world, rand, pos.offset(back, l), back, 4); - break; - } - } - } - } - - protected void addCocoa(World world, Random rand, BlockPos startPos, int baseHeight, int generationAttempts) - { - for (int i = 0; i < generationAttempts; i++) - { - // choose a random direction - EnumFacing direction = EnumFacing.Plane.HORIZONTAL.random(rand); - EnumFacing back = direction.getOpposite(); - - // choose a random point next to the trunk - BlockPos pos = startPos.up(GeneratorUtils.nextIntBetween(rand, 1, baseHeight)).offset(direction, 1); - - // stick a cocoa pod on it - this.setCocoa(world, pos, back); - } - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("minHeight", this.maxHeight); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - this.vine = conf.getBlockState("vinesState", this.vine); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBush.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBush.java deleted file mode 100644 index 9fb65aab3..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorBush.java +++ /dev/null @@ -1,126 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.BlockLeaves; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorBush extends GeneratorTreeBase -{ - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 2; - this.maxHeight = 4; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.replaceable; - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState(); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorBush create() { - return new GeneratorBush(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.scatterYMethod); - } - } - - - public GeneratorBush(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - } - - @Override - public boolean generate(World world, Random random, BlockPos startPos) - { - // Move down until we reach the ground - while (startPos.getY() > 1 && world.isAirBlock(startPos) || world.getBlockState(startPos).getBlock().isLeaves(world.getBlockState(startPos), world, startPos)) {startPos = startPos.down();} - - if (!this.placeOn.matches(world, startPos)) - { - // Abandon if we can't place the tree on this block - return false; - } - - // choose a random height - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - - // start from the block above the ground block - BlockPos pos = startPos.up(); - - //Generate a bush 3 blocks tall, with the bottom block already set to a log - for (int y = 0; y < height; ++y) - { - // log in the center - if (height - y > 1) - { - this.setLog(world, pos.add(0, y, 0)); - } - - //Reduces the radius closer to the top of the bush - int leavesRadius = (height - y > 1 ? 2 : 1); - - for (int x = -leavesRadius; x <= leavesRadius; ++x) - { - for (int z = -leavesRadius; z <= leavesRadius; ++z) - { - //Randomly prevent the generation of leaves on the corners of each layer - if (Math.abs(x) < leavesRadius || Math.abs(z) < leavesRadius || random.nextInt(2) != 0) - { - this.leaves = this.leaves.withProperty(BlockLeaves.CHECK_DECAY, Boolean.valueOf(false)); - if (this.altLeaves != null) - { - this.altLeaves = this.altLeaves.withProperty(BlockLeaves.CHECK_DECAY, Boolean.valueOf(false)); - if (random.nextInt(4) == 0) - { - this.setAltLeaves(world, pos.add(x, y, z)); - } - else - { - this.setLeaves(world, pos.add(x, y, z)); - } - } - else - { - this.setLeaves(world, pos.add(x, y, z)); - } - } - } - } - } - - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorHugeTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorHugeTree.java deleted file mode 100644 index 73e8b6adf..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorHugeTree.java +++ /dev/null @@ -1,124 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; - -import java.util.Random; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public abstract class GeneratorHugeTree extends GeneratorTreeBase -{ - - protected GeneratorHugeTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, ScatterYMethod scatterYMethod) { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - } - - protected int chooseHeight(Random rand) - { - return GeneratorUtils.nextIntBetween(rand, this.minHeight, this.maxHeight); - } - - private boolean checkEnoughSpace(World worldIn, BlockPos pos, int height) - { - for (int y = 0; y <= 1 + height; ++y) - { - // require 3x3 for the first layer, 5x5 for the others - int radius = ((y == 0) ? 1 : 2); - - for (int x = -radius; x <= radius; ++x) - { - for (int z = -radius; z <= radius; ++z) - { - BlockPos pos1 = pos.add(x, y, z); - // note, there may be a sapling on the first layer - make sure this.replace matches it! - if (pos1.getY() >= 255 || !this.replace.matches(worldIn, pos1)) - { - return false; - } - } - } - } - - return true; - } - - private boolean checkSoil(BlockPos pos, World worldIn) - { - BlockPos soilPos = pos.down(); - - if (!this.placeOn.matches(worldIn, soilPos)) - { - // Abandon if we can't place the tree on this block - return false; - } - - Block block = worldIn.getBlockState(soilPos).getBlock(); - this.onPlantGrow(worldIn, soilPos, pos); - this.onPlantGrow(worldIn, soilPos.east(), pos); - this.onPlantGrow(worldIn, soilPos.south(), pos); - this.onPlantGrow(worldIn, soilPos.south().east(), pos); - - return true; - - } - - protected boolean canGrowHere(World worldIn, Random rand, BlockPos pos, int height) - { - return this.checkEnoughSpace(worldIn, pos, height) && this.checkSoil(pos, worldIn); - } - - protected void addWideLeafLayer(World worldIn, BlockPos pos, int radius) - { - int rSquared = radius * radius; - - for (int x = -radius; x <= radius + 1; ++x) - { - for (int z = -radius; z <= radius + 1; ++z) - { - int x1East = x - 1; - int z1North = z - 1; - - // skip corners - if (x * x + z * z <= rSquared || x1East * x1East + z1North * z1North <= rSquared || x * x + z1North * z1North <= rSquared || x1East * x1East + z * z <= rSquared) - { - this.setLeaves(worldIn, pos.add(x, 0, z)); - } - } - } - } - - protected void addLeafLayer(World worldIn, BlockPos pos, int radius) - { - int rSquared = radius * radius; - - for (int x = -radius; x <= radius; ++x) - { - for (int z = -radius; z <= radius; ++z) - { - // skip corners - if (x * x + z * z <= rSquared) - { - this.setLeaves(worldIn, pos.add(x, 0, z)); - } - } - } - } - - //Just a helper macro - private void onPlantGrow(World world, BlockPos pos, BlockPos source) - { - world.getBlockState(pos).getBlock().onPlantGrow(world.getBlockState(pos), world, pos, source); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorMahoganyTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorMahoganyTree.java deleted file mode 100644 index ee9deab49..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorMahoganyTree.java +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world.generator.tree; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLog; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumFacing.Axis; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorMahoganyTree extends GeneratorBasicTree -{ - public static class Builder extends GeneratorBasicTree.InnerBuilder implements IGeneratorBuilder - { - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.anything; - this.replace = new BlockQueryMaterial(Material.AIR, Material.LEAVES); - this.log = BlockBOPLog.paging.getVariantState(BOPWoods.MAHOGANY); - this.leaves = BlockBOPLeaves.paging.getVariantState(BOPTrees.MAHOGANY); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.minHeight = 10; - this.maxHeight = 15; - this.leafLayers = 4; - this.leavesOffset = 1; - this.maxLeavesRadius = 1; - this.leavesLayerHeight = 1; - this.placeVinesOn = BlockQueries.air; - this.hangingChance = 0.0F; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorMahoganyTree create() - { - return new GeneratorMahoganyTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, false, this.leafLayers, this.leavesOffset, this.maxLeavesRadius, this.leavesLayerHeight, this.placeVinesOn, this.hangingChance, this.scatterYMethod); - } - } - - public GeneratorMahoganyTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, boolean updateNeighbours, int leafLayers, int leavesOffset, int minLeavesRadius, int leavesLayerHeight, IBlockPosQuery placeVinesOn, float hangingChance, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, updateNeighbours, leafLayers, leavesOffset, minLeavesRadius, leavesLayerHeight, placeVinesOn, hangingChance, scatterYMethod); - } - - @Override - protected void generateTrunk(World world, BlockPos start, int height) - { - int endHeight = height - this.leafLayers; - - for (int layer = 0; layer <= endHeight - 3; layer++) - { - BlockPos middlePos = start.up(layer); - - if (this.replace.matches(world, middlePos)) - { - this.setLog(world, middlePos); - } - } - - //Generate upper branches - BlockPos branchStartPos = start.up(endHeight - 2); - int branchHeight = (this.leafLayers - 1) + 1; - - generateBranch(world, branchStartPos, EnumFacing.NORTH, branchHeight); - generateBranch(world, branchStartPos, EnumFacing.EAST, branchHeight); - generateBranch(world, branchStartPos, EnumFacing.SOUTH, branchHeight); - generateBranch(world, branchStartPos, EnumFacing.WEST, branchHeight); - } - - private void generateBranch(World world, BlockPos middle, EnumFacing direction, int height) - { - BlockPos pos; - - if (replace.matches(world, pos = middle.offset(direction))) this.setLog(world, pos, direction.getAxis()); - - for (int i = 0; i <= height - 1; i++) - { - if (replace.matches(world, pos = middle.offset(direction, 2).up(i + 1))) this.setLog(world, pos, Axis.Y); - } - - EnumFacing logDirection = direction.rotateY(); - - //Extend inner branches outwards to prevent decay - for (int i = -1; i <= 1; i++) - { - if (replace.matches(world, pos = middle.offset(direction, 3).offset(logDirection, i).up(height - 1))) this.setLog(world, pos, logDirection.getAxis()); - } - } -} diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorMangroveTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorMangroveTree.java deleted file mode 100644 index fe0e347e2..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorMangroveTree.java +++ /dev/null @@ -1,297 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorMangroveTree extends GeneratorTreeBase -{ - - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - protected int minLeavesRadius; - protected int leavesGradient; - protected int vineAttempts; - protected int maxVineLength; - protected IBlockPosQuery rootsReplace; - - public Builder minLeavesRadius(int a) {this.minLeavesRadius = a; return this.self();} - public Builder leavesGradient(int a) {this.leavesGradient = a; return this.self();} - public Builder vineAttempts(int a) {this.vineAttempts = a; return this.self();} - public Builder maxVineLength(int a) {this.maxVineLength = a; return this.self();} - public Builder rootsReplace(IBlockPosQuery a) {this.replace = a; return this.self();} - public Builder rootsReplace(String a) throws BlockQueryParseException {this.replace = BlockQuery.parseQueryString(a); return this.self();} - public Builder rootsReplace(Block a) {this.replace = new BlockQueryBlock(a); return this.self();} - public Builder rootsReplace(IBlockState a) {this.replace = new BlockQueryState(a); return this.self();} - - public Builder() - { - // defaults - this.amountPerChunk = 1.0F; - this.placeOn = BlockQueries.fertileOrSand; - this.replace = BlockQueries.airOrLeaves; - this.rootsReplace = BlockQueries.rootsCanDigThrough; - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState(); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.minHeight = 8; - this.maxHeight = 10; - this.minLeavesRadius = 4; - this.leavesGradient = 4; - this.vineAttempts = 20; - this.maxVineLength = 2; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorMangroveTree create() - { - return new GeneratorMangroveTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.minLeavesRadius, this.leavesGradient, this.vineAttempts, this.maxVineLength, this.rootsReplace, this.scatterYMethod); - } - } - - - private int minLeavesRadius; - private int leavesGradient; - private int vineAttempts; - private int maxVineLength; - private IBlockPosQuery rootsReplace; - - public GeneratorMangroveTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, int minLeavesRadius, int leavesGradient, int vineAttempts, int maxVineLength, IBlockPosQuery rootsReplace, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - this.minLeavesRadius = minLeavesRadius; - this.leavesGradient = leavesGradient; - this.vineAttempts = vineAttempts; - this.maxVineLength = maxVineLength; - this.rootsReplace = rootsReplace; - } - - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) - { - // always at ground (sometimes underwater) - return GeneratorUtils.ScatterYMethod.AT_GROUND.getBlockPos(world, random, x, z); - } - - public boolean setRoot(World world, BlockPos pos) - { - if (this.rootsReplace.matches(world, pos)) - { - world.setBlockState(pos, this.log, 2); - return true; - } - return false; - } - - public boolean checkRootViable(World world, BlockPos pos, int rootHeight, EnumFacing direction) - { - // a viable root has an path which roots can dig through from trunk to some fertile ground - pos = pos.offset(direction).up(rootHeight - 1); - for (int i = 0; i < rootHeight; i++) - { - if (!this.rootsReplace.matches(world, pos)) {return false;} - pos = pos.down(); - if (this.placeOn.matches(world, pos)) {return true;} - } - return false; - } - - public boolean checkSpace(World world, BlockPos pos, int rootHeight, int middleHeight, int height) - { - - // we want at least 2 of the roots to be viable - int rootsOk = 0; - for (EnumFacing direction : EnumFacing.Plane.HORIZONTAL) - { - if (this.checkRootViable(world, pos, rootHeight, direction)) {rootsOk++;} - } - if (rootsOk < 2) {return false;} - - // check there's some space for the trunk and leaves too - for (int y = rootHeight; y <= height; y++) - { - // require 1x1 for the trunk, 3x3 for the leaves - int radius = (y <= (rootHeight + middleHeight) ? 1 : 2); - for (int x = -radius; x <= radius; x++) - { - for (int z = -radius; z <= radius; z++) - { - BlockPos pos1 = pos.add(x, y, z); - // note, there may be a sapling on the first layer - make sure this.replace matches it! - if (pos1.getY() >= 255 || !this.replace.matches(world, pos1)) - { - return false; - } - } - } - } - return true; - } - - public void generateTop(World world, Random random, BlockPos pos, int topHeight) - { - - for (int y = 0; y < topHeight; y++) - { - int radius = Math.min(3, this.minLeavesRadius + (topHeight - y) / this.leavesGradient); - - for (int x = -radius; x <= radius; ++x) - { - for (int z = -radius; z <= radius; ++z) - { - // too far away and the leaves will decay - int dist = Math.abs(x) + Math.abs(z); - if (dist < 4 || (dist == 4 && random.nextInt(2) == 0)) - { - this.setLeaves(world, pos.add(x, y, z)); - } - } - } - if (y < topHeight - 1) - { - // add the trunk in the middle - this.setLog(world, pos.add(0, y, 0)); - } else { - // add leaves on top for certain - this.setLeaves(world, pos.add(0, y, 0)); - } - } - } - - public void generateRoots(World world, Random random, BlockPos pos, int rootHeight) - { - this.setRoot(world, pos.north().add(0, rootHeight, 0)); - this.setRoot(world, pos.east().add(0, rootHeight, 0)); - this.setRoot(world, pos.south().add(0, rootHeight, 0)); - this.setRoot(world, pos.west().add(0, rootHeight, 0)); - - for (int i = 0; i < rootHeight; i++) - { - this.setRoot(world, pos.north().north()); - this.setRoot(world, pos.east().east()); - this.setRoot(world, pos.south().south()); - this.setRoot(world, pos.west().west()); - pos = pos.up(); - } - //this.setRoot(world, pos.down()); - } - - @Override - public boolean generate(World world, Random random, BlockPos startPos) - { - - if (!this.placeOn.matches(world, startPos.down())) - { - // Abandon if we can't place the tree on this block - return false; - } - - // Choose heights - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - - int topHeight = Math.min(6, GeneratorUtils.nextIntBetween(random, height / 5, height / 3)); - int rootHeight = Math.min(5, GeneratorUtils.nextIntBetween(random, height / 3, height / 2)); - int middleHeight = height - topHeight - rootHeight; - if (middleHeight < 1) {return false;} - - // Start in the ground block - BlockPos pos = startPos.down(); - - if (!this.checkSpace(world, pos, rootHeight, middleHeight, height)) - { - // Abandon if there isn't enough room - return false; - } - - // Generate roots - this.generateRoots(world, random, pos, rootHeight); - pos = pos.up(rootHeight); - - // Generate middle of tree (trunk only) - for(int i = 0; i < middleHeight; i++) - { - this.setLog(world, pos); - pos = pos.up(); - } - - // Generate the top of the tree - this.generateTop(world, random, pos, topHeight); - - // Add vines - if (this.vine != null) - { - int maxLeavesRadius = this.minLeavesRadius + topHeight / this.leavesGradient; - this.addVines(world, random, startPos, height, maxLeavesRadius, this.vineAttempts); - } - - return true; - } - - protected void addVines(World world, Random rand, BlockPos startPos, int height, int leavesRadius, int generationAttempts) - { - for (int i = 0; i < generationAttempts; i++) - { - // choose a random direction - EnumFacing direction = EnumFacing.Plane.HORIZONTAL.random(rand); - EnumFacing back = direction.getOpposite(); - EnumFacing sideways = direction.rotateY(); - - // choose a random starting point somewhere just outside the boundary of the tree - BlockPos pos = startPos.up(GeneratorUtils.nextIntBetween(rand, 2, height)).offset(direction, leavesRadius).offset(sideways, GeneratorUtils.nextIntBetween(rand, -leavesRadius, leavesRadius)); - - // move back towards the center until we meet a leaf or log, then stick a vine on it - IBlockState state; - for (int l = 0; l < leavesRadius; l++) - { - state = world.getBlockState(pos.offset(back, 1 + l)); - if (state == this.leaves || state == this.log) { - this.setVine(world, rand, pos.offset(back, l), back, this.maxVineLength); - break; - } - } - } - } - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.minLeavesRadius = conf.getInt("minLeavesRadius", this.minLeavesRadius); - this.leavesGradient = conf.getInt("leavesGradient", this.leavesGradient); - this.vineAttempts = conf.getInt("vineAttempts", this.vineAttempts); - this.maxVineLength = conf.getInt("maxVineLength", this.maxVineLength); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.rootsReplace = conf.getBlockPosQuery("rootsReplace", this.rootsReplace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - this.vine = conf.getBlockState("vinesState", this.vine); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorMegaJungleTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorMegaJungleTree.java deleted file mode 100644 index 422d67fd2..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorMegaJungleTree.java +++ /dev/null @@ -1,183 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; - -public class GeneratorMegaJungleTree extends GeneratorHugeTree -{ - - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 6; - this.maxHeight = 20; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - this.log(BlockPlanks.EnumType.JUNGLE); - this.leaves(BlockPlanks.EnumType.JUNGLE); - this.vine = Blocks.VINE.getDefaultState(); - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorMegaJungleTree create() { - return new GeneratorMegaJungleTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.scatterYMethod); - } - - } - - protected GeneratorMegaJungleTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - } - - - @Override - public boolean generate(World worldIn, Random rand, BlockPos startPos) - { - int height = this.chooseHeight(rand); - - if (!this.canGrowHere(worldIn, rand, startPos, height)) - { - return false; - } - else - { - this.addTop(worldIn, startPos.up(height), 2); - - for (int y = startPos.getY() + height - 2 - rand.nextInt(4); y > startPos.getY() + height / 2; y -= 2 + rand.nextInt(4)) - { - // sprout branch in random direction - float direction = rand.nextFloat() * (float)Math.PI * 2.0F; - float cosDir = MathHelper.cos(direction); - float sinDir = MathHelper.sin(direction); - int x = 0; - int z = 0; - - // draw outward from trunk in direction of branch - for (int s = 0; s < 5; ++s) - { - x = startPos.getX() + (int)(1.5F + cosDir * (float)s); - z = startPos.getZ() + (int)(1.5F + sinDir * (float)s); - this.setLog(worldIn, new BlockPos(x, y - 3 + s / 2, z)); - } - - // draw leaves at end of branch - int clusterHeight = 1 + rand.nextInt(2); - for (int i = 0; i <= clusterHeight; i++) - { - this.addLeafLayer(worldIn, new BlockPos(x, y - i, z), i + 1); - } - - } - - // create main trunk layer by layer - for (int y = 0; y < height; ++y) - { - BlockPos trunkPosNW = startPos.up(y); - - if (this.setLog(worldIn, trunkPosNW)) - { - if (y > 0) - { - this.maybeAddVine(worldIn, rand, trunkPosNW.west(), EnumFacing.EAST); - this.maybeAddVine(worldIn, rand, trunkPosNW.north(), EnumFacing.SOUTH); - } - } - - if (y < height - 1) - { - BlockPos trunkPosNE = trunkPosNW.east(); - if (this.setLog(worldIn, trunkPosNE)) - { - if (y > 0) - { - this.maybeAddVine(worldIn, rand, trunkPosNE.east(), EnumFacing.WEST); - this.maybeAddVine(worldIn, rand, trunkPosNE.north(), EnumFacing.SOUTH); - } - } - - BlockPos trunkPosSE = trunkPosNW.south().east(); - if (this.setLog(worldIn, trunkPosSE)) - { - if (y > 0) - { - this.maybeAddVine(worldIn, rand, trunkPosSE.east(), EnumFacing.WEST); - this.maybeAddVine(worldIn, rand, trunkPosSE.south(), EnumFacing.NORTH); - } - } - - BlockPos trunkPosSW = trunkPosNW.south(); - - if (this.setLog(worldIn, trunkPosSW)) - { - if (y > 0) - { - this.maybeAddVine(worldIn, rand, trunkPosSW.west(), EnumFacing.EAST); - this.maybeAddVine(worldIn, rand, trunkPosSW.south(), EnumFacing.NORTH); - } - } - } - } - - return true; - } - } - - private void maybeAddVine(World worldIn, Random rand, BlockPos pos, EnumFacing side) - { - if (this.vine == null) {return;} - if (rand.nextInt(8) > 0) - { - this.setVine(worldIn, rand, pos, side, 1); - } - } - - private void addTop(World worldIn, BlockPos pos, int radius) - { - for (int j = -2; j <= 0; ++j) - { - this.addWideLeafLayer(worldIn, pos.up(j), radius + 1 - j); - } - } - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("minHeight", this.maxHeight); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - this.vine = conf.getBlockState("vinesState", this.vine); - } - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorPalmTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorPalmTree.java deleted file mode 100644 index ecaf1e8ae..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorPalmTree.java +++ /dev/null @@ -1,184 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorPalmTree extends GeneratorTreeBase -{ - - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 10; - this.maxHeight = 14; - this.placeOn = BlockQueries.fertileOrSand; - this.replace = BlockQueries.airOrLeaves; - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState(); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorPalmTree create() { - return new GeneratorPalmTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.scatterYMethod); - } - - } - - public GeneratorPalmTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - } - - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - // Move down until we reach the ground - while (pos.getY() > 1 && world.isAirBlock(pos) || world.getBlockState(pos).getBlock().isLeaves(world.getBlockState(pos), world, pos)) {pos = pos.down();} - - if (!this.placeOn.matches(world, pos)) - { - // Abandon if we can't place the tree on this block - return false; - } - - // Generation settings - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - int leavesRadius = 2; - int heightMinusTop = height - leavesRadius - 1; - boolean slant = false; - EnumFacing direction = EnumFacing.random(random); //The direction the palm tree curves towards - if (direction == EnumFacing.DOWN || direction == EnumFacing.UP) - { - slant = false; - } - double baseSlant = random.nextInt(35) / 100D; - double slantMultiplier = 1.3D; - - if (height < 8) {return false;} //Prevent trees from being too small - - // Move up to space above ground - pos = pos.up(); - - if (!this.checkSpace(world, pos, height, 1)) - { - // Abandon if there isn't enough room - return false; - } - - double slantOffset = baseSlant; - - // Generate trunk of tree (trunk only) - for(int step = 0; step <= heightMinusTop; step++) - { - BlockPos offsetPos = pos.up(step); - - if (slant == true) - { - offsetPos = pos.up(step).offset(direction, (int)Math.floor(slantOffset)); - } - - if (step == heightMinusTop) - { - // Generate top of tree - this.setLog(world, offsetPos); - generateLeavesTop(world, offsetPos, leavesRadius); - break; - } - - this.setLog(world, offsetPos); - - //As the height increases, slant more drastically - slantOffset *= slantMultiplier; - } - - return true; - } - - public boolean checkSpace(World world, BlockPos pos, int height, int radius) - { - for (int y = 0; y <= height; y++) - { - for (int x = -radius; x <= radius; x++) - { - for (int z = -radius; z <= radius; z++) - { - BlockPos pos1 = pos.add(x, y, z); - // note, there may be a sapling on the first layer - make sure this.replace matches it! - if (pos1.getY() >= 255 || !this.replace.matches(world, pos1)) - { - return false; - } - } - } - } - return true; - } - - // generate the top of the tree (3 blocks) - public void generateLeavesTop(World world, BlockPos pos, int maxRadius) - { - setLeaves(world, pos.add(2, -1, 0)); - setLeaves(world, pos.add(-2, -1, 0)); - setLeaves(world, pos.add(0, -1, 2)); - setLeaves(world, pos.add(0, -1, -2)); - - setLeaves(world, pos.add(1, 0, 0)); - setLeaves(world, pos.add(-1, 0, 0)); - setLeaves(world, pos.add(0, 0, 1)); - setLeaves(world, pos.add(0, 0, -1)); - setLeaves(world, pos.add(2, 0, 2)); - setLeaves(world, pos.add(-2, 0, -2)); - setLeaves(world, pos.add(2, 0, -2)); - setLeaves(world, pos.add(-2, 0, 2)); - - setLeaves(world, pos.add(1, 1, -1)); - setLeaves(world, pos.add(-1, 1, 1)); - setLeaves(world, pos.add(1, 1, 1)); - setLeaves(world, pos.add(-1, 1, -1)); - setLeaves(world, pos.add(0, 1, 0)); - - setLeaves(world, pos.add(2, 2, 0)); - setLeaves(world, pos.add(-2, 2, 0)); - setLeaves(world, pos.add(0, 2, 2)); - setLeaves(world, pos.add(0, 2, -2)); - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("minHeight", this.maxHeight); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorPineTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorPineTree.java deleted file mode 100644 index 9973b3551..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorPineTree.java +++ /dev/null @@ -1,208 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorPineTree extends GeneratorTreeBase -{ - - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 6; - this.maxHeight = 12; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState(); - this.vine = null; - this.hanging = hanging; - this.trunkFruit = null; - this.altLeaves = null; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorPineTree create() { - return new GeneratorPineTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.scatterYMethod); - } - - } - - public GeneratorPineTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - } - - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - - // Move down until we reach the ground - while (pos.getY() > 1 && world.isAirBlock(pos) || world.getBlockState(pos).getBlock().isLeaves(world.getBlockState(pos), world, pos)) {pos = pos.down();} - - if (!this.placeOn.matches(world, pos)) - { - // Abandon if we can't place the tree on this block - return false; - } - - // Choose heights - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - if (height < 6) {return false;} - int heightMinusTop = height - 3; - int numBranches = heightMinusTop / 3; - int baseHeight = heightMinusTop - (numBranches * 2); - - // Move up to space above ground - pos = pos.up(); - - if (!this.checkSpace(world, pos, baseHeight, height)) - { - // Abandon if there isn't enough room - return false; - } - - // Generate bottom of tree (trunk only) - for(int i = 0; i < baseHeight; i++) - { - this.setLog(world, pos); - pos = pos.up(); - } - - // Generate middle of the tree - 2 steps at a time (trunk and leaves) - for(int i = 0; i < numBranches; i++) - { - this.generateLeafLayer(world, random, pos, i); - pos = pos.up(2); - } - - // Generate top of tree - generateTop(world, pos); - - return true; - } - - public boolean checkSpace(World world, BlockPos pos, int baseHeight, int height) - { - for (int y = 0; y <= height; y++) - { - // require 3x3 for the leaves, 1x1 for the trunk - int radius = (y <= baseHeight ? 0 : 1); - for (int x = -radius; x <= radius; x++) - { - for (int z = -radius; z <= radius; z++) - { - BlockPos pos1 = pos.add(x, y, z); - // note, there may be a sapling on the first layer - make sure this.replace matches it! - if (pos1.getY() >= 255 || !this.replace.matches(world, pos1)) - { - return false; - } - } - } - } - return true; - } - - // generate the top of the tree (3 blocks) - public void generateTop(World world, BlockPos pos) - { - for(int x = -1; x <= 1; x++) - { - for(int z = -1; z <= 1; z++) - { - this.setLeaves(world, pos.add(x, 0, z)); - } - } - this.setLog(world, pos); - - pos = pos.up(); - this.setLeaves(world, pos); - this.setLeaves(world, pos.north()); - this.setLeaves(world, pos.east()); - this.setLeaves(world, pos.south()); - this.setLeaves(world, pos.west()); - this.setLeaves(world, pos.up()); - } - - // generates a 'branch' of a leaf layer - extra leaves in the corner in the specified direction - public void generateBranch(World world, BlockPos pos, EnumFacing direction, boolean dropY, boolean dropCorner) - { - EnumFacing sideways = direction.rotateY(); - if (dropY) {pos = pos.down();} - this.setLeaves(world, pos.offset(direction, 1).offset(sideways, 1)); - this.setLeaves(world, pos.offset(direction, 2).offset(sideways, 1)); - this.setLeaves(world, pos.offset(direction, 1).offset(sideways, 2)); - this.setLeaves(world, pos.offset(direction, 2).offset(sideways, 2)); - if (dropCorner) - { - this.setLeaves(world, pos.offset(direction, 2).offset(sideways, 2).down()); - } - } - - // generates a layer of leafs (2 blocks high) - public void generateLeafLayer(World world, Random rand, BlockPos pos, int leafLayerNum) - { - // middle 3x3 are always leaves - for(int x = -1; x <= 1; x++) - { - for(int z = -1; z <= 1; z++) - { - this.setLeaves(world, pos.add(x, 0, z)); - } - } - - // sometimes add leaves further out - alternate layers at right angles to each other - EnumFacing direction = (leafLayerNum % 2 == 0) ? EnumFacing.NORTH : EnumFacing.EAST; - boolean dropY = (rand.nextInt(2) == 0); - boolean dropCorner = (rand.nextInt(2) == 0); - - if (rand.nextInt(2) == 0) - { - this.generateBranch(world, pos, direction, dropY, dropCorner); - } - if (rand.nextInt(2) == 0) - { - this.generateBranch(world, pos, direction.getOpposite(), dropY, dropCorner); - } - - // add the trunk in the middle - this.setLog(world, pos); - this.setLog(world, pos.up()); - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("minHeight", this.maxHeight); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorProfileTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorProfileTree.java deleted file mode 100644 index bfd9b407a..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorProfileTree.java +++ /dev/null @@ -1,179 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorProfileTree extends GeneratorTreeBase -{ - - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - protected TreeProfile profile; - - public Builder profile(TreeProfile a) {this.profile = a; return this.self();} - - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 6; - this.maxHeight = 12; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState(); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.profile = TreeProfile.POPLAR; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorProfileTree create() { - return new GeneratorProfileTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.profile, this.scatterYMethod); - } - - } - - protected TreeProfile profile; - - public GeneratorProfileTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, TreeProfile profile, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - this.profile = profile; - } - - public enum TreeProfile - { - POPLAR; - - public int radius(int height, int maxHeight) - { - switch (this) - { - case POPLAR: default: - float x = (float)height / (float)maxHeight; - float maxRadius = 1.0F + maxHeight * 0.10F; - // this function creates a curved profile which has its widest point 1/4 from the bottom and a pointy top - float r = maxRadius * 0.6667F * x * (1/(x*x + 0.08173F) - 0.9244F); - return (int)(r + 0.5F); - } - } - } - - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - - // Move down until we reach the ground - while (pos.getY() > 1 && world.isAirBlock(pos) || world.getBlockState(pos).getBlock().isLeaves(world.getBlockState(pos), world, pos)) {pos = pos.down();} - - if (!this.placeOn.matches(world, pos)) - { - // Abandon if we can't place the tree on this block - return false; - } - - // Choose heights and width - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - if (height < 4) {return false;} - int baseHeight = height / (2 + random.nextInt(3)); - int leavesHeight = height - baseHeight; - - // Move up to space above ground - pos = pos.up(); - - if (!this.checkSpace(world, pos, baseHeight, height)) - { - // Abandon if there isn't enough room - return false; - } - - // Generate bottom of tree (trunk only) - for(int i = 0; i < baseHeight; i++) - { - this.setLog(world, pos); - pos = pos.up(); - } - - // Generate middle of the tree - for(int i = 0; i < leavesHeight; i++) - { - int radius = this.profile.radius(i, leavesHeight); - this.generateLeafLayer(world, pos, radius); - if (leavesHeight - i > 2) {this.setLog(world, pos);} - pos = pos.up(); - } - - return true; - } - - public boolean checkSpace(World world, BlockPos pos, int baseHeight, int height) - { - for (int y = 0; y <= height; y++) - { - // require 3x3 for the leaves, 1x1 for the trunk - int radius = (y <= baseHeight ? 0 : 1); - for (int x = -radius; x <= radius; x++) - { - for (int z = -radius; z <= radius; z++) - { - BlockPos pos1 = pos.add(x, y, z); - // note, there may be a sapling on the first layer - make sure this.replace matches it! - if (pos1.getY() >= 255 || !this.replace.matches(world, pos1)) - { - return false; - } - } - } - } - return true; - } - - // generates a layer of leafs with the given radius - public void generateLeafLayer(World world, BlockPos pos, int radius) - { - for(int x = -radius; x <= radius; x++) - { - for(int z = -radius; z <= radius; z++) - { - if (x*x + z*z <= radius*radius) - { - this.setLeaves(world, pos.add(x, 0, z)); - } - } - } - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("minHeight", this.maxHeight); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - this.profile = conf.getEnum("profile", this.profile, TreeProfile.class); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorRedwoodTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorRedwoodTree.java deleted file mode 100644 index 45ee909f7..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorRedwoodTree.java +++ /dev/null @@ -1,250 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLog; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; - -public class GeneratorRedwoodTree extends GeneratorTreeBase -{ - // TODO: fruit - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - protected int trunkWidth; - - public Builder trunkWidth(int a) {this.trunkWidth = a; return this.self();} - - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 10; - this.maxHeight = 30; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - this.log = BlockBOPLog.paging.getVariantState(BOPWoods.REDWOOD); - this.leaves = BlockBOPLeaves.paging.getVariantState(BOPTrees.REDWOOD).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false)); - this.vine = Blocks.VINE.getDefaultState(); - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.trunkWidth = 1; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorRedwoodTree create() { - return new GeneratorRedwoodTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.trunkWidth, this.scatterYMethod); - } - - } - - private int trunkWidth; - - public GeneratorRedwoodTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, int trunkWidth, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - this.trunkWidth = trunkWidth; - } - - public boolean checkSpace(World world, BlockPos pos, int baseHeight, int height) - { - for (int y = 0; y <= height; y++) - { - - int trunkWidth = (this.trunkWidth * (height - y) / height) + 1; - int trunkStart = MathHelper.ceil(0.25D - trunkWidth / 2.0D); - int trunkEnd = MathHelper.floor(0.25D + trunkWidth / 2.0D); - - // require 3x3 for the leaves, 1x1 for the trunk - int start = (y <= baseHeight ? trunkStart : trunkStart - 1); - int end = (y <= baseHeight ? trunkEnd : trunkEnd + 1); - - for (int x = start; x <= end; x++) - { - for (int z = start; z <= end; z++) - { - BlockPos pos1 = pos.add(x, y, z); - // note, there may be a sapling on the first layer - make sure this.replace matches it! - if (pos1.getY() >= 255 || !this.replace.matches(world, pos1)) - { - return false; - } - } - } - } - return true; - } - - // generates a layer of leafs - public void generateLeafLayer(World world, Random rand, BlockPos pos, int leavesRadius, int trunkStart, int trunkEnd) - { - int start = trunkStart - leavesRadius; - int end = trunkEnd + leavesRadius; - - for (int x = start; x <= end; x++) - { - for (int z = start; z <= end; z++) - { - // skip corners - if ((leavesRadius > 0 ) && (x == start || x == end) && (z == start || z == end)) {continue;} - int distFromTrunk = (x < 0 ? trunkStart - x : x - trunkEnd) + (z < 0 ? trunkStart - z : z - trunkEnd); - - // set leaves as long as it's not too far from the trunk to survive - if (distFromTrunk < 4 || (distFromTrunk == 4 && rand.nextInt(2) == 0)) - { - this.setLeaves(world, pos.add(x, 0, z)); - } - } - } - } - - public void generateBranch(World world, Random rand, BlockPos pos, EnumFacing direction, int length) - { - EnumFacing.Axis axis = direction.getAxis(); - EnumFacing sideways = direction.rotateY(); - for (int i = 1; i <= length; i++) - { - BlockPos pos1 = pos.offset(direction, i); - int r = (i == 1 || i == length) ? 1 : 2; - for (int j = -r; j <= r; j++) - { - if (i < length || rand.nextInt(2) == 0) - { - this.setLeaves(world, pos1.offset(sideways, j)); - } - } - if (length - i > 2) - { - this.setLeaves(world, pos1.up()); - this.setLeaves(world, pos1.up().offset(sideways, -1)); - this.setLeaves(world, pos1.up().offset(sideways, 1)); - this.setLog(world, pos1, axis); - } - } - } - - - @Override - public boolean generate(World world, Random random, BlockPos startPos) - { - - // Move down until we reach the ground - while (startPos.getY() > 1 && world.isAirBlock(startPos) || world.getBlockState(startPos).getBlock().isLeaves(world.getBlockState(startPos), world, startPos)) {startPos = startPos.down();} - - if (!this.placeOn.matches(world, startPos)) - { - // Abandon if we can't place the tree on this block - return false; - } - - // Choose heights - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - int baseHeight = GeneratorUtils.nextIntBetween(random, (int)(height * 0.6F), (int)(height * 0.4F)); - int leavesHeight = height - baseHeight; - if (leavesHeight < 3) {return false;} - - if (!this.checkSpace(world, startPos.up(), baseHeight, height)) - { - // Abandon if there isn't enough room - return false; - } - - // Start at the top of the tree - BlockPos pos = startPos.up(height); - - // Leaves at the top - this.setLeaves(world, pos); - pos.down(); - - // Add layers of leaves - for (int i = 0; i < leavesHeight; i++) - { - - int trunkWidth = (this.trunkWidth * i / height) + 1; - int trunkStart = MathHelper.ceil(0.25D - trunkWidth / 2.0D); - int trunkEnd = MathHelper.floor(0.25D + trunkWidth / 2.0D); - - - int radius = Math.min(Math.min((i + 2) / 4, 2 + (leavesHeight - i)), 4); - if (radius == 0) - { - this.setLeaves(world, pos); - } - else if (radius < 2) - { - this.generateLeafLayer(world, random, pos, radius, trunkStart, trunkEnd); - } - else - { - this.generateBranch(world, random, pos.add(trunkStart, 0, trunkStart), EnumFacing.NORTH, radius); - this.generateBranch(world, random, pos.add(trunkEnd, 0, trunkStart), EnumFacing.EAST, radius); - this.generateBranch(world, random, pos.add(trunkEnd, 0, trunkEnd), EnumFacing.SOUTH, radius); - this.generateBranch(world, random, pos.add(trunkStart, 0, trunkEnd), EnumFacing.WEST, radius); - } - pos = pos.down(); - } - - // Generate the trunk - for (int y = 0; y < height - 1; y++) - { - int trunkWidth = (this.trunkWidth * (height - y) / height) + 1; - int trunkStart = MathHelper.ceil(0.25D - trunkWidth / 2.0D); - int trunkEnd = MathHelper.floor(0.25D + trunkWidth / 2.0D); - - // TODO: Temporary fix for trees generating larger than normal bases when in the sides of hills - // Should look into doing this properly but i'm busy :P - if (this.trunkWidth <= 1) - { - trunkStart = 0; - trunkEnd = 0; - } - - for (int x = trunkStart; x <= trunkEnd; x++) - { - for (int z = trunkStart; z <= trunkEnd; z++) - { - this.setLog(world, startPos.add(x, y, z)); - } - } - } - - return true; - } - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("minHeight", this.maxHeight); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - this.vine = conf.getBlockState("vinesState", this.vine); - this.trunkWidth = conf.getInt("trunkWidth", this.trunkWidth); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorRedwoodTreeThin.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorRedwoodTreeThin.java deleted file mode 100644 index c0dbd971a..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorRedwoodTreeThin.java +++ /dev/null @@ -1,202 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world.generator.tree; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLog; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.world.generator.GeneratorSpike; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorRedwoodTreeThin extends GeneratorTreeBase -{ - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 30; - this.maxHeight = 50; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.replaceable; - this.log = BlockBOPLog.paging.getVariantState(BOPWoods.REDWOOD); - this.leaves = BlockBOPLeaves.paging.getVariantState(BOPTrees.REDWOOD).withProperty(BlockOldLeaf.CHECK_DECAY, Boolean.valueOf(false)); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorRedwoodTreeThin create() - { - return new GeneratorRedwoodTreeThin(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.scatterYMethod); - } - - } - - protected GeneratorRedwoodTreeThin(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - } - - public boolean canPlaceHere(World world, BlockPos pos, int height, int radius) - { - if (pos.getY() < 1 || pos.getY() + height > 255) - { - return false; - } - for (int y = pos.getY(); y <= pos.getY() + height; ++y) - { - for (int x = pos.getX() - radius; x <= pos.getX() + radius; ++x) - { - for (int z = pos.getZ() - radius; z <= pos.getZ() + radius; ++z) - { - if (y == pos.getY() && !this.placeOn.matches(world, new BlockPos(x, y - 1, z))) - { - return false; - } - - if (!this.replace.matches(world, new BlockPos(x, y, z))) - { - return false; - } - } - } - } - return true; - } - - public void generateTrunk(World world, Random random, BlockPos pos, int trunkHeight) - { - for (int i = 0; i < trunkHeight; i++) - { - this.setLog(world, pos); - pos = pos.up(); - } - } - - public void generateBranches(World world, Random rand, BlockPos pos, int length) - { - //Iterate over the possible directions - for (EnumFacing direction = EnumFacing.NORTH; direction.ordinal() < 5; direction = EnumFacing.values()[direction.ordinal() + 1]) - { - EnumFacing.Axis axis = direction.getAxis(); - EnumFacing sideways = direction.rotateY(); - for (int i = 1; i <= length; i++) - { - BlockPos pos1 = pos.offset(direction, i); - this.setLog(world, pos1, axis); - } - } - } - - public void generateLeafLayer(World world, Random rand, BlockPos pos, int leafLayerNum) - { - //Repeat in intervals of 6, 2 small radius, 4 large - int index = leafLayerNum % 7; - int leavesRadius; - - //Alternate between a smaller radius and a larger radius - if (index < 2) leavesRadius = 1; - else leavesRadius = 2; - - //This may break for larger radii however it will do for this purpose - double increment = 0.05D; - - for (int radius = leavesRadius; radius >= 0; radius--) - { - for (double angle = 0.0F; angle <= Math.PI * 2; angle += increment) - { - BlockPos leavesPos = pos.add(Math.round(radius * Math.cos(angle)), 0, Math.round(radius * Math.sin(angle))); - - if (radius < leavesRadius || index < 2 || rand.nextInt(4) == 0) - this.setLeaves(world, leavesPos); - } - } - } - - @Override - public boolean generate(World world, Random random, BlockPos pos) - { - // Move down until we reach the ground - while (pos.getY() > 1 && world.isAirBlock(pos) || world.getBlockState(pos).getBlock().isLeaves(world.getBlockState(pos), world, pos)) {pos = pos.down();} - - // Choose heights - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - if (height < 20) {return false;} - - // Move up to space above ground - pos = pos.up(); - - GeneratorSpike spikeGenerator = (new GeneratorSpike.Builder().with(this.log).replace(BlockQueries.anything).minRadius(2).maxRadius(2).minHeight(2).maxHeight(4).create()); - - // check that there's room and if the blocks below are suitable - if (!spikeGenerator.canPlaceHere(world, pos, height, 2)) {return false;} - - //Generate the base of the tree - spikeGenerator.generate(world, random, pos); - - BlockPos trunkTop = pos; - //Move upwards until the block above this is air - for (; !world.isAirBlock(trunkTop.up()); trunkTop = trunkTop.up()) - { - if (trunkTop.getY() >= 255) - { - return false; - } - } - - int baseHeight = trunkTop.getY() - pos.getY(); - int trunkHeight = height - baseHeight; - - //Generate the trunk to 1 block below the height - this.generateTrunk(world, random, pos, height - 1); - - //Generate the layers of leaves - for (int i = 0; i < trunkHeight * 0.75F; i++) - { - this.generateLeafLayer(world, random, pos.up(height - i), i); - } - - GeneratorBush bushGenerator = new GeneratorBush.Builder().amountPerChunk(2F).log(this.log).leaves(this.leaves).placeOn(this.log).maxHeight(2).create(); - - //Add bushes around the base - for (int i = 0; i < 10; i++) - { - bushGenerator.generate(world, random, pos.add(random.nextInt(5) - 5, baseHeight, random.nextInt(5) - 5)); - } - - return true; - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("minHeight", this.maxHeight); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - } -} diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorTaigaTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorTaigaTree.java deleted file mode 100644 index ee92a741a..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorTaigaTree.java +++ /dev/null @@ -1,260 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockOldLog; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; - -public class GeneratorTaigaTree extends GeneratorTreeBase -{ - // TODO: fruit - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - protected int trunkWidth; - - public Builder trunkWidth(int a) {this.trunkWidth = a; return this.self();} - - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 6; - this.maxHeight = 12; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - this.log = Blocks.LOG.getDefaultState().withProperty(BlockOldLog.VARIANT, BlockPlanks.EnumType.SPRUCE); - this.leaves = Blocks.LEAVES.getDefaultState().withProperty(BlockOldLeaf.VARIANT, BlockPlanks.EnumType.SPRUCE); - this.vine = Blocks.VINE.getDefaultState(); - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.trunkWidth = 1; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorTaigaTree create() { - return new GeneratorTaigaTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.trunkWidth, this.scatterYMethod); - } - - } - - private int trunkWidth; - - public GeneratorTaigaTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, int trunkWidth, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - this.trunkWidth = trunkWidth; - } - - public boolean checkSpace(World world, BlockPos pos, int baseHeight, int height) - { - for (int y = 0; y <= height; y++) - { - - int trunkWidth = (this.trunkWidth * (height - y) / height) + 1; - int trunkStart = MathHelper.ceil(0.25D - trunkWidth / 2.0D); - int trunkEnd = MathHelper.floor(0.25D + trunkWidth / 2.0D); - - // require 3x3 for the leaves, 1x1 for the trunk - int start = (y <= baseHeight ? trunkStart : trunkStart - 1); - int end = (y <= baseHeight ? trunkEnd : trunkEnd + 1); - - for (int x = start; x <= end; x++) - { - for (int z = start; z <= end; z++) - { - BlockPos pos1 = pos.add(x, y, z); - // note, there may be a sapling on the first layer - make sure this.replace matches it! - if (pos1.getY() >= 255 || !this.replace.matches(world, pos1)) - { - return false; - } - } - } - } - return true; - } - - // generates a layer of leafs - public void generateLeafLayer(World world, Random rand, BlockPos pos, int leavesRadius, int trunkStart, int trunkEnd) - { - int start = trunkStart - leavesRadius; - int end = trunkEnd + leavesRadius; - - for (int x = start; x <= end; x++) - { - for (int z = start; z <= end; z++) - { - // skip corners - if ((leavesRadius > 0 ) && (x == start || x == end) && (z == start || z == end)) {continue;} - int distFromTrunk = (x < 0 ? trunkStart - x : x - trunkEnd) + (z < 0 ? trunkStart - z : z - trunkEnd); - - // set leaves as long as it's not too far from the trunk to survive - if (distFromTrunk < 4 || (distFromTrunk == 4 && rand.nextInt(2) == 0)) - { - this.setLeaves(world, pos.add(x, 0, z)); - } - } - } - } - - public void generateBranch(World world, Random rand, BlockPos pos, EnumFacing direction, int length) - { - EnumFacing.Axis axis = direction.getAxis(); - EnumFacing sideways = direction.rotateY(); - for (int i = 1; i <= length; i++) - { - BlockPos pos1 = pos.offset(direction, i); - int r = (i == 1 || i == length) ? 1 : 2; - for (int j = -r; j <= r; j++) - { - if (i < length || rand.nextInt(2) == 0) - { - this.setLeaves(world, pos1.offset(sideways, j)); - } - } - if (length - i > 2) - { - this.setLeaves(world, pos1.up()); - this.setLeaves(world, pos1.up().offset(sideways, -1)); - this.setLeaves(world, pos1.up().offset(sideways, 1)); - this.setLog(world, pos1, axis); - } - } - } - - - @Override - public boolean generate(World world, Random random, BlockPos startPos) - { - - // Move down until we reach the ground - while (startPos.getY() > 1 && world.isAirBlock(startPos) || world.getBlockState(startPos).getBlock().isLeaves(world.getBlockState(startPos), world, startPos)) {startPos = startPos.down();} - - if (!this.placeOn.matches(world, startPos)) - { - // Abandon if we can't place the tree on this block - return false; - } - - // Choose heights - int height = GeneratorUtils.nextIntBetween(random, this.minHeight, this.maxHeight); - int baseHeight = GeneratorUtils.nextIntBetween(random, height / 5, height / 3); - int leavesHeight = height - baseHeight; - if (leavesHeight < 3) {return false;} - - if (!this.checkSpace(world, startPos.up(), baseHeight, height)) - { - // Abandon if there isn't enough room - return false; - } - - // Start at the top of the tree - BlockPos pos = startPos.up(height); - - // Leaves at the top - this.setLeaves(world, pos); - pos.down(); - - // Add layers of leaves - for (int i = 0; i < leavesHeight; i++) - { - - int trunkWidth = (this.trunkWidth * i / height) + 1; - int trunkStart = MathHelper.ceil(0.25D - trunkWidth / 2.0D); - int trunkEnd = MathHelper.floor(0.25D + trunkWidth / 2.0D); - - - int radius = Math.min(Math.min((i + 2) / 3, 3 + (leavesHeight - i)), 6); - if (radius == 0) - { - this.setLeaves(world, pos); - } - else if (radius < 4) - { - // for smallish radius, do simple leaf layers - if (i % 2 == 0) - { - this.generateLeafLayer(world, random, pos, radius, trunkStart, trunkEnd); - } - else - { - this.generateLeafLayer(world, random, pos, radius / 2, trunkStart, trunkEnd); - } - } - else - { - // for bigger radius, need branches - if (i % 2 == 0) - { - this.generateBranch(world, random, pos.add(trunkStart, 0, trunkStart), EnumFacing.NORTH, radius); - this.generateBranch(world, random, pos.add(trunkEnd, 0, trunkStart), EnumFacing.EAST, radius); - this.generateBranch(world, random, pos.add(trunkEnd, 0, trunkEnd), EnumFacing.SOUTH, radius); - this.generateBranch(world, random, pos.add(trunkStart, 0, trunkEnd), EnumFacing.WEST, radius); - } - } - pos = pos.down(); - } - - // Generate the trunk - for (int y = 0; y < height - 1; y++) - { - int trunkWidth = (this.trunkWidth * (height - y) / height) + 1; - int trunkStart = MathHelper.ceil(0.25D - trunkWidth / 2.0D); - int trunkEnd = MathHelper.floor(0.25D + trunkWidth / 2.0D); - - // TODO: Temporary fix for trees generating larger than normal bases when in the sides of hills - // Should look into doing this properly but i'm busy :P - if (this.trunkWidth <= 1) - { - trunkStart = 0; - trunkEnd = 0; - } - - for (int x = trunkStart; x <= trunkEnd; x++) - { - for (int z = trunkStart; z <= trunkEnd; z++) - { - this.setLog(world, startPos.add(x, y, z)); - } - } - } - - return true; - } - - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("minHeight", this.maxHeight); - this.placeOn = conf.getBlockPosQuery("placeOn", this.placeOn); - this.replace = conf.getBlockPosQuery("replace", this.replace); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - this.vine = conf.getBlockState("vinesState", this.vine); - this.trunkWidth = conf.getInt("trunkWidth", this.trunkWidth); - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorTreeBase.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorTreeBase.java deleted file mode 100644 index 44e7ada18..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorTreeBase.java +++ /dev/null @@ -1,239 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; - -import java.util.Random; - -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.enums.BOPTrees; -import biomesoplenty.api.enums.BOPWoods; -import biomesoplenty.api.generation.BOPGeneratorBase; -import biomesoplenty.common.block.BlockBOPLeaves; -import biomesoplenty.common.block.BlockBOPLog; -import biomesoplenty.common.util.biome.GeneratorUtils; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import biomesoplenty.common.util.block.BlockQuery; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryBlock; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryMaterial; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryParseException; -import biomesoplenty.common.util.block.BlockQuery.BlockQueryState; -import net.minecraft.block.Block; -import net.minecraft.block.BlockLeaves; -import net.minecraft.block.BlockLog; -import net.minecraft.block.BlockNewLeaf; -import net.minecraft.block.BlockNewLog; -import net.minecraft.block.BlockOldLeaf; -import net.minecraft.block.BlockOldLog; -import net.minecraft.block.BlockPlanks; -import net.minecraft.block.BlockVine; -import net.minecraft.block.material.Material; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public abstract class GeneratorTreeBase extends BOPGeneratorBase -{ - protected IBlockPosQuery placeOn; - protected IBlockPosQuery replace; - protected IBlockState log; - protected IBlockState leaves; - protected IBlockState vine; - protected IBlockState hanging; - protected IBlockState trunkFruit; - protected IBlockState altLeaves; - protected int minHeight; - protected int maxHeight; - protected IProperty logAxisProperty; - protected ScatterYMethod scatterYMethod; - - protected GeneratorTreeBase(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, ScatterYMethod scatterYMethod) { - super(amountPerChunk); - this.placeOn = placeOn; - this.replace = replace; - this.log = log; - this.leaves = leaves; - this.vine = vine; - this.hanging = hanging; - this.trunkFruit = trunkFruit; - this.altLeaves = altLeaves; - this.minHeight = minHeight; - this.maxHeight = maxHeight; - this.logAxisProperty = GeneratorUtils.getAxisProperty(log); - this.scatterYMethod = scatterYMethod; - } - - protected static abstract class InnerBuilder, G extends GeneratorTreeBase> extends BOPGeneratorBase.InnerBuilder - { - protected IBlockPosQuery placeOn; - protected IBlockPosQuery replace; - protected IBlockState log; - protected IBlockState leaves; - protected IBlockState vine; - protected IBlockState hanging; - protected IBlockState trunkFruit; - protected IBlockState altLeaves; - protected int minHeight; - protected int maxHeight; - protected boolean updateNeighbours; - protected ScatterYMethod scatterYMethod; - - public T placeOn(IBlockPosQuery a) {this.placeOn = a; return this.self();} - public T placeOn(String a) throws BlockQueryParseException {this.placeOn = BlockQuery.parseQueryString(a); return this.self();} - public T placeOn(Block a) {this.placeOn = new BlockQueryBlock(a); return this.self();} - public T placeOn(IBlockState a) {this.placeOn = new BlockQueryState(a); return this.self();} - public T placeOn(Material... a) {this.placeOn = new BlockQueryMaterial(a); return this.self();} - - public T replace(IBlockPosQuery a) {this.replace = a; return this.self();} - public T replace(String a) throws BlockQueryParseException {this.replace = BlockQuery.parseQueryString(a); return this.self();} - public T replace(Block a) {this.replace = new BlockQueryBlock(a); return this.self();} - public T replace(IBlockState a) {this.replace = new BlockQueryState(a); return this.self();} - public T replace(Material... a) {this.replace = new BlockQueryMaterial(a); return this.self();} - - public T log(IBlockState a) {this.log = a; return this.self();} - public T log(BOPWoods a) {this.log = BlockBOPLog.paging.getVariantState(a); return this.self();} - public T log(BlockPlanks.EnumType a) - { - if (a.getMetadata() < 4) - { - this.log = Blocks.LOG.getDefaultState().withProperty(BlockOldLog.VARIANT, a); - } else { - this.log = Blocks.LOG2.getDefaultState().withProperty(BlockNewLog.VARIANT, a); - } - return this.self(); - } - public T leaves(IBlockState a) {this.leaves = a; return this.self();} - public T leaves(BOPTrees a) {this.leaves = BlockBOPLeaves.paging.getVariantState(a).withProperty(BlockLeaves.CHECK_DECAY, false); return this.self();} - public T leaves(BlockPlanks.EnumType a) - { - if (a.getMetadata() < 4) - { - this.leaves = Blocks.LEAVES.getDefaultState().withProperty(BlockLeaves.CHECK_DECAY, false).withProperty(BlockOldLeaf.VARIANT, a); - } else { - this.leaves = Blocks.LEAVES2.getDefaultState().withProperty(BlockLeaves.CHECK_DECAY, false).withProperty(BlockNewLeaf.VARIANT, a); - } - return this.self(); - } - public T vine(IBlockState a) - { - this.vine = a; - return this.self(); - } - public T hanging(IBlockState a) - { - this.hanging = a; - return this.self(); - } - public T trunkFruit(IBlockState a) - { - this.trunkFruit = a; - return this.self(); - } - - public T altLeaves(IBlockState a) {this.altLeaves = a; return this.self();} - public T altLeaves(BOPTrees a) {this.altLeaves = BlockBOPLeaves.paging.getVariantState(a).withProperty(BlockLeaves.CHECK_DECAY, false); return this.self();} - public T altLeaves(BlockPlanks.EnumType a) - { - if (a.getMetadata() < 4) - { - this.altLeaves = Blocks.LEAVES.getDefaultState().withProperty(BlockLeaves.CHECK_DECAY, false).withProperty(BlockOldLeaf.VARIANT, a); - } else { - this.altLeaves = Blocks.LEAVES2.getDefaultState().withProperty(BlockLeaves.CHECK_DECAY, false).withProperty(BlockNewLeaf.VARIANT, a); - } - return this.self(); - } - - public T minHeight(int a) {this.minHeight = a; return this.self();} - public T maxHeight(int a) {this.maxHeight = a; return this.self();} - - public T updateNeighbours(boolean a) {this.updateNeighbours = a; return this.self();} - - public T scatterYMethod(ScatterYMethod a) {this.scatterYMethod = a; return this.self();} - } - - - @Override - public BlockPos getScatterY(World world, Random random, int x, int z) - { - return this.scatterYMethod.getBlockPos(world, random, x, z); - } - - public boolean setLeaves(World world, BlockPos pos) - { - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, this.leaves, 2); - return true; - } - return false; - } - - public boolean setLog(World world, BlockPos pos) - { - return this.setLog(world, pos, null); - } - - public boolean setLog(World world, BlockPos pos, EnumFacing.Axis axis) - { - IBlockState directedLog = (axis != null && this.logAxisProperty != null) ? this.log.withProperty(this.logAxisProperty, BlockLog.EnumAxis.fromFacingAxis(axis)) : this.log; - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, directedLog, 2); - return true; - } - return false; - } - - public boolean setVine(World world, Random rand, BlockPos pos, EnumFacing side, int length) - { - if (this.vine == null) {return false;} - IBlockState vineState = this.vine.getBlock() instanceof BlockVine ? this.vine.withProperty(BlockVine.NORTH, Boolean.valueOf(side == EnumFacing.NORTH)).withProperty(BlockVine.EAST, Boolean.valueOf(side == EnumFacing.EAST)).withProperty(BlockVine.SOUTH, Boolean.valueOf(side == EnumFacing.SOUTH)).withProperty(BlockVine.WEST, Boolean.valueOf(side == EnumFacing.WEST)) : this.vine; - boolean setOne = false; - while (world.getBlockState(pos).getBlock().isAir(world.getBlockState(pos), world, pos) && length > 0 && rand.nextInt(12) > 0) - { - world.setBlockState(pos, vineState, 2); - setOne = true; - length--; - pos = pos.down(); - } - return setOne; - } - - public boolean setHanging(World world, BlockPos pos) - { - if (this.hanging == null) {return false;} - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, this.hanging, 2); - } - return false; - } - - public boolean setTrunkFruit(World world, BlockPos pos) - { - if (this.trunkFruit == null) {return false;} - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, this.trunkFruit, 2); - } - return false; - } - - public boolean setAltLeaves(World world, BlockPos pos) - { - if (this.replace.matches(world, pos)) - { - world.setBlockState(pos, this.altLeaves, 2); - return true; - } - return false; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorTwigletTree.java b/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorTwigletTree.java deleted file mode 100644 index 62b01f02d..000000000 --- a/src/main/java/biomesoplenty/common/world/generator/tree/GeneratorTwigletTree.java +++ /dev/null @@ -1,153 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.generator.tree; - -import java.util.Random; - -import biomesoplenty.api.block.BlockQueries; -import biomesoplenty.api.block.IBlockPosQuery; -import biomesoplenty.api.config.IConfigObj; -import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod; -import net.minecraft.block.BlockCocoa; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -public class GeneratorTwigletTree extends GeneratorTreeBase -{ - - public static class Builder extends GeneratorTreeBase.InnerBuilder implements IGeneratorBuilder - { - protected float leafChanceEven; - protected float leafChanceOdd; - - public Builder leafChance(float a) {this.leafChanceEven = a; this.leafChanceOdd = a; return this.self();} - public Builder leafChance(float a, float b) {this.leafChanceEven = a; this.leafChanceOdd = b; return this.self();} - - public Builder() - { - this.amountPerChunk = 1.0F; - this.minHeight = 2; - this.maxHeight = 6; - this.placeOn = BlockQueries.fertile; - this.replace = BlockQueries.airOrLeaves; - this.log = Blocks.LOG.getDefaultState(); - this.leaves = Blocks.LEAVES.getDefaultState(); - this.vine = null; - this.hanging = null; - this.trunkFruit = null; - this.altLeaves = null; - this.leafChanceEven = 0.2F; - this.leafChanceOdd = 0.9F; - this.scatterYMethod = ScatterYMethod.AT_SURFACE; - } - - @Override - public GeneratorTwigletTree create() { - return new GeneratorTwigletTree(this.amountPerChunk, this.placeOn, this.replace, this.log, this.leaves, this.vine, this.hanging, this.trunkFruit, this.altLeaves, this.minHeight, this.maxHeight, this.leafChanceEven, this.leafChanceOdd, this.scatterYMethod); - } - } - - private float leafChanceEven; - private float leafChanceOdd; - - public GeneratorTwigletTree(float amountPerChunk, IBlockPosQuery placeOn, IBlockPosQuery replace, IBlockState log, IBlockState leaves, IBlockState vine, IBlockState hanging, IBlockState trunkFruit, IBlockState altLeaves, int minHeight, int maxHeight, float leafChanceEven, float leafChanceOdd, ScatterYMethod scatterYMethod) - { - super(amountPerChunk, placeOn, replace, log, leaves, vine, hanging, trunkFruit, altLeaves, minHeight, maxHeight, scatterYMethod); - this.leafChanceEven = leafChanceEven; - this.leafChanceOdd = leafChanceOdd; - } - - - @Override - public boolean generate(World world, Random random, BlockPos startPos) - { - - // Move down until we reach the ground - while (startPos.getY() > 1 && world.isAirBlock(startPos) || world.getBlockState(startPos).getBlock().isLeaves(world.getBlockState(startPos), world, startPos)) {startPos = startPos.down();} - - if (!this.placeOn.matches(world, startPos)) - { - // Abandon if we can't place the tree on this block - return false; - } - - // choose a random height - int height = this.minHeight + random.nextInt(1 + this.maxHeight - this.minHeight); - int baseHeight = height / 3; - - // start from the block above the ground block - BlockPos pos = startPos.up(); - - // add log and leaves on each level - float leafChance; - for (int y = 0; y < height; y++) - { - if (!this.setLog(world, pos.up(y))) - { - // abandon if the log can't grow - return true; - } - leafChance = ((height - y) % 2 == 0) ? this.leafChanceEven : this.leafChanceOdd; - if (y <= baseHeight) {continue;} // no leaves below base height - if (random.nextFloat() < leafChance) {this.setLeaves(world, pos.add(1, y, 0));} - if (random.nextFloat() < leafChance) {this.setLeaves(world, pos.add(-1, y, 0));} - if (random.nextFloat() < leafChance) {this.setLeaves(world, pos.add(0, y, 1));} - if (random.nextFloat() < leafChance) {this.setLeaves(world, pos.add(0, y, -1));} - - if (this.trunkFruit != null) - { - if (random.nextInt(3) == 0) - { - for (int l3 = 0; l3 < 2; ++l3) - { - for (EnumFacing enumfacing : EnumFacing.Plane.HORIZONTAL) - { - if (random.nextInt(4 - l3) == 0) - { - EnumFacing enumfacing1 = enumfacing.getOpposite(); - this.generateTrunkFruit(world, random.nextInt(3), pos.add(enumfacing1.getFrontOffsetX(), 0, enumfacing1.getFrontOffsetZ()), enumfacing); - } - } - } - } - } - } - // finish with leaves on top - this.setLeaves(world, pos.add(0, height, 0)); - - return true; - } - - private void generateTrunkFruit(World world, int age, BlockPos pos, EnumFacing direction) - { - if (this.trunkFruit == Blocks.COCOA.getDefaultState()) - { - this.setBlockAndNotifyAdequately(world, pos, this.trunkFruit.withProperty(BlockCocoa.AGE, Integer.valueOf(age)).withProperty(BlockCocoa.FACING, direction)); - } - else - { - this.setBlockAndNotifyAdequately(world, pos, this.trunkFruit.withProperty(BlockCocoa.FACING, direction)); - } - } - - @Override - public void configure(IConfigObj conf) - { - this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk); - this.minHeight = conf.getInt("minHeight", this.minHeight); - this.maxHeight = conf.getInt("maxHeight", this.maxHeight); - this.leafChanceEven = conf.getFloat("leafChance", this.leafChanceEven); - this.log = conf.getBlockState("logState", this.log); - this.leaves = conf.getBlockState("leavesState", this.leaves); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerAllSame.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerAllSame.java deleted file mode 100644 index 8ef873993..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerAllSame.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerAllSame extends BOPGenLayer -{ - private final int val; - - public GenLayerAllSame(long seed, int val) - { - super(seed); - this.val = val; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(areaX + x), (long)(areaY + y)); - out[x + y * areaWidth] = this.val; - } - } - return out; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerArchipelago.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerArchipelago.java deleted file mode 100644 index 74b6fdd89..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerArchipelago.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerArchipelago extends BOPGenLayer -{ - - private final int seaChance; - - public GenLayerArchipelago(long seed, int islandChance, GenLayer parent) - { - super(seed); - this.seaChance = islandChance; - this.parent = parent; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - int[] parentVals = this.parent.getInts(areaX, areaY, areaWidth, areaHeight); - - // randomly set land areas - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(areaX + x), (long)(areaY + y)); - out[x + y * areaWidth] = this.nextInt(this.seaChance) == 0 ? 0 : parentVals[x + y * areaWidth]; - } - } - - return out; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerBOPRiver.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerBOPRiver.java deleted file mode 100644 index e02d9b274..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerBOPRiver.java +++ /dev/null @@ -1,55 +0,0 @@ -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerBOPRiver extends BOPGenLayer -{ - public GenLayerBOPRiver(long seed, GenLayer parent) - { - super(seed); - this.parent = parent; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int areaX_ = areaX - 1; - int areaY_ = areaY - 1; - int areaWidth_ = areaWidth + 2; - int areaHeight_ = areaHeight + 2; - int[] parentVals = this.parent.getInts(areaX_, areaY_, areaWidth_, areaHeight_); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - int westVal = this.mod2(parentVals[x + 0 + (y + 1) * areaWidth_]); - int eastVal = this.mod2(parentVals[x + 2 + (y + 1) * areaWidth_]); - int northVal = this.mod2(parentVals[x + 1 + (y + 0) * areaWidth_]); - int southVal = this.mod2(parentVals[x + 1 + (y + 2) * areaWidth_]); - int val = this.mod2(parentVals[x + 1 + (y + 1) * areaWidth_]); - - if (val == westVal && val == northVal && val == eastVal && val == southVal) - { - out[x + y * areaWidth] = -1; - } - else - { - out[x + y * areaWidth] = Biome.getIdForBiome(Biomes.RIVER); - } - } - } - - return out; - } - - private int mod2(int a) - { - return a >= 2 ? 2 + (a & 1) : a; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeBOP.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeBOP.java deleted file mode 100644 index c36148588..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeBOP.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.generation.BOPGenLayer; -import biomesoplenty.common.init.ModBiomes; -import biomesoplenty.common.world.BOPWorldSettings; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; -import net.minecraftforge.common.BiomeManager.BiomeType; - -public class GenLayerBiomeBOP extends BOPGenLayer -{ - - private BOPWorldSettings settings; - private GenLayer landMassLayer; - private GenLayerClimate climateLayer; - - public GenLayerBiomeBOP(long seed, GenLayer landMassLayer, GenLayerClimate climateLayer, BOPWorldSettings settings) - { - super(seed); - this.landMassLayer = landMassLayer; - this.climateLayer = climateLayer; - this.settings = settings; - - // debugging - //BOPClimates.printWeights(); - } - - // Get array of biome IDs covering the requested area - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] landSeaValues = this.landMassLayer.getInts(areaX, areaY, areaWidth, areaHeight); - int[] climateValues = this.climateLayer.getInts(areaX, areaY, areaWidth, areaHeight); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int x = 0; x < areaHeight; ++x) - { - for (int z = 0; z < areaWidth; ++z) - { - int index = z + x * areaWidth; - this.initChunkSeed((long)(z + areaX), (long)(x + areaY)); - int landSeaVal = landSeaValues[index]; - int climateOrdinal = climateValues[index]; - - BOPClimates climate; - try { - climate = BOPClimates.lookup(climateOrdinal); - } catch (java.lang.ArrayIndexOutOfBoundsException e) { - // This shouldn't happen - but apparently it (rarely) does (https://github.com/Glitchfiend/BiomesOPlenty/issues/983) - // If it does it means that something weird happened with the climate layer / lookup - // Rethrow with hopefully a more useful message - String msg = "Climate lookup failed climateOrdinal: " + climateOrdinal + " climate layer mapping: " + climateLayer.debugClimateMappingInts(); - throw new java.lang.RuntimeException(msg,e); - } - - // At this point, oceans and land have been assigned, and so have mushroom islands - if (landSeaVal == Biome.getIdForBiome(Biomes.DEEP_OCEAN)) - { - out[index] = Biome.getIdForBiome(climate.getRandomOceanBiome(this, true)); - } - else if ((landSeaVal == Biome.getIdForBiome(Biomes.MUSHROOM_ISLAND) || ModBiomes.islandBiomesMap.containsKey(landSeaVal)) && climate.biomeType != BiomeType.ICY) - { - // keep islands, unless it's in an icy climate in which case, replace - out[index] = landSeaVal; - } - else if (landSeaVal == 0) - { - out[index] = Biome.getIdForBiome(climate.getRandomOceanBiome(this, false)); - } - else - { - out[index] = Biome.getIdForBiome(climate.getRandomBiome(this)); - } - } - } - - return out; - } - -} diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeBOPHell.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeBOPHell.java deleted file mode 100644 index 7f96d422a..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeBOPHell.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.generation.BOPGenLayer; -import biomesoplenty.common.init.ModBiomes; -import biomesoplenty.common.world.BOPWorldSettings; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; -import net.minecraftforge.common.BiomeManager.BiomeType; - -public class GenLayerBiomeBOPHell extends BOPGenLayer -{ - private BOPWorldSettings settings; - - public GenLayerBiomeBOPHell(long seed, BOPWorldSettings settings) - { - super(seed); - this.settings = settings; - - // debugging - //BOPClimates.printWeights(); - } - - // Get array of biome IDs covering the requested area - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int x = 0; x < areaHeight; ++x) - { - for (int z = 0; z < areaWidth; ++z) - { - int index = z + x * areaWidth; - this.initChunkSeed((long)(z + areaX), (long)(x + areaY)); - out[index] = Biome.getIdForBiome(BOPClimates.HELL.getRandomBiome(this)); - } - } - - return out; - } - -} diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeEdgeBOP.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeEdgeBOP.java deleted file mode 100644 index 38b5dcfd6..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeEdgeBOP.java +++ /dev/null @@ -1,201 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; - -import com.google.common.base.Optional; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerBiomeEdgeBOP extends BOPGenLayer -{ - - public GenLayerBiomeEdgeBOP(long seed, GenLayer parent) - { - super(seed); - this.parent = parent; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] parentVals = this.parent.getInts(areaX - 1, areaY - 1, areaWidth + 2, areaHeight + 2); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(x + areaX), (long)(y + areaY)); - int biomeId = parentVals[x + 1 + (y + 1) * (areaWidth + 2)]; - - // line BOP mountain peaks with BOP mountain foothills - if (this.replaceBiomeEdge(parentVals, out, x, y, areaWidth, biomeId, BOPBiomes.mountain, BOPBiomes.mountain_foothills)) {continue;} - - // line BOP alps peaks with BOP alps foothills - if (this.replaceBiomeEdge(parentVals, out, x, y, areaWidth, biomeId, BOPBiomes.alps, BOPBiomes.alps_foothills)) {continue;} - - // line BOP redwood forest with BOP redwood forest edge - if (this.replaceBiomeEdge(parentVals, out, x, y, areaWidth, biomeId, BOPBiomes.redwood_forest, BOPBiomes.redwood_forest_edge)) {continue;} - - // line BOP wasteland with vanilla desert - if (this.replaceBiomeEdge(parentVals, out, x, y, areaWidth, biomeId, BOPBiomes.wasteland, Optional.of(Biomes.DESERT))) {continue;} - - // line extreme hills with extreme hills edge - if (this.replaceBiomeEdgeIfNecessary(parentVals, out, x, y, areaWidth, biomeId, Biome.getIdForBiome(Biomes.EXTREME_HILLS), Biome.getIdForBiome(Biomes.EXTREME_HILLS_EDGE))) {continue;} - - // line mesa plateau with mesa - if (this.replaceBiomeEdge(parentVals, out, x, y, areaWidth, biomeId, Biome.getIdForBiome(Biomes.MESA_ROCK), Biome.getIdForBiome(Biomes.MESA))) {continue;} - if (this.replaceBiomeEdge(parentVals, out, x, y, areaWidth, biomeId, Biome.getIdForBiome(Biomes.MESA_CLEAR_ROCK), Biome.getIdForBiome(Biomes.MESA))) {continue;} - - // line mega taiga with ordinary taiga - if (this.replaceBiomeEdge(parentVals, out, x, y, areaWidth, biomeId, Biome.getIdForBiome(Biomes.REDWOOD_TAIGA), Biome.getIdForBiome(Biomes.TAIGA))) {continue;} - - int northBiomeId; - int eastBiomeId; - int westBiomeId; - int southBiomeId; - - if (biomeId == Biome.getIdForBiome(Biomes.DESERT)) - { - // if desert is next to ice plains turn it into extremeGillsPlus (separate the ice and desert with a big mountain) - northBiomeId = parentVals[x + 1 + (y + 1 - 1) * (areaWidth + 2)]; - eastBiomeId = parentVals[x + 1 + 1 + (y + 1) * (areaWidth + 2)]; - westBiomeId = parentVals[x + 1 - 1 + (y + 1) * (areaWidth + 2)]; - southBiomeId = parentVals[x + 1 + (y + 1 + 1) * (areaWidth + 2)]; - - if (northBiomeId != Biome.getIdForBiome(Biomes.ICE_PLAINS) && eastBiomeId != Biome.getIdForBiome(Biomes.ICE_PLAINS) && westBiomeId != Biome.getIdForBiome(Biomes.ICE_PLAINS) && southBiomeId != Biome.getIdForBiome(Biomes.ICE_PLAINS)) - { - out[x + y * areaWidth] = biomeId; - } - else - { - out[x + y * areaWidth] = Biome.getIdForBiome(Biomes.EXTREME_HILLS_WITH_TREES); - } - } - else if (biomeId == Biome.getIdForBiome(Biomes.SWAMPLAND)) - { - // if swamp is next to desert, cold taiga or ice planes, turn it into plains - // if swamp is next to jungle, turn it into jungle edge - northBiomeId = parentVals[x + 1 + (y + 1 - 1) * (areaWidth + 2)]; - eastBiomeId = parentVals[x + 1 + 1 + (y + 1) * (areaWidth + 2)]; - westBiomeId = parentVals[x + 1 - 1 + (y + 1) * (areaWidth + 2)]; - southBiomeId = parentVals[x + 1 + (y + 1 + 1) * (areaWidth + 2)]; - - if (northBiomeId != Biome.getIdForBiome(Biomes.DESERT) && eastBiomeId != Biome.getIdForBiome(Biomes.DESERT) && westBiomeId != Biome.getIdForBiome(Biomes.DESERT) && southBiomeId != Biome.getIdForBiome(Biomes.DESERT) && northBiomeId != Biome.getIdForBiome(Biomes.COLD_TAIGA) && eastBiomeId != Biome.getIdForBiome(Biomes.COLD_TAIGA) && westBiomeId != Biome.getIdForBiome(Biomes.COLD_TAIGA) && southBiomeId != Biome.getIdForBiome(Biomes.COLD_TAIGA) && northBiomeId != Biome.getIdForBiome(Biomes.ICE_PLAINS) && eastBiomeId != Biome.getIdForBiome(Biomes.ICE_PLAINS) && westBiomeId != Biome.getIdForBiome(Biomes.ICE_PLAINS) && southBiomeId != Biome.getIdForBiome(Biomes.ICE_PLAINS)) - { - if (northBiomeId != Biome.getIdForBiome(Biomes.JUNGLE) && southBiomeId != Biome.getIdForBiome(Biomes.JUNGLE) && eastBiomeId != Biome.getIdForBiome(Biomes.JUNGLE) && westBiomeId != Biome.getIdForBiome(Biomes.JUNGLE)) - { - out[x + y * areaWidth] = biomeId; - } - else - { - out[x + y * areaWidth] = Biome.getIdForBiome(Biomes.JUNGLE_EDGE); - } - } - else - { - out[x + y * areaWidth] = Biome.getIdForBiome(Biomes.PLAINS); - } - } - else - { - out[x + y * areaWidth] = biomeId; - } - } - } - - return out; - } - - private boolean replaceBiomeEdgeIfNecessary(int[] parentVals, int[] out, int x, int y, int areaWidth, int biomeId, int fromBiomeId, int toBiomeId) - { - if (!biomesEqualOrMesaPlateau(biomeId, fromBiomeId)) - { - return false; - } - else - { - int northBiomeId = parentVals[x + 1 + (y + 1 - 1) * (areaWidth + 2)]; - int eastBiomeId = parentVals[x + 1 + 1 + (y + 1) * (areaWidth + 2)]; - int westBiomeId = parentVals[x + 1 - 1 + (y + 1) * (areaWidth + 2)]; - int southBiomeId = parentVals[x + 1 + (y + 1 + 1) * (areaWidth + 2)]; - - if (this.canBiomesBeNeighbors(northBiomeId, fromBiomeId) && this.canBiomesBeNeighbors(eastBiomeId, fromBiomeId) && this.canBiomesBeNeighbors(westBiomeId, fromBiomeId) && this.canBiomesBeNeighbors(southBiomeId, fromBiomeId)) - { - out[x + y * areaWidth] = biomeId; - } - else - { - out[x + y * areaWidth] = toBiomeId; - } - - return true; - } - } - - private boolean replaceBiomeEdge(int[] parentVals, int[] out, int x, int y, int areaWidth, int biomeId, Optional fromBiome, Optional toBiome) - { - return fromBiome.isPresent() && toBiome.isPresent() && this.replaceBiomeEdge(parentVals, out, x, y, areaWidth, biomeId, Biome.getIdForBiome(fromBiome.get()), Biome.getIdForBiome(toBiome.get())); - } - - private boolean replaceBiomeEdge(int[] parentVals, int[] out, int x, int y, int areaWidth, int biomeId, int fromBiomeId, int toBiomeId) - { - if (biomeId != fromBiomeId) - { - return false; - } - else - { - int northBiomeId = parentVals[x + 1 + (y + 1 - 1) * (areaWidth + 2)]; - int eastBiomeId = parentVals[x + 1 + 1 + (y + 1) * (areaWidth + 2)]; - int westBiomeId = parentVals[x + 1 - 1 + (y + 1) * (areaWidth + 2)]; - int southBiomeId = parentVals[x + 1 + (y + 1 + 1) * (areaWidth + 2)]; - - if (biomesEqualOrMesaPlateau(northBiomeId, fromBiomeId) && biomesEqualOrMesaPlateau(eastBiomeId, fromBiomeId) && biomesEqualOrMesaPlateau(westBiomeId, fromBiomeId) && biomesEqualOrMesaPlateau(southBiomeId, fromBiomeId)) - { - out[x + y * areaWidth] = biomeId; - } - else - { - out[x + y * areaWidth] = toBiomeId; - } - - return true; - } - } - - private boolean canBiomesBeNeighbors(int biomeA, int biomeB) - { - if (biomesEqualOrMesaPlateau(biomeA, biomeB)) - { - return true; - } - else - { - Biome BiomeA = Biome.getBiome(biomeA); - Biome BiomeB = Biome.getBiome(biomeB); - - if (BiomeA != null && BiomeB != null) - { - Biome.TempCategory tempcategory = BiomeA.getTempCategory(); - Biome.TempCategory tempcategory1 = BiomeB.getTempCategory(); - return tempcategory == tempcategory1 || tempcategory == Biome.TempCategory.MEDIUM || tempcategory1 == Biome.TempCategory.MEDIUM; - } - else - { - return false; - } - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeIslands.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeIslands.java deleted file mode 100644 index 248c73648..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerBiomeIslands.java +++ /dev/null @@ -1,79 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerBiomeIslands extends BOPGenLayer -{ - private GenLayer climateLayer; - private int islandChance; - - public GenLayerBiomeIslands(long seed, GenLayer biomesLayer, GenLayer climateLayer, int islandChance) - { - super(seed); - this.parent = biomesLayer; - this.climateLayer = climateLayer; - this.islandChance = islandChance; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] biomeIds = this.parent.getInts(areaX - 1, areaY - 1, areaWidth + 2, areaHeight + 2); - int[] climateVals = this.climateLayer.getInts(areaX, areaY, areaWidth, areaHeight); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int z = 0; z < areaHeight; ++z) - { - for (int x = 0; x < areaWidth; ++x) - { - - int biomeID = biomeIds[x + 1 + (z + 1) * (areaWidth + 2)]; - this.initChunkSeed((long)(x + areaX), (long)(z + areaY)); - - // if it's an ocean, there's a chance of creating an island here - if ((biomeID == Biome.getIdForBiome(Biomes.OCEAN) || biomeID == Biome.getIdForBiome(Biomes.DEEP_OCEAN)) && (this.nextInt(this.islandChance) == 0)) - { - // check that the tile is surrounded by ocean - int biomeNorth = biomeIds[x + 1 + (z + 1 - 1) * (areaWidth + 2)]; - int biomeEast = biomeIds[x + 1 + 1 + (z + 1) * (areaWidth + 2)]; - int biomeWest = biomeIds[x + 1 - 1 + (z + 1) * (areaWidth + 2)]; - int biomeSouth = biomeIds[x + 1 + (z + 1 + 1) * (areaWidth + 2)]; - if ( - (biomeNorth == Biome.getIdForBiome(Biomes.OCEAN) || biomeNorth == Biome.getIdForBiome(Biomes.DEEP_OCEAN)) && - (biomeEast == Biome.getIdForBiome(Biomes.OCEAN) || biomeEast == Biome.getIdForBiome(Biomes.DEEP_OCEAN)) && - (biomeWest == Biome.getIdForBiome(Biomes.OCEAN) || biomeWest == Biome.getIdForBiome(Biomes.DEEP_OCEAN)) && - (biomeSouth == Biome.getIdForBiome(Biomes.OCEAN) || biomeSouth == Biome.getIdForBiome(Biomes.DEEP_OCEAN)) - ) - { - int climateVal = climateVals[x + z * areaWidth]; - out[x + z * areaWidth] = Biome.getIdForBiome(BOPClimates.lookup(climateVal).getRandomBiome(this)); - } - else - { - out[x + z * areaWidth] = biomeID; - } - } - else - { - out[x + z * areaWidth] = biomeID; - } - } - } - - return out; - } - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerClimate.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerClimate.java deleted file mode 100644 index 3bc439271..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerClimate.java +++ /dev/null @@ -1,49 +0,0 @@ -package biomesoplenty.common.world.layer; - -import java.util.Arrays; - -import biomesoplenty.api.enums.BOPClimates; -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerClimate extends BOPGenLayer { - - private final GenLayer temperature; - private final GenLayer rainfall; - private final int[] climateMapping; - - public GenLayerClimate(long seed, GenLayer temperature, GenLayer rainfall) { - super(seed); - this.temperature = temperature; - this.rainfall = rainfall; - this.climateMapping = BOPClimates.getClimateMappingInts(); - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] temperatureValues = this.temperature.getInts(areaX, areaY, areaWidth, areaHeight); - int[] rainfallValues = this.rainfall.getInts(areaX, areaY, areaWidth, areaHeight); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int i = 0; i < areaWidth * areaHeight; ++i) - { - // temperature values from 0 (cold) to 8 (hot) and rainfall values from 0 (wet) to 11 (dry), index is (temperatureValue * 12) + rainfallValue - // clamp as a precaution against potential rounding errors due to use of doubles/floats in noise calculations - // this guarantees index is between 0 and 108 (= 9 * 12), the range of indexes in BOPClimates.getClimateMappingInts() - int index = ( MathHelper.clamp(temperatureValues[i], 0, 8) * 12 ) + MathHelper.clamp(rainfallValues[i], 0, 11); - - out[i] = this.climateMapping[index]; - } - return out; - } - - // debug method added to assist in troubleshooting a specific bug (https://github.com/Glitchfiend/BiomesOPlenty/issues/983) - public String debugClimateMappingInts() - { - return Arrays.toString(this.climateMapping); - } - -} diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerIslandBOP.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerIslandBOP.java deleted file mode 100644 index 4c7101d3d..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerIslandBOP.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerIslandBOP extends BOPGenLayer -{ - - private final int islandChance; - - public GenLayerIslandBOP(long seed, int islandChance) - { - this(seed, islandChance, null); - } - - public GenLayerIslandBOP(long seed, int islandChance, GenLayer parent) - { - super(seed); - this.islandChance = islandChance; - this.parent = parent; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - if (this.parent == null) - { - // randomly set land areas - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(areaX + x), (long)(areaY + y)); - out[x + y * areaWidth] = this.nextInt(this.islandChance) == 0 ? 1 : 0; - } - } - - // set the origin as land, always - if (areaX > -areaWidth && areaX <= 0 && areaY > -areaHeight && areaY <= 0) - { - out[-areaX + -areaY * areaWidth] = 1; - } - - } - else - { - int[] parentVals = this.parent.getInts(areaX, areaY, areaWidth, areaHeight); - - // randomly set land areas - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(areaX + x), (long)(areaY + y)); - out[x + y * areaWidth] = ((parentVals[x + y * areaWidth] == 0) ? ((this.nextInt(this.islandChance) == 0) ? 1 : 0) : parentVals[x + y * areaWidth]); - } - } - } - - return out; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerLargeIsland.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerLargeIsland.java deleted file mode 100644 index 070b519ab..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerLargeIsland.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world.layer; - -import java.util.Iterator; -import java.util.Map.Entry; - -import biomesoplenty.api.generation.BOPGenLayer; -import biomesoplenty.common.init.ModBiomes; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerLargeIsland extends BOPGenLayer -{ - public GenLayerLargeIsland(long seed, GenLayer parent) - { - super(seed); - this.parent = parent; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int outerWidth = areaWidth + 2; - - int[] biomeIds = this.parent.getInts(areaX - 1, areaY - 1, areaWidth + 2, areaHeight + 2); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int z = 0; z < areaHeight; ++z) - { - for (int x = 0; x < areaWidth; ++x) - { - int biomeNorth = biomeIds[x + 1 + (z + 1 - 1) * (areaWidth + 2)]; - int biomeEast = biomeIds[x + 1 + 1 + (z + 1) * (areaWidth + 2)]; - int biomeWest = biomeIds[x + 1 - 1 + (z + 1) * (areaWidth + 2)]; - int biomeSouth = biomeIds[x + 1 + (z + 1 + 1) * (areaWidth + 2)]; - int centerVal = biomeIds[x + 1 + (z + 1) * outerWidth]; - - this.initChunkSeed((long)(x + areaX), (long)(z + areaY)); - - if (centerVal == 0 && biomeNorth == 0 && biomeEast == 0 && biomeWest == 0 && biomeSouth == 0 && this.nextInt(50) == 0) - { - out[x + z * areaWidth] = getRandomIslandBiome(); - } - else - { - out[x + z * areaWidth] = centerVal; - } - } - } - - return out; - } - - public int getRandomIslandBiome() - { - if (ModBiomes.totalIslandBiomesWeight <= 0) - { - return 0; - } - - int weight = this.nextInt(ModBiomes.totalIslandBiomesWeight); - Iterator> iterator = ModBiomes.islandBiomesMap.entrySet().iterator(); - - Entry item; - do - { - item = iterator.next(); - weight -= item.getValue(); - } - while (weight >= 0); - return item.getKey(); - } -} diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerRaggedEdges.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerRaggedEdges.java deleted file mode 100644 index d65d70945..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerRaggedEdges.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerRaggedEdges extends BOPGenLayer -{ - - public GenLayerRaggedEdges(long seed, GenLayer parent) - { - super(seed); - this.parent = parent; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int outerWidth = areaWidth + 2; - int outerHeight = areaHeight + 2; - int[] parentVals = this.parent.getInts(areaX - 1, areaY - 1, outerWidth, outerHeight); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - int northWestVal = parentVals[x + 0 + (y + 0) * outerWidth]; - int northEastVal = parentVals[x + 2 + (y + 0) * outerWidth]; - int southWestVal = parentVals[x + 0 + (y + 2) * outerWidth]; - int southEastVal = parentVals[x + 2 + (y + 2) * outerWidth]; - int centerVal = parentVals[x + 1 + (y + 1) * outerWidth]; - - this.initChunkSeed((long)(x + areaX), (long)(y + areaY)); - - if (centerVal == 0 && (northWestVal != 0 || northEastVal != 0 || southWestVal != 0 || southEastVal != 0)) - { - // center is an ocean touching land on at least one corner - - // with a one in 3 chance, turn the ocean into a random one of the corners - if (this.nextInt(3) == 0) - { - int counter = 1; - int replacement = 1; - if (northWestVal != 0 && this.nextInt(counter++) == 0) {replacement = northWestVal;} - if (northEastVal != 0 && this.nextInt(counter++) == 0) {replacement = northEastVal;} - if (southWestVal != 0 && this.nextInt(counter++) == 0) {replacement = southWestVal;} - if (southEastVal != 0 && this.nextInt(counter++) == 0) {replacement = southEastVal;} - out[x + y * areaWidth] = replacement; - } - else - { - out[x + y * areaWidth] = 0; - } - } - else if (centerVal > 0 && (northWestVal == 0 || northEastVal == 0 || southWestVal == 0 || southEastVal == 0)) - { - // center is a land square, with ocean on at least one corner - - // with a one in 5 chance, turn the center into ocean - out[x + y * areaWidth] = (this.nextInt(5) == 0) ? 0 : centerVal; - } - else - { - // otherwise, leave it alone - out[x + y * areaWidth] = centerVal; - } - } - } - - return out; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerRainfallNoise.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerRainfallNoise.java deleted file mode 100644 index 7209e3ff0..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerRainfallNoise.java +++ /dev/null @@ -1,53 +0,0 @@ -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.generation.BOPGenLayer; -import biomesoplenty.common.world.SimplexNoise; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerRainfallNoise extends BOPGenLayer { - - private final double xOffset; - private final double yOffset; - private final double scale; - - public GenLayerRainfallNoise(long seed, long worldSeed, double scale) { - super(seed); - this.xOffset = (worldSeed >> 32) * 0.000003D; - this.yOffset = (worldSeed >> 32) * 0.000004D; - this.scale = scale; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) { - - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(areaX + x), (long)(areaY + y)); - - double noiseVal = SimplexNoise.noise((areaX + x + this.xOffset) * this.scale, (areaY + y + this.yOffset) * this.scale); - - // boundaries were determined empirically by analyzing statistically output from the SimplexNoise function, and splitting into 12 equally likely groups - if (noiseVal < -0.637D) {out[x + y * areaWidth] = 0;} - else if (noiseVal < -0.575D) {out[x + y * areaWidth] = 1;} - else if (noiseVal < -0.465D) {out[x + y * areaWidth] = 2;} - else if (noiseVal < -0.295D) {out[x + y * areaWidth] = 3;} - else if (noiseVal < -0.148D) {out[x + y * areaWidth] = 4;} - else if (noiseVal < -0.034D) {out[x + y * areaWidth] = 5;} - else if (noiseVal < 0.132D) {out[x + y * areaWidth] = 6;} - else if (noiseVal < 0.246D) {out[x + y * areaWidth] = 7;} - else if (noiseVal < 0.400D) {out[x + y * areaWidth] = 8;} - else if (noiseVal < 0.551D) {out[x + y * areaWidth] = 9;} - else if (noiseVal < 0.634D) {out[x + y * areaWidth] = 10;} - else {out[x + y * areaWidth] = 11;} - - } - } - - return out; - } - -} diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerRainfallRandom.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerRainfallRandom.java deleted file mode 100644 index 4a2af7345..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerRainfallRandom.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerRainfallRandom extends BOPGenLayer -{ - - public GenLayerRainfallRandom(long seed) - { - super(seed); - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(x + areaX), (long)(y + areaY)); - // choose a random heat value - out[x + y * areaWidth] = this.nextInt(12); - } - } - - return out; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerRiverMixBOP.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerRiverMixBOP.java deleted file mode 100644 index f61f99501..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerRiverMixBOP.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.generation.BOPGenLayer; -import biomesoplenty.common.biome.overworld.BOPOverworldBiome; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerRiverMixBOP extends BOPGenLayer -{ - private GenLayer biomesBranch; - private GenLayer riversBranch; - - public GenLayerRiverMixBOP(long seed, GenLayer biomesBranch, GenLayer riversBranch) - { - super(seed); - this.biomesBranch = biomesBranch; - this.riversBranch = riversBranch; - } - - @Override - public void initWorldGenSeed(long worldSeed) - { - this.biomesBranch.initWorldGenSeed(worldSeed); - this.riversBranch.initWorldGenSeed(worldSeed); - super.initWorldGenSeed(worldSeed); - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] biomeIds = this.biomesBranch.getInts(areaX, areaY, areaWidth, areaHeight); - int[] riverValues = this.riversBranch.getInts(areaX, areaY, areaWidth, areaHeight); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int i = 0; i < areaWidth * areaHeight; ++i) - { - if (biomeIds[i] != Biome.getIdForBiome(Biomes.FROZEN_OCEAN) && biomeIds[i] != Biome.getIdForBiome(Biomes.OCEAN) && biomeIds[i] != Biome.getIdForBiome(Biomes.DEEP_OCEAN) && biomeSupportsRivers(biomeIds[i])) - { - if (riverValues[i] == Biome.getIdForBiome(Biomes.RIVER)) - { - if (biomeIds[i] == Biome.getIdForBiome(Biomes.ICE_PLAINS) || (BOPBiomes.snowy_forest.isPresent() && biomeIds[i] == Biome.getIdForBiome(BOPBiomes.snowy_forest.get())) || (BOPBiomes.alps.isPresent() && biomeIds[i] == Biome.getIdForBiome(BOPBiomes.alps.get()))) - { - out[i] = Biome.getIdForBiome(Biomes.FROZEN_RIVER); - } - else if (biomeIds[i] != Biome.getIdForBiome(Biomes.MUSHROOM_ISLAND) && biomeIds[i] != Biome.getIdForBiome(Biomes.MUSHROOM_ISLAND_SHORE)) - { - out[i] = riverValues[i] & 255; - } - else - { - out[i] = Biome.getIdForBiome(Biomes.MUSHROOM_ISLAND_SHORE); - } - } - else - { - out[i] = biomeIds[i]; - } - } - else - { - out[i] = biomeIds[i]; - } - } - - return out; - } - - private boolean biomeSupportsRivers(int biomeId) - { - Biome biome = Biome.getBiome(biomeId); - - if (biome != null && biome instanceof BOPOverworldBiome) - { - BOPOverworldBiome bopBiome = (BOPOverworldBiome)biome; - return bopBiome.canGenerateRivers; - } - - return true; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerShoreBOP.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerShoreBOP.java deleted file mode 100644 index 1da8d2223..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerShoreBOP.java +++ /dev/null @@ -1,189 +0,0 @@ -/******************************************************************************* - * Copyright 2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world.layer; - -import com.google.common.base.Predicate; - -import biomesoplenty.api.biome.BOPBiomes; -import biomesoplenty.api.biome.IExtendedBiome; -import biomesoplenty.api.generation.BOPGenLayer; -import biomesoplenty.common.util.biome.BiomeUtils; -import net.minecraft.init.Biomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.BiomeJungle; -import net.minecraft.world.biome.BiomeMesa; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerShoreBOP extends BOPGenLayer -{ - public GenLayerShoreBOP(long seed, GenLayer parent) - { - super(seed); - this.parent = parent; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] biomeIds = this.parent.getInts(areaX - 1, areaY - 1, areaWidth + 2, areaHeight + 2); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int z = 0; z < areaHeight; ++z) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(x + areaX), (long)(z + areaY)); - //The biome we're going to attempt to put a beach beside - int biomeId = biomeIds[x + 1 + (z + 1) * (areaWidth + 2)]; - Biome biome = Biome.getBiome(biomeId); - - if (biomeId == Biome.getIdForBiome(Biomes.MUSHROOM_ISLAND)) - { - setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, Biome.getIdForBiome(Biomes.MUSHROOM_ISLAND_SHORE), OCEAN_PREDICATE); - } - else if (biome != null && biome.getBiomeClass() == BiomeJungle.class) - { - int biomeNorth = biomeIds[x + 1 + (z + 1 - 1) * (areaWidth + 2)]; - int biomeEast = biomeIds[x + 1 + 1 + (z + 1) * (areaWidth + 2)]; - int biomeWest = biomeIds[x + 1 - 1 + (z + 1) * (areaWidth + 2)]; - int biomeSouth = biomeIds[x + 1 + (z + 1 + 1) * (areaWidth + 2)]; - - //Ensure the biomes surrounding the jungle are all suitable before generating a beach - if (JUNGLE_BORDER_PREDICATE.apply(biomeNorth) && JUNGLE_BORDER_PREDICATE.apply(biomeEast) && JUNGLE_BORDER_PREDICATE.apply(biomeWest) && JUNGLE_BORDER_PREDICATE.apply(biomeSouth)) - { - setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, Biome.getIdForBiome(Biomes.BEACH), OCEANIC_PREDICATE); - } - else //There is a non-jungle/ocean/taiga/forest next to the jungle, generate an edge biome - { - out[x + z * areaWidth] = Biome.getIdForBiome(Biomes.JUNGLE_EDGE); - } - } - else if (biomeId != Biome.getIdForBiome(Biomes.EXTREME_HILLS) && biomeId != Biome.getIdForBiome(Biomes.EXTREME_HILLS_WITH_TREES) && biomeId != Biome.getIdForBiome(Biomes.EXTREME_HILLS_EDGE)) - { - if (biome != null && biome.isSnowyBiome()) //Snowy biomes should have cold beaches - { - //Frozen ocean should not have a beach - if (isBiomeOceanic(biomeId)) - { - out[x + z * areaWidth] = biomeId; - } - else - { - Biome beachBiome = null; - if (BOPBiomes.REG_INSTANCE.getExtendedBiome(biome) != null) - { - IExtendedBiome extBiome = BOPBiomes.REG_INSTANCE.getExtendedBiome(biome); - beachBiome = BiomeUtils.getBiomeForLoc(extBiome.getBeachLocation()); - } - setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, beachBiome == null ? biomeId : Biome.getIdForBiome(Biomes.COLD_BEACH), OCEANIC_PREDICATE); - } - } - else if (biomeId != Biome.getIdForBiome(Biomes.MESA) && biomeId != Biome.getIdForBiome(Biomes.MESA_ROCK)) - { - if (biomeId != Biome.getIdForBiome(Biomes.OCEAN) && biomeId != Biome.getIdForBiome(Biomes.DEEP_OCEAN) && biomeId != Biome.getIdForBiome(Biomes.RIVER) && biomeId != Biome.getIdForBiome(Biomes.SWAMPLAND)) - { - //Generate custom beaches for our biomes - if (biome != null && BOPBiomes.REG_INSTANCE.getExtendedBiome(biome) != null) - { - IExtendedBiome extBiome = BOPBiomes.REG_INSTANCE.getExtendedBiome(biome); - Biome beachBiome = BiomeUtils.getBiomeForLoc(extBiome.getBeachLocation()); - setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, beachBiome == null ? biomeId : Biome.getIdForBiome(beachBiome), OCEANIC_PREDICATE); - } - else - { - setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, Biome.getIdForBiome(Biomes.BEACH), OCEANIC_PREDICATE); - } - } - else //Biome is watery, don't put any beaches next to it - { - out[x + z * areaWidth] = biomeId; - } - } - else //Biome is a variant of the mesa - { - int biomeNorth = biomeIds[x + 1 + (z + 1 - 1) * (areaWidth + 2)]; - int biomeEast = biomeIds[x + 1 + 1 + (z + 1) * (areaWidth + 2)]; - int biomeWest = biomeIds[x + 1 - 1 + (z + 1) * (areaWidth + 2)]; - int biomeSouth = biomeIds[x + 1 + (z + 1 + 1) * (areaWidth + 2)]; - - //Ensure that none of the surrounding biomes are ocean - if (!isBiomeOceanic(biomeNorth) && !isBiomeOceanic(biomeEast) && !isBiomeOceanic(biomeWest) && !isBiomeOceanic(biomeSouth)) - { - //If at least one of the surrounding biomes is a non-mesa, set it to desert - setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, Biome.getIdForBiome(Biomes.DESERT), MESA_PREDICATE); - } - else - { - out[x + z * areaWidth] = biomeId; - } - } - } - else //Biome is a variant of the extreme hills - { - this.setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, Biome.getIdForBiome(Biomes.STONE_BEACH), OCEANIC_PREDICATE); - } - } - } - - return out; - } - - private void setBiomeWithAdjacent(int[] biomeIds, int[] out, int x, int z, int areaWidth, int biomeId, int beachId, Predicate adjacentPredicate) - { - int biomeNorth = biomeIds[x + 1 + (z + 1 - 1) * (areaWidth + 2)]; - int biomeEast = biomeIds[x + 1 + 1 + (z + 1) * (areaWidth + 2)]; - int biomeWest = biomeIds[x + 1 - 1 + (z + 1) * (areaWidth + 2)]; - int biomeSouth = biomeIds[x + 1 + (z + 1 + 1) * (areaWidth + 2)]; - - if (adjacentPredicate.apply(biomeNorth) || adjacentPredicate.apply(biomeEast) || adjacentPredicate.apply(biomeWest) || adjacentPredicate.apply(biomeSouth)) - { - out[x + z * areaWidth] = beachId; - } - else - { - out[x + z * areaWidth] = biomeId; - } - } - - private static final Predicate OCEAN_PREDICATE = new Predicate() - { - @Override - public boolean apply(Integer input) - { - return input == Biome.getIdForBiome(Biomes.OCEAN); - } - }; - - private static final Predicate OCEANIC_PREDICATE = new Predicate() - { - @Override - public boolean apply(Integer input) - { - return isBiomeOceanic(input); - } - }; - - private static final Predicate JUNGLE_BORDER_PREDICATE = new Predicate() - { - @Override - public boolean apply(Integer input) - { - return Biome.getBiome(input) != null && Biome.getBiome(input).getBiomeClass() == BiomeJungle.class || (input == Biome.getIdForBiome(Biomes.JUNGLE_EDGE) || input == Biome.getIdForBiome(Biomes.JUNGLE) || input == Biome.getIdForBiome(Biomes.JUNGLE_HILLS) || input == Biome.getIdForBiome(Biomes.FOREST) || input == Biome.getIdForBiome(Biomes.TAIGA) || isBiomeOceanic(input)); - } - }; - - private static final Predicate MESA_PREDICATE = new Predicate() - { - @Override - public boolean apply(Integer input) - { - return !(Biome.getBiome(input) instanceof BiomeMesa); - } - }; -} diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerSubBiomesBOP.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerSubBiomesBOP.java deleted file mode 100644 index 48582039c..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerSubBiomesBOP.java +++ /dev/null @@ -1,135 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; - -import java.util.List; - -import biomesoplenty.api.generation.BOPGenLayer; -import biomesoplenty.common.init.ModBiomes; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.layer.GenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerSubBiomesBOP extends BOPGenLayer -{ - private GenLayer subBiomesInit; - - public GenLayerSubBiomesBOP(long seed, GenLayer biomesLayer, GenLayer subBiomesInit) - { - super(seed); - this.parent = biomesLayer; - this.subBiomesInit = subBiomesInit; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] biomeIds = this.parent.getInts(areaX - 1, areaY - 1, areaWidth + 2, areaHeight + 2); - int[] initVals = this.subBiomesInit.getInts(areaX - 1, areaY - 1, areaWidth + 2, areaHeight + 2); - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int z = 0; z < areaHeight; ++z) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(x + areaX), (long)(z + areaY)); - int biomeID = biomeIds[x + 1 + (z + 1) * (areaWidth + 2)]; - - // subBiomeInit comes from an instance of GenLayerRiverInit - // ...which produces random 'oceans' of zeros, and 'continents' of random values between 2 and 300001 - // when combined with % 29, the result is 'oceans' of zeros and 'continents' of random values between 0 and 28 - // I'm not sure whether or not these align with the oceans and continents in the biome layer... - int initVal = (initVals[x + 1 + (z + 1) * (areaWidth + 2)] % 29); - - // if we're on one of the 'continents', then there's a one in 29 chance of trying a rare biome - boolean tryRareBiome = (initVal == 1); - boolean tryRareHillsBiome = (initVal == 2); - - - if (biomeID != 0 && tryRareBiome) - { - // convert to mutated biome - out[x + z * areaWidth] = this.getRareSubBiome(biomeID); - } - else if (this.nextInt(3) != 0 && !tryRareHillsBiome) - { - // leave biome unchanged - out[x + z * areaWidth] = biomeID; - } - else - { - int altBiomeID = this.getCommonSubBiome(biomeID); - if (altBiomeID == biomeID) - { - // leave biome unchanged - out[x + z * areaWidth] = biomeID; - } - else - { - if (tryRareHillsBiome) - { - altBiomeID = this.getRareSubBiome(altBiomeID); - } - - int biomeNorth = biomeIds[x + 1 + (z + 1 - 1) * (areaWidth + 2)]; - int biomeEast = biomeIds[x + 1 + 1 + (z + 1) * (areaWidth + 2)]; - int biomeWest = biomeIds[x + 1 - 1 + (z + 1) * (areaWidth + 2)]; - int biomeSouth = biomeIds[x + 1 + (z + 1 + 1) * (areaWidth + 2)]; - int surroundingSameCount = 0; - - if (biomesEqualOrMesaPlateau(biomeNorth, biomeID)) {++surroundingSameCount;} - if (biomesEqualOrMesaPlateau(biomeEast, biomeID)) {++surroundingSameCount;} - if (biomesEqualOrMesaPlateau(biomeWest, biomeID)) {++surroundingSameCount;} - if (biomesEqualOrMesaPlateau(biomeSouth, biomeID)) {++surroundingSameCount;} - - if (surroundingSameCount >= 3) - { - // if at least 3 out of the 4 surrounding biomes are the same (or mesa plateau) then replace the biome - out[x + z * areaWidth] = altBiomeID; - } - else - { - // else leave the biome unchanged - out[x + z * areaWidth] = biomeID; - } - } - } - } - } - - return out; - } - - - - // Given a biomeId, return the biomeId of a rare alternative biome which you could sometimes find a patch of within the outer biome - // This is usually the 'mutated' version of a biome - public int getRareSubBiome(int biomeId) - { - int subBiomeId = Biome.getIdForBiome(Biome.getMutationForBiome(Biome.getBiome(biomeId))); - // If this biome has no mutation -1 will be returned, which is not a valid biome id. - // Thus, we swap it for the original biome id - return subBiomeId == -1 ? biomeId : subBiomeId; - } - - // Given a biomeId, return the biomeId of a reasonably common alternative biome which you might expect to find a patch of within the outer biome - // For many biomes, this is the 'hills' version - public int getCommonSubBiome(int biomeId) - { - List subBiomeIds = ModBiomes.subBiomesMap.get(biomeId); - if (subBiomeIds == null) {return biomeId;} - int n = subBiomeIds.size(); - return (n == 0 ? biomeId : (n == 1 ? subBiomeIds.get(0).intValue() : subBiomeIds.get(this.nextInt(n)).intValue())); - - } - - - - -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerSubBiomesBOPHell.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerSubBiomesBOPHell.java deleted file mode 100644 index d9b882ba4..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerSubBiomesBOPHell.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2017, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ -package biomesoplenty.common.world.layer; - -import net.minecraft.world.gen.layer.GenLayer; - -public class GenLayerSubBiomesBOPHell extends GenLayerSubBiomesBOP -{ - public GenLayerSubBiomesBOPHell(long seed, GenLayer biomesLayer, GenLayer subBiomesInit) - { - super(seed, biomesLayer, subBiomesInit); - } - - // Only replace with the sub biome if it's not ocean - @Override - public int getRareSubBiome(int biomeId) - { - int subBiomeId = super.getRareSubBiome(biomeId); - return subBiomeId != 0 ? subBiomeId : biomeId; - } - - // Only replace with the sub biome if it's not ocean - @Override - public int getCommonSubBiome(int biomeId) - { - int subBiomeId = super.getCommonSubBiome(biomeId); - return subBiomeId != 0 ? subBiomeId : biomeId; - } -} diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerTemperatureLatitude.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerTemperatureLatitude.java deleted file mode 100644 index 73de1ef54..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerTemperatureLatitude.java +++ /dev/null @@ -1,60 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerTemperatureLatitude extends BOPGenLayer -{ - - private double period; - private double halfPeriod; - private int offset; - private double offsetVariation; - private double amplitude; - - public GenLayerTemperatureLatitude(long seed, double halfPeriod, long worldSeed) - { - super(seed); - - this.period = halfPeriod * 2.0D; - this.halfPeriod = halfPeriod; - this.offset = (int)(worldSeed % ((int)(this.period * 2))); - this.offsetVariation = halfPeriod / 10.0F; - this.amplitude = 8.9999D / halfPeriod; - - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - // x and y are local coordinates, but we need global coordinates, which we'll call X and Y - int X = x + areaX; - int Y = y + areaY; - - this.initChunkSeed((long)X, (long)Y); - - // set value between 0 and 8 which is periodic in Y (with some random variation) - // ocean generally stays as ocean, unless it's ICY when it becomes frozen ocean - double Yoffset = Y + this.offset + ((this.nextInt(1001) - 500) * this.offsetVariation / 500.0D); - out[x + y * areaWidth] = MathHelper.floor(this.amplitude * Math.abs((Math.abs(Yoffset % period) - halfPeriod))); - } - } - - return out; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerTemperatureNoise.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerTemperatureNoise.java deleted file mode 100644 index 08f81ea54..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerTemperatureNoise.java +++ /dev/null @@ -1,50 +0,0 @@ -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.generation.BOPGenLayer; -import biomesoplenty.common.world.SimplexNoise; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerTemperatureNoise extends BOPGenLayer { - - private final double xOffset; - private final double yOffset; - private final double scale; - - public GenLayerTemperatureNoise(long seed, long worldSeed, double scale) { - super(seed); - this.xOffset = (worldSeed >> 32) * 0.000001D; - this.yOffset = (worldSeed >> 32) * 0.000002D; - this.scale = scale; - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) { - - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(areaX + x), (long)(areaY + y)); - - double noiseVal = SimplexNoise.noise((areaX + x + this.xOffset) * this.scale, (areaY + y + this.yOffset) * this.scale); - - // boundaries were determined empirically by analyzing statistically output from the SimplexNoise function, and splitting into 9 equally likely groups - if (noiseVal < -0.619D) {out[x + y * areaWidth] = 0;} - else if (noiseVal < -0.503D) {out[x + y * areaWidth] = 1;} - else if (noiseVal < -0.293D) {out[x + y * areaWidth] = 2;} - else if (noiseVal < -0.120D) {out[x + y * areaWidth] = 3;} - else if (noiseVal < 0.085D) {out[x + y * areaWidth] = 4;} - else if (noiseVal < 0.252D) {out[x + y * areaWidth] = 5;} - else if (noiseVal < 0.467D) {out[x + y * areaWidth] = 6;} - else if (noiseVal < 0.619D) {out[x + y * areaWidth] = 7;} - else {out[x + y * areaWidth] = 8;} - - } - } - - return out; - } - -} diff --git a/src/main/java/biomesoplenty/common/world/layer/GenLayerTemperatureRandom.java b/src/main/java/biomesoplenty/common/world/layer/GenLayerTemperatureRandom.java deleted file mode 100644 index e3ed02d16..000000000 --- a/src/main/java/biomesoplenty/common/world/layer/GenLayerTemperatureRandom.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright 2015-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.common.world.layer; - -import biomesoplenty.api.generation.BOPGenLayer; -import net.minecraft.world.gen.layer.IntCache; - -public class GenLayerTemperatureRandom extends BOPGenLayer -{ - - public GenLayerTemperatureRandom(long seed) - { - super(seed); - } - - @Override - public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight) - { - int[] out = IntCache.getIntCache(areaWidth * areaHeight); - - for (int y = 0; y < areaHeight; ++y) - { - for (int x = 0; x < areaWidth; ++x) - { - this.initChunkSeed((long)(x + areaX), (long)(y + areaY)); - // choose a random heat value - out[x + y * areaWidth] = this.nextInt(9); - } - } - - return out; - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/core/BiomesOPlenty.java b/src/main/java/biomesoplenty/core/BiomesOPlenty.java index c15797827..3c7c14ca8 100644 --- a/src/main/java/biomesoplenty/core/BiomesOPlenty.java +++ b/src/main/java/biomesoplenty/core/BiomesOPlenty.java @@ -8,113 +8,25 @@ package biomesoplenty.core; -import java.io.File; -import java.util.Locale; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -import biomesoplenty.common.command.BOPCommand; -import biomesoplenty.common.init.ModBiomes; -import biomesoplenty.common.init.ModBlockQueries; -import biomesoplenty.common.init.ModBlocks; -import biomesoplenty.common.init.ModCompatibility; -import biomesoplenty.common.init.ModConfiguration; -import biomesoplenty.common.init.ModCrafting; -import biomesoplenty.common.init.ModEntities; -import biomesoplenty.common.init.ModGenerators; -import biomesoplenty.common.init.ModHandlers; -import biomesoplenty.common.init.ModItems; -import biomesoplenty.common.init.ModPotions; -import biomesoplenty.common.init.ModSounds; -import biomesoplenty.common.init.ModVanillaCompat; -import biomesoplenty.common.remote.TrailManager; -import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.Mod.EventHandler; -import net.minecraftforge.fml.common.Mod.Instance; -import net.minecraftforge.fml.common.SidedProxy; -import net.minecraftforge.fml.common.event.FMLConstructionEvent; -import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLLoadCompleteEvent; -import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.event.FMLServerStartingEvent; -import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.javafmlmod.FMLModLoadingContext; -@Mod(modid = BiomesOPlenty.MOD_ID, version = BiomesOPlenty.MOD_VERSION , name = BiomesOPlenty.MOD_NAME, dependencies = "required-after:forge@[1.0.0.0,)", guiFactory = BiomesOPlenty.GUI_FACTORY) +@Mod(value = BiomesOPlenty.MOD_ID) public class BiomesOPlenty { - public static final String MOD_NAME = "Biomes O' Plenty"; public static final String MOD_ID = "biomesoplenty"; - public static final String MOD_VERSION = "@MOD_VERSION@"; - public static final String GUI_FACTORY = "biomesoplenty.client.gui.GuiBOPFactory"; - @Instance(MOD_ID) public static BiomesOPlenty instance; - @SidedProxy(clientSide = "biomesoplenty.core.ClientProxy", serverSide = "biomesoplenty.core.CommonProxy") - public static CommonProxy proxy; - - public static Logger logger = LogManager.getLogger(MOD_ID); - public static File configDirectory; - - @EventHandler - public void construction(FMLConstructionEvent event) + public BiomesOPlenty() { - // Use forge universal bucket - FluidRegistry.enableUniversalBucket(); - } - - @EventHandler - public void preInit(FMLPreInitializationEvent event) - { - configDirectory = new File(event.getModConfigurationDirectory(), "biomesoplenty"); - - //fixes turkish locale bug - Locale.setDefault(Locale.ENGLISH); - - TrailManager.retrieveTrails(); - ModConfiguration.init(configDirectory); - - // setup blocks before items, because some items need to reference blocks in their constructors (eg seeds) - ModBlocks.init(); - ModSounds.init(); - ModEntities.init(); - ModItems.init(); - ModPotions.init(); - ModBlockQueries.init(); - - ModGenerators.init(); - ModBiomes.init(); - ModVanillaCompat.init(); - ModHandlers.init(); - - ModCrafting.init(); - - proxy.registerRenderers(); - } - - @EventHandler - public void init(FMLInitializationEvent event) - { - BiomesOPlenty.proxy.registerColouring(); + instance = this; + FMLModLoadingContext.get().getModEventBus().addListener(this::preInit); } - @EventHandler - public void postInit(FMLPostInitializationEvent event) + private void preInit(final FMLPreInitializationEvent event) { - ModCompatibility.postInit(); - } - - @EventHandler - public void serverStarting(FMLServerStartingEvent event) - { - event.registerServerCommand(new BOPCommand()); - } - - public File getConfigDirectory() - { - return configDirectory; + System.out.println("Here we go again..."); } } diff --git a/src/main/java/biomesoplenty/core/ClientProxy.java b/src/main/java/biomesoplenty/core/ClientProxy.java deleted file mode 100644 index f8260c8f0..000000000 --- a/src/main/java/biomesoplenty/core/ClientProxy.java +++ /dev/null @@ -1,234 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.core; - -import java.util.List; - -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; - -import biomesoplenty.api.item.BOPItems; -import biomesoplenty.api.particle.BOPParticleTypes; -import biomesoplenty.client.particle.EntityCurseFX; -import biomesoplenty.client.particle.EntityTrailFX; -import biomesoplenty.common.block.IBOPBlock; -import biomesoplenty.common.config.MiscConfigurationHandler; -import biomesoplenty.common.entities.EntityWasp; -import biomesoplenty.common.entities.RenderWasp; -import biomesoplenty.common.entities.item.EntityBOPBoat; -import biomesoplenty.common.entities.item.RenderBOPBoat; -import biomesoplenty.common.entities.projectiles.EntityMudball; -import biomesoplenty.common.entities.projectiles.RenderMudball; -import biomesoplenty.common.item.IColoredItem; -import biomesoplenty.common.util.inventory.CreativeTabBOP; -import net.minecraft.block.Block; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiMainMenu; -import net.minecraft.client.particle.Particle; -import net.minecraft.client.renderer.block.model.ModelResourceLocation; -import net.minecraft.client.renderer.block.statemap.IStateMapper; -import net.minecraft.client.renderer.block.statemap.StateMap; -import net.minecraft.client.renderer.block.statemap.StateMapperBase; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.entity.Entity; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumParticleTypes; -import net.minecraft.util.NonNullList; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.client.model.ModelLoader; -import net.minecraftforge.fml.client.registry.IRenderFactory; -import net.minecraftforge.fml.client.registry.RenderingRegistry; - -public class ClientProxy extends CommonProxy -{ - public static ResourceLocation[] bopTitlePanoramaPaths = new ResourceLocation[] {new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_0.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_1.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_2.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_3.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_4.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_5.png")}; - public static ResourceLocation particleTexturesLocation = new ResourceLocation("biomesoplenty:textures/particles/particles.png"); - - private static List blocksToColour = Lists.newArrayList(); - private static List itemsToColor = Lists.newArrayList(); - - @Override - public void registerRenderers() - { - if (MiscConfigurationHandler.overrideTitlePanorama) - GuiMainMenu.TITLE_PANORAMA_PATHS = bopTitlePanoramaPaths; - - //Entity rendering and other stuff will go here in future - registerEntityRenderer(EntityWasp.class, RenderWasp.class); - registerEntityRenderer(EntityMudball.class, RenderMudball.class); - registerEntityRenderer(EntityBOPBoat.class, RenderBOPBoat.class); - } - - @Override - public void registerColouring() - { - for (Block block : blocksToColour) - { - IBOPBlock bopBlock = (IBOPBlock)block; - if (bopBlock.getBlockColor() != null)Minecraft.getMinecraft().getBlockColors().registerBlockColorHandler(bopBlock.getBlockColor(), block); - if (bopBlock.getItemColor() != null) Minecraft.getMinecraft().getItemColors().registerItemColorHandler(bopBlock.getItemColor(), block); - } - - for (Item item : itemsToColor) - { - IColoredItem coloredItem = (IColoredItem)item; - Minecraft.getMinecraft().getItemColors().registerItemColorHandler(coloredItem.getItemColor(), item); - } - } - - @Override - public void registerItemVariantModel(Item item, String name, int metadata) - { - Preconditions.checkNotNull(item, "Cannot register models for null item " + name); - Preconditions.checkArgument(item != Items.AIR, "Cannot register models for air (" + name + ")"); - - ModelLoader.registerItemVariants(item, new ResourceLocation("biomesoplenty:" + name)); - ModelLoader.setCustomModelResourceLocation(item, metadata, new ModelResourceLocation(BiomesOPlenty.MOD_ID + ":" + name, "inventory")); - } - - @Override - public void registerBlockSided(Block block) - { - if (block instanceof IBOPBlock) - { - IBOPBlock bopBlock = (IBOPBlock)block; - - //Register non-rendering properties - IProperty[] nonRenderingProperties = bopBlock.getNonRenderingProperties(); - - if (nonRenderingProperties != null) - { - // use a custom state mapper which will ignore the properties specified in the block as being non-rendering - IStateMapper custom_mapper = (new StateMap.Builder()).ignore(nonRenderingProperties).build(); - ModelLoader.setCustomStateMapper(block, custom_mapper); - } - - //Register colour handlers - if (bopBlock.getBlockColor() != null || bopBlock.getItemColor() != null) - { - blocksToColour.add(block); - } - } - } - - @Override - public void registerItemSided(Item item) - { - // register sub types if there are any - if (item.getHasSubtypes()) - { - NonNullList subItems = NonNullList.create(); - item.getSubItems(CreativeTabBOP.instance, subItems); - for (ItemStack subItem : subItems) - { - String subItemName = item.getUnlocalizedName(subItem); - subItemName = subItemName.substring(subItemName.indexOf(".") + 1); // remove 'item.' from the front - - ModelLoader.registerItemVariants(item, new ResourceLocation(BiomesOPlenty.MOD_ID, subItemName)); - ModelLoader.setCustomModelResourceLocation(item, subItem.getMetadata(), new ModelResourceLocation(BiomesOPlenty.MOD_ID + ":" + subItemName, "inventory")); - } - } - else - { - ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(BiomesOPlenty.MOD_ID + ":" + item.delegate.name().getResourcePath(), "inventory")); - } - - //Register colour handlers - if (item instanceof IColoredItem && ((IColoredItem)item).getItemColor() != null) - { - itemsToColor.add(item); - } - } - - @Override - public void registerFluidBlockRendering(Block block, String name) - { - final ModelResourceLocation fluidLocation = new ModelResourceLocation(BiomesOPlenty.MOD_ID.toLowerCase() + ":fluids", name); - - // use a custom state mapper which will ignore the LEVEL property - ModelLoader.setCustomStateMapper(block, new StateMapperBase() - { - @Override - protected ModelResourceLocation getModelResourceLocation(IBlockState state) - { - return fluidLocation; - } - }); - } - - @Override - public void spawnParticle(BOPParticleTypes type, World parWorld, double x, double y, double z, Object... info) - { - Minecraft minecraft = Minecraft.getMinecraft(); - Particle entityFx = null; - switch (type) - { - case MUD: - int itemId = Item.getIdFromItem(BOPItems.mudball); - minecraft.world.spawnParticle(EnumParticleTypes.ITEM_CRACK, x, y, z, MathHelper.nextDouble(parWorld.rand, -0.08D, 0.08D), MathHelper.nextDouble(parWorld.rand, -0.08D, 0.08D), MathHelper.nextDouble(parWorld.rand, -0.08D, 0.08D), itemId); - return; - case PLAYER_TRAIL: - if (info.length < 1) - throw new RuntimeException("Missing argument for trail name!"); - - entityFx = new EntityTrailFX(parWorld, x, y, z, (String)info[0]); - break; - case CURSE: - entityFx = new EntityCurseFX(parWorld, x, y, z, MathHelper.nextDouble(parWorld.rand, -0.03, 0.03), 0.05D, MathHelper.nextDouble(parWorld.rand, -0.03, 0.03)); - break; - default: - break; - } - - if (entityFx != null) {minecraft.effectRenderer.addEffect(entityFx);} - } - - // - // The below method and class is used as part of Forge 1668+'s workaround for render manager being null during preinit - // - - private static void registerEntityRenderer(Class entityClass, Class> renderClass) - { - RenderingRegistry.registerEntityRenderingHandler(entityClass, new EntityRenderFactory(renderClass)); - } - - private static class EntityRenderFactory implements IRenderFactory - { - private Class> renderClass; - - private EntityRenderFactory(Class> renderClass) - { - this.renderClass = renderClass; - } - - @Override - public Render createRenderFor(RenderManager manager) - { - Render renderer = null; - - try - { - renderer = renderClass.getConstructor(RenderManager.class).newInstance(manager); - } - catch (Exception e) - { - e.printStackTrace(); - } - - return renderer; - } - } -} diff --git a/src/main/java/biomesoplenty/core/CommonProxy.java b/src/main/java/biomesoplenty/core/CommonProxy.java deleted file mode 100644 index 65df29c9e..000000000 --- a/src/main/java/biomesoplenty/core/CommonProxy.java +++ /dev/null @@ -1,25 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2016, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License. - * - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. - ******************************************************************************/ - -package biomesoplenty.core; - -import biomesoplenty.api.particle.BOPParticleTypes; -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.world.World; - -public class CommonProxy -{ - public void registerRenderers() {} - public void registerColouring() {} - public void registerItemVariantModel(Item item, String name, int metadata) {} - public void registerBlockSided(Block block) {} - public void registerItemSided(Item item) {} - public void registerFluidBlockRendering(Block block, String name) {} - public void spawnParticle(BOPParticleTypes type, World parWorld, double x, double y, double z, Object... info) {} -} \ No newline at end of file diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml new file mode 100644 index 000000000..b303d7d76 --- /dev/null +++ b/src/main/resources/META-INF/mods.toml @@ -0,0 +1,20 @@ +modLoader="javafml" +loaderVersion="[24,)" +issueTrackerURL="https://github.com/Glitchfiend/BiomesOPlenty/issues" +displayURL="https://minecraft.curseforge.com/projects/biomes-o-plenty" +authors="Adubbz, Forstride" + +[[mods]] + modId="biomesoplenty" + version="${version}" + displayName="Biomes O' Plenty" + description=''' + Adds over 50 new biomes, blocks, and more! + ''' + +[[dependencies.biomesoplenty]] + modId="forge" + mandatory=true + versionRange="[24,)" + ordering="NONE" + side="BOTH" \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/all_biomes.json b/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/all_biomes.json deleted file mode 100644 index 1d246617a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/all_biomes.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "display": { - "icon": { - "item": "biomesoplenty:grass", - "data": 5 - }, - "title": { - "translate": "advancements.biomesoplenty.all_biomes.title" - }, - "description": { - "translate": "advancements.biomesoplenty.all_biomes.description" - }, - "frame": "challenge" - }, - "parent": "biomesoplenty:biomesoplenty/terrestrial_artifact", - "criteria": { - "alps": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:alps" - } - }, - "bamboo_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:bamboo_forest" - } - }, - "bayou": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:bayou" - } - }, - "bog": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:bog" - } - }, - "boreal_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:boreal_forest" - } - }, - "brushland": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:brushland" - } - }, - "chaparral": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:chaparral" - } - }, - "cherry_blossom_grove": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:cherry_blossom_grove" - } - }, - "cold_desert": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:cold_desert" - } - }, - "coniferous_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:coniferous_forest" - } - }, - "crag": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:crag" - } - }, - "dead_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:dead_forest" - } - }, - "dead_swamp": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:dead_swamp" - } - }, - "eucalyptus_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:eucalyptus_forest" - } - }, - "fen": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:fen" - } - }, - "flower_field": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:flower_field" - } - }, - "grassland": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:grassland" - } - }, - "grove": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:grove" - } - }, - "highland": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:highland" - } - }, - "land_of_lakes": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:land_of_lakes" - } - }, - "lavender_fields": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:lavender_fields" - } - }, - "lush_desert": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:lush_desert" - } - }, - "lush_swamp": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:lush_swamp" - } - }, - "mangrove": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:mangrove" - } - }, - "maple_woods": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:maple_woods" - } - }, - "marsh": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:marsh" - } - }, - "meadow": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:meadow" - } - }, - "moor": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:moor" - } - }, - "mountain": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:mountain" - } - }, - "mystic_grove": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:mystic_grove" - } - }, - "ominous_woods": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:ominous_woods" - } - }, - "orchard": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:orchard" - } - }, - "outback": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:outback" - } - }, - "overgrown_cliffs": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:overgrown_cliffs" - } - }, - "prairie": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:prairie" - } - }, - "quagmire": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:quagmire" - } - }, - "rainforest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:rainforest" - } - }, - "redwood_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:redwood_forest" - } - }, - "sacred_springs": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:sacred_springs" - } - }, - "seasonal_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:seasonal_forest" - } - }, - "shield": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:shield" - } - }, - "shrubland": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:shrubland" - } - }, - "snowy_coniferous_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:snowy_coniferous_forest" - } - }, - "snowy_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:snowy_forest" - } - }, - "steppe": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:steppe" - } - }, - "temperate_rainforest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:temperate_rainforest" - } - }, - "tropical_rainforest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:tropical_rainforest" - } - }, - "tundra": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:tundra" - } - }, - "wasteland": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:wasteland" - } - }, - "wetland": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:wetland" - } - }, - "woodland": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:woodland" - } - }, - "xeric_shrubland": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:xeric_shrubland" - } - }, - "flower_island": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:flower_island" - } - }, - "origin_island": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:origin_island" - } - }, - "tropical_island": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:tropical_island" - } - }, - "volcanic_island": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:volcanic_island" - } - }, - "coral_reef": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:coral_reef" - } - }, - "kelp_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:kelp_forest" - } - }, - "pasture": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:pasture" - } - }, - "glacier": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:glacier" - } - }, - "oasis": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:oasis" - } - }, - "gravel_beach": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:gravel_beach" - } - }, - "white_beach": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:white_beach" - } - }, - "white_beach": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:origin_beach" - } - }, - "mountain_foothills": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:mountain_foothills" - } - }, - "alps_foothills": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:alps_foothills" - } - }, - "corrupted_sands": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:corrupted_sands" - } - }, - "fungi_forest": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:fungi_forest" - } - }, - "phantasmagoric_inferno": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:phantasmagoric_inferno" - } - }, - "undergarden": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:undergarden" - } - }, - "visceral_heap": { - "trigger": "minecraft:location", - "conditions": { - "biome": "biomesoplenty:visceral_heap" - } - } - }, - "rewards": { - "experience": 1000, - "loot": ["biomesoplenty:advancements/all_biomes"] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/flesh_and_blood.json b/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/flesh_and_blood.json deleted file mode 100644 index d23e66ad5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/flesh_and_blood.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "display": { - "icon": { - "item": "biomesoplenty:fleshchunk" - }, - "title": { - "translate": "advancements.biomesoplenty.flesh_and_blood.title" - }, - "description": { - "translate": "advancements.biomesoplenty.flesh_and_blood.description" - } - }, - "parent": "biomesoplenty:biomesoplenty/root", - "criteria": { - "flesh": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:fleshchunk" - } - ] - } - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/honey_hell.json b/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/honey_hell.json deleted file mode 100644 index 98927412d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/honey_hell.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "display": { - "icon": { - "item": "biomesoplenty:jar_filled", - "data": 0 - }, - "title": { - "translate": "advancements.biomesoplenty.honey_hell.title" - }, - "description": { - "translate": "advancements.biomesoplenty.honey_hell.description" - }, - "frame": "goal" - }, - "parent": "biomesoplenty:biomesoplenty/flesh_and_blood", - "criteria": { - "honey_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_filled", - "data": 0 - } - ] - } - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/miners_delight.json b/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/miners_delight.json deleted file mode 100644 index 3a2c34df5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/miners_delight.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "display": { - "icon": { - "item": "biomesoplenty:flower_1", - "data": 3 - }, - "title": { - "translate": "advancements.biomesoplenty.miners_delight.title" - }, - "description": { - "translate": "advancements.biomesoplenty.miners_delight.description" - } - }, - "parent": "biomesoplenty:biomesoplenty/root", - "criteria": { - "miners_delight": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_1", - "data": 3 - } - ] - } - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/root.json b/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/root.json deleted file mode 100644 index db481d3a1..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/root.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "display": { - "icon": { - "item": "biomesoplenty:earth" - }, - "title": { - "translate": "advancements.biomesoplenty.root.title" - }, - "description": { - "translate": "advancements.biomesoplenty.root.description" - }, - "background": "biomesoplenty:textures/gui/advancements/backgrounds/biomesoplenty.png", - "show_toast": false, - "announce_to_chat": false - }, - "criteria": { - "red_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:red_flower" - } - ] - } - }, - "yellow_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:red_flower" - } - ] - } - }, - "bop_flower_0": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0" - } - ] - } - }, - "bop_flower_1": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_1" - } - ] - } - } - }, - "requirements": [ - [ - "red_flower", - "yellow_flower", - "bop_flower_0", - "bop_flower_1" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/sacred_oak_sapling.json b/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/sacred_oak_sapling.json deleted file mode 100644 index 0a868d592..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/sacred_oak_sapling.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "display": { - "icon": { - "item": "biomesoplenty:sapling_1", - "data": 7 - }, - "title": { - "translate": "advancements.biomesoplenty.sacred_oak_sapling.title" - }, - "description": { - "translate": "advancements.biomesoplenty.sacred_oak_sapling.description" - } - }, - "parent": "biomesoplenty:biomesoplenty/miners_delight", - "criteria": { - "sacred_oak_sapling": { - "trigger": "minecraft:placed_block", - "conditions": { - "block": "biomesoplenty:sapling_1", - "state": { - "variant": "sacred_oak" - } - } - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/terrestrial_artifact.json b/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/terrestrial_artifact.json deleted file mode 100644 index f9105fd04..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/terrestrial_artifact.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "display": { - "icon": { - "item": "biomesoplenty:terrestrial_artifact" - }, - "title": { - "translate": "advancements.biomesoplenty.terrestrial_artifact.title" - }, - "description": { - "translate": "advancements.biomesoplenty.terrestrial_artifact.description" - }, - "frame": "goal" - }, - "parent": "biomesoplenty:biomesoplenty/root", - "criteria": { - "ruby": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 1 - } - ] - } - }, - "topaz": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 3 - } - ] - } - }, - "amber": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 7 - } - ] - } - }, - "peridot": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 2 - } - ] - } - }, - "emerald": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:emerald" - } - ] - } - }, - "malachite": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 5 - } - ] - } - }, - "sapphire": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 6 - } - ] - } - }, - "tanzanite": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 4 - } - ] - } - } - }, - "rewards": { - "recipes": ["biomesoplenty:terrestrial_artifact"] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/yin_and_yang.json b/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/yin_and_yang.json deleted file mode 100644 index 176d37ac3..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/biomesoplenty/yin_and_yang.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "display": { - "icon": { - "item": "biomesoplenty:flower_0", - "data": 3 - }, - "title": { - "translate": "advancements.biomesoplenty.yin_and_yang.title" - }, - "description": { - "translate": "advancements.biomesoplenty.yin_and_yang.description" - }, - "frame": "challenge" - }, - "parent": "biomesoplenty:biomesoplenty/sacred_oak_sapling", - "criteria": { - "glowflower": { - "trigger": "minecraft:placed_block", - "conditions": { - "block": "biomesoplenty:flower_0", - "state": { - "variant": "glowflower" - }, - "location": { - "biome": "biomesoplenty:ominous_woods" - } - } - }, - "deathbloom": { - "trigger": "minecraft:placed_block", - "conditions": { - "block": "biomesoplenty:flower_0", - "state": { - "variant": "deathbloom" - }, - "location": { - "biome": "biomesoplenty:mystic_grove" - } - } - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/amber_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/amber_block.json deleted file mode 100644 index 56a68eaca..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/amber_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:amber_block", - "biomesoplenty:amber" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:amber_block" - } - }, - "has_at_least_9_gems": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 7, - "count": { - "min": 9 - } - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_at_least_9_gems" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/amethyst_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/amethyst_block.json deleted file mode 100644 index 596f690a6..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/amethyst_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:amethyst_block", - "biomesoplenty:amethyst" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:amethyst_block" - } - }, - "has_at_least_9_gems": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 0, - "count": { - "min": 9 - } - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_at_least_9_gems" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ash_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ash_block.json deleted file mode 100644 index f45558b83..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ash_block.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ash_block" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ash_block" - } - }, - "has_item": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:ash" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_item" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/bamboo_thatching.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/bamboo_thatching.json deleted file mode 100644 index b241ce498..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/bamboo_thatching.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:bamboo_thatching" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:bamboo_thatching" - } - }, - "has_item": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:bamboo" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_item" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/celestial_crystal.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/celestial_crystal.json deleted file mode 100644 index 8103bf850..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/celestial_crystal.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:celestial_crystal" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:celestial_crystal" - } - }, - "has_item": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:crystal_shard" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_item" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/cherry_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/cherry_planks.json deleted file mode 100644 index b5953c7ef..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/cherry_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:cherry_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_0", - "data": 5 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cherry_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/cherry_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/cherry_stairs.json deleted file mode 100644 index 0e9c2983a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/cherry_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:cherry_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cherry_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 1 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/cherry_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/cherry_wooden_slab.json deleted file mode 100644 index 454965012..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/cherry_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:cherry_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cherry_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 1 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/chiseled_white_sandstone.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/chiseled_white_sandstone.json deleted file mode 100644 index 447dd93e5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/chiseled_white_sandstone.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:chiseled_white_sandstone" - ] - }, - "criteria": { - "has_stone_slab": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:other_slab", - "data": 1 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:chiseled_white_sandstone" - } - } - }, - "requirements": [ - [ - "has_stone_slab", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/coarse_loamy_dirt.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/coarse_loamy_dirt.json deleted file mode 100644 index e9509ff7a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/coarse_loamy_dirt.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:coarse_loamy_dirt" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:coarse_loamy_dirt" - } - }, - "has_gravel": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:gravel" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_gravel" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/coarse_sandy_dirt.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/coarse_sandy_dirt.json deleted file mode 100644 index be0141e54..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/coarse_sandy_dirt.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:coarse_sandy_dirt" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:coarse_sandy_dirt" - } - }, - "has_gravel": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:gravel" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_gravel" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/coarse_silty_dirt.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/coarse_silty_dirt.json deleted file mode 100644 index fbc7653b1..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/coarse_silty_dirt.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:coarse_silty_dirt" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:coarse_silty_dirt" - } - }, - "has_gravel": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:gravel" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_gravel" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ebony_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ebony_planks.json deleted file mode 100644 index 95d588495..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ebony_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ebony_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_3", - "data": 6 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ebony_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ebony_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ebony_stairs.json deleted file mode 100644 index 42b21cfb6..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ebony_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ebony_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ebony_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 14 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ebony_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ebony_wooden_slab.json deleted file mode 100644 index fd6b63b23..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ebony_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ebony_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ebony_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 14 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ethereal_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ethereal_planks.json deleted file mode 100644 index 6f45ec367..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ethereal_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ethereal_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_1", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ethereal_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ethereal_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ethereal_stairs.json deleted file mode 100644 index 6c84e1ae3..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ethereal_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ethereal_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ethereal_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 4 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ethereal_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ethereal_wooden_slab.json deleted file mode 100644 index e4e46c717..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ethereal_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ethereal_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ethereal_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 4 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/eucalyptus_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/eucalyptus_planks.json deleted file mode 100644 index 842405bfb..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/eucalyptus_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:eucalyptus_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_3", - "data": 7 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:eucalyptus_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/eucalyptus_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/eucalyptus_stairs.json deleted file mode 100644 index 49b00e802..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/eucalyptus_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:eucalyptus_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:eucalyptus_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 15 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/eucalyptus_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/eucalyptus_wooden_slab.json deleted file mode 100644 index d3f0f7c3b..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/eucalyptus_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:eucalyptus_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:eucalyptus_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 15 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/filled_honeycomb_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/filled_honeycomb_block.json deleted file mode 100644 index 4c96604f0..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/filled_honeycomb_block.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:filled_honeycomb_block" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:filled_honeycomb_block" - } - }, - "has_item": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:filled_honeycomb" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_item" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/fir_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/fir_planks.json deleted file mode 100644 index 52299ad38..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/fir_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:fir_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_0", - "data": 7 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:fir_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/fir_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/fir_stairs.json deleted file mode 100644 index 74d59fe6c..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/fir_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:fir_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:fir_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 3 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/fir_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/fir_wooden_slab.json deleted file mode 100644 index 819f64ceb..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/fir_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:fir_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:fir_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 3 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/flesh_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/flesh_block.json deleted file mode 100644 index 97935c71f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/flesh_block.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:flesh_block" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:flesh_block" - } - }, - "has_item": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:fleshchunk" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_item" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/hellbark_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/hellbark_planks.json deleted file mode 100644 index b204b34a0..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/hellbark_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:hellbark_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_2", - "data": 7 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:hellbark_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/hellbark_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/hellbark_stairs.json deleted file mode 100644 index 7cf4924a5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/hellbark_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:hellbark_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:hellbark_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 11 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/hellbark_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/hellbark_wooden_slab.json deleted file mode 100644 index 9f2ab3d2f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/hellbark_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:hellbark_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:hellbark_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 11 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/honeycomb_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/honeycomb_block.json deleted file mode 100644 index 9b2bad283..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/honeycomb_block.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:honeycomb_block" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:honeycomb_block" - } - }, - "has_item": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:honeycomb" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_item" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/jacaranda_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/jacaranda_planks.json deleted file mode 100644 index b54fe624d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/jacaranda_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:jacaranda_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_3", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:jacaranda_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/jacaranda_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/jacaranda_stairs.json deleted file mode 100644 index b675a6476..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/jacaranda_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:jacaranda_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:jacaranda_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 12 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/jacaranda_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/jacaranda_wooden_slab.json deleted file mode 100644 index 0f9b25cd1..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/jacaranda_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:jacaranda_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:jacaranda_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 12 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/magic_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/magic_planks.json deleted file mode 100644 index 053c30b40..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/magic_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:magic_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_1", - "data": 5 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:magic_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/magic_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/magic_stairs.json deleted file mode 100644 index 29019a6f1..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/magic_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:magic_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:magic_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 5 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/magic_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/magic_wooden_slab.json deleted file mode 100644 index 89ff663e3..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/magic_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:magic_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:magic_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 5 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mahogany_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mahogany_planks.json deleted file mode 100644 index cded844d8..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mahogany_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mahogany_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_3", - "data": 5 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mahogany_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mahogany_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mahogany_stairs.json deleted file mode 100644 index 2c51e88a4..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mahogany_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mahogany_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mahogany_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 13 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mahogany_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mahogany_wooden_slab.json deleted file mode 100644 index 758fcdede..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mahogany_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mahogany_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mahogany_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 13 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/malachite_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/malachite_block.json deleted file mode 100644 index 352ac2eca..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/malachite_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:malachite_block", - "biomesoplenty:malachite" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:malachite_block" - } - }, - "has_at_least_9_gems": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 5, - "count": { - "min": 9 - } - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_at_least_9_gems" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mangrove_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mangrove_planks.json deleted file mode 100644 index 377de781a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mangrove_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mangrove_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_1", - "data": 6 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mangrove_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mangrove_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mangrove_stairs.json deleted file mode 100644 index 096300909..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mangrove_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mangrove_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mangrove_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 6 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mangrove_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mangrove_wooden_slab.json deleted file mode 100644 index a66292974..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mangrove_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mangrove_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mangrove_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 6 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud.json deleted file mode 100644 index 05355a986..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mud" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mud" - } - }, - "has_item": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:mudball" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_item" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud_bricks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud_bricks.json deleted file mode 100644 index 7cce2d088..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud_bricks.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mud_bricks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:mud_brick" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mud_bricks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud_bricks_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud_bricks_slab.json deleted file mode 100644 index d8a5d7850..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud_bricks_slab.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mud_bricks_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mud_bricks_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:mud_brick_block" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud_bricks_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud_bricks_stairs.json deleted file mode 100644 index 6f450d2ae..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/mud_bricks_stairs.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mud_bricks_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mud_bricks_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:mud_brick_block" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/palm_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/palm_planks.json deleted file mode 100644 index 7cf2488e4..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/palm_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:palm_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_1", - "data": 7 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:palm_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/palm_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/palm_stairs.json deleted file mode 100644 index 83ecc1435..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/palm_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:palm_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:palm_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 7 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/palm_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/palm_wooden_slab.json deleted file mode 100644 index 4c34a6b1d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/palm_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:palm_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:palm_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 7 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/peridot_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/peridot_block.json deleted file mode 100644 index d2ad090d6..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/peridot_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:peridot_block", - "biomesoplenty:peridot" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:peridot_block" - } - }, - "has_at_least_9_gems": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 2, - "count": { - "min": 9 - } - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_at_least_9_gems" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/pine_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/pine_planks.json deleted file mode 100644 index 05fa8cdce..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/pine_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:pine_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_2", - "data": 6 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:pine_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/pine_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/pine_stairs.json deleted file mode 100644 index 195b1b06f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/pine_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:pine_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:pine_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 10 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/pine_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/pine_wooden_slab.json deleted file mode 100644 index ed3eb955f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/pine_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:pine_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:pine_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 10 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/redwood_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/redwood_planks.json deleted file mode 100644 index ed1049578..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/redwood_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:redwood_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_2", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:redwood_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/redwood_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/redwood_stairs.json deleted file mode 100644 index b96eded27..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/redwood_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:redwood_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:redwood_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 8 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/redwood_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/redwood_wooden_slab.json deleted file mode 100644 index ac039e359..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/redwood_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:redwood_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:redwood_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 8 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ruby_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ruby_block.json deleted file mode 100644 index 607c4da08..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/ruby_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ruby_block", - "biomesoplenty:ruby" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ruby_block" - } - }, - "has_at_least_9_gems": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 1, - "count": { - "min": 9 - } - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_at_least_9_gems" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sacred_oak_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sacred_oak_planks.json deleted file mode 100644 index 1f4952f1f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sacred_oak_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:sacred_oak_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_0", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:sacred_oak_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sacred_oak_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sacred_oak_stairs.json deleted file mode 100644 index cb4802f2e..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sacred_oak_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:sacred_oak_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:sacred_oak_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 0 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sacred_oak_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sacred_oak_wooden_slab.json deleted file mode 100644 index 29e1a4e06..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sacred_oak_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:sacred_oak_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:sacred_oak_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 0 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sapphire_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sapphire_block.json deleted file mode 100644 index 296ad9c10..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/sapphire_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:sapphire_block", - "biomesoplenty:sapphire" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:sapphire_block" - } - }, - "has_at_least_9_gems": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 6, - "count": { - "min": 9 - } - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_at_least_9_gems" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/smooth_white_sandstone.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/smooth_white_sandstone.json deleted file mode 100644 index 6f3a4871f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/smooth_white_sandstone.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:smooth_white_sandstone" - ] - }, - "criteria": { - "has_sandstone": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:white_sandstone" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:smooth_white_sandstone" - } - } - }, - "requirements": [ - [ - "has_sandstone", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/tanzanite_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/tanzanite_block.json deleted file mode 100644 index 8a3ef29d7..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/tanzanite_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:tanzanite_block", - "biomesoplenty:tanzanite" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:tanzanite_block" - } - }, - "has_at_least_9_gems": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 4, - "count": { - "min": 9 - } - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_at_least_9_gems" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/topaz_block.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/topaz_block.json deleted file mode 100644 index d7a97441d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/topaz_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:topaz_block", - "biomesoplenty:topaz" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:topaz_block" - } - }, - "has_at_least_9_gems": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem", - "data": 3, - "count": { - "min": 9 - } - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_at_least_9_gems" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/umbran_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/umbran_planks.json deleted file mode 100644 index 8575c66b8..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/umbran_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:umbran_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_0", - "data": 6 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:umbran_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/umbran_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/umbran_stairs.json deleted file mode 100644 index f3c29c6d1..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/umbran_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:umbran_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:umbran_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 2 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/umbran_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/umbran_wooden_slab.json deleted file mode 100644 index 32b4b073c..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/umbran_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:umbran_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:umbran_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 2 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_sandstone.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_sandstone.json deleted file mode 100644 index 62a201f92..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_sandstone.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:white_sandstone" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:white_sandstone" - } - }, - "has_sand": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:white_sand" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_sand" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_sandstone_slab.json deleted file mode 100644 index 580eecd24..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_sandstone_slab.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:white_sandstone_slab" - ] - }, - "criteria": { - "has_sandstone": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:white_sandstone" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:white_sandstone_slab" - } - } - }, - "requirements": [ - [ - "has_sandstone", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_sandstone_stairs.json deleted file mode 100644 index 044270100..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_sandstone_stairs.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:white_sandstone_stairs" - ] - }, - "criteria": { - "has_sandstone": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:white_sandstone" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:white_sandstone_stairs" - } - } - }, - "requirements": [ - [ - "has_sandstone", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_wool_from_cattails.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_wool_from_cattails.json deleted file mode 100644 index cbec1f1b7..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/white_wool_from_cattails.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:white_wool_from_cattails" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:plant_1", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:white_wool_from_cattails" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/willow_planks.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/willow_planks.json deleted file mode 100644 index 934ed7da0..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/willow_planks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:willow_planks" - ] - }, - "criteria": { - "has_log": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:log_2", - "data": 5 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:willow_planks" - } - } - }, - "requirements": [ - [ - "has_log", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/willow_stairs.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/willow_stairs.json deleted file mode 100644 index 33f5b37d9..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/willow_stairs.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:willow_stairs" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:willow_stairs" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 9 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/willow_wooden_slab.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/willow_wooden_slab.json deleted file mode 100644 index 1dec7e494..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/buildingBlocks/willow_wooden_slab.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:willow_wooden_slab" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:willow_wooden_slab" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 9 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/bamboo_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/bamboo_terrarium.json deleted file mode 100644 index 9b63ddf5a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/bamboo_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:bamboo_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:bamboo_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/beach_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/beach_terrarium.json deleted file mode 100644 index ffb379b70..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/beach_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:beach_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:beach_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/cactus_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/cactus_terrarium.json deleted file mode 100644 index a9b5228e9..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/cactus_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:cactus_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cactus_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/cherry_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/cherry_fence.json deleted file mode 100644 index a0b2b9cc7..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/cherry_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:cherry_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cherry_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 1 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/crafting_table_from_bop_wood.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/crafting_table_from_bop_wood.json deleted file mode 100644 index 75ddb0eca..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/crafting_table_from_bop_wood.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "minecraft:crafting_table" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "minecraft:crafting_table" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/dead_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/dead_terrarium.json deleted file mode 100644 index b6b52f9e7..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/dead_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:dead_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:dead_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ebony_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ebony_fence.json deleted file mode 100644 index 21e8ba65d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ebony_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ebony_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ebony_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 14 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ender_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ender_terrarium.json deleted file mode 100644 index 55e948315..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ender_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ender_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ender_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ethereal_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ethereal_fence.json deleted file mode 100644 index d68a00843..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ethereal_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ethereal_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ethereal_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 4 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/eucalyptus_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/eucalyptus_fence.json deleted file mode 100644 index 1ad6d9727..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/eucalyptus_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:eucalyptus_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:eucalyptus_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 15 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/fern_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/fern_terrarium.json deleted file mode 100644 index f436787a5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/fern_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:fern_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:fern_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/fir_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/fir_fence.json deleted file mode 100644 index bb0f6c567..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/fir_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:fir_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:fir_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 3 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/flower_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/flower_terrarium.json deleted file mode 100644 index a2f3a3855..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/flower_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:flower_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:flower_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/glowshroom_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/glowshroom_terrarium.json deleted file mode 100644 index 4b25a5c7f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/glowshroom_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:glowshroom_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:glowshroom_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/hellbark_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/hellbark_fence.json deleted file mode 100644 index ec6a4f50e..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/hellbark_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:hellbark_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:hellbark_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 11 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/jacaranda_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/jacaranda_fence.json deleted file mode 100644 index 0c06590d3..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/jacaranda_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:jacaranda_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:jacaranda_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 12 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/koru_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/koru_terrarium.json deleted file mode 100644 index 1c1dc014b..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/koru_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:koru_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:koru_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/magic_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/magic_fence.json deleted file mode 100644 index b27f59a5f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/magic_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:magic_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:magic_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 5 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mahogany_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mahogany_fence.json deleted file mode 100644 index a383f06af..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mahogany_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mahogany_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mahogany_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 13 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mangrove_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mangrove_fence.json deleted file mode 100644 index f19e6505b..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mangrove_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mangrove_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mangrove_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 6 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mushroom_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mushroom_terrarium.json deleted file mode 100644 index 1e750e03a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mushroom_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mushroom_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mushroom_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mystic_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mystic_terrarium.json deleted file mode 100644 index abbb034f6..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/mystic_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mystic_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mystic_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/nether_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/nether_terrarium.json deleted file mode 100644 index 91f38719d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/nether_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:nether_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:nether_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ominous_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ominous_terrarium.json deleted file mode 100644 index 0ee7e758d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/ominous_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ominous_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ominous_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/origin_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/origin_terrarium.json deleted file mode 100644 index a8d22a2ca..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/origin_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:origin_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:origin_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/palm_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/palm_fence.json deleted file mode 100644 index 25fab5de5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/palm_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:palm_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:palm_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 7 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/pine_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/pine_fence.json deleted file mode 100644 index fe6050a5e..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/pine_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:pine_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:pine_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 10 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/redwood_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/redwood_fence.json deleted file mode 100644 index 45f44c370..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/redwood_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:redwood_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:redwood_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 8 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/sacred_oak_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/sacred_oak_fence.json deleted file mode 100644 index 3fab8e3cd..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/sacred_oak_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:sacred_oak_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:sacred_oak_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 0 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/sign_from_bop_wood.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/sign_from_bop_wood.json deleted file mode 100644 index ebf4ff8a5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/sign_from_bop_wood.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "minecraft:sign" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "minecraft:sign" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/umbran_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/umbran_fence.json deleted file mode 100644 index d483aae12..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/umbran_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:umbran_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:umbran_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 2 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/wasteland_terrarium.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/wasteland_terrarium.json deleted file mode 100644 index d85523191..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/wasteland_terrarium.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:wasteland_terrarium" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:wasteland_terrarium" - } - }, - "has_jar": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:jar_empty" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_jar" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/willow_fence.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/willow_fence.json deleted file mode 100644 index a4ff8de6e..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/decorations/willow_fence.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:willow_fence" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:willow_fence" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 9 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/food/bowl_of_rice.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/food/bowl_of_rice.json deleted file mode 100644 index ff211dc77..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/food/bowl_of_rice.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:bowl_of_rice" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:bowl_of_rice" - } - }, - "has_bowl": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:bowl" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_bowl" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/food/shroom_powder.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/food/shroom_powder.json deleted file mode 100644 index a94187a21..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/food/shroom_powder.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:shroom_powder" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:shroom_powder" - } - }, - "has_mushroom": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:mushroom", - "data": 0 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_mushroom" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/amber.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/amber.json deleted file mode 100644 index 3478398c1..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/amber.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:amber" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem_block", - "data": 7 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:amber" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/amethyst.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/amethyst.json deleted file mode 100644 index 2c3e2fb0f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/amethyst.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:amethyst" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem_block", - "data": 0 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:amethyst" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/black_dye_from_deathbloom.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/black_dye_from_deathbloom.json deleted file mode 100644 index 44d68c878..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/black_dye_from_deathbloom.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:black_dye_from_deathbloom" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 2 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:black_dye_from_deathbloom" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/black_dye_from_enderlotus.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/black_dye_from_enderlotus.json deleted file mode 100644 index 0aac887d9..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/black_dye_from_enderlotus.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:black_dye_from_enderlotus" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 10 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:black_dye_from_enderlotus" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/blue_dye_from_blue_milk_cap.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/blue_dye_from_blue_milk_cap.json deleted file mode 100644 index cdda7212f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/blue_dye_from_blue_milk_cap.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:blue_dye_from_blue_milk_cap" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:mushroom", - "data": 2 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:blue_dye_from_blue_milk_cap" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/blue_dye_from_bluebells.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/blue_dye_from_bluebells.json deleted file mode 100644 index ba5b52958..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/blue_dye_from_bluebells.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:blue_dye_from_bluebells" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_1", - "data": 2 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:blue_dye_from_bluebells" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/brown_dye_from_cattail.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/brown_dye_from_cattail.json deleted file mode 100644 index f2cc62c2b..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/brown_dye_from_cattail.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:brown_dye_from_cattail" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:plant_1", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:brown_dye_from_cattail" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/brown_dye_from_double_cattail.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/brown_dye_from_double_cattail.json deleted file mode 100644 index e0b7d606d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/brown_dye_from_double_cattail.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:brown_dye_from_double_cattail" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:double_plant", - "data": 1 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:brown_dye_from_double_cattail" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/brown_dye_from_flat_mushroom.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/brown_dye_from_flat_mushroom.json deleted file mode 100644 index 2c7f82000..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/brown_dye_from_flat_mushroom.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:brown_dye_from_flat_mushroom" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:mushroom", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:brown_dye_from_flat_mushroom" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/coal_from_ash.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/coal_from_ash.json deleted file mode 100644 index e5b1add13..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/coal_from_ash.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:coal_from_ash" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:ash" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:coal_from_ash" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/cyan_dye_from_glowflower.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/cyan_dye_from_glowflower.json deleted file mode 100644 index 9dfb2d04f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/cyan_dye_from_glowflower.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:cyan_dye_from_glowflower" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 3 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cyan_dye_from_glowflower" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/cyan_dye_from_swampflower.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/cyan_dye_from_swampflower.json deleted file mode 100644 index e8c32a73d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/cyan_dye_from_swampflower.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:cyan_dye_from_swampflower" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 1 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cyan_dye_from_swampflower" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/gray_dye_from_ash.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/gray_dye_from_ash.json deleted file mode 100644 index 5070848d5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/gray_dye_from_ash.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:gray_dye_from_ash" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:ash" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:gray_dye_from_ash" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/gray_dye_from_wilted_lily.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/gray_dye_from_wilted_lily.json deleted file mode 100644 index c9e9ab61a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/gray_dye_from_wilted_lily.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:gray_dye_from_wilted_lily" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 12 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:gray_dye_from_wilted_lily" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_blue_hydrangea.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_blue_hydrangea.json deleted file mode 100644 index 08d1910a4..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_blue_hydrangea.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:light_blue_dye_from_blue_hydrangea" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:light_blue_dye_from_blue_hydrangea" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_flax.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_flax.json deleted file mode 100644 index a1ea29c01..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_flax.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:light_blue_dye_from_flax" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:double_plant", - "data": 0 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:light_blue_dye_from_flax" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_icy_iris.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_icy_iris.json deleted file mode 100644 index 66b24d1ed..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_blue_dye_from_icy_iris.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:light_blue_dye_from_icy_iris" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_1", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:light_blue_dye_from_icy_iris" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_gray_dye_from_clover.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_gray_dye_from_clover.json deleted file mode 100644 index 3d1f63424..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/light_gray_dye_from_clover.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:light_gray_dye_from_clover" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 0 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:light_gray_dye_from_clover" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/lime_dye_from_glowshroom.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/lime_dye_from_glowshroom.json deleted file mode 100644 index 3198bfb1d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/lime_dye_from_glowshroom.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:lime_dye_from_glowshroom" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:mushroom", - "data": 3 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:lime_dye_from_glowshroom" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/magenta_dye_from_wildflower.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/magenta_dye_from_wildflower.json deleted file mode 100644 index b673b8e83..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/magenta_dye_from_wildflower.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:magenta_dye_from_wildflower" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 7 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:magenta_dye_from_wildflower" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/malachite.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/malachite.json deleted file mode 100644 index b4a3988c0..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/malachite.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:malachite" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem_block", - "data": 5 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:malachite" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/mud_from_dirt.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/mud_from_dirt.json deleted file mode 100644 index ddc155055..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/mud_from_dirt.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mud_from_dirt" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:water_bucket" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mud_from_dirt" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/orange_dye_from_burning_blossom.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/orange_dye_from_burning_blossom.json deleted file mode 100644 index e7483beeb..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/orange_dye_from_burning_blossom.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:orange_dye_from_burning_blossom" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 15 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:orange_dye_from_burning_blossom" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/orange_dye_from_orange_cosmos.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/orange_dye_from_orange_cosmos.json deleted file mode 100644 index cbfe0a2d7..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/orange_dye_from_orange_cosmos.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:orange_dye_from_orange_cosmos" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 5 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:orange_dye_from_orange_cosmos" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/peridot.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/peridot.json deleted file mode 100644 index 20699d5e2..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/peridot.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:peridot" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem_block", - "data": 2 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:peridot" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/pink_dye_from_miners_delight.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/pink_dye_from_miners_delight.json deleted file mode 100644 index 29101ba6d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/pink_dye_from_miners_delight.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:pink_dye_from_miners_delight" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_1", - "data": 3 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:pink_dye_from_miners_delight" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_daffodil.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_daffodil.json deleted file mode 100644 index 562d2afd9..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_daffodil.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:pink_dye_from_pink_daffodil" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 6 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:pink_dye_from_pink_daffodil" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_hibiscus.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_hibiscus.json deleted file mode 100644 index 5f3500e1c..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/pink_dye_from_pink_hibiscus.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:pink_dye_from_pink_hibiscus" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 13 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:pink_dye_from_pink_hibiscus" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/purple_dye_from_lavender.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/purple_dye_from_lavender.json deleted file mode 100644 index fc1ece183..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/purple_dye_from_lavender.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:purple_dye_from_lavender" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_1", - "data": 0 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:purple_dye_from_lavender" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/purple_dye_from_violet.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/purple_dye_from_violet.json deleted file mode 100644 index a4b1a197a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/purple_dye_from_violet.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:purple_dye_from_violet" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 8 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:purple_dye_from_violet" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/red_dye_from_bromeliad.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/red_dye_from_bromeliad.json deleted file mode 100644 index 05005863f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/red_dye_from_bromeliad.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:red_dye_from_bromeliad" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 11 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:red_dye_from_bromeliad" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/red_dye_from_rafflesia.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/red_dye_from_rafflesia.json deleted file mode 100644 index fac2128a1..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/red_dye_from_rafflesia.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:red_dye_from_rafflesia" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:plant_1", - "data": 10 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:red_dye_from_rafflesia" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/red_dye_from_rose.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/red_dye_from_rose.json deleted file mode 100644 index 0ec908673..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/red_dye_from_rose.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:red_dye_from_rose" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_1", - "data": 5 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:red_dye_from_rose" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/ruby.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/ruby.json deleted file mode 100644 index 878e112f6..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/ruby.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ruby" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem_block", - "data": 1 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ruby" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/sand_from_dried_sand.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/sand_from_dried_sand.json deleted file mode 100644 index 7f32de299..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/sand_from_dried_sand.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:sand_from_dried_sand" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:water_bucket" - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:sand_from_dried_sand" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/sapphire.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/sapphire.json deleted file mode 100644 index 1e382393a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/sapphire.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:sapphire" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem_block", - "data": 6 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:sapphire" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/tanzanite.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/tanzanite.json deleted file mode 100644 index 0aff80a58..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/tanzanite.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:tanzanite" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem_block", - "data": 4 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:tanzanite" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/topaz.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/topaz.json deleted file mode 100644 index fd099ca5a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/topaz.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:topaz" - ] - }, - "criteria": { - "has_gem_block": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:gem_block", - "data": 3 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:topaz" - } - } - }, - "requirements": [ - [ - "has_gem_block", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/white_dye_from_lily_of_the_valley.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/white_dye_from_lily_of_the_valley.json deleted file mode 100644 index da70a7050..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/white_dye_from_lily_of_the_valley.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:white_dye_from_lily_of_the_valley" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 14 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:white_dye_from_lily_of_the_valley" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/white_dye_from_white_anemone.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/white_dye_from_white_anemone.json deleted file mode 100644 index f71ee8b7a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/white_dye_from_white_anemone.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:white_dye_from_white_anemone" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_0", - "data": 9 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:white_dye_from_white_anemone" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/yellow_dye_from_goldenrod.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/yellow_dye_from_goldenrod.json deleted file mode 100644 index c572269b0..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/misc/yellow_dye_from_goldenrod.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:yellow_dye_from_goldenrod" - ] - }, - "criteria": { - "has_flower": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:flower_1", - "data": 1 - } - ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:yellow_dye_from_goldenrod" - } - } - }, - "requirements": [ - [ - "has_flower", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/cherry_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/cherry_door.json deleted file mode 100644 index ccafdd4a6..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/cherry_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:cherry_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cherry_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 1 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/cherry_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/cherry_fence_gate.json deleted file mode 100644 index 8fd95b49c..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/cherry_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:cherry_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:cherry_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 1 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ebony_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ebony_door.json deleted file mode 100644 index acd6eed0f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ebony_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ebony_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ebony_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 14 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ebony_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ebony_fence_gate.json deleted file mode 100644 index 1437b4f52..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ebony_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ebony_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ebony_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 14 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ethereal_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ethereal_door.json deleted file mode 100644 index a2a4c9bc2..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ethereal_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ethereal_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ethereal_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 4 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ethereal_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ethereal_fence_gate.json deleted file mode 100644 index 458e202e5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/ethereal_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:ethereal_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:ethereal_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 4 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/eucalyptus_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/eucalyptus_door.json deleted file mode 100644 index 0cb6ef536..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/eucalyptus_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:eucalyptus_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:eucalyptus_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 15 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/eucalyptus_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/eucalyptus_fence_gate.json deleted file mode 100644 index 05ef991d5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/eucalyptus_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:eucalyptus_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:eucalyptus_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 15 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/fir_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/fir_door.json deleted file mode 100644 index 5de634050..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/fir_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:fir_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:fir_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 3 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/fir_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/fir_fence_gate.json deleted file mode 100644 index 0be25ab73..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/fir_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:fir_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:fir_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 3 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/hellbark_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/hellbark_door.json deleted file mode 100644 index 0a5d96439..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/hellbark_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:hellbark_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:hellbark_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 11 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/hellbark_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/hellbark_fence_gate.json deleted file mode 100644 index 35e849e2d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/hellbark_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:hellbark_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:hellbark_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 11 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/jacaranda_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/jacaranda_door.json deleted file mode 100644 index a0b111085..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/jacaranda_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:jacaranda_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:jacaranda_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 12 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/jacaranda_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/jacaranda_fence_gate.json deleted file mode 100644 index 868927ca9..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/jacaranda_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:jacaranda_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:jacaranda_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 12 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/magic_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/magic_door.json deleted file mode 100644 index 7db1dbf05..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/magic_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:magic_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:magic_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 5 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/magic_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/magic_fence_gate.json deleted file mode 100644 index 2b4ef8edf..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/magic_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:magic_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:magic_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 5 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mahogany_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mahogany_door.json deleted file mode 100644 index 55e099e33..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mahogany_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mahogany_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mahogany_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 13 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mahogany_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mahogany_fence_gate.json deleted file mode 100644 index e69d2494a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mahogany_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mahogany_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mahogany_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 13 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mangrove_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mangrove_door.json deleted file mode 100644 index 449fa3b7e..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mangrove_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mangrove_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mangrove_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 6 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mangrove_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mangrove_fence_gate.json deleted file mode 100644 index 876981ac0..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/mangrove_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:mangrove_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:mangrove_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 6 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/palm_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/palm_door.json deleted file mode 100644 index 304ea0c4a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/palm_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:palm_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:palm_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 7 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/palm_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/palm_fence_gate.json deleted file mode 100644 index 121b968ac..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/palm_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:palm_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:palm_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 7 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/pine_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/pine_door.json deleted file mode 100644 index c3045f30c..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/pine_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:pine_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:pine_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 10 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/pine_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/pine_fence_gate.json deleted file mode 100644 index 93d71cfe5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/pine_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:pine_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:pine_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 10 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/redwood_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/redwood_door.json deleted file mode 100644 index 53304e89a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/redwood_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:redwood_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:redwood_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 8 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/redwood_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/redwood_fence_gate.json deleted file mode 100644 index bcf02e25d..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/redwood_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:redwood_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:redwood_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 8 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/sacred_oak_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/sacred_oak_door.json deleted file mode 100644 index 9fa2bc0c9..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/sacred_oak_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:sacred_oak_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:sacred_oak_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 0 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/sacred_oak_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/sacred_oak_fence_gate.json deleted file mode 100644 index 9eb91eb1e..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/sacred_oak_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:sacred_oak_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:sacred_oak_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 0 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/trapdoor_from_bop_wood.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/trapdoor_from_bop_wood.json deleted file mode 100644 index d3c029edf..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/trapdoor_from_bop_wood.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "minecraft:trapdoor" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "minecraft:trapdoor" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/umbran_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/umbran_door.json deleted file mode 100644 index 6820da26a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/umbran_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:umbran_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:umbran_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 2 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/umbran_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/umbran_fence_gate.json deleted file mode 100644 index 1c6f74a26..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/umbran_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:umbran_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:umbran_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 2 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/willow_door.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/willow_door.json deleted file mode 100644 index e88c1dea7..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/willow_door.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:willow_door" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:willow_door" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 9 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/willow_fence_gate.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/willow_fence_gate.json deleted file mode 100644 index 75b9cb4c7..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/willow_fence_gate.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:willow_fence_gate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:willow_fence_gate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0", - "data": 9 - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/wooden_button_from_bop_wood.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/wooden_button_from_bop_wood.json deleted file mode 100644 index 542205dfb..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/wooden_button_from_bop_wood.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "minecraft:wooden_button" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "minecraft:wooden_button" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/wooden_pressure_plate_from_bop_wood.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/wooden_pressure_plate_from_bop_wood.json deleted file mode 100644 index 5413d4bb9..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/redstone/wooden_pressure_plate_from_bop_wood.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "minecraft:wooden_pressure_plate" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "minecraft:wooden_pressure_plate" - } - }, - "has_planks": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:planks_0" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_planks" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/tools/biome_finder.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/tools/biome_finder.json deleted file mode 100644 index f2a111d3f..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/tools/biome_finder.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:biome_finder" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:biome_finder" - } - }, - "has_artifact": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "biomesoplenty:terrestrial_artifact" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_artifact" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/tools/empty_jar.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/tools/empty_jar.json deleted file mode 100644 index eb359bd02..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/tools/empty_jar.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:empty_jar" - ] - }, - "criteria": { - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:empty_jar" - } - }, - "has_glass": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "item": "minecraft:glass" - } - ] - } - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_glass" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_cherry.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_cherry.json deleted file mode 100644 index ccae7055b..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_cherry.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_cherry" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_cherry" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_ebony.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_ebony.json deleted file mode 100644 index 4217a0b14..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_ebony.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_ebony" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_ebony" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_ethereal.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_ethereal.json deleted file mode 100644 index 5ba797241..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_ethereal.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_ethereal" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_ethereal" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_eucalyptus.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_eucalyptus.json deleted file mode 100644 index 101dffcb5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_eucalyptus.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_eucalyptus" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_eucalyptus" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_fir.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_fir.json deleted file mode 100644 index 710613743..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_fir.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_fir" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_fir" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_hellbark.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_hellbark.json deleted file mode 100644 index 2dd33cecf..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_hellbark.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_hellbark" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_hellbark" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_jacaranda.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_jacaranda.json deleted file mode 100644 index a1a11dcbd..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_jacaranda.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_jacaranda" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_jacaranda" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_magic.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_magic.json deleted file mode 100644 index 895037920..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_magic.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_magic" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_magic" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_mahogany.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_mahogany.json deleted file mode 100644 index 2e8477e38..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_mahogany.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_mahogany" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_mahogany" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_mangrove.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_mangrove.json deleted file mode 100644 index e2a00596e..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_mangrove.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_mangrove" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_mangrove" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_palm.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_palm.json deleted file mode 100644 index 261cd4e73..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_palm.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_palm" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_palm" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_pine.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_pine.json deleted file mode 100644 index 0751591d5..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_pine.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_pine" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_pine" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_redwood.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_redwood.json deleted file mode 100644 index cbbd3a91a..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_redwood.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_redwood" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_redwood" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_sacred_oak.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_sacred_oak.json deleted file mode 100644 index 9526668b3..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_sacred_oak.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_sacred_oak" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_sacred_oak" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_umbran.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_umbran.json deleted file mode 100644 index 57638e64b..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_umbran.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_umbran" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_umbran" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_willow.json b/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_willow.json deleted file mode 100644 index 90878fe36..000000000 --- a/src/main/resources/assets/biomesoplenty/advancements/recipes/transportation/boat_willow.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "rewards": { - "recipes": [ - "biomesoplenty:boat_willow" - ] - }, - "criteria": { - "entered_water": { - "trigger": "minecraft:enter_block", - "conditions": { - "block": "minecraft:water" - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { - "recipe": "biomesoplenty:boat_willow" - } - } - }, - "requirements": [ - [ - "entered_water", - "has_the_recipe" - ] - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ash_block.json b/src/main/resources/assets/biomesoplenty/blockstates/ash_block.json deleted file mode 100755 index d78a51f00..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ash_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "normal": [ - { "model": "biomesoplenty:ash_block" }, - { "model": "biomesoplenty:ash_block", "y": 90 }, - { "model": "biomesoplenty:ash_block", "y": 180 }, - { "model": "biomesoplenty:ash_block", "y": 270 } - ] - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/bamboo.json b/src/main/resources/assets/biomesoplenty/blockstates/bamboo.json deleted file mode 100755 index 9ff7a1b8c..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/bamboo.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "age=0": { "model": "biomesoplenty:bamboo" }, - "age=1": { "model": "biomesoplenty:bamboo" }, - "age=2": { "model": "biomesoplenty:bamboo" }, - "age=3": { "model": "biomesoplenty:bamboo" }, - "age=4": { "model": "biomesoplenty:bamboo" }, - "age=5": { "model": "biomesoplenty:bamboo" }, - "age=6": { "model": "biomesoplenty:bamboo" }, - "age=7": { "model": "biomesoplenty:bamboo" }, - "age=8": { "model": "biomesoplenty:bamboo" }, - "age=9": { "model": "biomesoplenty:bamboo" }, - "age=10": { "model": "biomesoplenty:bamboo" }, - "age=11": { "model": "biomesoplenty:bamboo" }, - "age=12": { "model": "biomesoplenty:bamboo" }, - "age=13": { "model": "biomesoplenty:bamboo" }, - "age=14": { "model": "biomesoplenty:bamboo" }, - "age=15": { "model": "biomesoplenty:bamboo" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/bamboo_thatching.json b/src/main/resources/assets/biomesoplenty/blockstates/bamboo_thatching.json deleted file mode 100644 index 21b7eb8f1..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/bamboo_thatching.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { "model": "biomesoplenty:bamboo_thatching" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/biome_block.json b/src/main/resources/assets/biomesoplenty/blockstates/biome_block.json deleted file mode 100644 index 449578d21..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/biome_block.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { "model": "biomesoplenty:biome_block" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/blue_fire.json b/src/main/resources/assets/biomesoplenty/blockstates/blue_fire.json deleted file mode 100644 index 52a83c069..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/blue_fire.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "multipart": [ - { "apply": [ - { "model": "biomesoplenty:blue_fire_floor0" }, - { "model": "biomesoplenty:blue_fire_floor1" } - ] - }, - { "apply": [ - { "model": "biomesoplenty:blue_fire_side0" }, - { "model": "biomesoplenty:blue_fire_side1" }, - { "model": "biomesoplenty:blue_fire_side_alt0" }, - { "model": "biomesoplenty:blue_fire_side_alt1" } - ] - }, - { "apply": [ - { "model": "biomesoplenty:blue_fire_side0", "y": 90 }, - { "model": "biomesoplenty:blue_fire_side1", "y": 90 }, - { "model": "biomesoplenty:blue_fire_side_alt0", "y": 90 }, - { "model": "biomesoplenty:blue_fire_side_alt1", "y": 90 } - ] - }, - { "apply": [ - { "model": "biomesoplenty:blue_fire_side0", "y": 180 }, - { "model": "biomesoplenty:blue_fire_side1", "y": 180 }, - { "model": "biomesoplenty:blue_fire_side_alt0", "y": 180 }, - { "model": "biomesoplenty:blue_fire_side_alt1", "y": 180 } - ] - }, - { "apply": [ - { "model": "biomesoplenty:blue_fire_side0", "y": 270 }, - { "model": "biomesoplenty:blue_fire_side1", "y": 270 }, - { "model": "biomesoplenty:blue_fire_side_alt0", "y": 270 }, - { "model": "biomesoplenty:blue_fire_side_alt1", "y": 270 } - ] - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/bramble_plant.json b/src/main/resources/assets/biomesoplenty/blockstates/bramble_plant.json deleted file mode 100644 index cab1b9af7..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/bramble_plant.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:bramble_plant" }}, - { "when": { "north": true }, - "apply": { "model": "biomesoplenty:bramble_plant_side" } - }, - { "when": { "east": true }, - "apply": { "model": "biomesoplenty:bramble_plant_side", "y": 90, "uvlock": true } - }, - { "when": { "south": true }, - "apply": { "model": "biomesoplenty:bramble_plant_side", "y": 180, "uvlock": true } - }, - { "when": { "west": true }, - "apply": { "model": "biomesoplenty:bramble_plant_side", "y": 270, "uvlock": true } - }, - { "when": { "up": true }, - "apply": { "model": "biomesoplenty:bramble_plant_side", "x": 270, "uvlock": true } - }, - { "when": { "down": true }, - "apply": { "model": "biomesoplenty:bramble_plant_side", "x": 90, "uvlock": true } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/cherry_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/cherry_door_block.json deleted file mode 100644 index 5a3a21a88..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/cherry_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:cherry_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:cherry_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:cherry_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:cherry_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:cherry_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:cherry_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:cherry_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:cherry_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:cherry_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:cherry_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:cherry_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:cherry_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:cherry_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:cherry_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:cherry_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:cherry_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:cherry_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:cherry_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:cherry_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:cherry_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:cherry_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:cherry_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:cherry_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:cherry_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:cherry_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:cherry_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:cherry_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:cherry_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:cherry_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:cherry_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:cherry_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:cherry_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/cherry_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/cherry_double_slab.json deleted file mode 100644 index 42df031e9..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/cherry_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:cherry_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/cherry_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/cherry_fence.json deleted file mode 100644 index 385e49b3f..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/cherry_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:cherry_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:cherry_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:cherry_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:cherry_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:cherry_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/cherry_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/cherry_fence_gate.json deleted file mode 100644 index 219c0891b..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/cherry_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:cherry_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:cherry_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:cherry_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:cherry_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:cherry_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:cherry_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:cherry_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:cherry_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:cherry_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:cherry_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:cherry_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:cherry_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:cherry_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:cherry_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:cherry_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:cherry_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/cherry_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/cherry_slab.json deleted file mode 100644 index 772a13a58..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/cherry_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_cherry" }, - "half=top": { "model": "biomesoplenty:upper_slab_cherry" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/cherry_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/cherry_stairs.json deleted file mode 100644 index bbcd4d5d5..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/cherry_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:cherry_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:cherry_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:cherry_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:cherry_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:cherry_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:cherry_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:cherry_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:cherry_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:cherry_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:cherry_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:cherry_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:cherry_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:cherry_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:cherry_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:cherry_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:cherry_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:cherry_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:cherry_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:cherry_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:cherry_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:cherry_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:cherry_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:cherry_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:cherry_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:cherry_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:cherry_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:cherry_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:cherry_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:cherry_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:cherry_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:cherry_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:cherry_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:cherry_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:cherry_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:cherry_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:cherry_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:cherry_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:cherry_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:cherry_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:cherry_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/coral.json b/src/main/resources/assets/biomesoplenty/blockstates/coral.json deleted file mode 100644 index 1a6ac5f08..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/coral.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "variants": { - "variant=pink": { "model": "biomesoplenty:pink_coral" }, - "variant=orange": { "model": "biomesoplenty:orange_coral" }, - "variant=blue": { "model": "biomesoplenty:blue_coral" }, - "variant=glowing": { "model": "biomesoplenty:glowing_coral" }, - "variant=algae": { "model": "biomesoplenty:algae" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/crystal.json b/src/main/resources/assets/biomesoplenty/blockstates/crystal.json deleted file mode 100644 index 8c949439e..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/crystal.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { "model": "biomesoplenty:crystal" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/dirt.json b/src/main/resources/assets/biomesoplenty/blockstates/dirt.json deleted file mode 100644 index 98f2543fa..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/dirt.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "coarse=false,variant=loamy": { "model": "biomesoplenty:loamy_dirt" }, - "coarse=false,variant=sandy": { "model": "biomesoplenty:sandy_dirt" }, - "coarse=false,variant=silty": { "model": "biomesoplenty:silty_dirt" }, - "coarse=true,variant=loamy": { "model": "biomesoplenty:coarse_loamy_dirt" }, - "coarse=true,variant=sandy": { "model": "biomesoplenty:coarse_sandy_dirt" }, - "coarse=true,variant=silty": { "model": "biomesoplenty:coarse_silty_dirt" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/double_other_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/double_other_slab.json deleted file mode 100644 index af4f6b37d..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/double_other_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "variant=mud_brick": { "model": "biomesoplenty:mud_brick_block" }, - "variant=white_sandstone": { "model": "biomesoplenty:white_sandstone_normal" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/double_plant.json b/src/main/resources/assets/biomesoplenty/blockstates/double_plant.json deleted file mode 100644 index 0e16452dc..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/double_plant.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "half=upper,variant=flax": { "model": "biomesoplenty:flax_upper" }, - "half=lower,variant=flax": { "model": "biomesoplenty:flax_lower" }, - "half=upper,variant=tall_cattail": { "model": "biomesoplenty:tall_cattail_upper" }, - "half=lower,variant=tall_cattail": { "model": "biomesoplenty:tall_cattail_lower" }, - "half=upper,variant=eyebulb": { "model": "biomesoplenty:eyebulb_upper" }, - "half=lower,variant=eyebulb": { "model": "biomesoplenty:eyebulb_lower" }, - "half=upper,variant=sea_oats": { "model": "biomesoplenty:sea_oats_upper" }, - "half=lower,variant=sea_oats": { "model": "biomesoplenty:sea_oats_lower" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/double_wood_slab_0.json b/src/main/resources/assets/biomesoplenty/blockstates/double_wood_slab_0.json deleted file mode 100644 index 9c6276007..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/double_wood_slab_0.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "variant=sacred_oak": { "model": "biomesoplenty:sacred_oak_planks" }, - "variant=cherry": { "model": "biomesoplenty:cherry_planks" }, - "variant=umbran": { "model": "biomesoplenty:umbran_planks" }, - "variant=fir": { "model": "biomesoplenty:fir_planks" }, - "variant=ethereal": { "model": "biomesoplenty:ethereal_planks" }, - "variant=magic": { "model": "biomesoplenty:magic_planks" }, - "variant=mangrove": { "model": "biomesoplenty:mangrove_planks" }, - "variant=palm": { "model": "biomesoplenty:palm_planks" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/double_wood_slab_1.json b/src/main/resources/assets/biomesoplenty/blockstates/double_wood_slab_1.json deleted file mode 100644 index 5a32ba54a..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/double_wood_slab_1.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "variant=redwood": { "model": "biomesoplenty:redwood_planks" }, - "variant=willow": { "model": "biomesoplenty:willow_planks" }, - "variant=pine": { "model": "biomesoplenty:pine_planks" }, - "variant=hellbark": { "model": "biomesoplenty:hellbark_planks" }, - "variant=jacaranda": { "model": "biomesoplenty:jacaranda_planks" }, - "variant=mahogany": { "model": "biomesoplenty:mahogany_planks" }, - "variant=ebony": { "model": "biomesoplenty:ebony_planks" }, - "variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_planks" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/dried_sand.json b/src/main/resources/assets/biomesoplenty/blockstates/dried_sand.json deleted file mode 100644 index 263f9395f..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/dried_sand.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "normal": [ - { "model": "biomesoplenty:dried_sand" }, - { "model": "biomesoplenty:dried_sand", "y": 90 }, - { "model": "biomesoplenty:dried_sand", "y": 180 }, - { "model": "biomesoplenty:dried_sand", "y": 270 } - ] - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ebony_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/ebony_door_block.json deleted file mode 100644 index cf72cd160..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ebony_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ebony_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/ebony_double_slab.json deleted file mode 100644 index 7c28e3b66..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ebony_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:ebony_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ebony_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/ebony_fence.json deleted file mode 100644 index ffdcef45e..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ebony_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:ebony_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:ebony_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:ebony_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:ebony_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:ebony_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ebony_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/ebony_fence_gate.json deleted file mode 100644 index 54caa601c..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ebony_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:ebony_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:ebony_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:ebony_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:ebony_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:ebony_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:ebony_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:ebony_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:ebony_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:ebony_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:ebony_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:ebony_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:ebony_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:ebony_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:ebony_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:ebony_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:ebony_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ebony_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/ebony_slab.json deleted file mode 100644 index e13103977..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ebony_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_ebony" }, - "half=top": { "model": "biomesoplenty:upper_slab_ebony" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ebony_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/ebony_stairs.json deleted file mode 100644 index 805eda211..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ebony_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:ebony_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:ebony_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:ebony_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:ebony_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:ebony_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:ebony_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:ebony_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:ebony_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/ethereal_door_block.json deleted file mode 100644 index 3715facd9..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ethereal_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ethereal_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ethereal_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ethereal_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ethereal_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ethereal_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ethereal_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ethereal_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ethereal_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ethereal_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ethereal_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ethereal_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ethereal_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ethereal_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ethereal_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ethereal_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ethereal_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ethereal_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ethereal_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ethereal_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ethereal_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ethereal_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ethereal_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ethereal_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ethereal_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ethereal_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ethereal_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ethereal_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ethereal_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ethereal_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ethereal_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ethereal_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/ethereal_double_slab.json deleted file mode 100644 index 016ad902c..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:ethereal_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/ethereal_fence.json deleted file mode 100644 index b88d8e6e6..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:ethereal_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:ethereal_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:ethereal_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:ethereal_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:ethereal_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/ethereal_fence_gate.json deleted file mode 100644 index 57385945d..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:ethereal_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:ethereal_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:ethereal_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:ethereal_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:ethereal_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:ethereal_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:ethereal_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:ethereal_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:ethereal_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:ethereal_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:ethereal_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:ethereal_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:ethereal_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:ethereal_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:ethereal_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:ethereal_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/ethereal_slab.json deleted file mode 100644 index 33459e39b..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_ethereal" }, - "half=top": { "model": "biomesoplenty:upper_slab_ethereal" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/ethereal_stairs.json deleted file mode 100644 index f4a28af34..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ethereal_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:ethereal_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:ethereal_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:ethereal_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:ethereal_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:ethereal_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:ethereal_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:ethereal_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:ethereal_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:ethereal_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:ethereal_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:ethereal_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:ethereal_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:ethereal_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:ethereal_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:ethereal_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:ethereal_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:ethereal_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:ethereal_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:ethereal_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:ethereal_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:ethereal_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:ethereal_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:ethereal_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:ethereal_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:ethereal_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:ethereal_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:ethereal_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:ethereal_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:ethereal_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:ethereal_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:ethereal_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:ethereal_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:ethereal_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:ethereal_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:ethereal_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:ethereal_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:ethereal_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:ethereal_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:ethereal_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:ethereal_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_door_block.json deleted file mode 100644 index 0140298eb..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_double_slab.json deleted file mode 100644 index 9565d4406..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:eucalyptus_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_fence.json deleted file mode 100644 index 63d75416d..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:eucalyptus_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:eucalyptus_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:eucalyptus_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:eucalyptus_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:eucalyptus_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_fence_gate.json deleted file mode 100644 index 69c1772ae..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:eucalyptus_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:eucalyptus_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:eucalyptus_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:eucalyptus_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:eucalyptus_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:eucalyptus_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:eucalyptus_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:eucalyptus_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:eucalyptus_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:eucalyptus_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:eucalyptus_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:eucalyptus_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:eucalyptus_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:eucalyptus_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:eucalyptus_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:eucalyptus_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_slab.json deleted file mode 100644 index 98fd00125..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_eucalyptus" }, - "half=top": { "model": "biomesoplenty:upper_slab_eucalyptus" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_stairs.json deleted file mode 100644 index ef4ab3d80..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/eucalyptus_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/farmland_0.json b/src/main/resources/assets/biomesoplenty/blockstates/farmland_0.json deleted file mode 100644 index ef378c3fe..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/farmland_0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "moisture=0,variant=loamy": { "model": "biomesoplenty:loamy_farmland_dry" }, - "moisture=1,variant=loamy": { "model": "biomesoplenty:loamy_farmland_dry" }, - "moisture=2,variant=loamy": { "model": "biomesoplenty:loamy_farmland_dry" }, - "moisture=3,variant=loamy": { "model": "biomesoplenty:loamy_farmland_dry" }, - "moisture=4,variant=loamy": { "model": "biomesoplenty:loamy_farmland_dry" }, - "moisture=5,variant=loamy": { "model": "biomesoplenty:loamy_farmland_dry" }, - "moisture=6,variant=loamy": { "model": "biomesoplenty:loamy_farmland_dry" }, - "moisture=7,variant=loamy": { "model": "biomesoplenty:loamy_farmland_moist" }, - "moisture=0,variant=sandy": { "model": "biomesoplenty:sandy_farmland_dry" }, - "moisture=1,variant=sandy": { "model": "biomesoplenty:sandy_farmland_dry" }, - "moisture=2,variant=sandy": { "model": "biomesoplenty:sandy_farmland_dry" }, - "moisture=3,variant=sandy": { "model": "biomesoplenty:sandy_farmland_dry" }, - "moisture=4,variant=sandy": { "model": "biomesoplenty:sandy_farmland_dry" }, - "moisture=5,variant=sandy": { "model": "biomesoplenty:sandy_farmland_dry" }, - "moisture=6,variant=sandy": { "model": "biomesoplenty:sandy_farmland_dry" }, - "moisture=7,variant=sandy": { "model": "biomesoplenty:sandy_farmland_moist" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/farmland_1.json b/src/main/resources/assets/biomesoplenty/blockstates/farmland_1.json deleted file mode 100644 index 5f30d2612..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/farmland_1.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "moisture=0,variant=silty": { "model": "biomesoplenty:silty_farmland_dry" }, - "moisture=1,variant=silty": { "model": "biomesoplenty:silty_farmland_dry" }, - "moisture=2,variant=silty": { "model": "biomesoplenty:silty_farmland_dry" }, - "moisture=3,variant=silty": { "model": "biomesoplenty:silty_farmland_dry" }, - "moisture=4,variant=silty": { "model": "biomesoplenty:silty_farmland_dry" }, - "moisture=5,variant=silty": { "model": "biomesoplenty:silty_farmland_dry" }, - "moisture=6,variant=silty": { "model": "biomesoplenty:silty_farmland_dry" }, - "moisture=7,variant=silty": { "model": "biomesoplenty:silty_farmland_moist" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/fir_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/fir_door_block.json deleted file mode 100644 index 7e68c6ada..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/fir_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:fir_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:fir_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:fir_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:fir_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:fir_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:fir_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:fir_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:fir_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:fir_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:fir_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:fir_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:fir_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:fir_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:fir_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:fir_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:fir_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:fir_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:fir_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:fir_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:fir_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:fir_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:fir_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:fir_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:fir_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:fir_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:fir_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:fir_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:fir_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:fir_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:fir_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:fir_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:fir_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/fir_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/fir_double_slab.json deleted file mode 100644 index bde36a1b2..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/fir_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:fir_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/fir_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/fir_fence.json deleted file mode 100644 index c6e847136..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/fir_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:fir_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:fir_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:fir_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:fir_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:fir_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/fir_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/fir_fence_gate.json deleted file mode 100644 index c515d2975..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/fir_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:fir_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:fir_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:fir_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:fir_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:fir_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:fir_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:fir_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:fir_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:fir_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:fir_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:fir_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:fir_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:fir_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:fir_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:fir_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:fir_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/fir_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/fir_slab.json deleted file mode 100644 index 518a7a77a..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/fir_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_fir" }, - "half=top": { "model": "biomesoplenty:upper_slab_fir" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/fir_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/fir_stairs.json deleted file mode 100644 index 7f145d191..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/fir_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:fir_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:fir_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:fir_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:fir_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:fir_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:fir_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:fir_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:fir_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:fir_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:fir_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:fir_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:fir_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:fir_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:fir_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:fir_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:fir_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:fir_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:fir_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:fir_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:fir_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:fir_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:fir_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:fir_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:fir_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:fir_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:fir_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:fir_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:fir_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:fir_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:fir_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:fir_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:fir_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:fir_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:fir_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:fir_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:fir_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:fir_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:fir_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:fir_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:fir_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/flesh.json b/src/main/resources/assets/biomesoplenty/blockstates/flesh.json deleted file mode 100644 index 1c21c990a..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/flesh.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "normal": [ - { "model": "biomesoplenty:flesh" }, - { "model": "biomesoplenty:flesh", "y": 90 }, - { "model": "biomesoplenty:flesh", "y": 180 }, - { "model": "biomesoplenty:flesh", "y": 270 } - ] - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/flower_0.json b/src/main/resources/assets/biomesoplenty/blockstates/flower_0.json deleted file mode 100755 index 9085e026c..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/flower_0.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "variants": { - "variant=clover": [ - { "model": "biomesoplenty:clover" }, - { "model": "biomesoplenty:clover", "y": 90 }, - { "model": "biomesoplenty:clover", "y": 180 }, - { "model": "biomesoplenty:clover", "y": 270 } - ], - "variant=swampflower": { "model": "biomesoplenty:swampflower" }, - "variant=deathbloom": { "model": "biomesoplenty:deathbloom" }, - "variant=glowflower": { "model": "biomesoplenty:glowflower" }, - "variant=blue_hydrangea": { "model": "biomesoplenty:blue_hydrangea" }, - "variant=orange_cosmos": { "model": "biomesoplenty:orange_cosmos" }, - "variant=pink_daffodil": { "model": "biomesoplenty:pink_daffodil" }, - "variant=wildflower": { "model": "biomesoplenty:wildflower" }, - "variant=violet": { "model": "biomesoplenty:violet" }, - "variant=white_anemone": { "model": "biomesoplenty:white_anemone" }, - "variant=enderlotus": { "model": "biomesoplenty:enderlotus" }, - "variant=bromeliad": { "model": "biomesoplenty:bromeliad" }, - "variant=wilted_lily": { "model": "biomesoplenty:wilted_lily" }, - "variant=pink_hibiscus": { "model": "biomesoplenty:pink_hibiscus" }, - "variant=lily_of_the_valley": { "model": "biomesoplenty:lily_of_the_valley" }, - "variant=burning_blossom": { "model": "biomesoplenty:burning_blossom" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/flower_1.json b/src/main/resources/assets/biomesoplenty/blockstates/flower_1.json deleted file mode 100755 index 3665212e7..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/flower_1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "variant=lavender": { "model": "biomesoplenty:lavender" }, - "variant=goldenrod": { "model": "biomesoplenty:goldenrod" }, - "variant=bluebells": { "model": "biomesoplenty:bluebells" }, - "variant=miners_delight": { "model": "biomesoplenty:miners_delight" }, - "variant=icy_iris": { "model": "biomesoplenty:icy_iris" }, - "variant=rose": { "model": "biomesoplenty:rose" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/fluids.json b/src/main/resources/assets/biomesoplenty/blockstates/fluids.json deleted file mode 100644 index d1dba39dc..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/fluids.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "forge_marker": 1, - "variants": { - "sand": { - "model": "forge:fluid", - "custom": { "fluid": "sand" } - }, - "honey": { - "model": "forge:fluid", - "custom": { "fluid": "honey" } - }, - "blood": { - "model": "forge:fluid", - "custom": { "fluid": "blood" } - }, - "poison": { - "model": "forge:fluid", - "custom": { "fluid": "poison" } - }, - "hot_spring_water": { - "model": "forge:fluid", - "custom": { "fluid": "hot_spring_water" } - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/gem_block.json b/src/main/resources/assets/biomesoplenty/blockstates/gem_block.json deleted file mode 100644 index 4f44f9cd2..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/gem_block.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "variant=amethyst": { "model": "biomesoplenty:amethyst_block" }, - "variant=ruby": { "model": "biomesoplenty:ruby_block" }, - "variant=peridot": { "model": "biomesoplenty:peridot_block" }, - "variant=topaz": { "model": "biomesoplenty:topaz_block" }, - "variant=tanzanite": { "model": "biomesoplenty:tanzanite_block" }, - "variant=malachite": { "model": "biomesoplenty:malachite_block" }, - "variant=sapphire": { "model": "biomesoplenty:sapphire_block" }, - "variant=amber": { "model": "biomesoplenty:amber_block" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/gem_ore.json b/src/main/resources/assets/biomesoplenty/blockstates/gem_ore.json deleted file mode 100644 index 437422763..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/gem_ore.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "variant=amethyst": { "model": "biomesoplenty:amethyst_ore" }, - "variant=ruby": { "model": "biomesoplenty:ruby_ore" }, - "variant=peridot": { "model": "biomesoplenty:peridot_ore" }, - "variant=topaz": { "model": "biomesoplenty:topaz_ore" }, - "variant=tanzanite": { "model": "biomesoplenty:tanzanite_ore" }, - "variant=malachite": { "model": "biomesoplenty:malachite_ore" }, - "variant=sapphire": { "model": "biomesoplenty:sapphire_ore" }, - "variant=amber": { "model": "biomesoplenty:amber_ore" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/giant_flower_stem.json b/src/main/resources/assets/biomesoplenty/blockstates/giant_flower_stem.json deleted file mode 100644 index d3b34e5a5..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/giant_flower_stem.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "axis=y": { "model": "biomesoplenty:giant_flower_stem" }, - "axis=z": { "model": "biomesoplenty:giant_flower_stem_side" }, - "axis=x": { "model": "biomesoplenty:giant_flower_stem_side", "y": 90 }, - "axis=none": { "model": "biomesoplenty:giant_flower_stem_bark" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/grass.json b/src/main/resources/assets/biomesoplenty/blockstates/grass.json deleted file mode 100644 index b9906dd4d..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/grass.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "variants": { - "snowy=false,variant=overgrown_stone": [ - { "model": "biomesoplenty:overgrown_stone" }, - { "model": "biomesoplenty:overgrown_stone", "y": 90 }, - { "model": "biomesoplenty:overgrown_stone", "y": 180 }, - { "model": "biomesoplenty:overgrown_stone", "y": 270 } - ], - "snowy=true,variant=overgrown_stone": [ - { "model": "biomesoplenty:overgrown_stone_snowed" }, - { "model": "biomesoplenty:overgrown_stone_snowed", "y": 90 }, - { "model": "biomesoplenty:overgrown_stone_snowed", "y": 180 }, - { "model": "biomesoplenty:overgrown_stone_snowed", "y": 270 } - ], - - "snowy=false,variant=spectral_moss": [ - { "model": "biomesoplenty:spectral_moss" }, - { "model": "biomesoplenty:spectral_moss", "y": 90 }, - { "model": "biomesoplenty:spectral_moss", "y": 180 }, - { "model": "biomesoplenty:spectral_moss", "y": 270 } - ], - "snowy=true,variant=spectral_moss": [ - { "model": "biomesoplenty:spectral_moss" }, - { "model": "biomesoplenty:spectral_moss", "y": 90 }, - { "model": "biomesoplenty:spectral_moss", "y": 180 }, - { "model": "biomesoplenty:spectral_moss", "y": 270 } - ], - - "snowy=false,variant=loamy": [ - { "model": "biomesoplenty:loamy_grass_block" }, - { "model": "biomesoplenty:loamy_grass_block", "y": 90 }, - { "model": "biomesoplenty:loamy_grass_block", "y": 180 }, - { "model": "biomesoplenty:loamy_grass_block", "y": 270 } - ], - "snowy=true,variant=loamy": [ - { "model": "biomesoplenty:loamy_grass_block_snowed" }, - { "model": "biomesoplenty:loamy_grass_block_snowed", "y": 90 }, - { "model": "biomesoplenty:loamy_grass_block_snowed", "y": 180 }, - { "model": "biomesoplenty:loamy_grass_block_snowed", "y": 270 } - ], - - "snowy=false,variant=sandy": [ - { "model": "biomesoplenty:sandy_grass_block" }, - { "model": "biomesoplenty:sandy_grass_block", "y": 90 }, - { "model": "biomesoplenty:sandy_grass_block", "y": 180 }, - { "model": "biomesoplenty:sandy_grass_block", "y": 270 } - ], - "snowy=true,variant=sandy": [ - { "model": "biomesoplenty:sandy_grass_block_snowed" }, - { "model": "biomesoplenty:sandy_grass_block_snowed", "y": 90 }, - { "model": "biomesoplenty:sandy_grass_block_snowed", "y": 180 }, - { "model": "biomesoplenty:sandy_grass_block_snowed", "y": 270 } - ], - - "snowy=false,variant=silty": [ - { "model": "biomesoplenty:silty_grass_block" }, - { "model": "biomesoplenty:silty_grass_block", "y": 90 }, - { "model": "biomesoplenty:silty_grass_block", "y": 180 }, - { "model": "biomesoplenty:silty_grass_block", "y": 270 } - ], - "snowy=true,variant=silty": [ - { "model": "biomesoplenty:silty_grass_block_snowed" }, - { "model": "biomesoplenty:silty_grass_block_snowed", "y": 90 }, - { "model": "biomesoplenty:silty_grass_block_snowed", "y": 180 }, - { "model": "biomesoplenty:silty_grass_block_snowed", "y": 270 } - ], - - "snowy=false,variant=origin": [ - { "model": "biomesoplenty:origin_grass_block" } - ], - "snowy=true,variant=origin": [ - { "model": "biomesoplenty:origin_grass_block_snowed" } - ], - - "snowy=false,variant=overgrown_netherrack": [ - { "model": "biomesoplenty:overgrown_netherrack" }, - { "model": "biomesoplenty:overgrown_netherrack", "y": 90 }, - { "model": "biomesoplenty:overgrown_netherrack", "y": 180 }, - { "model": "biomesoplenty:overgrown_netherrack", "y": 270 } - ], - "snowy=true,variant=overgrown_netherrack": [ - { "model": "biomesoplenty:overgrown_netherrack" }, - { "model": "biomesoplenty:overgrown_netherrack", "y": 90 }, - { "model": "biomesoplenty:overgrown_netherrack", "y": 180 }, - { "model": "biomesoplenty:overgrown_netherrack", "y": 270 } - ], - - "snowy=false,variant=daisy": [ - { "model": "biomesoplenty:daisy_grass_block" }, - { "model": "biomesoplenty:daisy_grass_block", "y": 90 }, - { "model": "biomesoplenty:daisy_grass_block", "y": 180 }, - { "model": "biomesoplenty:daisy_grass_block", "y": 270 } - ], - "snowy=true,variant=daisy": [ - { "model": "biomesoplenty:daisy_grass_block_snowed" }, - { "model": "biomesoplenty:daisy_grass_block_snowed", "y": 90 }, - { "model": "biomesoplenty:daisy_grass_block_snowed", "y": 180 }, - { "model": "biomesoplenty:daisy_grass_block_snowed", "y": 270 } - ], - "snowy=false,variant=mycelial_netherrack": [ - { "model": "biomesoplenty:mycelial_netherrack" }, - { "model": "biomesoplenty:mycelial_netherrack", "y": 90 }, - { "model": "biomesoplenty:mycelial_netherrack", "y": 180 }, - { "model": "biomesoplenty:mycelial_netherrack", "y": 270 } - ], - "snowy=true,variant=mycelial_netherrack": [ - { "model": "biomesoplenty:mycelial_netherrack" }, - { "model": "biomesoplenty:mycelial_netherrack", "y": 90 }, - { "model": "biomesoplenty:mycelial_netherrack", "y": 180 }, - { "model": "biomesoplenty:mycelial_netherrack", "y": 270 } - ] - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/grass_path.json b/src/main/resources/assets/biomesoplenty/blockstates/grass_path.json deleted file mode 100644 index 6e511c035..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/grass_path.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "variant=loamy": { "model": "biomesoplenty:grass_loamy_path" }, - "variant=sandy": { "model": "biomesoplenty:grass_sandy_path" }, - "variant=silty": { "model": "biomesoplenty:grass_silty_path" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/hard_ice.json b/src/main/resources/assets/biomesoplenty/blockstates/hard_ice.json deleted file mode 100644 index 441c1d150..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/hard_ice.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { "model": "biomesoplenty:hard_ice" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/hellbark_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/hellbark_door_block.json deleted file mode 100644 index 357edfb57..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/hellbark_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:hellbark_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:hellbark_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:hellbark_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:hellbark_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:hellbark_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:hellbark_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:hellbark_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:hellbark_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:hellbark_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:hellbark_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:hellbark_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:hellbark_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:hellbark_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:hellbark_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:hellbark_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:hellbark_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:hellbark_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:hellbark_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:hellbark_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:hellbark_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:hellbark_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:hellbark_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:hellbark_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:hellbark_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:hellbark_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:hellbark_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:hellbark_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:hellbark_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:hellbark_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:hellbark_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:hellbark_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:hellbark_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence.json deleted file mode 100644 index 86d0e33a5..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:hellbark_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:hellbark_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:hellbark_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:hellbark_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:hellbark_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence_gate.json deleted file mode 100644 index 448059a1a..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/hellbark_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:hellbark_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:hellbark_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:hellbark_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:hellbark_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:hellbark_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:hellbark_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:hellbark_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:hellbark_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:hellbark_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:hellbark_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:hellbark_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:hellbark_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:hellbark_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:hellbark_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:hellbark_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:hellbark_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/hellbark_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/hellbark_stairs.json deleted file mode 100644 index 09d1e7282..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/hellbark_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:hellbark_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:hellbark_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:hellbark_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:hellbark_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:hellbark_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:hellbark_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:hellbark_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:hellbark_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:hellbark_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:hellbark_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:hellbark_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:hellbark_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:hellbark_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:hellbark_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:hellbark_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:hellbark_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:hellbark_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:hellbark_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:hellbark_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:hellbark_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:hellbark_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:hellbark_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:hellbark_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:hellbark_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:hellbark_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:hellbark_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:hellbark_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:hellbark_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:hellbark_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:hellbark_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:hellbark_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:hellbark_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:hellbark_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:hellbark_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:hellbark_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:hellbark_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:hellbark_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:hellbark_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:hellbark_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:hellbark_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/hive.json b/src/main/resources/assets/biomesoplenty/blockstates/hive.json deleted file mode 100644 index 0825b47e5..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/hive.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "variant=hive": { "model": "biomesoplenty:hive_block" }, - "variant=honeycomb": { "model": "biomesoplenty:honeycomb_block" }, - "variant=empty_honeycomb": { "model": "biomesoplenty:empty_honeycomb_block" }, - "variant=filled_honeycomb": { "model": "biomesoplenty:filled_honeycomb_block" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/honey_block.json b/src/main/resources/assets/biomesoplenty/blockstates/honey_block.json deleted file mode 100644 index 05fcc8c7a..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/honey_block.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { "model": "biomesoplenty:honey_block" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/ivy.json b/src/main/resources/assets/biomesoplenty/blockstates/ivy.json deleted file mode 100644 index 948994111..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/ivy.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "east=false,north=false,south=false,up=false,west=false": { "model": "biomesoplenty:ivy_1" }, - "east=false,north=false,south=true,up=false,west=false": { "model": "biomesoplenty:ivy_1" }, - "east=false,north=false,south=false,up=false,west=true": { "model": "biomesoplenty:ivy_1", "y": 90 }, - "east=false,north=true,south=false,up=false,west=false": { "model": "biomesoplenty:ivy_1", "y": 180 }, - "east=true,north=false,south=false,up=false,west=false": { "model": "biomesoplenty:ivy_1", "y": 270 }, - "east=true,north=true,south=false,up=false,west=false": { "model": "biomesoplenty:ivy_2" }, - "east=true,north=false,south=true,up=false,west=false": { "model": "biomesoplenty:ivy_2", "y": 90 }, - "east=false,north=false,south=true,up=false,west=true": { "model": "biomesoplenty:ivy_2", "y": 180 }, - "east=false,north=true,south=false,up=false,west=true": { "model": "biomesoplenty:ivy_2", "y": 270 }, - "east=true,north=false,south=false,up=false,west=true": { "model": "biomesoplenty:ivy_2_opposite" }, - "east=false,north=true,south=true,up=false,west=false": { "model": "biomesoplenty:ivy_2_opposite", "y": 90 }, - "east=true,north=true,south=true,up=false,west=false": { "model": "biomesoplenty:ivy_3" }, - "east=true,north=false,south=true,up=false,west=true": { "model": "biomesoplenty:ivy_3", "y": 90 }, - "east=false,north=true,south=true,up=false,west=true": { "model": "biomesoplenty:ivy_3", "y": 180 }, - "east=true,north=true,south=false,up=false,west=true": { "model": "biomesoplenty:ivy_3", "y": 270 }, - "east=true,north=true,south=true,up=false,west=true": { "model": "biomesoplenty:ivy_4" }, - "east=false,north=false,south=false,up=true,west=false": { "model": "biomesoplenty:ivy_u" }, - "east=false,north=false,south=true,up=true,west=false": { "model": "biomesoplenty:ivy_1u" }, - "east=false,north=false,south=false,up=true,west=true": { "model": "biomesoplenty:ivy_1u", "y": 90 }, - "east=false,north=true,south=false,up=true,west=false": { "model": "biomesoplenty:ivy_1u", "y": 180 }, - "east=true,north=false,south=false,up=true,west=false": { "model": "biomesoplenty:ivy_1u", "y": 270 }, - "east=true,north=true,south=false,up=true,west=false": { "model": "biomesoplenty:ivy_2u" }, - "east=true,north=false,south=true,up=true,west=false": { "model": "biomesoplenty:ivy_2u", "y": 90 }, - "east=false,north=false,south=true,up=true,west=true": { "model": "biomesoplenty:ivy_2u", "y": 180 }, - "east=false,north=true,south=false,up=true,west=true": { "model": "biomesoplenty:ivy_2u", "y": 270 }, - "east=true,north=false,south=false,up=true,west=true": { "model": "biomesoplenty:ivy_2u_opposite" }, - "east=false,north=true,south=true,up=true,west=false": { "model": "biomesoplenty:ivy_2u_opposite", "y": 90 }, - "east=true,north=true,south=true,up=true,west=false": { "model": "biomesoplenty:ivy_3u" }, - "east=true,north=false,south=true,up=true,west=true": { "model": "biomesoplenty:ivy_3u", "y": 90 }, - "east=false,north=true,south=true,up=true,west=true": { "model": "biomesoplenty:ivy_3u", "y": 180 }, - "east=true,north=true,south=false,up=true,west=true": { "model": "biomesoplenty:ivy_3u", "y": 270 }, - "east=true,north=true,south=true,up=true,west=true": { "model": "biomesoplenty:ivy_4u" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_door_block.json deleted file mode 100644 index a690e6d39..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:jacaranda_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:jacaranda_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:jacaranda_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:jacaranda_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:jacaranda_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:jacaranda_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:jacaranda_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:jacaranda_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:jacaranda_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:jacaranda_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:jacaranda_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:jacaranda_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:jacaranda_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:jacaranda_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:jacaranda_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:jacaranda_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:jacaranda_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:jacaranda_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:jacaranda_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:jacaranda_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:jacaranda_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:jacaranda_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:jacaranda_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:jacaranda_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:jacaranda_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:jacaranda_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:jacaranda_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:jacaranda_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:jacaranda_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:jacaranda_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:jacaranda_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:jacaranda_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_double_slab.json deleted file mode 100644 index 0da101b0d..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:jacaranda_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence.json deleted file mode 100644 index 43cbe55d3..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:jacaranda_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:jacaranda_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:jacaranda_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:jacaranda_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:jacaranda_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence_gate.json deleted file mode 100644 index f40fe8e33..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:jacaranda_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:jacaranda_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:jacaranda_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:jacaranda_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:jacaranda_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:jacaranda_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:jacaranda_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:jacaranda_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:jacaranda_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:jacaranda_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:jacaranda_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:jacaranda_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:jacaranda_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:jacaranda_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:jacaranda_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:jacaranda_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_slab.json deleted file mode 100644 index 51315f469..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_jacaranda" }, - "half=top": { "model": "biomesoplenty:upper_slab_jacaranda" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_stairs.json deleted file mode 100644 index 8a13d70a0..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/jacaranda_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:jacaranda_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:jacaranda_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:jacaranda_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:jacaranda_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:jacaranda_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:jacaranda_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:jacaranda_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:jacaranda_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:jacaranda_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:jacaranda_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:jacaranda_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:jacaranda_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:jacaranda_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:jacaranda_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:jacaranda_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:jacaranda_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:jacaranda_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:jacaranda_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:jacaranda_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:jacaranda_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:jacaranda_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:jacaranda_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:jacaranda_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:jacaranda_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:jacaranda_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:jacaranda_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:jacaranda_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:jacaranda_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:jacaranda_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:jacaranda_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:jacaranda_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:jacaranda_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:jacaranda_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:jacaranda_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:jacaranda_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:jacaranda_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:jacaranda_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:jacaranda_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:jacaranda_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:jacaranda_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/leaves_0.json b/src/main/resources/assets/biomesoplenty/blockstates/leaves_0.json deleted file mode 100644 index abe2d6c4f..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/leaves_0.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "variant=yellow_autumn": { "model": "biomesoplenty:yellow_autumn_leaves" }, - "variant=orange_autumn": { "model": "biomesoplenty:orange_autumn_leaves" }, - "variant=bamboo": { "model": "biomesoplenty:bamboo_leaves" }, - "variant=magic": { "model": "biomesoplenty:magic_leaves" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/leaves_1.json b/src/main/resources/assets/biomesoplenty/blockstates/leaves_1.json deleted file mode 100644 index cac785bb8..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/leaves_1.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "variant=umbran": { "model": "biomesoplenty:umbran_leaves" }, - "variant=dead": { "model": "biomesoplenty:dead_leaves" }, - "variant=fir": { "model": "biomesoplenty:fir_leaves" }, - "variant=ethereal": { "model": "biomesoplenty:ethereal_leaves" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/leaves_2.json b/src/main/resources/assets/biomesoplenty/blockstates/leaves_2.json deleted file mode 100644 index 285fbd457..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/leaves_2.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "variant=origin": { "model": "biomesoplenty:origin_leaves" }, - "variant=pink_cherry": { "model": "biomesoplenty:pink_cherry_leaves" }, - "variant=white_cherry": { "model": "biomesoplenty:white_cherry_leaves" }, - "variant=maple": { "model": "biomesoplenty:maple_leaves" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/leaves_3.json b/src/main/resources/assets/biomesoplenty/blockstates/leaves_3.json deleted file mode 100644 index 07afb5da0..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/leaves_3.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "variant=hellbark": { "model": "biomesoplenty:hellbark_leaves" }, - "variant=flowering": { "model": "biomesoplenty:flowering_leaves" }, - "variant=jacaranda": { "model": "biomesoplenty:jacaranda_leaves" }, - "variant=sacred_oak": { "model": "biomesoplenty:sacred_oak_leaves" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/leaves_4.json b/src/main/resources/assets/biomesoplenty/blockstates/leaves_4.json deleted file mode 100644 index 045480c8f..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/leaves_4.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "variant=mangrove": { "model": "biomesoplenty:mangrove_leaves" }, - "variant=palm": { "model": "biomesoplenty:palm_leaves" }, - "variant=redwood": { "model": "biomesoplenty:redwood_leaves" }, - "variant=willow": { "model": "biomesoplenty:willow_leaves" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/leaves_5.json b/src/main/resources/assets/biomesoplenty/blockstates/leaves_5.json deleted file mode 100644 index cdbd8ceae..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/leaves_5.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "variant=pine": { "model": "biomesoplenty:pine_leaves" }, - "variant=mahogany": { "model": "biomesoplenty:mahogany_leaves" }, - "variant=ebony": { "model": "biomesoplenty:ebony_leaves" }, - "variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_leaves" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/leaves_6.json b/src/main/resources/assets/biomesoplenty/blockstates/leaves_6.json deleted file mode 100644 index fc7feb172..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/leaves_6.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "variant=red_big_flower": { "model": "biomesoplenty:red_big_flower_petal" }, - "variant=yellow_big_flower": { "model": "biomesoplenty:yellow_big_flower_petal" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/loamy_farmland.json b/src/main/resources/assets/biomesoplenty/blockstates/loamy_farmland.json deleted file mode 100644 index e528e6ad1..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/loamy_farmland.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "forge_marker": 1, - "defaults": { - "model": "biomesoplenty:loamy_farmland_dry" - }, - "variants": { - "inventory": [{ - "transform": "forge:default-block" - }] - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/log_0.json b/src/main/resources/assets/biomesoplenty/blockstates/log_0.json deleted file mode 100644 index 23e5356d6..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/log_0.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "variants": { - "axis=y,variant=sacred_oak": { "model": "biomesoplenty:sacred_oak_log" }, - "axis=z,variant=sacred_oak": { "model": "biomesoplenty:sacred_oak_log", "x": 90 }, - "axis=x,variant=sacred_oak": { "model": "biomesoplenty:sacred_oak_log", "x": 90, "y": 90 }, - "axis=none,variant=sacred_oak": { "model": "biomesoplenty:sacred_oak_bark" }, - "axis=y,variant=cherry": { "model": "biomesoplenty:cherry_log" }, - "axis=z,variant=cherry": { "model": "biomesoplenty:cherry_log", "x": 90 }, - "axis=x,variant=cherry": { "model": "biomesoplenty:cherry_log", "x": 90, "y": 90 }, - "axis=none,variant=cherry": { "model": "biomesoplenty:cherry_bark" }, - "axis=y,variant=umbran": { "model": "biomesoplenty:umbran_log" }, - "axis=z,variant=umbran": { "model": "biomesoplenty:umbran_log", "x": 90 }, - "axis=x,variant=umbran": { "model": "biomesoplenty:umbran_log", "x": 90, "y": 90 }, - "axis=none,variant=umbran": { "model": "biomesoplenty:umbran_bark" }, - "axis=y,variant=fir": { "model": "biomesoplenty:fir_log" }, - "axis=z,variant=fir": { "model": "biomesoplenty:fir_log", "x": 90 }, - "axis=x,variant=fir": { "model": "biomesoplenty:fir_log", "x": 90, "y": 90 }, - "axis=none,variant=fir": { "model": "biomesoplenty:fir_bark" } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/blockstates/log_1.json b/src/main/resources/assets/biomesoplenty/blockstates/log_1.json deleted file mode 100644 index a0797a3be..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/log_1.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "variants": { - "axis=y,variant=ethereal": { "model": "biomesoplenty:ethereal_log" }, - "axis=z,variant=ethereal": { "model": "biomesoplenty:ethereal_log", "x": 90 }, - "axis=x,variant=ethereal": { "model": "biomesoplenty:ethereal_log", "x": 90, "y": 90 }, - "axis=none,variant=ethereal": { "model": "biomesoplenty:ethereal_bark" }, - "axis=y,variant=magic": { "model": "biomesoplenty:magic_log" }, - "axis=z,variant=magic": { "model": "biomesoplenty:magic_log", "x": 90 }, - "axis=x,variant=magic": { "model": "biomesoplenty:magic_log", "x": 90, "y": 90 }, - "axis=none,variant=magic": { "model": "biomesoplenty:magic_bark" }, - "axis=y,variant=mangrove": { "model": "biomesoplenty:mangrove_log" }, - "axis=z,variant=mangrove": { "model": "biomesoplenty:mangrove_log", "x": 90 }, - "axis=x,variant=mangrove": { "model": "biomesoplenty:mangrove_log", "x": 90, "y": 90 }, - "axis=none,variant=mangrove": { "model": "biomesoplenty:mangrove_bark" }, - "axis=y,variant=palm": { "model": "biomesoplenty:palm_log" }, - "axis=z,variant=palm": { "model": "biomesoplenty:palm_log", "x": 90 }, - "axis=x,variant=palm": { "model": "biomesoplenty:palm_log", "x": 90, "y": 90 }, - "axis=none,variant=palm": { "model": "biomesoplenty:palm_bark" } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/blockstates/log_2.json b/src/main/resources/assets/biomesoplenty/blockstates/log_2.json deleted file mode 100644 index 654d59f45..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/log_2.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "variants": { - "axis=y,variant=redwood": { "model": "biomesoplenty:redwood_log" }, - "axis=z,variant=redwood": { "model": "biomesoplenty:redwood_log", "x": 90 }, - "axis=x,variant=redwood": { "model": "biomesoplenty:redwood_log", "x": 90, "y": 90 }, - "axis=none,variant=redwood": { "model": "biomesoplenty:redwood_bark" }, - "axis=y,variant=willow": { "model": "biomesoplenty:willow_log" }, - "axis=z,variant=willow": { "model": "biomesoplenty:willow_log", "x": 90 }, - "axis=x,variant=willow": { "model": "biomesoplenty:willow_log", "x": 90, "y": 90 }, - "axis=none,variant=willow": { "model": "biomesoplenty:willow_bark" }, - "axis=y,variant=pine": { "model": "biomesoplenty:pine_log" }, - "axis=z,variant=pine": { "model": "biomesoplenty:pine_log", "x": 90 }, - "axis=x,variant=pine": { "model": "biomesoplenty:pine_log", "x": 90, "y": 90 }, - "axis=none,variant=pine": { "model": "biomesoplenty:pine_bark" }, - "axis=y,variant=hellbark": { "model": "biomesoplenty:hellbark_log" }, - "axis=z,variant=hellbark": { "model": "biomesoplenty:hellbark_log", "x": 90 }, - "axis=x,variant=hellbark": { "model": "biomesoplenty:hellbark_log", "x": 90, "y": 90 }, - "axis=none,variant=hellbark": { "model": "biomesoplenty:hellbark_bark" } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/blockstates/log_3.json b/src/main/resources/assets/biomesoplenty/blockstates/log_3.json deleted file mode 100644 index 1c22a2a64..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/log_3.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "variants": { - "axis=y,variant=jacaranda": { "model": "biomesoplenty:jacaranda_log" }, - "axis=z,variant=jacaranda": { "model": "biomesoplenty:jacaranda_log", "x": 90 }, - "axis=x,variant=jacaranda": { "model": "biomesoplenty:jacaranda_log", "x": 90, "y": 90 }, - "axis=none,variant=jacaranda": { "model": "biomesoplenty:jacaranda_bark" }, - "axis=y,variant=mahogany": { "model": "biomesoplenty:mahogany_log" }, - "axis=z,variant=mahogany": { "model": "biomesoplenty:mahogany_log", "x": 90 }, - "axis=x,variant=mahogany": { "model": "biomesoplenty:mahogany_log", "x": 90, "y": 90 }, - "axis=none,variant=mahogany": { "model": "biomesoplenty:mahogany_bark" }, - "axis=y,variant=ebony": { "model": "biomesoplenty:ebony_log" }, - "axis=z,variant=ebony": { "model": "biomesoplenty:ebony_log", "x": 90 }, - "axis=x,variant=ebony": { "model": "biomesoplenty:ebony_log", "x": 90, "y": 90 }, - "axis=none,variant=ebony": { "model": "biomesoplenty:ebony_bark" }, - "axis=y,variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_log" }, - "axis=z,variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_log", "x": 90 }, - "axis=x,variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_log", "x": 90, "y": 90 }, - "axis=none,variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_bark" } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/blockstates/log_4.json b/src/main/resources/assets/biomesoplenty/blockstates/log_4.json deleted file mode 100644 index 61aa8f1ae..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/log_4.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "variants": { - "axis=y,variant=giant_flower": { "model": "biomesoplenty:giant_flower_stem" }, - "axis=z,variant=giant_flower": { "model": "biomesoplenty:giant_flower_stem", "x": 90 }, - "axis=x,variant=giant_flower": { "model": "biomesoplenty:giant_flower_stem", "x": 90, "y": 90 }, - "axis=none,variant=giant_flower": { "model": "biomesoplenty:giant_flower_bark" }, - "axis=y,variant=dead": { "model": "biomesoplenty:dead_log" }, - "axis=z,variant=dead": { "model": "biomesoplenty:dead_log", "x": 90 }, - "axis=x,variant=dead": { "model": "biomesoplenty:dead_log", "x": 90, "y": 90 }, - "axis=none,variant=dead": { "model": "biomesoplenty:dead_bark" } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/blockstates/magic_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/magic_door_block.json deleted file mode 100644 index afff21957..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/magic_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:magic_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:magic_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:magic_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:magic_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:magic_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:magic_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:magic_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:magic_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:magic_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:magic_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:magic_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:magic_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:magic_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:magic_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:magic_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:magic_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:magic_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:magic_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:magic_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:magic_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:magic_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:magic_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:magic_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:magic_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:magic_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:magic_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:magic_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:magic_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:magic_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:magic_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:magic_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:magic_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/magic_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/magic_double_slab.json deleted file mode 100644 index 30d96ad83..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/magic_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:magic_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/magic_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/magic_fence.json deleted file mode 100644 index 258135ba7..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/magic_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:magic_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:magic_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:magic_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:magic_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:magic_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/magic_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/magic_fence_gate.json deleted file mode 100644 index 7e495c57f..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/magic_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:magic_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:magic_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:magic_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:magic_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:magic_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:magic_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:magic_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:magic_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:magic_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:magic_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:magic_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:magic_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:magic_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:magic_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:magic_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:magic_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/magic_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/magic_slab.json deleted file mode 100644 index f7998f612..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/magic_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_magic" }, - "half=top": { "model": "biomesoplenty:upper_slab_magic" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/magic_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/magic_stairs.json deleted file mode 100644 index db0b12fa3..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/magic_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:magic_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:magic_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:magic_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:magic_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:magic_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:magic_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:magic_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:magic_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:magic_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:magic_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:magic_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:magic_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:magic_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:magic_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:magic_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:magic_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:magic_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:magic_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:magic_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:magic_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:magic_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:magic_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:magic_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:magic_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:magic_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:magic_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:magic_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:magic_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:magic_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:magic_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:magic_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:magic_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:magic_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:magic_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:magic_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:magic_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:magic_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:magic_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:magic_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:magic_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/mahogany_door_block.json deleted file mode 100644 index 78e00fa3a..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:mahogany_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:mahogany_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:mahogany_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:mahogany_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:mahogany_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:mahogany_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:mahogany_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:mahogany_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:mahogany_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:mahogany_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:mahogany_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:mahogany_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:mahogany_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:mahogany_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:mahogany_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:mahogany_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:mahogany_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:mahogany_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:mahogany_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:mahogany_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:mahogany_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:mahogany_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:mahogany_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:mahogany_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:mahogany_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:mahogany_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:mahogany_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:mahogany_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:mahogany_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:mahogany_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:mahogany_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:mahogany_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/mahogany_double_slab.json deleted file mode 100644 index aaa199ab7..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:mahogany_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence.json deleted file mode 100644 index d8745d9dc..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:mahogany_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:mahogany_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:mahogany_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:mahogany_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:mahogany_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence_gate.json deleted file mode 100644 index ed15720e3..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:mahogany_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:mahogany_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:mahogany_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:mahogany_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:mahogany_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:mahogany_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:mahogany_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:mahogany_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:mahogany_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:mahogany_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:mahogany_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:mahogany_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:mahogany_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:mahogany_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:mahogany_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:mahogany_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/mahogany_slab.json deleted file mode 100644 index ea5322dc4..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_mahogany" }, - "half=top": { "model": "biomesoplenty:upper_slab_mahogany" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/mahogany_stairs.json deleted file mode 100644 index b63aafcc7..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mahogany_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:mahogany_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:mahogany_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:mahogany_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:mahogany_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:mahogany_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:mahogany_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:mahogany_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:mahogany_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:mahogany_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:mahogany_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:mahogany_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:mahogany_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:mahogany_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:mahogany_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:mahogany_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:mahogany_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:mahogany_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:mahogany_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:mahogany_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:mahogany_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:mahogany_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:mahogany_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:mahogany_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:mahogany_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:mahogany_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:mahogany_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:mahogany_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:mahogany_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:mahogany_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:mahogany_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:mahogany_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:mahogany_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:mahogany_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:mahogany_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:mahogany_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:mahogany_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:mahogany_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:mahogany_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:mahogany_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:mahogany_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/mangrove_door_block.json deleted file mode 100644 index 91810e12a..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:mangrove_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:mangrove_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:mangrove_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:mangrove_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:mangrove_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:mangrove_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:mangrove_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:mangrove_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:mangrove_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:mangrove_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:mangrove_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:mangrove_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:mangrove_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:mangrove_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:mangrove_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:mangrove_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:mangrove_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:mangrove_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:mangrove_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:mangrove_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:mangrove_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:mangrove_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:mangrove_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:mangrove_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:mangrove_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:mangrove_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:mangrove_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:mangrove_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:mangrove_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:mangrove_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:mangrove_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:mangrove_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/mangrove_double_slab.json deleted file mode 100644 index 764fef816..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:mangrove_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/mangrove_fence.json deleted file mode 100644 index 0d72af83c..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:mangrove_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:mangrove_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:mangrove_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:mangrove_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:mangrove_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/mangrove_fence_gate.json deleted file mode 100644 index 959273f5b..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:mangrove_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:mangrove_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:mangrove_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:mangrove_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:mangrove_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:mangrove_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:mangrove_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:mangrove_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:mangrove_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:mangrove_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:mangrove_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:mangrove_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:mangrove_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:mangrove_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:mangrove_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:mangrove_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/mangrove_slab.json deleted file mode 100644 index 6f74a44cc..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_mangrove" }, - "half=top": { "model": "biomesoplenty:upper_slab_mangrove" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/mangrove_stairs.json deleted file mode 100644 index 063ce9995..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mangrove_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:mangrove_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:mangrove_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:mangrove_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:mangrove_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:mangrove_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:mangrove_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:mangrove_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:mangrove_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:mangrove_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:mangrove_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:mangrove_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:mangrove_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:mangrove_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:mangrove_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:mangrove_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:mangrove_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:mangrove_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:mangrove_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:mangrove_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:mangrove_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:mangrove_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:mangrove_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:mangrove_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:mangrove_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:mangrove_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:mangrove_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:mangrove_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:mangrove_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:mangrove_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:mangrove_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:mangrove_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:mangrove_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:mangrove_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:mangrove_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:mangrove_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:mangrove_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:mangrove_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:mangrove_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:mangrove_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:mangrove_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mud.json b/src/main/resources/assets/biomesoplenty/blockstates/mud.json deleted file mode 100644 index 78f7aba90..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mud.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "variant=mud": [ - { "model": "biomesoplenty:mud" }, - { "model": "biomesoplenty:mud", "y": 90 }, - { "model": "biomesoplenty:mud", "y": 180 }, - { "model": "biomesoplenty:mud", "y": 270 } - ] - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mud_brick_block.json b/src/main/resources/assets/biomesoplenty/blockstates/mud_brick_block.json deleted file mode 100644 index f5bab8302..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mud_brick_block.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { "model": "biomesoplenty:mud_brick_block" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mud_brick_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/mud_brick_stairs.json deleted file mode 100644 index baae55683..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mud_brick_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:mud_brick_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:mud_brick_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:mud_brick_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:mud_brick_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:mud_brick_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:mud_brick_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:mud_brick_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:mud_brick_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:mud_brick_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:mud_brick_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:mud_brick_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:mud_brick_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:mud_brick_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:mud_brick_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:mud_brick_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:mud_brick_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:mud_brick_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:mud_brick_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:mud_brick_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:mud_brick_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:mud_brick_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:mud_brick_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:mud_brick_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:mud_brick_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:mud_brick_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:mud_brick_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:mud_brick_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:mud_brick_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:mud_brick_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:mud_brick_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:mud_brick_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:mud_brick_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:mud_brick_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:mud_brick_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:mud_brick_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:mud_brick_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:mud_brick_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:mud_brick_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:mud_brick_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:mud_brick_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/mushroom.json b/src/main/resources/assets/biomesoplenty/blockstates/mushroom.json deleted file mode 100755 index 98706a337..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/mushroom.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "variant=toadstool": { "model": "biomesoplenty:toadstool" }, - "variant=portobello": { "model": "biomesoplenty:portobello" }, - "variant=blue_milk_cap": { "model": "biomesoplenty:blue_milk_cap" }, - "variant=glowshroom": { "model": "biomesoplenty:glowshroom" }, - "variant=flat_mushroom": { "model": "biomesoplenty:flat_mushroom" }, - "variant=shadow_shroom": { "model": "biomesoplenty:shadow_shroom" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/other_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/other_slab.json deleted file mode 100644 index 004c6d415..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/other_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "half=bottom,variant=mud_brick": { "model": "biomesoplenty:half_slab_mud_brick" }, - "half=top,variant=mud_brick": { "model": "biomesoplenty:upper_slab_mud_brick" }, - "half=bottom,variant=white_sandstone": { "model": "biomesoplenty:half_slab_white_sandstone" }, - "half=top,variant=white_sandstone": { "model": "biomesoplenty:upper_slab_white_sandstone" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/palm_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/palm_door_block.json deleted file mode 100644 index c605d04fd..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/palm_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:palm_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:palm_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:palm_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:palm_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:palm_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:palm_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:palm_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:palm_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:palm_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:palm_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:palm_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:palm_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:palm_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:palm_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:palm_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:palm_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:palm_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:palm_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:palm_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:palm_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:palm_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:palm_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:palm_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:palm_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:palm_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:palm_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:palm_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:palm_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:palm_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:palm_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:palm_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:palm_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/palm_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/palm_double_slab.json deleted file mode 100644 index 4e58466de..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/palm_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:palm_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/palm_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/palm_fence.json deleted file mode 100644 index 8f92c53af..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/palm_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:palm_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:palm_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:palm_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:palm_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:palm_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/palm_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/palm_fence_gate.json deleted file mode 100644 index 7a19ec1c1..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/palm_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:palm_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:palm_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:palm_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:palm_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:palm_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:palm_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:palm_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:palm_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:palm_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:palm_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:palm_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:palm_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:palm_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:palm_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:palm_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:palm_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/palm_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/palm_slab.json deleted file mode 100644 index 6b5aa620c..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/palm_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_palm" }, - "half=top": { "model": "biomesoplenty:upper_slab_palm" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/palm_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/palm_stairs.json deleted file mode 100644 index b6bb1bfe0..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/palm_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:palm_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:palm_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:palm_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:palm_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:palm_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:palm_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:palm_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:palm_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:palm_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:palm_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:palm_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:palm_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:palm_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:palm_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:palm_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:palm_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:palm_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:palm_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:palm_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:palm_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:palm_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:palm_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:palm_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:palm_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:palm_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:palm_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:palm_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:palm_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:palm_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:palm_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:palm_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:palm_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:palm_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:palm_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:palm_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:palm_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:palm_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:palm_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:palm_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:palm_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/pine_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/pine_door_block.json deleted file mode 100644 index 099ca3a2f..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/pine_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:pine_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:pine_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:pine_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:pine_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:pine_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:pine_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:pine_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:pine_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:pine_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:pine_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:pine_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:pine_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:pine_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:pine_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:pine_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:pine_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:pine_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:pine_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:pine_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:pine_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:pine_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:pine_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:pine_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:pine_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:pine_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:pine_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:pine_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:pine_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:pine_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:pine_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:pine_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:pine_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/pine_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/pine_double_slab.json deleted file mode 100644 index 9e90b96e0..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/pine_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:pine_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/pine_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/pine_fence.json deleted file mode 100644 index ac10203c8..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/pine_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:pine_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:pine_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:pine_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:pine_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:pine_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/pine_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/pine_fence_gate.json deleted file mode 100644 index 0f1cdcb2c..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/pine_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:pine_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:pine_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:pine_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:pine_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:pine_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:pine_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:pine_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:pine_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:pine_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:pine_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:pine_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:pine_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:pine_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:pine_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:pine_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:pine_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/pine_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/pine_slab.json deleted file mode 100644 index d6333c6b7..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/pine_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_pine" }, - "half=top": { "model": "biomesoplenty:upper_slab_pine" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/pine_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/pine_stairs.json deleted file mode 100644 index 3bb6f8eab..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/pine_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:pine_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:pine_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:pine_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:pine_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:pine_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:pine_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:pine_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:pine_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:pine_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:pine_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:pine_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:pine_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:pine_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:pine_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:pine_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:pine_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:pine_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:pine_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:pine_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:pine_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:pine_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:pine_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:pine_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:pine_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:pine_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:pine_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:pine_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:pine_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:pine_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:pine_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:pine_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:pine_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:pine_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:pine_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:pine_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:pine_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:pine_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:pine_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:pine_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:pine_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/planks.json b/src/main/resources/assets/biomesoplenty/blockstates/planks.json deleted file mode 100755 index 009236e3a..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/planks.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "variant=sacred_oak": { "model": "biomesoplenty:sacred_oak_planks" }, - "variant=cherry": { "model": "biomesoplenty:cherry_planks" }, - "variant=umbran": { "model": "biomesoplenty:umbran_planks" }, - "variant=fir": { "model": "biomesoplenty:fir_planks" }, - "variant=ethereal": { "model": "biomesoplenty:ethereal_planks" }, - "variant=magic": { "model": "biomesoplenty:magic_planks" }, - "variant=mangrove": { "model": "biomesoplenty:mangrove_planks" }, - "variant=palm": { "model": "biomesoplenty:palm_planks" }, - "variant=redwood": { "model": "biomesoplenty:redwood_planks" }, - "variant=willow": { "model": "biomesoplenty:willow_planks" }, - "variant=bamboo_thatching": { "model": "biomesoplenty:bamboo_thatching" }, - "variant=pine": { "model": "biomesoplenty:pine_planks" }, - "variant=hell_bark": { "model": "biomesoplenty:hell_bark_planks" }, - "variant=jacaranda": { "model": "biomesoplenty:jacaranda_planks" }, - "variant=mahogany": { "model": "biomesoplenty:mahogany_planks" }, - "variant=ebony": { "model": "biomesoplenty:ebony_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/planks_0.json b/src/main/resources/assets/biomesoplenty/blockstates/planks_0.json deleted file mode 100644 index 97980074f..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/planks_0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "variant=sacred_oak": { "model": "biomesoplenty:sacred_oak_planks" }, - "variant=cherry": { "model": "biomesoplenty:cherry_planks" }, - "variant=umbran": { "model": "biomesoplenty:umbran_planks" }, - "variant=fir": { "model": "biomesoplenty:fir_planks" }, - "variant=ethereal": { "model": "biomesoplenty:ethereal_planks" }, - "variant=magic": { "model": "biomesoplenty:magic_planks" }, - "variant=mangrove": { "model": "biomesoplenty:mangrove_planks" }, - "variant=palm": { "model": "biomesoplenty:palm_planks" }, - "variant=redwood": { "model": "biomesoplenty:redwood_planks" }, - "variant=willow": { "model": "biomesoplenty:willow_planks" }, - "variant=pine": { "model": "biomesoplenty:pine_planks" }, - "variant=hellbark": { "model": "biomesoplenty:hellbark_planks" }, - "variant=jacaranda": { "model": "biomesoplenty:jacaranda_planks" }, - "variant=mahogany": { "model": "biomesoplenty:mahogany_planks" }, - "variant=ebony": { "model": "biomesoplenty:ebony_planks" }, - "variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_planks" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/plant_0.json b/src/main/resources/assets/biomesoplenty/blockstates/plant_0.json deleted file mode 100644 index b70d6d39d..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/plant_0.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "variants": { - "variant=shortgrass": { "model": "biomesoplenty:shortgrass" }, - "variant=mediumgrass": { "model": "biomesoplenty:mediumgrass" }, - "variant=bush": { "model": "biomesoplenty:bush" }, - "variant=sprout": { "model": "biomesoplenty:sprout" }, - "variant=poisonivy": { "model": "biomesoplenty:poisonivy" }, - "variant=berrybush": { "model": "biomesoplenty:berrybush" }, - "variant=shrub": { "model": "biomesoplenty:shrub" }, - "variant=wheatgrass": { "model": "biomesoplenty:wheatgrass" }, - "variant=dampgrass": { "model": "biomesoplenty:dampgrass" }, - "variant=koru": { "model": "biomesoplenty:koru" }, - - "variant=cloverpatch": [ - { "model": "biomesoplenty:cloverpatch" }, - { "model": "biomesoplenty:cloverpatch", "y": 90 }, - { "model": "biomesoplenty:cloverpatch", "y": 180 }, - { "model": "biomesoplenty:cloverpatch", "y": 270 } - ], - - "variant=leafpile": [ - { "model": "biomesoplenty:leafpile" }, - { "model": "biomesoplenty:leafpile", "y": 90 }, - { "model": "biomesoplenty:leafpile", "y": 180 }, - { "model": "biomesoplenty:leafpile", "y": 270 } - ], - - "variant=deadleafpile": [ - { "model": "biomesoplenty:deadleafpile" }, - { "model": "biomesoplenty:deadleafpile", "y": 90 }, - { "model": "biomesoplenty:deadleafpile", "y": 180 }, - { "model": "biomesoplenty:deadleafpile", "y": 270 } - ], - - "variant=deadgrass": { "model": "biomesoplenty:deadgrass" }, - "variant=desertgrass": { "model": "biomesoplenty:desertgrass" }, - "variant=desertsprouts": { "model": "biomesoplenty:desertsprouts" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/plant_1.json b/src/main/resources/assets/biomesoplenty/blockstates/plant_1.json deleted file mode 100644 index ca2b6bd14..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/plant_1.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "variants": { - "variant=dunegrass": { "model": "biomesoplenty:dunegrass" }, - "variant=spectralfern": { "model": "biomesoplenty:spectralfern" }, - "variant=thorn": { "model": "biomesoplenty:thorn" }, - "variant=wildrice": { "model": "biomesoplenty:wildrice" }, - "variant=cattail": { "model": "biomesoplenty:cattail" }, - "variant=rivercane": { "model": "biomesoplenty:rivercane" }, - "variant=tinycactus": { "model": "biomesoplenty:tinycactus" }, - "variant=devilweed": { "model": "biomesoplenty:devilweed" }, - "variant=reed": { "model": "biomesoplenty:reed" }, - "variant=root": { "model": "biomesoplenty:root" }, - "variant=rafflesia": { "model": "biomesoplenty:rafflesia" }, - "variant=barley": { "model": "biomesoplenty:barley" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/redwood_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/redwood_door_block.json deleted file mode 100644 index 8cbd60be5..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/redwood_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:redwood_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:redwood_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:redwood_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:redwood_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:redwood_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:redwood_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:redwood_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:redwood_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:redwood_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:redwood_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:redwood_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:redwood_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:redwood_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:redwood_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:redwood_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:redwood_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:redwood_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:redwood_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:redwood_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:redwood_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:redwood_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:redwood_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:redwood_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:redwood_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:redwood_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:redwood_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:redwood_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:redwood_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:redwood_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:redwood_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:redwood_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:redwood_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/redwood_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/redwood_double_slab.json deleted file mode 100644 index 7e034fdc4..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/redwood_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:redwood_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence.json deleted file mode 100644 index 151fade54..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:redwood_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:redwood_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:redwood_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:redwood_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:redwood_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence_gate.json deleted file mode 100644 index 4f8ed5aab..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/redwood_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:redwood_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:redwood_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:redwood_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:redwood_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:redwood_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:redwood_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:redwood_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:redwood_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:redwood_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:redwood_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:redwood_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:redwood_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:redwood_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:redwood_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:redwood_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:redwood_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/redwood_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/redwood_slab.json deleted file mode 100644 index d9eb68104..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/redwood_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_redwood" }, - "half=top": { "model": "biomesoplenty:upper_slab_redwood" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/redwood_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/redwood_stairs.json deleted file mode 100644 index 344dfe8e0..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/redwood_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:redwood_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:redwood_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:redwood_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:redwood_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:redwood_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:redwood_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:redwood_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:redwood_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:redwood_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:redwood_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:redwood_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:redwood_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:redwood_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:redwood_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:redwood_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:redwood_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:redwood_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:redwood_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:redwood_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:redwood_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:redwood_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:redwood_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:redwood_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:redwood_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:redwood_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:redwood_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:redwood_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:redwood_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:redwood_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:redwood_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:redwood_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:redwood_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:redwood_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:redwood_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:redwood_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:redwood_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:redwood_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:redwood_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:redwood_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:redwood_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_door_block.json deleted file mode 100644 index a2e92d664..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:sacred_oak_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:sacred_oak_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:sacred_oak_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:sacred_oak_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:sacred_oak_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:sacred_oak_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:sacred_oak_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:sacred_oak_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:sacred_oak_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:sacred_oak_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:sacred_oak_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:sacred_oak_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:sacred_oak_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:sacred_oak_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:sacred_oak_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:sacred_oak_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:sacred_oak_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:sacred_oak_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:sacred_oak_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:sacred_oak_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:sacred_oak_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:sacred_oak_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:sacred_oak_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:sacred_oak_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:sacred_oak_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:sacred_oak_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:sacred_oak_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:sacred_oak_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:sacred_oak_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:sacred_oak_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:sacred_oak_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:sacred_oak_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_double_slab.json deleted file mode 100644 index 4f999aae7..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:sacred_oak_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_fence.json deleted file mode 100644 index 37c81f252..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:sacred_oak_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:sacred_oak_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:sacred_oak_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:sacred_oak_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:sacred_oak_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_fence_gate.json deleted file mode 100644 index c98810fd9..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:sacred_oak_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:sacred_oak_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:sacred_oak_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:sacred_oak_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:sacred_oak_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:sacred_oak_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:sacred_oak_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:sacred_oak_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:sacred_oak_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:sacred_oak_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:sacred_oak_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:sacred_oak_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:sacred_oak_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:sacred_oak_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:sacred_oak_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:sacred_oak_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_slab.json deleted file mode 100644 index 00ab61af8..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_sacred_oak" }, - "half=top": { "model": "biomesoplenty:upper_slab_sacred_oak" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_stairs.json deleted file mode 100644 index c4dd87a49..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sacred_oak_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:sacred_oak_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:sacred_oak_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:sacred_oak_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:sacred_oak_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:sacred_oak_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:sacred_oak_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:sacred_oak_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:sacred_oak_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:sacred_oak_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:sacred_oak_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:sacred_oak_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:sacred_oak_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:sacred_oak_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:sacred_oak_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:sacred_oak_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:sacred_oak_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:sacred_oak_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:sacred_oak_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:sacred_oak_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:sacred_oak_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:sacred_oak_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:sacred_oak_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:sacred_oak_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:sacred_oak_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:sacred_oak_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:sacred_oak_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:sacred_oak_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:sacred_oak_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:sacred_oak_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:sacred_oak_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:sacred_oak_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:sacred_oak_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:sacred_oak_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:sacred_oak_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:sacred_oak_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:sacred_oak_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:sacred_oak_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:sacred_oak_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:sacred_oak_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:sacred_oak_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sandy_farmland.json b/src/main/resources/assets/biomesoplenty/blockstates/sandy_farmland.json deleted file mode 100644 index 7a54cf92b..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sandy_farmland.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "forge_marker": 1, - "defaults": { - "model": "biomesoplenty:sandy_farmland_dry" - }, - "variants": { - "inventory": [{ - "transform": "forge:default-block" - }] - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sapling_0.json b/src/main/resources/assets/biomesoplenty/blockstates/sapling_0.json deleted file mode 100644 index 72a4c7129..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sapling_0.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "variant=yellow_autumn": { "model": "biomesoplenty:yellow_autumn_sapling" }, - "variant=orange_autumn": { "model": "biomesoplenty:orange_autumn_sapling" }, - "variant=bamboo": { "model": "biomesoplenty:bamboo_sapling" }, - "variant=magic": { "model": "biomesoplenty:magic_sapling" }, - "variant=umbran": { "model": "biomesoplenty:umbran_sapling" }, - "variant=dead": { "model": "biomesoplenty:dead_sapling" }, - "variant=fir": { "model": "biomesoplenty:fir_sapling" }, - "variant=ethereal": { "model": "biomesoplenty:ethereal_sapling" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sapling_1.json b/src/main/resources/assets/biomesoplenty/blockstates/sapling_1.json deleted file mode 100644 index 56756f732..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sapling_1.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "variant=origin": { "model": "biomesoplenty:origin_sapling" }, - "variant=pink_cherry": { "model": "biomesoplenty:pink_cherry_sapling" }, - "variant=white_cherry": { "model": "biomesoplenty:white_cherry_sapling" }, - "variant=maple": { "model": "biomesoplenty:maple_sapling" }, - "variant=hellbark": { "model": "biomesoplenty:hellbark_sapling" }, - "variant=flowering": { "model": "biomesoplenty:flowering_sapling" }, - "variant=jacaranda": { "model": "biomesoplenty:jacaranda_sapling" }, - "variant=sacred_oak": { "model": "biomesoplenty:sacred_oak_sapling" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/sapling_2.json b/src/main/resources/assets/biomesoplenty/blockstates/sapling_2.json deleted file mode 100644 index bcdff12b0..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/sapling_2.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "variants": { - "variant=mangrove": { "model": "biomesoplenty:mangrove_sapling" }, - "variant=palm": { "model": "biomesoplenty:palm_sapling" }, - "variant=redwood": { "model": "biomesoplenty:redwood_sapling" }, - "variant=willow": { "model": "biomesoplenty:willow_sapling" }, - "variant=pine": { "model": "biomesoplenty:pine_sapling" }, - "variant=mahogany": { "model": "biomesoplenty:mahogany_sapling" }, - "variant=ebony": { "model": "biomesoplenty:ebony_sapling" }, - "variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_sapling" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/seaweed.json b/src/main/resources/assets/biomesoplenty/blockstates/seaweed.json deleted file mode 100644 index 20c2af6e8..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/seaweed.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "variants": { - "position=single,variant=kelp": { "model": "biomesoplenty:kelp_single" }, - "position=bottom,variant=kelp": { "model": "biomesoplenty:kelp_bottom" }, - "position=middle,variant=kelp": { "model": "biomesoplenty:kelp_middle" }, - "position=top,variant=kelp": { "model": "biomesoplenty:kelp_top" } - } -} - \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/silty_farmland.json b/src/main/resources/assets/biomesoplenty/blockstates/silty_farmland.json deleted file mode 100644 index 6de03a07b..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/silty_farmland.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "forge_marker": 1, - "defaults": { - "model": "biomesoplenty:silty_farmland_dry" - }, - "variants": { - "inventory": [{ - "transform": "forge:default-block" - }] - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/terrarium.json b/src/main/resources/assets/biomesoplenty/blockstates/terrarium.json deleted file mode 100644 index d3bc7ae49..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/terrarium.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "variant=fern": { "model": "biomesoplenty:terrarium_fern" }, - "variant=mushroom": { "model": "biomesoplenty:terrarium_mushroom" }, - "variant=cactus": { "model": "biomesoplenty:terrarium_cactus" }, - "variant=flax": { "model": "biomesoplenty:terrarium_flax" }, - "variant=flower": { "model": "biomesoplenty:terrarium_flower" }, - "variant=koru": { "model": "biomesoplenty:terrarium_koru" }, - "variant=bamboo": { "model": "biomesoplenty:terrarium_bamboo" }, - "variant=beach": { "model": "biomesoplenty:terrarium_beach" }, - "variant=glowshroom": { "model": "biomesoplenty:terrarium_glowshroom" }, - "variant=dead": { "model": "biomesoplenty:terrarium_dead" }, - "variant=mystic": { "model": "biomesoplenty:terrarium_mystic" }, - "variant=ominous": { "model": "biomesoplenty:terrarium_ominous" }, - "variant=wasteland": { "model": "biomesoplenty:terrarium_wasteland" }, - "variant=origin": { "model": "biomesoplenty:terrarium_origin" }, - "variant=nether": { "model": "biomesoplenty:terrarium_nether" }, - "variant=ender": { "model": "biomesoplenty:terrarium_ender" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/umbran_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/umbran_door_block.json deleted file mode 100644 index a9a541380..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/umbran_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:umbran_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:umbran_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:umbran_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:umbran_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:umbran_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:umbran_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:umbran_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:umbran_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:umbran_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:umbran_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:umbran_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:umbran_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:umbran_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:umbran_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:umbran_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:umbran_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:umbran_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:umbran_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:umbran_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:umbran_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:umbran_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:umbran_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:umbran_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:umbran_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:umbran_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:umbran_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:umbran_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:umbran_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:umbran_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:umbran_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:umbran_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:umbran_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/umbran_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/umbran_double_slab.json deleted file mode 100644 index a46988484..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/umbran_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:umbran_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence.json deleted file mode 100644 index bab60cc93..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:umbran_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:umbran_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:umbran_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:umbran_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:umbran_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence_gate.json deleted file mode 100644 index a011ea31d..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/umbran_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:umbran_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:umbran_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:umbran_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:umbran_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:umbran_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:umbran_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:umbran_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:umbran_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:umbran_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:umbran_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:umbran_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:umbran_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:umbran_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:umbran_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:umbran_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:umbran_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/umbran_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/umbran_slab.json deleted file mode 100644 index 2bb1a6c63..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/umbran_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_umbran" }, - "half=top": { "model": "biomesoplenty:upper_slab_umbran" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/umbran_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/umbran_stairs.json deleted file mode 100644 index 3c488ed75..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/umbran_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:umbran_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:umbran_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:umbran_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:umbran_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:umbran_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:umbran_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:umbran_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:umbran_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:umbran_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:umbran_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:umbran_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:umbran_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:umbran_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:umbran_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:umbran_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:umbran_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:umbran_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:umbran_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:umbran_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:umbran_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:umbran_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:umbran_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:umbran_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:umbran_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:umbran_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:umbran_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:umbran_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:umbran_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:umbran_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:umbran_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:umbran_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:umbran_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:umbran_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:umbran_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:umbran_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:umbran_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:umbran_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:umbran_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:umbran_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:umbran_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/waterlily.json b/src/main/resources/assets/biomesoplenty/blockstates/waterlily.json deleted file mode 100644 index f218b6ad4..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/waterlily.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "variants": { - "variant=medium": [ - { "model": "biomesoplenty:lily_medium" }, - { "model": "biomesoplenty:lily_medium", "y": 90 }, - { "model": "biomesoplenty:lily_medium", "y": 180 }, - { "model": "biomesoplenty:lily_medium", "y": 270 } - ], - "variant=small": [ - { "model": "biomesoplenty:lily_small" }, - { "model": "biomesoplenty:lily_small", "y": 90 }, - { "model": "biomesoplenty:lily_small", "y": 180 }, - { "model": "biomesoplenty:lily_small", "y": 270 } - ], - "variant=tiny": [ - { "model": "biomesoplenty:lily_tiny" }, - { "model": "biomesoplenty:lily_tiny", "y": 90 }, - { "model": "biomesoplenty:lily_tiny", "y": 180 }, - { "model": "biomesoplenty:lily_tiny", "y": 270 } - ], - "variant=flower": [ - { "model": "biomesoplenty:lily_flower" }, - { "model": "biomesoplenty:lily_flower", "y": 90 }, - { "model": "biomesoplenty:lily_flower", "y": 180 }, - { "model": "biomesoplenty:lily_flower", "y": 270 } - ] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/white_sand.json b/src/main/resources/assets/biomesoplenty/blockstates/white_sand.json deleted file mode 100644 index 36de0c1a9..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/white_sand.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "normal": [ - { "model": "biomesoplenty:white_sand" }, - { "model": "biomesoplenty:white_sand", "y": 90 }, - { "model": "biomesoplenty:white_sand", "y": 180 }, - { "model": "biomesoplenty:white_sand", "y": 270 } - ] - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone.json b/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone.json deleted file mode 100644 index d6f569f7e..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "variant=default": { "model": "biomesoplenty:white_sandstone_normal" }, - "variant=chiseled": { "model": "biomesoplenty:white_sandstone_chiseled" }, - "variant=smooth": { "model": "biomesoplenty:white_sandstone_smooth" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_double_slab.json deleted file mode 100644 index 47a9b5239..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_double_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "normal": { "model": "biomesoplenty:white_sandstone_normal" }, - "all": { "model": "biomesoplenty:white_sandstone_all" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_slab.json deleted file mode 100644 index 7a4907039..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_white_sandstone" }, - "half=top": { "model": "biomesoplenty:upper_slab_white_sandstone" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_stairs.json deleted file mode 100644 index 26b90f9d7..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/white_sandstone_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/willow_door_block.json b/src/main/resources/assets/biomesoplenty/blockstates/willow_door_block.json deleted file mode 100644 index 68d3391e7..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/willow_door_block.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:willow_door_bottom" }, - "facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:willow_door_bottom", "y": 90 }, - "facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:willow_door_bottom", "y": 180 }, - "facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:willow_door_bottom", "y": 270 }, - "facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:willow_door_bottom_rh" }, - "facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:willow_door_bottom_rh", "y": 90 }, - "facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:willow_door_bottom_rh", "y": 180 }, - "facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:willow_door_bottom_rh", "y": 270 }, - "facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:willow_door_bottom_rh", "y": 90 }, - "facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:willow_door_bottom_rh", "y": 180 }, - "facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:willow_door_bottom_rh", "y": 270 }, - "facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:willow_door_bottom_rh" }, - "facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:willow_door_bottom", "y": 270 }, - "facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:willow_door_bottom" }, - "facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:willow_door_bottom", "y": 90 }, - "facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:willow_door_bottom", "y": 180 }, - "facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:willow_door_top" }, - "facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:willow_door_top", "y": 90 }, - "facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:willow_door_top", "y": 180 }, - "facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:willow_door_top", "y": 270 }, - "facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:willow_door_top_rh" }, - "facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:willow_door_top_rh", "y": 90 }, - "facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:willow_door_top_rh", "y": 180 }, - "facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:willow_door_top_rh", "y": 270 }, - "facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:willow_door_top_rh", "y": 90 }, - "facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:willow_door_top_rh", "y": 180 }, - "facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:willow_door_top_rh", "y": 270 }, - "facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:willow_door_top_rh" }, - "facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:willow_door_top", "y": 270 }, - "facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:willow_door_top" }, - "facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:willow_door_top", "y": 90 }, - "facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:willow_door_top", "y": 180 } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/willow_double_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/willow_double_slab.json deleted file mode 100644 index 9a890f1ca..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/willow_double_slab.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { biomesoplenty:willow_planks" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/willow_fence.json b/src/main/resources/assets/biomesoplenty/blockstates/willow_fence.json deleted file mode 100644 index b7b1f3711..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/willow_fence.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "multipart": [ - { "apply": { "model": "biomesoplenty:willow_fence_post" }}, - { "when": { "north": "true" }, - "apply": { "model": "biomesoplenty:willow_fence_side", "uvlock": true } - }, - { "when": { "east": "true" }, - "apply": { "model": "biomesoplenty:willow_fence_side", "y": 90, "uvlock": true } - }, - { "when": { "south": "true" }, - "apply": { "model": "biomesoplenty:willow_fence_side", "y": 180, "uvlock": true } - }, - { "when": { "west": "true" }, - "apply": { "model": "biomesoplenty:willow_fence_side", "y": 270, "uvlock": true } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/willow_fence_gate.json b/src/main/resources/assets/biomesoplenty/blockstates/willow_fence_gate.json deleted file mode 100644 index d1fd1c4eb..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/willow_fence_gate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "facing=south,in_wall=false,open=false": { "model": "biomesoplenty:willow_fence_gate_closed" }, - "facing=west,in_wall=false,open=false": { "model": "biomesoplenty:willow_fence_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=false": { "model": "biomesoplenty:willow_fence_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=false": { "model": "biomesoplenty:willow_fence_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=false,open=true": { "model": "biomesoplenty:willow_fence_gate_open" }, - "facing=west,in_wall=false,open=true": { "model": "biomesoplenty:willow_fence_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=false,open=true": { "model": "biomesoplenty:willow_fence_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=false,open=true": { "model": "biomesoplenty:willow_fence_gate_open", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=false": { "model": "biomesoplenty:willow_wall_gate_closed" }, - "facing=west,in_wall=true,open=false": { "model": "biomesoplenty:willow_wall_gate_closed", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=false": { "model": "biomesoplenty:willow_wall_gate_closed", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=false": { "model": "biomesoplenty:willow_wall_gate_closed", "y": 270, "uvlock": true }, - "facing=south,in_wall=true,open=true": { "model": "biomesoplenty:willow_wall_gate_open" }, - "facing=west,in_wall=true,open=true": { "model": "biomesoplenty:willow_wall_gate_open", "y": 90, "uvlock": true }, - "facing=north,in_wall=true,open=true": { "model": "biomesoplenty:willow_wall_gate_open", "y": 180, "uvlock": true }, - "facing=east,in_wall=true,open=true": { "model": "biomesoplenty:willow_wall_gate_open", "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/willow_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/willow_slab.json deleted file mode 100644 index 759be04c9..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/willow_slab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "half=bottom": { "model": "biomesoplenty:half_slab_willow" }, - "half=top": { "model": "biomesoplenty:upper_slab_willow" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/willow_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/willow_stairs.json deleted file mode 100644 index 4eb31d6e1..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/willow_stairs.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "variants": { - "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:willow_stairs" }, - "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:willow_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:willow_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:willow_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:willow_outer_stairs" }, - "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:willow_outer_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:willow_outer_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:willow_outer_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:willow_outer_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:willow_outer_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:willow_outer_stairs" }, - "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:willow_outer_stairs", "y": 180, "uvlock": true }, - "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:willow_inner_stairs" }, - "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:willow_inner_stairs", "y": 180, "uvlock": true }, - "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:willow_inner_stairs", "y": 90, "uvlock": true }, - "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:willow_inner_stairs", "y": 270, "uvlock": true }, - "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:willow_inner_stairs", "y": 270, "uvlock": true }, - "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:willow_inner_stairs", "y": 90, "uvlock": true }, - "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:willow_inner_stairs" }, - "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:willow_inner_stairs", "y": 180, "uvlock": true }, - "facing=east,half=top,shape=straight": { "model": "biomesoplenty:willow_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=straight": { "model": "biomesoplenty:willow_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=straight": { "model": "biomesoplenty:willow_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=straight": { "model": "biomesoplenty:willow_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:willow_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:willow_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:willow_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:willow_outer_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:willow_outer_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:willow_outer_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:willow_outer_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:willow_outer_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:willow_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:willow_inner_stairs", "x": 180, "y": 270, "uvlock": true }, - "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:willow_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:willow_inner_stairs", "x": 180, "uvlock": true }, - "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:willow_inner_stairs", "x": 180, "uvlock": true }, - "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:willow_inner_stairs", "x": 180, "y": 180, "uvlock": true }, - "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:willow_inner_stairs", "x": 180, "y": 90, "uvlock": true }, - "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:willow_inner_stairs", "x": 180, "y": 270, "uvlock": true } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/willow_vine.json b/src/main/resources/assets/biomesoplenty/blockstates/willow_vine.json deleted file mode 100644 index ceb81e5ae..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/willow_vine.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "variants": { - "east=false,north=false,south=false,up=false,west=false": { "model": "biomesoplenty:willow_vine_1" }, - "east=false,north=false,south=true,up=false,west=false": { "model": "biomesoplenty:willow_vine_1" }, - "east=false,north=false,south=false,up=false,west=true": { "model": "biomesoplenty:willow_vine_1", "y": 90 }, - "east=false,north=true,south=false,up=false,west=false": { "model": "biomesoplenty:willow_vine_1", "y": 180 }, - "east=true,north=false,south=false,up=false,west=false": { "model": "biomesoplenty:willow_vine_1", "y": 270 }, - "east=true,north=true,south=false,up=false,west=false": { "model": "biomesoplenty:willow_vine_2" }, - "east=true,north=false,south=true,up=false,west=false": { "model": "biomesoplenty:willow_vine_2", "y": 90 }, - "east=false,north=false,south=true,up=false,west=true": { "model": "biomesoplenty:willow_vine_2", "y": 180 }, - "east=false,north=true,south=false,up=false,west=true": { "model": "biomesoplenty:willow_vine_2", "y": 270 }, - "east=true,north=false,south=false,up=false,west=true": { "model": "biomesoplenty:willow_vine_2_opposite" }, - "east=false,north=true,south=true,up=false,west=false": { "model": "biomesoplenty:willow_vine_2_opposite", "y": 90 }, - "east=true,north=true,south=true,up=false,west=false": { "model": "biomesoplenty:willow_vine_3" }, - "east=true,north=false,south=true,up=false,west=true": { "model": "biomesoplenty:willow_vine_3", "y": 90 }, - "east=false,north=true,south=true,up=false,west=true": { "model": "biomesoplenty:willow_vine_3", "y": 180 }, - "east=true,north=true,south=false,up=false,west=true": { "model": "biomesoplenty:willow_vine_3", "y": 270 }, - "east=true,north=true,south=true,up=false,west=true": { "model": "biomesoplenty:willow_vine_4" }, - "east=false,north=false,south=false,up=true,west=false": { "model": "biomesoplenty:willow_vine_u" }, - "east=false,north=false,south=true,up=true,west=false": { "model": "biomesoplenty:willow_vine_1u" }, - "east=false,north=false,south=false,up=true,west=true": { "model": "biomesoplenty:willow_vine_1u", "y": 90 }, - "east=false,north=true,south=false,up=true,west=false": { "model": "biomesoplenty:willow_vine_1u", "y": 180 }, - "east=true,north=false,south=false,up=true,west=false": { "model": "biomesoplenty:willow_vine_1u", "y": 270 }, - "east=true,north=true,south=false,up=true,west=false": { "model": "biomesoplenty:willow_vine_2u" }, - "east=true,north=false,south=true,up=true,west=false": { "model": "biomesoplenty:willow_vine_2u", "y": 90 }, - "east=false,north=false,south=true,up=true,west=true": { "model": "biomesoplenty:willow_vine_2u", "y": 180 }, - "east=false,north=true,south=false,up=true,west=true": { "model": "biomesoplenty:willow_vine_2u", "y": 270 }, - "east=true,north=false,south=false,up=true,west=true": { "model": "biomesoplenty:willow_vine_2u_opposite" }, - "east=false,north=true,south=true,up=true,west=false": { "model": "biomesoplenty:willow_vine_2u_opposite", "y": 90 }, - "east=true,north=true,south=true,up=true,west=false": { "model": "biomesoplenty:willow_vine_3u" }, - "east=true,north=false,south=true,up=true,west=true": { "model": "biomesoplenty:willow_vine_3u", "y": 90 }, - "east=false,north=true,south=true,up=true,west=true": { "model": "biomesoplenty:willow_vine_3u", "y": 180 }, - "east=true,north=true,south=false,up=true,west=true": { "model": "biomesoplenty:willow_vine_3u", "y": 270 }, - "east=true,north=true,south=true,up=true,west=true": { "model": "biomesoplenty:willow_vine_4u" } - } -} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/wood_slab_0.json b/src/main/resources/assets/biomesoplenty/blockstates/wood_slab_0.json deleted file mode 100644 index ffcec6c6d..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/wood_slab_0.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "half=bottom,variant=sacred_oak": { "model": "biomesoplenty:half_slab_sacred_oak" }, - "half=top,variant=sacred_oak": { "model": "biomesoplenty:upper_slab_sacred_oak" }, - "half=bottom,variant=cherry": { "model": "biomesoplenty:half_slab_cherry" }, - "half=top,variant=cherry": { "model": "biomesoplenty:upper_slab_cherry" }, - "half=bottom,variant=umbran": { "model": "biomesoplenty:half_slab_umbran" }, - "half=top,variant=umbran": { "model": "biomesoplenty:upper_slab_umbran" }, - "half=bottom,variant=fir": { "model": "biomesoplenty:half_slab_fir" }, - "half=top,variant=fir": { "model": "biomesoplenty:upper_slab_fir" }, - "half=bottom,variant=ethereal": { "model": "biomesoplenty:half_slab_ethereal" }, - "half=top,variant=ethereal": { "model": "biomesoplenty:upper_slab_ethereal" }, - "half=bottom,variant=magic": { "model": "biomesoplenty:half_slab_magic" }, - "half=top,variant=magic": { "model": "biomesoplenty:upper_slab_magic" }, - "half=bottom,variant=mangrove": { "model": "biomesoplenty:half_slab_mangrove" }, - "half=top,variant=mangrove": { "model": "biomesoplenty:upper_slab_mangrove" }, - "half=bottom,variant=palm": { "model": "biomesoplenty:half_slab_palm" }, - "half=top,variant=palm": { "model": "biomesoplenty:upper_slab_palm" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/wood_slab_1.json b/src/main/resources/assets/biomesoplenty/blockstates/wood_slab_1.json deleted file mode 100644 index e1b61be33..000000000 --- a/src/main/resources/assets/biomesoplenty/blockstates/wood_slab_1.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "variants": { - "half=bottom,variant=redwood": { "model": "biomesoplenty:half_slab_redwood" }, - "half=top,variant=redwood": { "model": "biomesoplenty:upper_slab_redwood" }, - "half=bottom,variant=willow": { "model": "biomesoplenty:half_slab_willow" }, - "half=top,variant=willow": { "model": "biomesoplenty:upper_slab_willow" }, - "half=bottom,variant=pine": { "model": "biomesoplenty:half_slab_pine" }, - "half=top,variant=pine": { "model": "biomesoplenty:upper_slab_pine" }, - "half=bottom,variant=hellbark": { "model": "biomesoplenty:half_slab_hellbark" }, - "half=top,variant=hellbark": { "model": "biomesoplenty:upper_slab_hellbark" }, - "half=bottom,variant=jacaranda": { "model": "biomesoplenty:half_slab_jacaranda" }, - "half=top,variant=jacaranda": { "model": "biomesoplenty:upper_slab_jacaranda" }, - "half=bottom,variant=mahogany": { "model": "biomesoplenty:half_slab_mahogany" }, - "half=top,variant=mahogany": { "model": "biomesoplenty:upper_slab_mahogany" }, - "half=bottom,variant=ebony": { "model": "biomesoplenty:half_slab_ebony" }, - "half=top,variant=ebony": { "model": "biomesoplenty:upper_slab_ebony" }, - "half=bottom,variant=eucalyptus": { "model": "biomesoplenty:half_slab_eucalyptus" }, - "half=top,variant=eucalyptus": { "model": "biomesoplenty:upper_slab_eucalyptus" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/lang/bg_BG.lang b/src/main/resources/assets/biomesoplenty/lang/bg_BG.lang deleted file mode 100644 index b377b086a..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/bg_BG.lang +++ /dev/null @@ -1,480 +0,0 @@ -achievement.obtain_flowers=Дете на цветята -achievement.obtain_flowers.desc=Намери цвете. -achievement.obtain_berry=Вкуснооо! -achievement.obtain_berry.desc=Вземете боровинка от боровинков храст -achievement.obtain_coral=Тотален корал! -achievement.obtain_coral.desc=Поемете си дълбоко дъх за малко корал. -achievement.obtain_miners_delight=Животът намира път. -achievement.obtain_miners_delight.desc=Намерете насладата на миньора навътре в мините. -achievement.eat_shroom_powder=Наистина магически прах... -achievement.eat_shroom_powder.desc=Погълнете малко магически гъбен прах -achievement.obtain_turnip=Вегитарянски магазин -achievement.obtain_turnip.desc=Посъдете ряпа. -achievement.grow_sacred_oak=Това вече е достойна гледка. -achievement.grow_sacred_oak.desc=Посъдете фиданка за свещен дъб. -achievement.craft_flax_string=Ленена забава. -achievement.craft_flax_string.desc=Изработете лен в ленена връв. -achievement.craft_muddy_pickaxe=Понижаване -achievement.craft_muddy_pickaxe.desc=Изработете кална...кирка...? -achievement.obtain_thorn=По-скоро трънесто... -achievement.obtain_thorn.desc=Сдобийте се с бодливи тръни. -achievement.obtain_deathbloom=Аз ставам мъртъв -achievement.obtain_deathbloom.desc=Придобийте смъртоносна цъфтяща смърт. -achievement.obtain_honeycomb=Големият лик на медената пита! -achievement.obtain_honeycomb.desc=Откраднете пълна медена пита от гнездо на оси в недъра. -achievement.obtain_soul=Търсене за души -achievement.obtain_soul.desc=Възтановете изгубена душа. -achievement.obtain_wilted_lily=Божи дар -achievement.obtain_wilted_lily.desc=Спасете обезводнена лилия от сигурна смърт. -achievement.obtain_pixie_dust=НЕ ДИШАЙ ТОВА! -achievement.obtain_pixie_dust.desc=Убий светулка и вземи магическия прах. -achievement.obtain_celestial_crystal=Надалече... -achievement.obtain_celestial_crystal.desc=Вземете небесен кристал от края. -achievement.craft_terrestrial_artifact=Твоите енергии комбинирани! -achievement.craft_terrestrial_artifact.desc=Комбинирайте всички 8 ексклузивни полезни изкопаеми от биомите в едно. -achievement.craft_ambrosia=Нектарът на боговете -achievement.craft_ambrosia.desc=Изработете си амброзия! -achievement.explore_all_biomes=The Wanderer -achievement.explore_all_biomes.desc=Открийте всичките биоми. -achievement.use_enderporter=Обратно вкъщи... -achievement.use_enderporter.desc=Пътувай до оригиналната точка, използвайки телепортатор от края. -achievement.use_biome_finder=Парти с търсене -achievement.use_biome_finder.desc=Използвайте откривателя на биоми, за да откривате биоми. - -biome_finder.searching=Searching for %s -biome_finder.found=Found %s! -biome_finder.not_found=Не беше открит, може %s да е твърде далече. - -config.category.convenienceSettings.title=Convenience Settings -config.category.guiSettings.title=GUI Settings -config.category.textureSettings.title=Texture Settings -config.category.trailSettings.title=Trail Settings -config.category.convenienceSettings.tooltip=Settings for convenience. -config.category.guiSettings.tooltip=GUI related settings. -config.category.textureSettings.tooltip=Texture related settings. -config.category.trailSettings.tooltip=Settings to modify trail visibility. - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [biomeId] -commands.biomesoplenty.biomename.success=Biome ID %s is associated with %s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId] -commands.biomesoplenty.tpbiome.success=Teleported %s to biome %s at (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=Couldn't find biome %s! -commands.biomesoplenty.stats.blocks=Blocks: %s -commands.biomesoplenty.stats.items=Items: %s -commands.biomesoplenty.stats.entities=Entities: %s -commands.biomesoplenty.stats.biomes=Biomes: %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] [block] [metadata] - -container.flower_basket=Кошница за цветя - -generator.BIOMESOP=Множество от биоми -generator.BIOMESOP.info=Notice: Biomes O' Plenty 1.8 is in a very early state - -itemGroup.tabBiomesOPlenty=Множество от биоми - -fluid.blood=Кръв -fluid.honey=Мед -fluid.hot_spring_water=Топла изворна вода -fluid.poison=Отрова -fluid.sand=Плаващи пясъци - -item.forge.bucketFilled.name=%s Кофа - -item.ambrosia.name=Амброзия -item.ash.name=Парче от пепели -item.berries.name=Боровинка -item.biome_essence.name=Биом есенция -item.biome_finder.name=Откривател на биоми -item.black_dye.name=Черна боя -item.blue_dye.name=Синя боя -item.brown_dye.name=Кафява боя -item.cherry_door.name=Черешова врата -item.crystal_shard.name=Къшей от небесен кристал -item.terrestrial_artifact.name=Сухоземен артефакт -item.flax_string.name=Ленена връв -item.diamond_scythe.name=Диамантена коса -item.dull_flower_band.name=Скучен цветен венец -item.ebony_door.name=Абаносова врата -item.enderporter.name=Телепортатор от края -item.ethereal_door.name=Етерична врата -item.eucalyptus_door.name=Евкалиптова врата -item.exotic_flower_band.name=Екзотичен цветен венец -item.filled_honeycomb.name=Пълна медена пита -item.fir_door.name=Врата от иглолистна дървесина -item.fleshchunk.name=Парче плът -item.flippers.name=Флипери -item.flower_basket.name=Кошница за цветя -item.gem_amber.name=Кехлибар -item.gem_amethyst.name=Аметист от края -item.gem_malachite.name=Малахит -item.gem_peridot.name=Перидот -item.gem_ruby.name=Рубин -item.gem_sapphire.name=Сафир -item.gem_tanzanite.name=Танзанит -item.gem_topaz.name=Топаз -item.green_dye.name=Зелена боя -item.gold_scythe.name=Златна коса -item.hellbark_door.name=Врата от дърво от недъра -item.honeycomb.name=Празна медена пита -item.ichor.name=Хисор -item.iron_scythe.name=Желязна коса -item.jacaranda_door.name=Джакарандова врата -item.jar_empty.name=Празен буркан -item.jar_filled_honey.name=Буркан с мед -item.jar_filled_pixie.name=Буркан с светулка -item.jar_filled_butterfly.name=Буркан с пеперуда -item.lush_flower_band.name=Разноцветен цветен венец -item.magic_door.name=Магическа врата -item.mahogany_door.name=Махагонена врата -item.mangrove_door.name=Мангрова врата -item.mudball.name=Кална топка -item.mud_axe.name=Кална брадва -item.mud_boots.name=Кални ботуши -item.mud_brick.name=Кална тухла -item.mud_chestplate.name=Кален нагръдник -item.mud_helmet.name=Кална каска -item.mud_hoe.name=Кална мотика -item.mud_leggings.name=Кални панталони -item.mud_pickaxe.name=Кална кирка -item.mud_scythe.name=Кална коса -item.mud_shovel.name=Кална лопата -item.mud_sword.name=Кален меч -item.palm_door.name=Палмова врата -item.persimmon.name=Кайсия -item.peach.name=Праскова -item.pear.name=Круша -item.pinecone.name=Pinecone -item.pine_door.name=Борова врата -item.pixie_dust.name=Прах от светулка -item.plain_flower_band.name=Ясен цветен венец -item.record_corruption.name=Развалена музикална плоча -item.record.corruption.desc=???:",./// -item.record_wanderer.name=Музикална плоча -item.record.wanderer.desc=Tim Rurkowski - Скитник -item.redwood_door.name=Врата от червено дърво -item.ricebowl.name=Купа ориз -item.sacred_oak_door.name=Врата от свещен дъб -item.saladfruit.name=Плодова салата -item.saladveggie.name=Вегитарянска салата -item.saladshroom.name=Гъбена салата -item.shroompowder.name=Гъбен прах -item.soul.name=Душа -item.spawn_egg_pixie.name=Размножител на светулка -item.spawn_egg_wasp.name=Размножител на оса от недъра -item.spawn_egg_snail.name=Размножител на охлюв -item.spawn_egg_butterfly.name=Размножител на пеперуда -item.stone_scythe.name=Каменна коса -item.turnip.name=Ряпа -item.turnip_seeds.name=Семена на ряпа -item.umbran_door.name=Зловеща дървесина -item.wading_boots.name=Бодливи ботуши -item.white_dye.name=Бяла боя -item.willow_door.name=Върбова врата -item.wood_scythe.name=Дървена коса - -tile.ash_block.name=Блок от пепел -tile.bamboo.name=Бамбук -tile.bamboo_thatching.name=Бамбукова плетеница -tile.biome_block.name=Биом есенция в руда -tile.cherry_fence.name=Черешова ограда -tile.cherry_fence_gate.name=Порта от черешова дървесина -tile.cherry_wood_slab.name=Плоча от черешова дървесина -tile.cherry_stairs.name=Стъпала от черешова дървесина -tile.coral.pink_coral.name=Розов корал -tile.coral.orange_coral.name=Оранжев корал -tile.coral.blue_coral.name=Син корал -tile.coral.glowing_coral.name=Сияещ корал -tile.coral.algae.name=Водорасли -tile.dirt.loamy_dirt.name=Глинеста пръст -tile.dirt.sandy_dirt.name=Пясъчна пръст -tile.dirt.silty_dirt.name=Сива пръст -tile.dirt.coarse_loamy_dirt.name=Едра глинеста пръст -tile.dirt.coarse_sandy_dirt.name=Едра пясъчна пръст -tile.dirt.coarse_silty_dirt.name=Едра сива пръст -tile.double_plant.flax.name=Лен -tile.double_plant.tall_cattail.name=Висок папур -tile.double_plant.eyebulb.name=Очна клечка -tile.ebony_fence.name=Абаносова ограда -tile.ebony_fence_gate.name=Порта от абаносова дървесина -tile.ebony_wood_slab.name=Плоча от абаносова дървсина -tile.ebony_stairs.name=Абаносови стълби -tile.ethereal_fence.name=Етерична ограда -tile.ethereal_fence_gate.name=Порта от етерична дървесина -tile.ethereal_wood_slab.name=Плоча от етерична дървесина -tile.ethereal_stairs.name=Стъпала от етерична дървесина -tile.eucalyptus_fence.name=Евкалиптова ограда -tile.eucalyptus_fence_gate.name=Порта от евкалиптова дървесина -tile.eucalyptus_wood_slab.name=Плоча от евкалиптова дървесина -tile.eucalyptus_stairs.name=Евкалиптови стъпала -tile.farmland_0.loamy_farmland.name=Глинеста обработваема земя -tile.farmland_0.sandy_farmland.name=Пясъчна обработваема земя -tile.farmland_1.silty_farmland.name=Сива обработваема земя -tile.fir_fence.name=Ограда от иглолистно дърво -tile.fir_fence_gate.name=Порта от иглолистно дърво -tile.fir_wood_slab.name=Плоча от иглолистно дърво -tile.fir_stairs.name=Стъпала от иглолистно дърво -tile.flesh.name=Плът -tile.flower_0.clover.name=Детелина -tile.flower_0.swampflower.name=Блатно цвете -tile.flower_0.deathbloom.name=Цъвтяща смърт -tile.flower_0.glowflower.name=Сияещо цвете -tile.flower_0.blue_hydrangea.name=Синя хортензия -tile.flower_0.orange_cosmos.name=Оранжев гербер -tile.flower_0.pink_daffodil.name=Розов нарцис -tile.flower_0.wildflower.name=Диво цвете -tile.flower_0.violet.name=Виолетка -tile.flower_0.white_anemone.name=Бяла анемония -tile.flower_0.enderlotus.name=Лотус от края -tile.flower_0.bromeliad.name=Бромелиад -tile.flower_0.wilted_lily.name=Обезводнена лилия -tile.flower_0.pink_hibiscus.name=Розов хибискус -tile.flower_0.lily_of_the_valley.name=Лилията на пътя -tile.flower_0.burning_blossom.name=Горящ цвят -tile.flower_1.lavender.name=Лавандула -tile.flower_1.goldenrod.name=Златно цвете -tile.flower_1.bluebells.name=Сини звънчета -tile.flower_1.miners_delight.name=Насладата на миньора -tile.flower_1.icy_iris.name=Леден ирис -tile.flower_1.rose.name=Роза -tile.flower_vine.name=Цветящи лияни -tile.gem_block.amethyst_block.name=Блок от аметист -tile.gem_block.ruby_block.name=Рубинен блок -tile.gem_block.peridot_block.name=Блок от перидот -tile.gem_block.topaz_block.name=Блок от топаз -tile.gem_block.tanzanite_block.name=Блок от танзанит -tile.gem_block.malachite_block.name=Блок от малахит -tile.gem_block.sapphire_block.name=Блок от сафир -tile.gem_block.amber_block.name=Кехлибарен блок -tile.gem_ore.amethyst_ore.name=Аметистова руда от края -tile.gem_ore.ruby_ore.name=Рубинена руда -tile.gem_ore.peridot_ore.name=Перидотова руда -tile.gem_ore.topaz_ore.name=Топазова руда -tile.gem_ore.tanzanite_ore.name=Танзанитова руда -tile.gem_ore.malachite_ore.name=Малахитова руда -tile.gem_ore.sapphire_ore.name=Сафирена руда -tile.gem_ore.amber_ore.name=Кехлибарена руда -tile.grass.daisy_grass_block.name=Цветящ тревист блок -tile.grass.spectral_moss.name=Спектрален мъх -tile.grass.overgrown_stone.name=Обрасъл камък -tile.grass.mycelial_netherrack.name=Мицел от недъра -tile.grass.loamy_grass_block.name=Глинест тревист блок -tile.grass.sandy_grass_block.name=Пясъчен тревист блок -tile.grass.silty_grass_block.name=Сив тревист блок -tile.grass.origin_grass_block.name=Класически тревист блок -tile.grass.overgrown_netherrack.name=Обрасъл камък от недъра -tile.grass_path.grass_loamy_path.name=Глинеста тревна пътека -tile.grass_path.grass_sandy_path.name=Пясъчна тревна пътека -tile.grass_path.grass_silty_path.name=Сива тревна пътека -tile.hellbark_fence.name=Ограда от дърво от недъра -tile.hellbark_fence_gate.name=Порта от дърво от недъра -tile.hellbark_wood_slab.name=Плоча от дърво от недъра -tile.hellbark_stairs.name=Стъпала от дърво от недъра -tile.hive.hive_block.name=Гнезден блок -tile.hive.honeycomb_block.name=Медена пита (блок) -tile.hive.empty_honeycomb_block.name=Празна медена пита (Блок) -tile.hive.filled_honeycomb_block.name=Пълна медена пита (блок) -tile.honey_block.name=Меден блок -tile.ivy.name=Бръшлян -tile.jacaranda_fence.name=Джакарандова ограда -tile.jacaranda_fence_gate.name=Порта от джакарандово дърво -tile.jacaranda_wood_slab.name=Плоча от джакарандово дърво -tile.jacaranda_stairs.name=Джакарандови стъпала -tile.jelled_poison.name=Желирана отрова -tile.leaves_0.yellow_autumn_leaves.name=Жълти есенни листа -tile.leaves_0.orange_autumn_leaves.name=Оранжеви есенни листа -tile.leaves_0.bamboo_leaves.name=Бамбукови листа -tile.leaves_0.magic_leaves.name=Магически листа -tile.leaves_1.umbran_leaves.name=Листа на зловещо дърво -tile.leaves_1.dead_leaves.name=Мъртви листа -tile.leaves_1.fir_leaves.name=Листа на иглолистно дърво -tile.leaves_1.ethereal_leaves.name=Етерични листа -tile.leaves_2.origin_leaves.name=Класически листа -tile.leaves_2.pink_cherry_leaves.name=Листа на розова череша -tile.leaves_2.white_cherry_leaves.name=Листа на бяла череша -tile.leaves_2.maple_leaves.name=Кленови листа -tile.leaves_3.hellbark_leaves.name=Листа на дърво от недъра -tile.leaves_3.flowering_leaves.name=Листа на цветящ дъб -tile.leaves_3.jacaranda_leaves.name=Джакарандови листа -tile.leaves_3.sacred_oak_leaves.name=Листа на свещен дъб -tile.leaves_4.mangrove_leaves.name=Мангрови листа -tile.leaves_4.palm_leaves.name=Палмови листа -tile.leaves_4.redwood_leaves.name=Листа на червено дърво -tile.leaves_4.willow_leaves.name=Върбови листа -tile.leaves_5.pine_leaves.name=Борови листа -tile.leaves_5.mahogany_leaves.name=Махагонени листа -tile.leaves_5.ebony_leaves.name=Абаносови листа -tile.leaves_5.eucalyptus_leaves.name=Евкалиптови листа -tile.leaves_6.red_big_flower_petal.name=Венчелистче от гигантско червено цвете -tile.leaves_6.yellow_big_flower_petal.name=Венчелистче от гигантско жълто цвете -tile.log_0.sacred_oak_log.name=Дървесина от свещен дъб -tile.log_0.cherry_log.name=Черешова дървесина -tile.log_0.umbran_log.name=Дървесина от зловещо дърво -tile.log_0.fir_log.name=Дървесина от иглолистно дърво -tile.log_1.ethereal_log.name=Етерична дървесина -tile.log_1.magic_log.name=Магическа дървесина -tile.log_1.mangrove_log.name=Мангрова дървсина -tile.log_1.palm_log.name=Палмова дървесина -tile.log_2.redwood_log.name=Дървесина от червено дърво -tile.log_2.willow_log.name=Върбова дървесина -tile.log_2.pine_log.name=Борова дървесина -tile.log_2.hellbark_log.name=Дървесина от недъра -tile.log_3.jacaranda_log.name=Джакарандова дървесина -tile.log_3.mahogany_log.name=Махагонена дървесина -tile.log_3.ebony_log.name=Абаносова дървесина -tile.log_3.eucalyptus_log.name=Евкалиптова дървесина -tile.log_4.giant_flower_stem.name=Стъбло на гигантско цвете -tile.log_4.dead_log.name=Мъртво дърво -tile.magic_fence.name=Ограда от магическа дървесина -tile.magic_fence_gate.name=Порта от магическа дървесина -tile.magic_wood_slab.name=Плоча от магическа дървесина -tile.magic_stairs.name=Стъпала от магическа дървесина -tile.mahogany_fence.name=Махагонена ограда -tile.mahogany_fence_gate.name=Порта от махагонена дървесина -tile.mahogany_wood_slab.name=Плоча от махагонена дървесина -tile.mahogany_stairs.name=Махагонени стъпала -tile.mangrove_fence.name=Мангрова ограда -tile.mangrove_fence_gate.name=Порта от мангрова дървесина -tile.mangrove_wood_slab.name=Плоча от мангрова дървесина -tile.mangrove_stairs.name=Мангрови стъпала -tile.mud.mud.name=Кал -tile.mud_brick_block.name=Кални тухли -tile.mud_brick_slab.name=Плоча от кални тухли -tile.mud_brick_stairs.name=Кални стъпала -tile.mushroom.toadstool.name=Тройна гъба -tile.mushroom.portobello.name=Портобело -tile.mushroom.blue_milk_cap.name=Синя млечна гъба -tile.mushroom.glowshroom.name=Сияеща гъба -tile.mushroom.flat_mushroom.name=Плоска гъба -tile.mushroom.shadow_shroom.name=Сенчеста гъба -tile.palm_fence.name=Палмова ограда -tile.palm_fence_gate.name=Порта от палмова дървесина -tile.palm_wood_slab.name=Плоча от палмова дървесина -tile.palm_stairs.name=Палмови стъпала -tile.pine_fence.name=Борова ограда -tile.pine_fence_gate.name=Порта от борова дървесина -tile.pine_wood_slab.name=Плоча от борова дървесина -tile.pine_stairs.name=Борови дъски -tile.planks_0.sacred_oak_planks.name=Дъски от свещен дъб -tile.planks_0.cherry_planks.name=Черешови дъски -tile.planks_0.umbran_planks.name=Дъски от зловеща дървесина -tile.planks_0.fir_planks.name=Дъски от иглолистна дървесина -tile.planks_0.ethereal_planks.name=Етерични дъски -tile.planks_0.magic_planks.name=Магически дъски -tile.planks_0.mangrove_planks.name=Мангрови дъски -tile.planks_0.palm_planks.name=Палмови дъски -tile.planks_0.redwood_planks.name=Дъски от червена дървесина -tile.planks_0.willow_planks.name=Върбови дъски -tile.planks_0.bamboo_thatching.name=Бамбукова плетеница -tile.planks_0.pine_planks.name=Борови дъски -tile.planks_0.hellbark_planks.name=Дъски от недъра -tile.planks_0.jacaranda_planks.name=Джакарандови дъски -tile.planks_0.mahogany_planks.name=Махагонени дъски -tile.planks_0.ebony_planks.name=Абаносови дъски -tile.planks_0.eucalyptus_planks.name=Евкалиптови дъски -tile.plant_0.shortgrass.name=Ниска трева -tile.plant_0.mediumgrass.name=Нормална трева -tile.plant_0.bush.name=Храст -tile.plant_0.sprout.name=Кълнове -tile.plant_0.poisonivy.name=Отровен бръшлян -tile.plant_0.berrybush.name=Боровинков храст -tile.plant_0.shrub.name=Храст -tile.plant_0.wheatgrass.name=Пшенична трева -tile.plant_0.dampgrass.name=Влажна трева -tile.plant_0.koru.name=Кору -tile.plant_0.cloverpatch.name=Детелини -tile.plant_0.leafpile.name=Купчина листа -tile.plant_0.deadleafpile.name= Купчина мъртви листа -tile.plant_0.deadgrass.name=Мъртва трева -tile.plant_0.desertgrass.name=Пустинна трева -tile.plant_0.desertsprouts.name=Пустинни кълнове -tile.plant_1.dunegrass.name=Дюнена трева -tile.plant_1.spectralfern.name=Спектрален папрат -tile.plant_1.thorn.name=Тръни -tile.plant_1.wildrice.name=Див орис -tile.plant_1.cattail.name=Папур -tile.plant_1.rivercane.name=Речна тръстика -tile.plant_1.tinycactus.name=Малък кактус -tile.plant_1.devilweed.name=Дяволски плевели -tile.plant_1.reed.name=Тръстика -tile.plant_1.root.name=Корен -tile.plant_1.rafflesia.name=Рафлезия -tile.redwood_fence.name=Ограда от червена дървесина -tile.redwood_fence_gate.name=Порта от червена дървесина -tile.redwood_wood_slab.name=Плоча от червена дървесиа -tile.redwood_stairs.name=Стълби от червена дървесина -tile.sacred_oak_fence.name=Ограда от свещено дърво -tile.sacred_oak_fence_gate.name=Порта от свещено дърво -tile.sacred_oak_wood_slab.name=Плоча от свещено дърво -tile.sacred_oak_stairs.name=Стълби от свещено дърво -tile.sapling_0.yellow_autumn_sapling.name=Фиданка за жълто есенно дърво -tile.sapling_0.orange_autumn_sapling.name=Фиданка за оранжево есенно дърво -tile.sapling_0.bamboo_sapling.name=Бамбукова фиданка -tile.sapling_0.magic_sapling.name=Магическа фиданка -tile.sapling_0.umbran_sapling.name=Зловеща фиданка -tile.sapling_0.dead_sapling.name=Мъртва фиданка -tile.sapling_0.fir_sapling.name=Фиданка за иглолистно дърво -tile.sapling_0.ethereal_sapling.name=Етерична фиданка -tile.sapling_1.origin_sapling.name=Класическа фиданка -tile.sapling_1.pink_cherry_sapling.name=Фиданка за розова череша -tile.sapling_1.white_cherry_sapling.name=Фиданка за бяла череша -tile.sapling_1.maple_sapling.name=Кленова фиданка -tile.sapling_1.hellbark_sapling.name=Фиданка за дърво от недъра -tile.sapling_1.flowering_sapling.name=Фиданка за цветящ дъб -tile.sapling_1.jacaranda_sapling.name=Джакарандова фиданка -tile.sapling_1.sacred_oak_sapling.name=Фиданка за свещен дъб -tile.sapling_2.mangrove_sapling.name=Мангрова фиданка -tile.sapling_2.palm_sapling.name=Палмова фиданка -tile.sapling_2.redwood_sapling.name=Фиданка за червено дърво -tile.sapling_2.willow_sapling.name=Върбова фиданка -tile.sapling_2.pine_sapling.name=Борова фиданка -tile.sapling_2.mahogany_sapling.name=Махагоненеа фиданка -tile.sapling_2.ebony_sapling.name=Абаносова фиданка -tile.sapling_2.eucalyptus_sapling.name=Евкалиптова виданка -tile.seaweed.kelp.name=Келп -tile.stone.limestone.name=Варовик -tile.stone.polished_limestone.name=Полиран варовик -tile.stone.siltstone.name=Стърготини -tile.stone.polished_siltstone.name=Полирани стърготини -tile.stone.shale.name=Шисти -tile.stone.polished_shale.name=Полирани шисти -tile.stone_formations.stone_formation.name=Каменни формативи -tile.terrarium.terrarium_fern.name=Папратов терариум -tile.terrarium.terrarium_mushroom.name=Гъбен терариум -tile.terrarium.terrarium_cactus.name=Кактусов терариум -tile.terrarium.terrarium_flax.name=Терариум за лен -tile.terrarium.terrarium_flower.name=Цветен терариум -tile.terrarium.terrarium_koru.name=Кору терариум -tile.terrarium.terrarium_bamboo.name=Бамбуков терариум -tile.terrarium.terrarium_sapling.name=Терариум за фиданка -tile.terrarium.terrarium_glowshroom.name=Терариум за сияеща гъба -tile.terrarium.terrarium_dead.name=Мъртъв терариум -tile.terrarium.terrarium_mystic.name=Мистически терариум -tile.terrarium.terrarium_ominous.name=Зловещ терариум -tile.terrarium.terrarium_wasteland.name=Пустинен терариум -tile.terrarium.terrarium_origin.name=Класически терариум -tile.terrarium.terrarium_nether.name=Терариум от недъра -tile.terrarium.terrarium_ender.name=Терариум от края -tile.tree_moss.name=Дървестен мъх -tile.turnip_block.name=Ряпа -tile.umbran_fence.name=Ограда от зловеща дървесина -tile.umbran_fence_gate.name=Ограда от зловеща дървесина -tile.umbran_wood_slab.name=Плоча от зловеща дървесина -tile.umbran_stairs.name=Стъпала от зловеща дървесина -tile.waterlily.lily_medium.name=Нормална водна лилия -tile.waterlily.lily_small.name=Малка водна лилия -tile.waterlily.lily_tiny.name=Дребна водна лилия -tile.waterlily.lily_flower.name=Цветна водна лилия -tile.willow_fence.name=Върбова ограда -tile.willow_fence_gate.name=Върбова порта -tile.willow_wood_slab.name=Плоча от върбова дървесина -tile.willow_stairs.name=Върбови стъпала -tile.hard_ice.name=Втвърден лед -tile.dried_sand.name=Изпечен пясък -tile.mud_brick.name=Кални тухли -tile.crystal.name=Небесен кристал - -entity.BiomesOPlenty.butterfly.name=Пеперуда -entity.BiomesOPlenty.pixie.name=Светулка -entity.BiomesOPlenty.snail.name=Охлюв -entity.BiomesOPlenty.wasp.name=Оса от Недъра diff --git a/src/main/resources/assets/biomesoplenty/lang/de_DE.lang b/src/main/resources/assets/biomesoplenty/lang/de_DE.lang deleted file mode 100644 index 7e503b0b1..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/de_DE.lang +++ /dev/null @@ -1,425 +0,0 @@ -advancements.biomesoplenty.root.title=Biomes O' Plenty -advancements.biomesoplenty.root.description=Der Traum eines Forschers... -advancements.biomesoplenty.sacred_oak_sapling.title=Yggdrasil -advancements.biomesoplenty.sacred_oak_sapling.description=Pflanze einen ehrwürdigen Himmelseichensetzling -advancements.biomesoplenty.yin_and_yang.title=Yin und Yang -advancements.biomesoplenty.yin_and_yang.description=Pflanze eine Leuchtblume in den Ominous Woods, und eine Totenblume in der Mystic Grove -advancements.biomesoplenty.miners_delight.title=Das Leben findet einen Weg -advancements.biomesoplenty.miners_delight.description=Finde eine Bergmannsfreude-Blume tief in einer Höhle -advancements.biomesoplenty.flesh_and_blood.title=Fleisch und Blut -advancements.biomesoplenty.flesh_and_blood.description=Beschaffe Fleisch vom Visceral Heap -advancements.biomesoplenty.honey_hell.title=Honighölle -advancements.biomesoplenty.honey_hell.description=Stehle süßen Honig aus einem Netherwespenstock -advancements.biomesoplenty.terrestrial_artifact.title=Kraftpaket -advancements.biomesoplenty.terrestrial_artifact.description=Finde alle biomexklusiven Edelstein -advancements.biomesoplenty.craft_biome_finder.title=Navigationsgerät -advancements.biomesoplenty.craft_biome_finder.description=Stelle einen Biomfinder her, um deinen Weg zu leiten -advancements.biomesoplenty.all_biomes.title=Wanderer -advancements.biomesoplenty.all_biomes.description=Entdecke jedes Biom in Biomes O' Plenty - -biome_finder.searching=Suche nach %s -biome_finder.found=%s gefunden! -biome_finder.not_found=Nicht gefunden, vielleicht ist %s zu weit weg - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [biomeId] -commands.biomesoplenty.biomename.success=Biom-ID %s gehört zu %s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId] -commands.biomesoplenty.tpbiome.success=%s teleportiert ins Biom %s (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=Konnte Biom %s nicht finden! -commands.biomesoplenty.stats.blocks=Blöcke: %s -commands.biomesoplenty.stats.items=Gegenstände: %s -commands.biomesoplenty.stats.entities=Objekte: %s -commands.biomesoplenty.stats.biomes=Biome: %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] [block] [metadata] - -container.flower_basket=Blumenkorb - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=Hinweis: Biomes O' Plenty 1.8 ist in einem sehr frühen Stadium - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=Blut -fluid.honey=Honig -fluid.hot_spring_water=Heißes Quellwasser -fluid.poison=Gift -fluid.sand=Treibsand - -item.forge.bucketFilled.name=%seimer - -potion.curse=Fluch - -item.ash.name=Aschehaufen -item.berries.name=Beeren -item.biome_essence.name=Biomessenz -item.biome_finder.name=Biomfinder -item.black_dye.name=Schwarzer Farbstoff -item.blue_dye.name=Blauer Farbstoff -item.boat_cherry.name=Kirschholzboot -item.boat_ebony.name=Ebenholzboot -item.boat_ethereal.name=Geisterholzboot -item.boat_eucalyptus.name=Eukalyptusholzboot -item.boat_fir.name=Tannenholzboot -item.boat_hellbark.name=Höllenborkenboot -item.boat_jacaranda.name=Palisanderholzboot -item.boat_magic.name=Zauberholzboot -item.boat_mahogany.name=Mahagoniholzboot -item.boat_mangrove.name=Mangrovenholzboot -item.boat_palm.name=Palmholzboot -item.boat_pine.name=Kiefernholzboot -item.boat_redwood.name=Mammutbaumboot -item.boat_sacred_oak.name=Himmelseichenboot -item.boat_umbran.name=Umbraholzboot -item.boat_willow.name=Weidenholzboot -item.brown_dye.name=Brauner Farbstoff -item.cherry_door.name=Kirschholztür -item.crystal_shard.name=Himmelskristallscherbe -item.ebony_door.name=Ebenholztür -item.ethereal_door.name=Geisterholztür -item.eucalyptus_door.name=Eukalyptusholztür -item.filled_honeycomb.name=Volle Honigwabe -item.fir_door.name=Tannenholztür -item.fleshchunk.name=Fleischstück -item.flower_basket.name=Blumenkorb -item.gem_amber.name=Bernstein -item.gem_amethyst.name=Enderamethyst -item.gem_malachite.name=Malachit -item.gem_peridot.name=Peridot -item.gem_ruby.name=Rubin -item.gem_sapphire.name=Saphir -item.gem_tanzanite.name=Tansanit -item.gem_topaz.name=Topas -item.green_dye.name=Grüner Farbstoff -item.hellbark_door.name=Höllenborkentür -item.honeycomb.name=Leere Honigwabe -item.jacaranda_door.name=Palisanderholztür -item.jar_empty.name=Leeres Einmachglas -item.jar_filled_honey.name=Einmachglas mit Honig -item.jar_filled_blue_fire.name=Einmachglas mit blauem Feuer -item.magic_door.name=Zauberholztür -item.mahogany_door.name=Mahagoniholztür -item.mangrove_door.name=Mangrovenholztür -item.mudball.name=Schlammklumpen -item.mud_brick.name=Schlammziegel -item.palm_door.name=Palmholztür -item.persimmon.name=Kaki -item.peach.name=Pfirsich -item.pear.name=Birne -item.pine_door.name=Kiefernholztür -item.record_wanderer.name=Schallplatte -item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=Mammutbaumtür -item.ricebowl.name=Schüssel mit Reis -item.sacred_oak_door.name=Himmelseichentür -item.shroompowder.name=Kahlkopfpilzpulver -item.terrestrial_artifact.name=Irdisches Artefakt -item.umbran_door.name=Umbraholztür -item.white_dye.name=Weißer Farbstoff -item.willow_door.name=Weidenholztür - -tile.ash_block.name=Ascheblock -tile.bamboo.name=Bambus -tile.bamboo_thatching.name=Bambusmatten -tile.biome_block.name=Biomessenzerz -tile.blue_fire.name=Blaues Feuer -tile.bramble_plant.name=Brombeere -tile.cherry_fence.name=Kirschholzzaun -tile.cherry_fence_gate.name=Kirschholzzauntor -tile.cherry_wood_slab.name=Kirschholzstufe -tile.cherry_stairs.name=Kirschholztreppe -tile.coral.pink_coral.name=Rosa Koralle -tile.coral.orange_coral.name=Orange Koralle -tile.coral.blue_coral.name=Blaue Koralle -tile.coral.glowing_coral.name=Leuchtende Koralle -tile.coral.algae.name=Alge -tile.dirt.loamy_dirt.name=Lehmige Erde -tile.dirt.sandy_dirt.name=Sandige Erde -tile.dirt.silty_dirt.name=Schluffige Erde -tile.dirt.coarse_loamy_dirt.name=Grobe lehmige Erde -tile.dirt.coarse_sandy_dirt.name=Grobe sandige Erde -tile.dirt.coarse_silty_dirt.name=Grobe schluffige Erde -tile.double_plant.flax.name=Flachs -tile.double_plant.tall_cattail.name=Hoher Rohrkolben -tile.double_plant.eyebulb.name=Augapfelstrauch -tile.double_plant.sea_oats.name=Haferflocken -tile.ebony_fence.name=Ebenholzzaun -tile.ebony_fence_gate.name=Ebenholzzauntor -tile.ebony_wood_slab.name=Ebenholzstufe -tile.ebony_stairs.name=Ebenholztreppe -tile.ethereal_fence.name=Geisterholzzaun -tile.ethereal_fence_gate.name=Geisterholzzauntor -tile.ethereal_wood_slab.name=Geisterholzstufe -tile.ethereal_stairs.name=Geisterholztreppe -tile.eucalyptus_fence.name=Eukalyptusholzzaun -tile.eucalyptus_fence_gate.name=Eukalyptusholzzauntor -tile.eucalyptus_wood_slab.name=Eukalyptusholzstufe -tile.eucalyptus_stairs.name=Eukalyptusholztreppe -tile.farmland_0.loamy_farmland.name=Lehmiger Ackerboden -tile.farmland_0.sandy_farmland.name=Sandiger Ackerboden -tile.farmland_1.silty_farmland.name=Schluffiger Ackerboden -tile.fir_fence.name=Tannenholzzaun -tile.fir_fence_gate.name=Tannenholzzauntor -tile.fir_wood_slab.name=Tannenholzstufe -tile.fir_stairs.name=Tannenholztreppe -tile.flesh.name=Fleisch -tile.flower_0.clover.name=Klee -tile.flower_0.swampflower.name=Sumpfblume -tile.flower_0.deathbloom.name=Totenblume -tile.flower_0.glowflower.name=Leuchtblume -tile.flower_0.blue_hydrangea.name=Blaue Hortensie -tile.flower_0.orange_cosmos.name=Orange Kosmee -tile.flower_0.pink_daffodil.name=Rosa Narzisse -tile.flower_0.wildflower.name=Wildblume -tile.flower_0.violet.name=Veilchen -tile.flower_0.white_anemone.name=Weiße Windröschen -tile.flower_0.enderlotus.name=Enderlotus -tile.flower_0.bromeliad.name=Bromelie -tile.flower_0.wilted_lily.name=Verwelkte Lilie -tile.flower_0.pink_hibiscus.name=Rosa Hibiskus -tile.flower_0.lily_of_the_valley.name=Maiglöckchen -tile.flower_0.burning_blossom.name=Feuerblume -tile.flower_1.lavender.name=Lavendel -tile.flower_1.goldenrod.name=Goldrute -tile.flower_1.bluebells.name=Glockenblumen -tile.flower_1.miners_delight.name=Bergmannsfreude -tile.flower_1.icy_iris.name=Eisige Iris -tile.flower_1.rose.name=Rose -tile.flower_vine.name=Blühende Ranken -tile.gem_block.amethyst_block.name=Amethystblock -tile.gem_block.ruby_block.name=Rubinblock -tile.gem_block.peridot_block.name=Peridotblock -tile.gem_block.topaz_block.name=Topasblock -tile.gem_block.tanzanite_block.name=Tansanitblock -tile.gem_block.malachite_block.name=Malachitblock -tile.gem_block.sapphire_block.name=Saphirblock -tile.gem_block.amber_block.name=Bernsteinblock -tile.gem_ore.amethyst_ore.name=Enderamethysterz -tile.gem_ore.ruby_ore.name=Rubinerz -tile.gem_ore.peridot_ore.name=Peridoterz -tile.gem_ore.topaz_ore.name=Topaserz -tile.gem_ore.tanzanite_ore.name=Tansaniterz -tile.gem_ore.malachite_ore.name=Malachiterz -tile.gem_ore.sapphire_ore.name=Saphirerz -tile.gem_ore.amber_ore.name=Bernsteinerz -tile.grass.daisy_grass_block.name=Blühender Grasblock -tile.grass.spectral_moss.name=Spektralmoos -tile.grass.overgrown_stone.name=Überwucherter Stein -tile.grass.loamy_grass_block.name=Lehmiger Grasblock -tile.grass.sandy_grass_block.name=Sandiger Grasblock -tile.grass.silty_grass_block.name=Schluffiger Grasblock -tile.grass.origin_grass_block.name=Ursprungsgrasblock -tile.grass.overgrown_netherrack.name=Überwucherter Netherrack -tile.grass.mycelial_netherrack.name=Myzel-Netherrack -tile.grass_path.grass_loamy_path.name=Lehmiger Trampelpfad -tile.grass_path.grass_sandy_path.name=Sandiger Trampelpfad -tile.grass_path.grass_silty_path.name=Schluffiger Trampelpfad -tile.hellbark_fence.name=Höllenborkenzaun -tile.hellbark_fence_gate.name=Höllenborkenzauntor -tile.hellbark_wood_slab.name=Höllenborkenstufe -tile.hellbark_stairs.name=Höllenborkentreppe -tile.hive.hive_block.name=Wespenstockblock -tile.hive.honeycomb_block.name=Honigwabenblock -tile.hive.empty_honeycomb_block.name=Leerer Honigwabenblock -tile.hive.filled_honeycomb_block.name=Voller Honigwabenblock -tile.honey_block.name=Honigblock -tile.ivy.name=Efeu -tile.jacaranda_fence.name=Palisanderholzzaun -tile.jacaranda_fence_gate.name=Palisanderholzzauntor -tile.jacaranda_wood_slab.name=Palisanderholzstufe -tile.jacaranda_stairs.name=Palisanderholztreppe -tile.leaves_0.yellow_autumn_leaves.name=Gelbes Herbstlaub -tile.leaves_0.orange_autumn_leaves.name=Oranges Herbstlaub -tile.leaves_0.bamboo_leaves.name=Bambuslaub -tile.leaves_0.magic_leaves.name=Zauberlaub -tile.leaves_1.umbran_leaves.name=Umbralaub -tile.leaves_1.dead_leaves.name=Verwelktes Laub -tile.leaves_1.fir_leaves.name=Tannennadeln -tile.leaves_1.ethereal_leaves.name=Geisterlaub -tile.leaves_2.origin_leaves.name=Ursprungslaub -tile.leaves_2.pink_cherry_leaves.name=Rosa Kirschlaub -tile.leaves_2.white_cherry_leaves.name=Weißes Kirschlaub -tile.leaves_2.maple_leaves.name=Ahornlaub -tile.leaves_3.hellbark_leaves.name=Höllenborkenlaub -tile.leaves_3.flowering_leaves.name=Blühendes Eichenlaub -tile.leaves_3.jacaranda_leaves.name=Palisanderlaub -tile.leaves_3.sacred_oak_leaves.name=Himmelseichenlaub -tile.leaves_4.mangrove_leaves.name=Mangrovenlaub -tile.leaves_4.palm_leaves.name=Palmblätter -tile.leaves_4.redwood_leaves.name=Mammutbaumlaub -tile.leaves_4.willow_leaves.name=Weidenlaub -tile.leaves_5.pine_leaves.name=Kiefernnadeln -tile.leaves_5.mahogany_leaves.name=Mahagonilaub -tile.leaves_5.ebony_leaves.name=Ebenholzlaub -tile.leaves_5.eucalyptus_leaves.name=Eukalyptuslaub -tile.leaves_6.red_big_flower_petal.name=Rotes Riesenblütenblatt -tile.leaves_6.yellow_big_flower_petal.name=Gelbes Riesenblütenblatt -tile.log_0.sacred_oak_log.name=Himmelseichenholz -tile.log_0.cherry_log.name=Kirschholz -tile.log_0.umbran_log.name=Umbraholz -tile.log_0.fir_log.name=Tannenholz -tile.log_1.ethereal_log.name=Geisterholz -tile.log_1.magic_log.name=Zauberholz -tile.log_1.mangrove_log.name=Mangrovenholz -tile.log_1.palm_log.name=Palmholz -tile.log_2.redwood_log.name=Mammutbaumholz -tile.log_2.willow_log.name=Weidenholz -tile.log_2.pine_log.name=Kiefernholz -tile.log_2.hellbark_log.name=Höllenborkenholz -tile.log_3.jacaranda_log.name=Palisanderholz -tile.log_3.mahogany_log.name=Mahagoniholz -tile.log_3.ebony_log.name=Ebenholz -tile.log_3.eucalyptus_log.name=Eukalyptusholz -tile.log_4.giant_flower_stem.name=Riesenblumenstängel -tile.log_4.dead_log.name=Totes Holz -tile.magic_fence.name=Zauberholzzaun -tile.magic_fence_gate.name=Zauberholzzauntor -tile.magic_wood_slab.name=Zauberholzstufe -tile.magic_stairs.name=Zauberholztreppe -tile.mahogany_fence.name=Mahagoniholzzaun -tile.mahogany_fence_gate.name=Mahagoniholzzauntor -tile.mahogany_wood_slab.name=Mahagoniholzstufe -tile.mahogany_stairs.name=Mahagoniholztreppe -tile.mangrove_fence.name=Mangrovenholzzaun -tile.mangrove_fence_gate.name=Mangrovenholzzauntor -tile.mangrove_wood_slab.name=Mangrovenholzstufe -tile.mangrove_stairs.name=Mangrovenholztreppe -tile.mud.mud.name=Schlamm -tile.mud_brick_block.name=Schlammziegelsteine -tile.mud_brick_slab.name=Schlammziegelstufe -tile.mud_brick_stairs.name=Schlammziegeltreppe -tile.mushroom.toadstool.name=Kahlkopfpilz -tile.mushroom.portobello.name=Portobellopilz -tile.mushroom.blue_milk_cap.name=Mitternachtspilz -tile.mushroom.glowshroom.name=Leuchtpilz -tile.mushroom.flat_mushroom.name=Dachpilz -tile.mushroom.shadow_shroom.name=Schattenpilz -tile.palm_fence.name=Palmholzzaun -tile.palm_fence_gate.name=Palmholzzauntor -tile.palm_wood_slab.name=Palmholzstufe -tile.palm_stairs.name=Palmholztreppe -tile.pine_fence.name=Kiefernholzzaun -tile.pine_fence_gate.name=Kiefernholzzauntor -tile.pine_wood_slab.name=Kiefernholzstufe -tile.pine_stairs.name=Kiefernholztreppe -tile.planks_0.sacred_oak_planks.name=Himmelseichenbretter -tile.planks_0.cherry_planks.name=Kirschholzbretter -tile.planks_0.umbran_planks.name=Umbraholzbretter -tile.planks_0.fir_planks.name=Tannenholzbretter -tile.planks_0.ethereal_planks.name=Geisterholzbretter -tile.planks_0.magic_planks.name=Zauberholzbretter -tile.planks_0.mangrove_planks.name=Mangrovenholzbretter -tile.planks_0.palm_planks.name=Palmholzbretter -tile.planks_0.redwood_planks.name=Mammutbaumbretter -tile.planks_0.willow_planks.name=Weidenholzbretter -tile.planks_0.bamboo_thatching.name=Bambusmatten -tile.planks_0.pine_planks.name=Kiefernholzbretter -tile.planks_0.hellbark_planks.name=Höllenborkenbretter -tile.planks_0.jacaranda_planks.name=Palisanderholzbretter -tile.planks_0.mahogany_planks.name=Mahagoniholzbretter -tile.planks_0.ebony_planks.name=Ebenholzbretter -tile.planks_0.eucalyptus_planks.name=Eukalyptusholzbretter -tile.plant_0.shortgrass.name=Gras -tile.plant_0.mediumgrass.name=Halbhohes Gras -tile.plant_0.bush.name=Busch -tile.plant_0.sprout.name=Spross -tile.plant_0.poisonivy.name=Giftefeu -tile.plant_0.berrybush.name=Beerenstrauch -tile.plant_0.shrub.name=Strauch -tile.plant_0.wheatgrass.name=Weizengras -tile.plant_0.dampgrass.name=Sumpfgras -tile.plant_0.koru.name=Silberfarn -tile.plant_0.cloverpatch.name=Klee -tile.plant_0.leafpile.name=Laubhaufen -tile.plant_0.deadleafpile.name=Herbstlaubhaufen -tile.plant_0.deadgrass.name=Verwelktes Gras -tile.plant_0.desertgrass.name=Wüstengras -tile.plant_0.desertsprouts.name=Wüstengraskeimlinge -tile.plant_1.dunegrass.name=Strandroggen -tile.plant_1.spectralfern.name=Spektralfarn -tile.plant_1.thorn.name=Dornenstrauch -tile.plant_1.wildrice.name=Wilder Reis -tile.plant_1.cattail.name=Rohrkolben -tile.plant_1.rivercane.name=Flussbambus -tile.plant_1.tinycactus.name=Kleiner Kaktus -tile.plant_1.witherwart.name=Witherwarzen -tile.plant_1.reed.name=Schilf -tile.plant_1.root.name=Wurzel -tile.plant_1.rafflesia.name=Rafflesia -tile.plant_1.barley.name=Hafer -tile.redwood_fence.name=Mammutbaumzaun -tile.redwood_fence_gate.name=Mammutbaumzauntor -tile.redwood_wood_slab.name=Mammutbaumstufe -tile.redwood_stairs.name=Mammutbaumtreppe -tile.sacred_oak_fence.name=Himmelseichenzaun -tile.sacred_oak_fence_gate.name=Himmelseichenzauntor -tile.sacred_oak_wood_slab.name=Himmelseichenstufe -tile.sacred_oak_stairs.name=Himmelseichentreppe -tile.sapling_0.yellow_autumn_sapling.name=Gelber Herbstbaumsetzling -tile.sapling_0.orange_autumn_sapling.name=Oranger Herbstbaumsetzling -tile.sapling_0.bamboo_sapling.name=Bambussetzling -tile.sapling_0.magic_sapling.name=Zauberbaumsetzling -tile.sapling_0.umbran_sapling.name=Umbrasetzling -tile.sapling_0.dead_sapling.name=Totenbaumsetzling -tile.sapling_0.fir_sapling.name=Tannensetzling -tile.sapling_0.ethereal_sapling.name=Geisterbaumsetzling -tile.sapling_1.origin_sapling.name=Ursprungsbaumsetzling -tile.sapling_1.pink_cherry_sapling.name=Rosa Kirschbaumsetzling -tile.sapling_1.white_cherry_sapling.name=Weißer Kirschbaumsetzling -tile.sapling_1.maple_sapling.name=Ahornsetzling -tile.sapling_1.hellbark_sapling.name=Höllenborkensetzling -tile.sapling_1.flowering_sapling.name=Blühender Eichensetzling -tile.sapling_1.jacaranda_sapling.name=Palisandersetzling -tile.sapling_1.sacred_oak_sapling.name=Himmelseichensetzling -tile.sapling_2.mangrove_sapling.name=Mangrovensetzling -tile.sapling_2.palm_sapling.name=Palmensetzling -tile.sapling_2.redwood_sapling.name=Mammutbaumsetzling -tile.sapling_2.willow_sapling.name=Weidensetzling -tile.sapling_2.pine_sapling.name=Kiefernsetzling -tile.sapling_2.mahogany_sapling.name=Mahagonisetzling -tile.sapling_2.ebony_sapling.name=Ebenholzsetzling -tile.sapling_2.eucalyptus_sapling.name=Eukalyptussetzling -tile.seaweed.kelp.name=Seetang -tile.terrarium.terrarium_fern.name=Terrarium mit Farn -tile.terrarium.terrarium_mushroom.name=Terrarium mit Pilz -tile.terrarium.terrarium_cactus.name=Terrarium mit Kaktus -tile.terrarium.terrarium_flax.name=Terrarium mit Flachs -tile.terrarium.terrarium_flower.name=Terrarium mit Blumen -tile.terrarium.terrarium_koru.name=Terrarium mit Silberfarn -tile.terrarium.terrarium_bamboo.name=Terrarium mit Bambus -tile.terrarium.terrarium_sapling.name=Terrarium mit Setzling -tile.terrarium.terrarium_glowshroom.name=Terrarium mit Leuchtpilz -tile.terrarium.terrarium_dead.name=Terrarium mit totem Busch -tile.terrarium.terrarium_mystic.name=Terrarium mit Leuchtblume -tile.terrarium.terrarium_ominous.name=Terrarium mit Totenblume -tile.terrarium.terrarium_wasteland.name=Terrarium mit verwelkter Lilie -tile.terrarium.terrarium_origin.name=Terrarium mit Rose -tile.terrarium.terrarium_nether.name=Terrarium mit Feuerblume -tile.terrarium.terrarium_ender.name=Terrarium mit Spektralfarn -tile.tree_moss.name=Umbrarindenmoos -tile.umbran_fence.name=Umbraholzzaun -tile.umbran_fence_gate.name=Umbraholzzauntor -tile.umbran_wood_slab.name=Umbraholzstufe -tile.umbran_stairs.name=Umbraholztreppe -tile.waterlily.lily_medium.name=Mittleres Seerosenblatt -tile.waterlily.lily_small.name=Kleines Seerosenblatt -tile.waterlily.lily_tiny.name=Winziges Seerosenblatt -tile.waterlily.lily_flower.name=Blühendes Seerosenblatt -tile.white_sand.name=Weißer Sand -tile.white_sandstone.white_sandstone.name=Weißer Sandstein -tile.white_sandstone.chiseled_white_sandstone.name=Gemeißelter weißer Sandstein -tile.white_sandstone.smooth_white_sandstone.name=Glatter weißer Sandstein -tile.white_sandstone_slab.name=Weiße Sandsteinstufe -tile.white_sandstone_stairs.name=Weiße Sandsteintreppe -tile.willow_fence.name=Weidenholzzaun -tile.willow_fence_gate.name=Weidenholzzauntor -tile.willow_wood_slab.name=Weidenholzstufe -tile.willow_stairs.name=Weidenholztreppe -tile.hard_ice.name=Harteis -tile.dried_sand.name=Trockensand -tile.mud_brick.name=Schlammziegelsteine -tile.crystal.name=Himmelskristall - -entity.mudball.name=Schlammklumpen -entity.wasp.name=Netherwespe -entity.bop_boat.name=Boot diff --git a/src/main/resources/assets/biomesoplenty/lang/en_US.lang b/src/main/resources/assets/biomesoplenty/lang/en_US.lang deleted file mode 100644 index 551ba24b2..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/en_US.lang +++ /dev/null @@ -1,433 +0,0 @@ -advancements.biomesoplenty.root.title=Biomes O' Plenty -advancements.biomesoplenty.root.description=The explorer's dream... -advancements.biomesoplenty.sacred_oak_sapling.title=Yggdrasil -advancements.biomesoplenty.sacred_oak_sapling.description=Plant a mighty Sacred Oak sapling -advancements.biomesoplenty.yin_and_yang.title=Yin and Yang -advancements.biomesoplenty.yin_and_yang.description=Plant a glowflower in the Ominous Woods, and a deathbloom in the Mystic Grove -advancements.biomesoplenty.miners_delight.title=Life Finds a Way -advancements.biomesoplenty.miners_delight.description=Find a miner's delight flower deep in a cave -advancements.biomesoplenty.flesh_and_blood.title=Flesh and Blood -advancements.biomesoplenty.flesh_and_blood.description=Harvest flesh from the Visceral Heap -advancements.biomesoplenty.honey_hell.title=Honey Hell -advancements.biomesoplenty.honey_hell.description=Steal some sweet honey from a Nether Wasp hive -advancements.biomesoplenty.terrestrial_artifact.title=By Your Powers Combined -advancements.biomesoplenty.terrestrial_artifact.description=Find one of each biome-exclusive gem -advancements.biomesoplenty.craft_biome_finder.title=Search Party -advancements.biomesoplenty.craft_biome_finder.description=Craft a Biome Finder to guide your path -advancements.biomesoplenty.all_biomes.title=Wanderer -advancements.biomesoplenty.all_biomes.description=Discover every biome in Biomes O' Plenty - -biome_finder.searching=Searching for %s -biome_finder.found=Found %s! -biome_finder.not_found=Not found, maybe %s is too far away - -config.category.convenienceSettings.title=Convenience Settings -config.category.guiSettings.title=GUI Settings -config.category.textureSettings.title=Texture Settings -config.category.trailSettings.title=Trail Settings -config.category.convenienceSettings.tooltip=Settings for convenience. -config.category.guiSettings.tooltip=GUI related settings. -config.category.textureSettings.tooltip=Texture related settings. -config.category.trailSettings.tooltip=Settings to modify trail visibility. - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [biomeId] -commands.biomesoplenty.biomename.success=Biome ID %s is associated with %s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId] -commands.biomesoplenty.tpbiome.success=Teleported %s to biome %s at (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=Couldn't find biome %s! -commands.biomesoplenty.stats.blocks=Blocks: %s -commands.biomesoplenty.stats.items=Items: %s -commands.biomesoplenty.stats.entities=Entities: %s -commands.biomesoplenty.stats.biomes=Biomes: %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] [block] [metadata] - -container.flower_basket=Flower Basket - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=Notice: Biomes O' Plenty 1.8 is in a very early state - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=Blood -fluid.honey=Honey -fluid.hot_spring_water=Hot Spring Water -fluid.poison=Poison -fluid.sand=Quicksand - -item.forge.bucketFilled.name=%s Bucket - -potion.curse=Curse - -item.ash.name=Pile of Ashes -item.berries.name=Berry -item.biome_essence.name=Biome Essence -item.biome_finder.name=Biome Finder -item.black_dye.name=Black Dye -item.blue_dye.name=Blue Dye -item.boat_cherry.name=Cherry Boat -item.boat_ebony.name=Ebony Boat -item.boat_ethereal.name=Ethereal Boat -item.boat_eucalyptus.name=Eucalyptus Boat -item.boat_fir.name=Fir Boat -item.boat_hellbark.name=Hellbark Boat -item.boat_jacaranda.name=Jacaranda Boat -item.boat_magic.name=Magic Boat -item.boat_mahogany.name=Mahogany Boat -item.boat_mangrove.name=Mangrove Boat -item.boat_palm.name=Palm Boat -item.boat_pine.name=Pine Boat -item.boat_redwood.name=Redwood Boat -item.boat_sacred_oak.name=Sacred Oak Boat -item.boat_umbran.name=Umbran Boat -item.boat_willow.name=Willow Boat -item.brown_dye.name=Brown Dye -item.cherry_door.name=Cherry Door -item.crystal_shard.name=Celestial Crystal Shard -item.ebony_door.name=Ebony Door -item.ethereal_door.name=Ethereal Door -item.eucalyptus_door.name=Eucalyptus Door -item.earth.name=Earth -item.filled_honeycomb.name=Filled Honeycomb -item.fir_door.name=Fir Door -item.fleshchunk.name=Chunk of Flesh -item.gem_amber.name=Amber -item.gem_amethyst.name=Ender Amethyst -item.gem_malachite.name=Malachite -item.gem_peridot.name=Peridot -item.gem_ruby.name=Ruby -item.gem_sapphire.name=Sapphire -item.gem_tanzanite.name=Tanzanite -item.gem_topaz.name=Topaz -item.green_dye.name=Green Dye -item.hellbark_door.name=Hellbark Door -item.honeycomb.name=Empty Honeycomb -item.jacaranda_door.name=Jacaranda Door -item.jar_empty.name=Empty Jar -item.jar_filled_honey.name=Honey Jar -item.jar_filled_blue_fire.name=Blue Fire Jar -item.magic_door.name=Magic Door -item.mahogany_door.name=Mahogany Door -item.mangrove_door.name=Mangrove Door -item.mudball.name=Mud Ball -item.mud_brick.name=Mud Brick -item.palm_door.name=Palm Door -item.persimmon.name=Persimmon -item.peach.name=Peach -item.pear.name=Pear -item.pine_door.name=Pine Door -item.record_wanderer.name=Music Disc -item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=Redwood Door -item.ricebowl.name=Bowl of Rice -item.sacred_oak_door.name=Sacred Oak Door -item.shroompowder.name=Shroom Powder -item.terrestrial_artifact.name=Terrestrial Artifact -item.umbran_door.name=Umbran Door -item.white_dye.name=White Dye -item.willow_door.name=Willow Door - -tile.ash_block.name=Ash Block -tile.bamboo.name=Bamboo -tile.bamboo_thatching.name=Bamboo Thatching -tile.biome_block.name=Biome Essence Ore -tile.blue_fire.name=Blue Fire -tile.bramble_plant.name=Bramble -tile.cherry_fence.name=Cherry Fence -tile.cherry_fence_gate.name=Cherry Fence Gate -tile.cherry_wood_slab.name=Cherry Wood Slab -tile.cherry_stairs.name=Cherry Wood Stairs -tile.coral.pink_coral.name=Pink Coral -tile.coral.orange_coral.name=Orange Coral -tile.coral.blue_coral.name=Blue Coral -tile.coral.glowing_coral.name=Glowing Coral -tile.coral.algae.name=Algae -tile.dirt.loamy_dirt.name=Loamy Dirt -tile.dirt.sandy_dirt.name=Sandy Dirt -tile.dirt.silty_dirt.name=Silty Dirt -tile.dirt.coarse_loamy_dirt.name=Coarse Loamy Dirt -tile.dirt.coarse_sandy_dirt.name=Coarse Sandy Dirt -tile.dirt.coarse_silty_dirt.name=Coarse Silty Dirt -tile.double_plant.flax.name=Flax -tile.double_plant.tall_cattail.name=Tall Cattail -tile.double_plant.eyebulb.name=Eyebulb -tile.double_plant.sea_oats.name=Sea Oats -tile.ebony_fence.name=Ebony Fence -tile.ebony_fence_gate.name=Ebony Fence Gate -tile.ebony_wood_slab.name=Ebony Wood Slab -tile.ebony_stairs.name=Ebony Wood Stairs -tile.ethereal_fence.name=Ethereal Fence -tile.ethereal_fence_gate.name=Ethereal Fence Gate -tile.ethereal_wood_slab.name=Ethereal Wood Slab -tile.ethereal_stairs.name=Ethereal Wood Stairs -tile.eucalyptus_fence.name=Eucalyptus Fence -tile.eucalyptus_fence_gate.name=Eucalyptus Fence Gate -tile.eucalyptus_wood_slab.name=Eucalyptus Wood Slab -tile.eucalyptus_stairs.name=Eucalyptus Wood Stairs -tile.farmland_0.loamy_farmland.name=Loamy Farmland -tile.farmland_0.sandy_farmland.name=Sandy Farmland -tile.farmland_1.silty_farmland.name=Silty Farmland -tile.fir_fence.name=Fir Fence -tile.fir_fence_gate.name=Fir Fence Gate -tile.fir_wood_slab.name=Fir Wood Slab -tile.fir_stairs.name=Fir Wood Stairs -tile.flesh.name=Flesh -tile.flower_0.clover.name=Clover -tile.flower_0.swampflower.name=Swampflower -tile.flower_0.deathbloom.name=Deathbloom -tile.flower_0.glowflower.name=Glowflower -tile.flower_0.blue_hydrangea.name=Blue Hydrangea -tile.flower_0.orange_cosmos.name=Orange Cosmos -tile.flower_0.pink_daffodil.name=Pink Dafodil -tile.flower_0.wildflower.name=Wildflower -tile.flower_0.violet.name=Violet -tile.flower_0.white_anemone.name=White Anemone -tile.flower_0.enderlotus.name=Enderlotus -tile.flower_0.bromeliad.name=Bromeliad -tile.flower_0.wilted_lily.name=Wilted Lily -tile.flower_0.pink_hibiscus.name=Pink Hibiscus -tile.flower_0.lily_of_the_valley.name=Lily of the Valley -tile.flower_0.burning_blossom.name=Burning Blossom -tile.flower_1.lavender.name=Lavender -tile.flower_1.goldenrod.name=Goldenrod -tile.flower_1.bluebells.name=Bluebells -tile.flower_1.miners_delight.name=Miner's Delight -tile.flower_1.icy_iris.name=Icy Iris -tile.flower_1.rose.name=Rose -tile.gem_block.amethyst_block.name=Block of Amethyst -tile.gem_block.ruby_block.name=Block of Ruby -tile.gem_block.peridot_block.name=Block of Peridot -tile.gem_block.topaz_block.name=Block of Topaz -tile.gem_block.tanzanite_block.name=Block of Tanzanite -tile.gem_block.malachite_block.name=Block of Malachite -tile.gem_block.sapphire_block.name=Block of Sapphire -tile.gem_block.amber_block.name=Block of Amber -tile.gem_ore.amethyst_ore.name=Ender Amethyst Ore -tile.gem_ore.ruby_ore.name=Ruby Ore -tile.gem_ore.peridot_ore.name=Peridot Ore -tile.gem_ore.topaz_ore.name=Topaz Ore -tile.gem_ore.tanzanite_ore.name=Tanzanite Ore -tile.gem_ore.malachite_ore.name=Malachite Ore -tile.gem_ore.sapphire_ore.name=Sapphire Ore -tile.gem_ore.amber_ore.name=Amber Ore -tile.grass.daisy_grass_block.name=Flowering Grass Block -tile.grass.spectral_moss.name=Spectral Moss -tile.grass.overgrown_stone.name=Overgrown Stone -tile.grass.loamy_grass_block.name=Loamy Grass Block -tile.grass.sandy_grass_block.name=Sandy Grass Block -tile.grass.silty_grass_block.name=Silty Grass Block -tile.grass.origin_grass_block.name=Origin Grass Block -tile.grass.overgrown_netherrack.name=Overgrown Netherrack -tile.grass.mycelial_netherrack.name=Mycelial Netherrack -tile.grass_path.grass_loamy_path.name=Loamy Grass Path -tile.grass_path.grass_sandy_path.name=Sandy Grass Path -tile.grass_path.grass_silty_path.name=Silty Grass Path -tile.hellbark_fence.name=Hellbark Fence -tile.hellbark_fence_gate.name=Hellbark Fence Gate -tile.hellbark_wood_slab.name=Hellbark Wood Slab -tile.hellbark_stairs.name=Hellbark Wood Stairs -tile.hive.hive_block.name=Hive Block -tile.hive.honeycomb_block.name=Honeycomb Block -tile.hive.empty_honeycomb_block.name=Empty Honeycomb Block -tile.hive.filled_honeycomb_block.name=Filled Honeycomb Block -tile.honey_block.name=Honey Block -tile.ivy.name=Ivy -tile.jacaranda_fence.name=Jacaranda Fence -tile.jacaranda_fence_gate.name=Jacaranda Fence Gate -tile.jacaranda_wood_slab.name=Jacaranda Wood Slab -tile.jacaranda_stairs.name=Jacaranda Wood Stairs -tile.leaves_0.yellow_autumn_leaves.name=Yellow Autumn Leaves -tile.leaves_0.orange_autumn_leaves.name=Orange Autumn Leaves -tile.leaves_0.bamboo_leaves.name=Bamboo Leaves -tile.leaves_0.magic_leaves.name=Magic Leaves -tile.leaves_1.umbran_leaves.name=Umbran Leaves -tile.leaves_1.dead_leaves.name=Dead Leaves -tile.leaves_1.fir_leaves.name=Fir Leaves -tile.leaves_1.ethereal_leaves.name=Ethereal Leaves -tile.leaves_2.origin_leaves.name=Origin Leaves -tile.leaves_2.pink_cherry_leaves.name=Pink Cherry Leaves -tile.leaves_2.white_cherry_leaves.name=White Cherry Leaves -tile.leaves_2.maple_leaves.name=Maple Leaves -tile.leaves_3.hellbark_leaves.name=Hellbark Leaves -tile.leaves_3.flowering_leaves.name=Flowering Oak Leaves -tile.leaves_3.jacaranda_leaves.name=Jacaranda Leaves -tile.leaves_3.sacred_oak_leaves.name=Sacred Oak Leaves -tile.leaves_4.mangrove_leaves.name=Mangrove Leaves -tile.leaves_4.palm_leaves.name=Palm Leaves -tile.leaves_4.redwood_leaves.name=Redwood Leaves -tile.leaves_4.willow_leaves.name=Willow Leaves -tile.leaves_5.pine_leaves.name=Pine Leaves -tile.leaves_5.mahogany_leaves.name=Mahogany Leaves -tile.leaves_5.ebony_leaves.name=Ebony Leaves -tile.leaves_5.eucalyptus_leaves.name=Eucalyptus Leaves -tile.leaves_6.red_big_flower_petal.name=Giant Red Flower Petal -tile.leaves_6.yellow_big_flower_petal.name=Giant Yellow Flower Petal -tile.log_0.sacred_oak_log.name=Sacred Oak Wood -tile.log_0.cherry_log.name=Cherry Wood -tile.log_0.umbran_log.name=Umbran Wood -tile.log_0.fir_log.name=Fir Wood -tile.log_1.ethereal_log.name=Ethereal Wood -tile.log_1.magic_log.name=Magic Wood -tile.log_1.mangrove_log.name=Mangrove Wood -tile.log_1.palm_log.name=Palm Wood -tile.log_2.redwood_log.name=Redwood Wood -tile.log_2.willow_log.name=Willow Wood -tile.log_2.pine_log.name=Pine Wood -tile.log_2.hellbark_log.name=Hellbark Wood -tile.log_3.jacaranda_log.name=Jacaranda Wood -tile.log_3.mahogany_log.name=Mahogany Wood -tile.log_3.ebony_log.name=Ebony Wood -tile.log_3.eucalyptus_log.name=Eucalyptus Wood -tile.log_4.giant_flower_stem.name=Giant Flower Stem -tile.log_4.dead_log.name=Dead Wood -tile.magic_fence.name=Magic Fence -tile.magic_fence_gate.name=Magic Fence Gate -tile.magic_wood_slab.name=Magic Wood Slab -tile.magic_stairs.name=Magic Wood Stairs -tile.mahogany_fence.name=Mahogany Fence -tile.mahogany_fence_gate.name=Mahogany Fence Gate -tile.mahogany_wood_slab.name=Mahogany Wood Slab -tile.mahogany_stairs.name=Mahogany Wood Stairs -tile.mangrove_fence.name=Mangrove Fence -tile.mangrove_fence_gate.name=Mangrove Fence Gate -tile.mangrove_wood_slab.name=Mangrove Wood Slab -tile.mangrove_stairs.name=Mangrove Wood Stairs -tile.mud.mud.name=Mud -tile.mud_brick_block.name=Mud Bricks -tile.mud_brick_slab.name=Mud Bricks Slab -tile.mud_brick_stairs.name=Mud Bricks Stairs -tile.mushroom.toadstool.name=Toadstool -tile.mushroom.portobello.name=Portobello -tile.mushroom.blue_milk_cap.name=Blue Milk Cap -tile.mushroom.glowshroom.name=Glowshroom -tile.mushroom.flat_mushroom.name=Flat Mushroom -tile.mushroom.shadow_shroom.name=Shadow Shroom -tile.palm_fence.name=Palm Fence -tile.palm_fence_gate.name=Palm Fence Gate -tile.palm_wood_slab.name=Palm Wood Slab -tile.palm_stairs.name=Palm Wood Stairs -tile.pine_fence.name=Pine Fence -tile.pine_fence_gate.name=Pine Fence Gate -tile.pine_wood_slab.name=Pine Wood Slab -tile.pine_stairs.name=Pine Wood Stairs -tile.planks_0.sacred_oak_planks.name=Sacred Oak Wood Planks -tile.planks_0.cherry_planks.name=Cherry Wood Planks -tile.planks_0.umbran_planks.name=Umbran Wood Planks -tile.planks_0.fir_planks.name=Fir Wood Planks -tile.planks_0.ethereal_planks.name=Ethereal Wood Planks -tile.planks_0.magic_planks.name=Magic Wood Planks -tile.planks_0.mangrove_planks.name=Mangrove Wood Planks -tile.planks_0.palm_planks.name=Palm Wood Planks -tile.planks_0.redwood_planks.name=Redwood Wood Planks -tile.planks_0.willow_planks.name=Willow Wood Planks -tile.planks_0.bamboo_thatching.name=Bamboo Thatching -tile.planks_0.pine_planks.name=Pine Wood Planks -tile.planks_0.hellbark_planks.name=Hellbark Wood Planks -tile.planks_0.jacaranda_planks.name=Jacaranda Wood Planks -tile.planks_0.mahogany_planks.name=Mahogany Wood Planks -tile.planks_0.ebony_planks.name=Ebony Wood Planks -tile.planks_0.eucalyptus_planks.name=Eucalyptus Wood Planks -tile.plant_0.shortgrass.name=Short Grass -tile.plant_0.mediumgrass.name=Medium Grass -tile.plant_0.bush.name=Bush -tile.plant_0.sprout.name=Sprout -tile.plant_0.poisonivy.name=Poison Ivy -tile.plant_0.berrybush.name=Berry Bush -tile.plant_0.shrub.name=Shrub -tile.plant_0.wheatgrass.name=Wheat Grass -tile.plant_0.dampgrass.name=Damp Grass -tile.plant_0.koru.name=Koru -tile.plant_0.cloverpatch.name=Clover Patch -tile.plant_0.leafpile.name=Leaf Pile -tile.plant_0.deadleafpile.name=Dead Leaf Pile -tile.plant_0.deadgrass.name=Dead Grass -tile.plant_0.desertgrass.name=Desert Grass -tile.plant_0.desertsprouts.name=Desert Sprouts -tile.plant_1.dunegrass.name=Dune Grass -tile.plant_1.spectralfern.name=Spectral Fern -tile.plant_1.thorn.name=Thorns -tile.plant_1.wildrice.name=Wild Rice -tile.plant_1.cattail.name=Cattail -tile.plant_1.rivercane.name=River Cane -tile.plant_1.tinycactus.name=Tiny Cactus -tile.plant_1.devilweed.name=Devilweed -tile.plant_1.reed.name=Reed -tile.plant_1.root.name=Root -tile.plant_1.rafflesia.name=Rafflesia -tile.plant_1.barley.name=Barley -tile.redwood_fence.name=Redwood Fence -tile.redwood_fence_gate.name=Redwood Fence Gate -tile.redwood_wood_slab.name=Redwood Wood Slab -tile.redwood_stairs.name=Redwood Wood Stairs -tile.sacred_oak_fence.name=Sacred Oak Fence -tile.sacred_oak_fence_gate.name=Sacred Oak Fence Gate -tile.sacred_oak_wood_slab.name=Sacred Oak Wood Slab -tile.sacred_oak_stairs.name=Sacred Oak Wood Stairs -tile.sapling_0.yellow_autumn_sapling.name=Yellow Autumn Sapling -tile.sapling_0.orange_autumn_sapling.name=Orange Autumn Sapling -tile.sapling_0.bamboo_sapling.name=Bamboo Sapling -tile.sapling_0.magic_sapling.name=Magic Sapling -tile.sapling_0.umbran_sapling.name=Umbran Sapling -tile.sapling_0.dead_sapling.name=Dead Sapling -tile.sapling_0.fir_sapling.name=Fir Sapling -tile.sapling_0.ethereal_sapling.name=Ethereal Sapling -tile.sapling_1.origin_sapling.name=Origin Sapling -tile.sapling_1.pink_cherry_sapling.name=Pink Cherry Sapling -tile.sapling_1.white_cherry_sapling.name=White Cherry Sapling -tile.sapling_1.maple_sapling.name=Maple Sapling -tile.sapling_1.hellbark_sapling.name=Hellbark Sapling -tile.sapling_1.flowering_sapling.name=Flowering Oak Sapling -tile.sapling_1.jacaranda_sapling.name=Jacaranda Sapling -tile.sapling_1.sacred_oak_sapling.name=Sacred Oak Sapling -tile.sapling_2.mangrove_sapling.name=Mangrove Sapling -tile.sapling_2.palm_sapling.name=Palm Sapling -tile.sapling_2.redwood_sapling.name=Redwood Sapling -tile.sapling_2.willow_sapling.name=Willow Sapling -tile.sapling_2.pine_sapling.name=Pine Sapling -tile.sapling_2.mahogany_sapling.name=Mahogany Sapling -tile.sapling_2.ebony_sapling.name=Ebony Sapling -tile.sapling_2.eucalyptus_sapling.name=Eucalyptus Sapling -tile.seaweed.kelp.name=Kelp -tile.terrarium.terrarium_fern.name=Fern Terrarium -tile.terrarium.terrarium_mushroom.name=Mushroom Terrarium -tile.terrarium.terrarium_cactus.name=Cactus Terrarium -tile.terrarium.terrarium_flax.name=Flax Terrarium -tile.terrarium.terrarium_flower.name=Flower Terrarium -tile.terrarium.terrarium_koru.name=Koru Terrarium -tile.terrarium.terrarium_bamboo.name=Bamboo Terrarium -tile.terrarium.terrarium_beach.name=Beach Terrarium -tile.terrarium.terrarium_glowshroom.name=Glowshroom Terrarium -tile.terrarium.terrarium_dead.name=Dead Terrarium -tile.terrarium.terrarium_mystic.name=Mystic Terrarium -tile.terrarium.terrarium_ominous.name=Ominous Terrarium -tile.terrarium.terrarium_wasteland.name=Wasteland Terrarium -tile.terrarium.terrarium_origin.name=Origin Terrarium -tile.terrarium.terrarium_nether.name=Nether Terrarium -tile.terrarium.terrarium_ender.name=Ender Terrarium -tile.umbran_fence.name=Umbran Fence -tile.umbran_fence_gate.name=Umbran Fence Gate -tile.umbran_wood_slab.name=Umbran Wood Slab -tile.umbran_stairs.name=Umbran Wood Stairs -tile.waterlily.lily_medium.name=Medium Lily Pad -tile.waterlily.lily_small.name=Small Lily Pad -tile.waterlily.lily_tiny.name=Tiny Lily Pad -tile.waterlily.lily_flower.name=Flowered Lily -tile.white_sand.name=White Sand -tile.white_sandstone.white_sandstone.name=White Sandstone -tile.white_sandstone.chiseled_white_sandstone.name=Chiseled White Sandstone -tile.white_sandstone.smooth_white_sandstone.name=Smooth White Sandstone -tile.white_sandstone_slab.name=White Sandstone Slab -tile.white_sandstone_stairs.name=White Sandstone Stairs -tile.willow_fence.name=Willow Fence -tile.willow_fence_gate.name=Willow Fence Gate -tile.willow_wood_slab.name=Willow Wood Slab -tile.willow_stairs.name=Willow Wood Stairs -tile.willow_vine.name=Willow Vine -tile.hard_ice.name=Hardened Ice -tile.dried_sand.name=Dried Sand -tile.mud_brick.name=Mud Bricks -tile.crystal.name=Celestial Crystal - -entity.mudball.name=Mudball -entity.wasp.name=Nether Wasp -entity.bop_boat.name=Boat \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/lang/es_ES.lang b/src/main/resources/assets/biomesoplenty/lang/es_ES.lang deleted file mode 100644 index 19f14627d..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/es_ES.lang +++ /dev/null @@ -1,544 +0,0 @@ -language.name=Español -language.region=ES -language.code=es_ES - -achievement.obtain_flowers=Criatura de las flores -achievement.obtain_flowers.desc=¡Encuentra una flor! - -achievement.obtain_berry=Vaya baya - -achievement.obtain_berry.desc=Coge una baya de un arbusto de bayas - -achievement.obtain_coral=¡Totalmente coralino! - -achievement.obtain_coral.desc=Bucea para conseguir coral - -achievement.obtain_miners_delight=La vida encuentra un camino - -achievement.obtain_miners_delight.desc=Encuentra una delicia de minero en lo profundo de una cueva -achievement.eat_shroom_powder=Flipando - -achievement.eat_shroom_powder.desc=Ingiere polvo de seta -achievement.obtain_turnip=Mercado de tallos - -achievement.obtain_turnip.desc=Cosecha un nabo - -achievement.grow_sacred_oak=Yggdrasil - -achievement.grow_sacred_oak.desc=Planta un brote de roble sagrado - -achievement.craft_flax_string=Diversión de lino -achievement.craft_flax_string.desc=Crea hilo de nilo a partir de lino -achievement.craft_muddy_pickaxe=Consiguiendo una desmejora -achievement.craft_muddy_pickaxe.desc=Crea un...¿pico de barro...? - -achievement.obtain_thorn=Más bien espinoso - -achievement.obtain_thorn.desc=¡Recoge un espino espinoso! - -achievement.obtain_deathbloom=Me he convertido en la Muerte -achievement.obtain_deathbloom.desc=Adquiere una flor mortal -achievement.obtain_honeycomb=Gran panal -achievement.obtain_honeycomb.desc=Roba un panal lleno de una colmena de avispas del Nether -achievement.obtain_soul=Buscando almas -achievement.obtain_soul.desc=Reclama un alma perdida -achievement.obtain_wilted_lily=Bendición -achievement.obtain_wilted_lily.desc=Rescata una flor de lirio marchita -achievement.obtain_pixie_dust=No respires esto -achievement.obtain_pixie_dust.desc=Mata una hada y recoge su polvo mágico -achievement.obtain_celestial_crystal=Lejos... - -achievement.obtain_celestial_crystal.desc=Mina un cristal celestial en el End -achievement.craft_terrestrial_artifact=Tus poderes combinados -achievement.craft_terrestrial_artifact.desc=Combina las 8 gemas exclusivas de cada bioma -achievement.craft_ambrosia=Néctar de los dioses - -achievement.craft_ambrosia.desc=¡Azúcar, agua, miel, bayas, raíces, quelpo, icor, polvo de hadas, y cristales celestiales! - -achievement.explore_all_biomes=El viajero - -achievement.explore_all_biomes.desc=Descubre todos los biomas - -achievement.use_enderporter=Ido a casa -achievement.use_enderporter.desc=Vuelve al punto de origen enderportador -achievement.use_biome_finder=Busca fiesta -achievement.use_biome_finder.desc=Usa el buscabiomas para localizar un bioma - -biome_finder.searching=Buscando %s - -biome_finder.found=¡%s encontrado! - -biome_finder.not_found=No encontrado, %s alomejor está demasiado lejos - -config.category.convenienceSettings.title=Configuraciones de conveniencia -config.category.guiSettings.title=Configuraciones del GUI -config.category.textureSettings.title=Configuraciones de las texturas - -config.category.trailSettings.title=Configuraciones de la estela -config.category.convenienceSettings.tooltip=Se necesitan cizallas para coger flores -config.category.guiSettings.tooltip=Usa el tipo de mundo Biomes O' Plenty por defecto cuando seleccionas un mundo -config.category.textureSettings.tooltip=Anula las texturas de Forge bucket y usa las nuestra (¡Está mejor!) - -config.category.trailSettings.tooltip=Modifica la visibilidad de las estelas -commands.biomesoplenty.usage=/biomesoplenty [args] - -commands.biomesoplenty.biomename.usage=/biomesoplenty NombreDelBioma [IdBioma] - -commands.biomesoplenty.biomename.success=Biome ID %s está asociada con %s - -commands.biomesoplenty.tpbiome.usage=/biomesoplenty TpBioma [IdBioma] - -commands.biomesoplenty.tpbiome.success=%s teletransportado al bioma %s en (%s, %s, %s) - -commands.biomesoplenty.tpbiome.error=¡No se pudo encontrar el bioma %s! - -commands.biomesoplenty.stats.blocks=Blocks: %s -commands.biomesoplenty.stats.items=Objetos: %s - -commands.biomesoplenty.stats.entities=Entities: %s -commands.biomesoplenty.stats.biomes=Biomas: %s - -commands.biomesoplenty.stripchunk.usage=/biomesoplenty StripChunk [radio] [bloque] [metadata] - - -container.flower_basket=Cesta de flores - - -generator.BIOMESOP=Biomes O' Plenty - -generator.BIOMESOP.info=Noticia: Biomes O' Plenty 1.8 esta en una fase muy temprana - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=sangre -fluid.honey=miel -fluid.hot_spring_water=agua de manantial -fluid.poison=veneno -fluid.sand=arena movediza - -item.forge.bucketFilled.name=Cubo de %s - -item.ambrosia.name=Ambrosia - -item.ash.name=Pila de ceniza -item.berries.name=Baya -item.biome_essence.name=Esencia de bioma -item.biome_finder.name=Buscabiomas -item.black_dye.name=Tinte negro -item.blue_dye.name=Tinte azul -item.brown_dye.name=Tinte marrón -item.cherry_door.name=Puerta de cerezo -item.crystal_shard.name=Fragmento de cristal celestial -item.terrestrial_artifact.name=Artefacto terrestre - -item.flax_string.name=Cuerda de lino -item.diamond_scythe.name=Guadaña de diamante -item.dull_flower_band.name=Banda de flores sosa -item.ebony_door.name=Puerta de ébano -item.enderporter.name=Enderportador -item.ethereal_door.name=Puerta etérea -item.eucalyptus_door.name=Puerta de eucalipto -item.exotic_flower_band.name=Banda de flores - exótica -item.filled_honeycomb.name=Panal lleno -item.fir_door.name=Puerta de abeto blanco -item.fleshchunk.name=Trozo de carne -item.flippers.name=Aletas -item.flower_basket.name=Cesta de flores - -item.gem_amber.name=Ámbar -item.gem_amethyst.name=Amatista de ender -item.gem_malachite.name=Malaquita -item.gem_peridot.name=Periodita -item.gem_ruby.name=Rubí -item.gem_sapphire.name=Safiro -item.gem_tanzanite.name=Tanzanita - -item.gem_topaz.name=Topacio -item.green_dye.name=Tinte verde -item.gold_scythe.name=Guadaña de oro -item.hellbark_door.name=Puerta infernal -item.honeycomb.name=Panal vacío -item.ichor.name=Icor - -item.iron_scythe.name=Guadaña de hierro -item.jacaranda_door.name=Puerta de jacaranda -item.jar_empty.name=Frasco vacío -item.jar_filled_honey.name=Frasco de miel -item.jar_filled_pixie.name=Frasco con hada -item.jar_filled_butterfly.name=Frasco con mariposa -item.lush_flower_band.name=Banda de flores exuberante - -item.magic_door.name=Puerta mágica - -item.mahogany_door.name=Puerta de caoba -item.mangrove_door.name=Puerta de Mangle -item.mudball.name=Bola de barro -item.mud_axe.name=Hacha de barro -item.mud_boots.name=Botas de barro -item.mud_brick.name=Ladrillo de barro -item.mud_chestplate.name=Peto de barro -item.mud_helmet.name=Casco de barro -item.mud_hoe.name=Azada de barro -item.mud_leggings.name=Grebas de barro -item.mud_pickaxe.name=Pico de barro -item.mud_scythe.name=Guadaña de barro -item.mud_shovel.name=Pala de barro -item.mud_sword.name=Espada de barro -item.palm_door.name=Puerta de palmera -item.persimmon.name=Caqui -item.peach.name=Melocotón -item.pear.name=Pera -item.pinecone.name=Piña - -item.pine_door.name=Puerta de pino -item.pixie_dust.name=Polvo de hadas -item.plain_flower_band.name=Banda de flores simple -item.record_corruption.name=Disco de música -item.record.corruption.desc=??? - -item.record_wanderer.name=Disco de música -item.record.wanderer.desc=Tim Rurkowski - Wanderer - -item.redwood_door.name=Puerta de secuoya -item.ricebowl.name=Cuenco de arroz -item.sacred_oak_door.name=Puerta de roble sagrado -item.saladfruit.name=Ensalada de frutas -item.saladveggie.name=Ensalada de verduras -item.saladshroom.name=Ensalada de setas -item.shroompowder.name=Polvo de seta -item.soul.name=Alma -item.spawn_egg_pixie.name=Generar Hada -item.spawn_egg_wasp.name=Generar Avispa -item.spawn_egg_snail.name=Generar Caracol -item.spawn_egg_butterfly.name=Generar Mariposa -item.stone_scythe.name=Guadaña de piedra -item.turnip.name=Nabo -item.turnip_seeds.name=Semillas de nabo -item.umbran_door.name=Puerta de umbrano -item.wading_boots.name=Botas de vadeo -item.white_dye.name=Tinte blanco -item.willow_door.name=Puerta de sauce -item.wood_scythe.name=Guadaña de madera - -tile.ash_block.name=Bloque de ceniza -tile.bamboo.name=Bambú -tile.bamboo_thatching.name=Cubierta de bambú -tile.biome_block.name=Mena de esencia de bioma -tile.cherry_fence.name=Valla de cerezo -tile.cherry_fence_gate.name=Puerta de valla de cerezo -tile.cherry_wood_slab.name=Losa de cerezo -tile.cherry_stairs.name=Escaleras de cerezo -tile.coral.pink_coral.name=Coral rosa -tile.coral.orange_coral.name=Coral naranja -tile.coral.blue_coral.name=Coral azul -tile.coral.glowing_coral.name=Coral luminoso -tile.coral.algae.name=Alga -tile.dirt.loamy_dirt.name=Tierra arcillosa -tile.dirt.sandy_dirt.name=Tierra arenosa -tile.dirt.silty_dirt.name=Tierra limosa -tile.dirt.coarse_loamy_dirt.name=Tierra arcillosa estéril -tile.dirt.coarse_sandy_dirt.name=Tierra arenosa estéril -tile.dirt.coarse_silty_dirt.name=Tierra limosa estéril -tile.double_plant.flax.name=Lino -tile.double_plant.tall_cattail.name=Enea larga -tile.double_plant.eyebulb.name=Bumbocular -tile.ebony_fence.name=Valla de ébano -tile.ebony_fence_gate.name=Puerta de valla de - ébano -tile.ebony_wood_slab.name=Losa de ébano -tile.ebony_stairs.name=Escaleras de ébano -tile.ethereal_fence.name=Valla etérea -tile.ethereal_fence_gate.name=Puerta de valla etérea -tile.ethereal_wood_slab.name=Losa etérea -tile.ethereal_stairs.name=Escaleras etéreas -tile.eucalyptus_fence.name=Valla de eucalipto -tile.eucalyptus_fence_gate.name=Puerta de valla de eucalipto -tile.eucalyptus_wood_slab.name=Losa de eucalipto -tile.eucalyptus_stairs.name=Escaleras de eucalipto -tile.farmland_0.loamy_farmland.name=Tierra arcillosa de cultivo -tile.farmland_0.sandy_farmland.name=Tierra arenosa de cultivo -tile.farmland_1.silty_farmland.name=Tierra limosa de cultivo -tile.fir_fence.name=Valla de abeto blanco -tile.fir_fence_gate.name=Puerta de valla de abeto blanco -tile.fir_wood_slab.name=Losa de abeto blanco -tile.fir_stairs.name=Escaleras de abeto blanco -tile.flesh.name=Carne -tile.flower_0.clover.name=Pétalos blancos -tile.flower_0.swampflower.name=Flor de pantano -tile.flower_0.deathbloom.name=Flor mortal -tile.flower_0.glowflower.name=Flor luminosa -tile.flower_0.blue_hydrangea.name=Hortensia azul -tile.flower_0.orange_cosmos.name=Cosmos naranja -tile.flower_0.pink_daffodil.name=Narciso rosa -tile.flower_0.wildflower.name=Flor salvaje -tile.flower_0.violet.name=Violeta -tile.flower_0.white_anemone.name=Anémona blanca -tile.flower_0.enderlotus.name=Enderloto -tile.flower_0.bromeliad.name=Bromelia -tile.flower_0.wilted_lily.name=Lirio marchito -tile.flower_0.pink_hibiscus.name=Hibisco rosa -tile.flower_0.lily_of_the_valley.name=Lirio del valle -tile.flower_0.burning_blossom.name=Flor ardiente -tile.flower_1.lavender.name=Lavanda -tile.flower_1.goldenrod.name=Vara dorada -tile.flower_1.bluebells.name=Campanilla azul -tile.flower_1.miners_delight.name=Delicia de minero -tile.flower_1.icy_iris.name=Iris gélido -tile.flower_1.rose.name=Rosa -tile.flower_vine.name=Lianas florecidas -tile.gem_block.amethyst_block.name=Bloque de amatista -tile.gem_block.ruby_block.name=Bloque de rubí -tile.gem_block.peridot_block.name=Bloque de periodita -tile.gem_block.topaz_block.name=Bloque de topacio -tile.gem_block.tanzanite_block.name=Bloque de tanzanita -tile.gem_block.malachite_block.name=Bloque de malaquita -tile.gem_block.sapphire_block.name=Bloque de safiro -tile.gem_block.amber_block.name=Bloque de ámbar -tile.gem_ore.amethyst_ore.name=Mena de amatista de ender -tile.gem_ore.ruby_ore.name=Mena de rubí -tile.gem_ore.peridot_ore.name=Mena de periodita -tile.gem_ore.topaz_ore.name=Mena de topacio -tile.gem_ore.tanzanite_ore.name=Mena de tanzanita - -tile.gem_ore.malachite_ore.name=Mena de malaquita -tile.gem_ore.sapphire_ore.name=Mena de safiro -tile.gem_ore.amber_ore.name=Mena de ámbar -tile.grass.daisy_grass_block.name=Césped florecido -tile.grass.spectral_moss.name=Musgo espectral -tile.grass.overgrown_stone.name=Piedra cubierta -tile.grass.loamy_grass_block.name=Césped arcilloso -tile.grass.sandy_grass_block.name=Césped arenoso - -tile.grass.silty_grass_block.name=Césped limoso - -tile.grass.origin_grass_block.name=Césped original -tile.grass.overgrown_netherrack.name=Piedra abisal cubierta -tile.grass_path.grass_loamy_path.name=Camino de hierba arcillosa -tile.grass_path.grass_sandy_path.name=Camino de hierba arenosa -tile.grass_path.grass_silty_path.name=Camino de hierba limosa -tile.hellbark_fence.name=Valla infernal -tile.hellbark_fence_gate.name=Puerta de valla infernal -tile.hellbark_wood_slab.name=Losa infernal -tile.hellbark_stairs.name=Escaleras infernales -tile.hive.hive_block.name=Bloque de colmena -tile.hive.honeycomb_block.name=Panal -tile.hive.empty_honeycomb_block.name=Panal vacío -tile.hive.filled_honeycomb_block.name=Panal lleno -tile.honey_block.name=Bloque de miel -tile.ivy.name=Hiedra -tile.jacaranda_fence.name=Valla de jacaranda -tile.jacaranda_fence_gate.name=Puerta de valla de jacaranda -tile.jacaranda_wood_slab.name=Losa de jacaranda -tile.jacaranda_stairs.name=Escaleras de jacaranda -tile.jelled_poison.name=Veneno cuajado - -tile.leaves_0.yellow_autumn_leaves.name=Hojas otoñales amarillas -tile.leaves_0.orange_autumn_leaves.name=Hojas otoñales naranjas -tile.leaves_0.bamboo_leaves.name=Hojas de bambú -tile.leaves_0.magic_leaves.name=Hojas mágicas -tile.leaves_1.umbran_leaves.name=Hojas de umbrano -tile.leaves_1.dead_leaves.name=Hojas muertas -tile.leaves_1.fir_leaves.name=Hojas de abeto blanco -tile.leaves_1.ethereal_leaves.name=Hojas etéreas -tile.leaves_2.origin_leaves.name=Hojas originales -tile.leaves_2.pink_cherry_leaves.name=Hojas de cerezo rosas -tile.leaves_2.white_cherry_leaves.name=Hojas de cerezo blancas -tile.leaves_2.maple_leaves.name=Hojas de arce -tile.leaves_3.hellbark_leaves.name=Hojas infernales -tile.leaves_3.flowering_leaves.name=Hojas de roble florecidas -tile.leaves_3.jacaranda_leaves.name=Hojas de jacaranda -tile.leaves_3.sacred_oak_leaves.name=Hojas de roble sagrado - -tile.leaves_4.mangrove_leaves.name=Hojas de mangle -tile.leaves_4.palm_leaves.name=Hojas de palmera -tile.leaves_4.redwood_leaves.name=Hojas de secuoya -tile.leaves_4.willow_leaves.name=Hojas de sauce -tile.leaves_5.pine_leaves.name=Hojas de pino -tile.leaves_5.mahogany_leaves.name=Hojas de caoba -tile.leaves_5.ebony_leaves.name=Hojas de ébano -tile.leaves_5.eucalyptus_leaves.name=Hojas de eucalipto -tile.leaves_6.red_big_flower_petal.name=Pétalo de flor roja gigante -tile.leaves_6.yellow_big_flower_petal.name=Pétalo de flor amarilla gigante -tile.log_0.sacred_oak_log.name=Madera de roble sagrado -tile.log_0.cherry_log.name=Madera de cerezo -tile.log_0.umbran_log.name=Madera de umbrano -tile.log_0.fir_log.name=Madera de abeto blanco -tile.log_1.ethereal_log.name=Madera etérea -tile.log_1.magic_log.name=Madera mágica -tile.log_1.mangrove_log.name=Madera de mangle - -tile.log_1.palm_log.name=Madera de palmera -tile.log_2.redwood_log.name=Madera de secuoya -tile.log_2.willow_log.name=Madera de sauce -tile.log_2.pine_log.name=Madera de pino -tile.log_2.hellbark_log.name=Madera infernal -tile.log_3.jacaranda_log.name=Madera de jacaranda - -tile.log_3.mahogany_log.name=Madera de caoba -tile.log_3.ebony_log.name=Madera de ébano -tile.log_3.eucalyptus_log.name=Madera de eucalipto -tile.log_4.giant_flower_stem.name=Tallo de flor gigante -tile.log_4.dead_log.name=Madera muerta -tile.magic_fence.name=Valla mágica -tile.magic_fence_gate.name=Puerta de valla mágica -tile.magic_wood_slab.name=Losa mágica -tile.magic_stairs.name=Escaleras mágica -tile.mahogany_fence.name=Valla de caoba -tile.mahogany_fence_gate.name=Puerta de valla de caoba -tile.mahogany_wood_slab.name=Losa de caoba -tile.mahogany_stairs.name=Escaleras de caoba -tile.mangrove_fence.name=Valla de mangle -tile.mangrove_fence_gate.name=Puerta de valla de - mangle -tile.mangrove_wood_slab.name=Losa de mangle -tile.mangrove_stairs.name=Escaleras de mangle -tile.mud.mud.name=Barro -tile.mud_brick_block.name=Ladrillos de barro -tile.mud_brick_slab.name=Losa de ladrillos de barro -tile.mud_brick_stairs.name=Escaleras de ladrillos de barro -tile.mushroom.toadstool.name=Seta venenosa -tile.mushroom.portobello.name=Portobello - -tile.mushroom.blue_milk_cap.name=Tapón azul de leche -tile.mushroom.glowshroom.name=Seta luminosa -tile.mushroom.flat_mushroom.name=Seta plana -tile.mushroom.shadow_shroom.name=Seta sombría -tile.palm_fence.name=Valla de palmera -tile.palm_fence_gate.name=Puerta de valla de palmera -tile.palm_wood_slab.name=Losa de palmera -tile.palm_stairs.name=Escaleras de palmera -tile.pine_fence.name=Valla de pino -tile.pine_fence_gate.name=Puerta de valla de pino -tile.pine_wood_slab.name=Losa de pino -tile.pine_stairs.name=Escaleras de pino -tile.planks_0.sacred_oak_planks.name=Madera de roble sagrado -tile.planks_0.cherry_planks.name=Madera de cerezo -tile.planks_0.umbran_planks.name=Madera de umbrano -tile.planks_0.fir_planks.name=Madera de abeto blanco -tile.planks_0.ethereal_planks.name=Madera etérea -tile.planks_0.magic_planks.name=Madera mágica -tile.planks_0.mangrove_planks.name=Madera de mangle -tile.planks_0.palm_planks.name=Madera de palmera -tile.planks_0.redwood_planks.name=Mandera de secuoya -tile.planks_0.willow_planks.name=Madera de sauce -tile.planks_0.bamboo_thatching.name=Cubierta de bambú -tile.planks_0.pine_planks.name=Madera de pino -tile.planks_0.hellbark_planks.name=Madera infernal -tile.planks_0.jacaranda_planks.name=Madera de jacaranda -tile.planks_0.mahogany_planks.name=Madera de caoba -tile.planks_0.ebony_planks.name=Madera de ébano -tile.planks_0.eucalyptus_planks.name=Madera de eucalipto -tile.plant_0.shortgrass.name=Hierba corta -tile.plant_0.mediumgrass.name=Hierba mediana -tile.plant_0.bush.name=Arbusto -tile.plant_0.sprout.name=Brote -tile.plant_0.poisonivy.name=Hiedra venenosa -tile.plant_0.berrybush.name=Arbusto de bayas -tile.plant_0.shrub.name=Matorral -tile.plant_0.wheatgrass.name=Hierba de trigo -tile.plant_0.dampgrass.name=Hierba húmeda -tile.plant_0.koru.name=Koru - -tile.plant_0.cloverpatch.name=Parche de tréboles -tile.plant_0.leafpile.name=Pila de hojas -tile.plant_0.deadleafpile.name=Pila de hojas muertas -tile.plant_0.deadgrass.name=Hierba muerta -tile.plant_0.desertgrass.name=Hierba desértica -tile.plant_0.desertsprouts.name=Matorral desértico -s -tile.plant_1.dunegrass.name=Hierba de duna -tile.plant_1.spectralfern.name=Helecho espectral -tile.plant_1.thorn.name=Espino -tile.plant_1.wildrice.name=Arroz salvaje -tile.plant_1.cattail.name=Enea - -tile.plant_1.rivercane.name=Caña de río -tile.plant_1.tinycactus.name=Cactus pequeño -tile.plant_1.witherwart.name=Verruga marchita -tile.plant_1.reed.name=Caña -tile.plant_1.root.name=Raíz -tile.plant_1.rafflesia.name=Rafflesia - -tile.redwood_fence.name=Valla de secuoya -tile.redwood_fence_gate.name=Puerta de valla de secuoya -tile.redwood_wood_slab.name=Losa de - secuoya -tile.redwood_stairs.name=Escaleras de secuoya -tile.sacred_oak_fence.name=Valla de roble sagrado -tile.sacred_oak_fence_gate.name=Puerta de valla de roble sagrado -tile.sacred_oak_wood_slab.name=Losa de roble sagrado -tile.sacred_oak_stairs.name=Escaleras de roble sagrado -tile.sapling_0.yellow_autumn_sapling.name=Brote otoñal amarillo -tile.sapling_0.orange_autumn_sapling.name=Brote otoñal naranja -tile.sapling_0.bamboo_sapling.name=Brote de bambú -tile.sapling_0.magic_sapling.name=Brote mágico -tile.sapling_0.umbran_sapling.name=Brote de umbrano -tile.sapling_0.dead_sapling.name=Brote muerto -tile.sapling_0.fir_sapling.name=Brote de abeto blanco -tile.sapling_0.ethereal_sapling.name=Brote etéreo - -tile.sapling_1.origin_sapling.name=Brote original - -tile.sapling_1.pink_cherry_sapling.name=Brote de cerezo rosa - -tile.sapling_1.white_cherry_sapling.name=Brote de cerezo blanco - -tile.sapling_1.maple_sapling.name=Brote de arce -tile.sapling_1.hellbark_sapling.name=Brote infernal - -tile.sapling_1.flowering_sapling.name=Brote de roble florecido - -tile.sapling_1.jacaranda_sapling.name=Brote de jacaranda -tile.sapling_1.sacred_oak_sapling.name=Brote de roble sagrado -tile.sapling_2.mangrove_sapling.name=Brote de mangle -tile.sapling_2.palm_sapling.name=Brote de palmera -tile.sapling_2.redwood_sapling.name=Brote de secuoya -tile.sapling_2.willow_sapling.name=Brote de sauce -tile.sapling_2.pine_sapling.name=Brote de pino -tile.sapling_2.mahogany_sapling.name=Brote de caoba -tile.sapling_2.ebony_sapling.name=Brote de ébano -tile.sapling_2.eucalyptus_sapling.name=Brote de eucalipto -tile.seaweed.kelp.name=Quelpo -tile.stone.limestone.name=Caliza -tile.stone.polished_limestone.name=Caliza pulida -tile.stone.siltstone.name=Limolita -tile.stone.polished_siltstone.name=Limolita pulida -tile.stone.shale.name=Esquisto -tile.stone.polished_shale.name=Esquisto pulido -tile.stone_formations.stone_formation.name=Formación rocosa -tile.terrarium.terrarium_fern.name=Terrario de helecho -tile.terrarium.terrarium_mushroom.name=Terrario de seta -tile.terrarium.terrarium_cactus.name=Terrario de cactus -tile.terrarium.terrarium_flax.name=Terrario de lino -tile.terrarium.terrarium_flower.name=Terrario de flor -tile.terrarium.terrarium_koru.name=Terrario de koru -tile.terrarium.terrarium_bamboo.name=Terrario de bambú -tile.terrarium.terrarium_sapling.name=Terrario de brote -tile.terrarium.terrarium_glowshroom.name=Terrario de seta luminosa -tile.terrarium.terrarium_dead.name=Terrario muerto -tile.terrarium.terrarium_mystic.name=Terrario místico -tile.terrarium.terrarium_ominous.name=Terrario ominoso -tile.terrarium.terrarium_wasteland.name=Terrario de yermo -tile.terrarium.terrarium_origin.name=Terrario original -tile.terrarium.terrarium_nether.name=Terrario del nether -tile.terrarium.terrarium_ender.name=Terrario de ender -tile.tree_moss.name=Musgo de árbol -tile.turnip_block.name=Nabo -tile.umbran_fence.name=Valla de umbrano -tile.umbran_fence_gate.name=Puerta de valla de umbrano -tile.umbran_wood_slab.name=Losa de umbrano -tile.umbran_stairs.name=Escaleras de umbrano -tile.waterlily.lily_medium.name=Nenúfar mediano -tile.waterlily.lily_small.name=Nenúfar pequeño -tile.waterlily.lily_tiny.name=Nenúfar diminuto -tile.waterlily.lily_flower.name=Nenúfar florecido -tile.willow_fence.name=Valla de sauce -tile.willow_fence_gate.name=Puerta de valla de sauce -tile.willow_wood_slab.name=Losa de sauce -tile.willow_stairs.name=Escaleras de sauce -tile.hard_ice.name=Hielo endurecido -tile.dried_sand.name=Arena seca -tile.crag_rock.name=Roca de peñasco -tile.mud_brick.name=Ladrillos de barro -tile.crystal.name=Cristal celestial diff --git a/src/main/resources/assets/biomesoplenty/lang/es_MX.lang b/src/main/resources/assets/biomesoplenty/lang/es_MX.lang deleted file mode 100644 index f4c667f37..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/es_MX.lang +++ /dev/null @@ -1,426 +0,0 @@ -advancements.biomesoplenty.root.title=Biomes O' Plenty -advancements.biomesoplenty.root.description=Sueño de todo explorador... -advancements.biomesoplenty.sacred_oak_sapling.title=Yggdrasil -advancements.biomesoplenty.sacred_oak_sapling.description=Planta un poderoso retoño de Roble Sagrado -advancements.biomesoplenty.yin_and_yang.title=Yin Yang -advancements.biomesoplenty.yin_and_yang.description=Planta una Flor Lúmino en los Bosques Siniestros y planta una Flor Mortis en la Arboleda Mística -advancements.biomesoplenty.miners_delight.title=La vida encuentra el camino -advancements.biomesoplenty.miners_delight.description=Encuentra una flor Placer Minero en lo profundo de una cueva -advancements.biomesoplenty.harvest_turnip.title=Mercado de nabos -advancements.biomesoplenty.harvest_turnip.description=Cosecha un nabo -advancements.biomesoplenty.flesh_and_blood.title=Carne y Sangre -advancements.biomesoplenty.flesh_and_blood.description=Obtén carne del bioma Cúmulos Viscerales -advancements.biomesoplenty.honey_hell.title=Dulce Infierno -advancements.biomesoplenty.honey_hell.description=Roba un Panal lleno a colmena de avispas infernales -advancements.biomesoplenty.terrestrial_artifact.title=Por tus poderes combinados -advancements.biomesoplenty.terrestrial_artifact.description=Combina las 8 gemas exclusivas de cada bioma -advancements.biomesoplenty.craft_biome_finder.title=Viajero Iniciado -advancements.biomesoplenty.craft_biome_finder.description=Crea un Buscabiomas -advancements.biomesoplenty.all_biomes.title=Viajero Maestro -advancements.biomesoplenty.all_biomes.description=Descubre cada bioma de Biomes O' Plenty - -biome_finder.searching=Buscando %s -biome_finder.found=¡%s encontrado(a)! -biome_finder.not_found=%s no se encuentra... cerca - -config.category.convenienceSettings.title=Ajustes generales -config.category.guiSettings.title=Ajustes de interfaz -config.category.textureSettings.title=Ajustes de texturas -config.category.trailSettings.title=Ajustes de rastros -config.category.convenienceSettings.tooltip=Ajustar comodidad de jugabilidad. -config.category.guiSettings.tooltip=Ajustes relacionados con la interfaz. -config.category.textureSettings.tooltip=Ajustes relacionados con las texturas. -config.category.trailSettings.tooltip=Ajustes que modifican la visibilidad de las estelas. - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty NombreDelBioma [biomeId] -commands.biomesoplenty.biomename.success=ID del bioma %s asociado con %s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId] -commands.biomesoplenty.tpbiome.success=Teletransportado %s al bioma %s en (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=No se pudo encontrar el bioma: %s -commands.biomesoplenty.stats.blocks=Bloques: %s -commands.biomesoplenty.stats.items=Ítems: %s -commands.biomesoplenty.stats.entities=Entidades: %s -commands.biomesoplenty.stats.biomes=Biomas: %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radio] [bloque] [metadato] - -container.flower_basket=Canasta de Flores - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=Notice: Biomes O' Plenty 1.8 está en un estado muy temprano - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=Sangre -fluid.honey=Miel -fluid.hot_spring_water=Aguas termales -fluid.poison=Aguas negras -fluid.sand=Arenas movedizas - -item.forge.bucketFilled.name=Cubeta de %s - -item.ambrosia.name=Ambrosía -item.ash.name=Pila de cenizas -item.berries.name=Baya -item.biome_essence.name=Esencia de bioma -item.biome_finder.name=Buscabiomas -item.black_dye.name=Tinte negro -item.blue_dye.name=Tinte azul -item.brown_dye.name=Tinte café -item.cherry_door.name=Puerta de madera de cerezo -item.crystal_shard.name=Fragmento de cristal celestial -item.terrestrial_artifact.name=Artefacto terreste -item.ebony_door.name=Fuerta de madera de ébano -item.ethereal_door.name=Puerta de madera etérea -item.eucalyptus_door.name=Puerta de madera de eucalipto -item.filled_honeycomb.name=Panal lleno -item.fir_door.name=Puerta de madera de abeto -item.fleshchunk.name=Trozo de carne -item.flower_basket.name=Canasta de flores -item.gem_amber.name=Ámbar -item.gem_amethyst.name=Amatista -item.gem_malachite.name=Malaquita -item.gem_peridot.name=Peridoto -item.gem_ruby.name=Rubí -item.gem_sapphire.name=Zafiro -item.gem_tanzanite.name=Tanzanita -item.gem_topaz.name=Topacio -item.green_dye.name=Tinte verde -item.hellbark_door.name=Puerta de madera de hellbark -item.honeycomb.name=Panal vacío -item.jacaranda_door.name=Puerta de madera de jacaranda -item.jar_empty.name=Frasco vacío -item.jar_filled_honey.name=Frasco de miel -item.jar_filled_pixie.name=Frasco con hada -item.magic_door.name=Puerta de madera de mágica -item.mahogany_door.name=Puerta de madera de caoba -item.mangrove_door.name=Puerta de madera de mangle -item.mudball.name=Bola de lodo -item.mud_brick.name=Ladrillo de lodo -item.palm_door.name=Puerta de madera de palma -item.persimmon.name=Pérsimo -item.peach.name=Durazno -item.pear.name=Pera -item.pinecone.name=Piña -item.pine_door.name=Puerta de madera de pino -item.pixie_dust.name=Polvo de hada -item.record_wanderer.name=Vinilo -item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=Puerta de madera de secuoya -item.ricebowl.name=Tazón de arroz -item.sacred_oak_door.name=Puerta de roble sagrado -item.saladfruit.name=Ensalada de frutas -item.saladveggie.name=Ensalada de verduras -item.saladshroom.name=Ensalada de hongos -item.shroompowder.name=Polvo de hongos -item.turnip.name=Nabo -item.turnip_seeds.name=Semillas de nabo -item.umbran_door.name=Puerta de madera de umbran -item.white_dye.name=Tinte blanco -item.willow_door.name=Puerta de madera de sauce - -tile.ash_block.name=Bloque de ceniza -tile.bamboo.name=Bambú -tile.bamboo_thatching.name=Cubierta de bambú -tile.biome_block.name=Mineral de esencia de bioma -tile.cherry_fence.name=Valla de madera de cerezo -tile.cherry_fence_gate.name=Puerta de valla de madera de cerezo -tile.cherry_wood_slab.name=Losa de cerezo -tile.cherry_stairs.name=Escaleras de cerezo -tile.coral.pink_coral.name=Coral rosa -tile.coral.orange_coral.name=Coral naranja -tile.coral.blue_coral.name=Coral azul -tile.coral.glowing_coral.name=Coral brillante -tile.coral.algae.name=Alga -tile.dirt.loamy_dirt.name=Tierra arcillosa -tile.dirt.sandy_dirt.name=Tierra arenosa -tile.dirt.silty_dirt.name=Tierra limosa -tile.dirt.coarse_loamy_dirt.name=Tierra arcillosa infértil -tile.dirt.coarse_sandy_dirt.name=Tierra arenosa infértil -tile.dirt.coarse_silty_dirt.name=Tierra limosa infértil -tile.double_plant.flax.name=Lino -tile.double_plant.tall_cattail.name=Anea alta -tile.double_plant.eyebulb.name=Actaea pachypoda -tile.ebony_fence.name=Valla de madera de ébano -tile.ebony_fence_gate.name=Puerta de valla de madera de ébano -tile.ebony_wood_slab.name=Losa de ébano -tile.ebony_stairs.name=Escaleras de ébano -tile.ethereal_fence.name=Valla etérea -tile.ethereal_fence_gate.name=Puerta de valla etérea -tile.ethereal_wood_slab.name=Losa etérea -tile.ethereal_stairs.name=Escaleras etéreas -tile.eucalyptus_fence.name=Valla de madera de eucalipto -tile.eucalyptus_fence_gate.name=Puerta de valla de madera de eucalipto -tile.eucalyptus_wood_slab.name=Losa de eucalipto -tile.eucalyptus_stairs.name=Escaleras de eucalipto -tile.farmland_0.loamy_farmland.name=Tierra arcillosa de cultivo -tile.farmland_0.sandy_farmland.name=Tierra arenosa de cultivo -tile.farmland_1.silty_farmland.name=Tierra limosa de cultivo -tile.fir_fence.name=Valla de madera de abeto -tile.fir_fence_gate.name=Puerta de valla de madera de abeto -tile.fir_wood_slab.name=Losa de abeto -tile.fir_stairs.name=Escaleras de abeto -tile.flesh.name=Bloque de carne -tile.flower_0.clover.name=Trébol -tile.flower_0.swampflower.name=Flor de pantano -tile.flower_0.deathbloom.name=Flor Mortis -tile.flower_0.glowflower.name=Flor Lúmino -tile.flower_0.blue_hydrangea.name=Hortensia azul -tile.flower_0.orange_cosmos.name=Cosmos naranja -tile.flower_0.pink_daffodil.name=Narciso rosa -tile.flower_0.wildflower.name=Flor silvestre -tile.flower_0.violet.name=Violeta -tile.flower_0.white_anemone.name=Anémona blanca -tile.flower_0.enderlotus.name=Enderloto -tile.flower_0.bromeliad.name=Bromelia -tile.flower_0.wilted_lily.name=Lirio marchito -tile.flower_0.pink_hibiscus.name=Hortensia rosa -tile.flower_0.lily_of_the_valley.name=Lirio del valle -tile.flower_0.burning_blossom.name=Abrasaflor -tile.flower_1.lavender.name=Lavanda -tile.flower_1.goldenrod.name=Vástago Dorado -tile.flower_1.bluebells.name=Jacinto -tile.flower_1.miners_delight.name=Placer Minero -tile.flower_1.icy_iris.name=Glaciaflor -tile.flower_1.rose.name=Rosa -tile.flower_vine.name=Lianas floridas -tile.gem_block.amethyst_block.name=Bloque de amatista -tile.gem_block.ruby_block.name=Bloque de rubí -tile.gem_block.peridot_block.name=Bloque de peridoto -tile.gem_block.topaz_block.name=Bloque de topacio -tile.gem_block.tanzanite_block.name=Bloque de tanzanita -tile.gem_block.malachite_block.name=Bloque de malaquita -tile.gem_block.sapphire_block.name=Bloque de zafiro -tile.gem_block.amber_block.name=Bloque de ámbar -tile.gem_ore.amethyst_ore.name=Mineral de amatista -tile.gem_ore.ruby_ore.name=Mineral de rubí -tile.gem_ore.peridot_ore.name=Mineral de peridoto -tile.gem_ore.topaz_ore.name=Mineral de topacio -tile.gem_ore.tanzanite_ore.name=Mineral de tanzanita -tile.gem_ore.malachite_ore.name=Mineral de malaquita -tile.gem_ore.sapphire_ore.name=Mineral de zafiro -tile.gem_ore.amber_ore.name=mineral de ámbar -tile.grass.daisy_grass_block.name=Pasto florido -tile.grass.spectral_moss.name=Musgo espectral -tile.grass.overgrown_stone.name=Piedra descuidada -tile.grass.loamy_grass_block.name=Pasto arcilloso -tile.grass.sandy_grass_block.name=Pasto arenoso -tile.grass.silty_grass_block.name=Pasto limoso -tile.grass.origin_grass_block.name=Pasto El Origen -tile.grass.overgrown_netherrack.name=Netherrack descuidado -tile.grass.mycelial_netherrack.name=Netherrack con micelio -tile.grass_path.grass_loamy_path.name=Sendero de pasto arcilloso -tile.grass_path.grass_sandy_path.name=Sendero de pasto arenoso -tile.grass_path.grass_silty_path.name=Sendero de pasto limoso -tile.hellbark_fence.name=Valla de madera de hellbark -tile.hellbark_fence_gate.name=Puerta de valla de madera de hellbark -tile.hellbark_wood_slab.name=Losa de hellbark -tile.hellbark_stairs.name=Escalera de hellbark -tile.hive.hive_block.name=Bloque de colmena -tile.hive.honeycomb_block.name=Bloque de panal -tile.hive.empty_honeycomb_block.name=Bloque de panal vacío -tile.hive.filled_honeycomb_block.name=Bloque de panal lleno -tile.honey_block.name=Bloque de miel -tile.ivy.name=Enredadera -tile.jacaranda_fence.name=Valla de madera de jacaranda -tile.jacaranda_fence_gate.name=Puerta de valla de madera de jacaranda -tile.jacaranda_wood_slab.name=Losa de jacaranda -tile.jacaranda_stairs.name=Escaleras de jacaranda -tile.jelled_poison.name=Veneno cuajado -tile.leaves_0.yellow_autumn_leaves.name=Hojas otoñales amarillas -tile.leaves_0.orange_autumn_leaves.name=Hojas otoñales naranjas -tile.leaves_0.bamboo_leaves.name=Hojas de bambú -tile.leaves_0.magic_leaves.name=Hojas de mágica -tile.leaves_1.umbran_leaves.name=Hojas de umbran -tile.leaves_1.dead_leaves.name=Hojas muertas -tile.leaves_1.fir_leaves.name=Hojas de abeto -tile.leaves_1.ethereal_leaves.name=Hojas etéreas -tile.leaves_2.origin_leaves.name=Hojas de El Origen -tile.leaves_2.pink_cherry_leaves.name=Hojas rosas de cerezo -tile.leaves_2.white_cherry_leaves.name=Hojas blancas de cerezo -tile.leaves_2.maple_leaves.name=Hojas de maple -tile.leaves_3.hellbark_leaves.name=Hojas de hellbark -tile.leaves_3.flowering_leaves.name=Hojas floridas de roble -tile.leaves_3.jacaranda_leaves.name=Hojas de jacaranda -tile.leaves_3.sacred_oak_leaves.name=Hojas de roble sagrado -tile.leaves_4.mangrove_leaves.name=Hojas de mangle -tile.leaves_4.palm_leaves.name=Hojas de palma -tile.leaves_4.redwood_leaves.name=Hojas de secuoya -tile.leaves_4.willow_leaves.name=Hojas de sauce -tile.leaves_5.pine_leaves.name=Hojas de pino -tile.leaves_5.mahogany_leaves.name=Hojas de caoba -tile.leaves_5.ebony_leaves.name=Hojas de ébano -tile.leaves_5.eucalyptus_leaves.name=Hojas de eucalipto -tile.leaves_6.red_big_flower_petal.name=Pétalo rojo de flor gigante -tile.leaves_6.yellow_big_flower_petal.name=Pétalo amarillo de flor gigante -tile.log_0.sacred_oak_log.name=Tronco de roble sagrado -tile.log_0.cherry_log.name=Tronco de cerezo -tile.log_0.umbran_log.name=Tronco de umbran -tile.log_0.fir_log.name=Tronco de abeto -tile.log_1.ethereal_log.name=Tronco etérea -tile.log_1.magic_log.name=Tronco de mágica -tile.log_1.mangrove_log.name=Tronco de mangle -tile.log_1.palm_log.name=Tronco de palma -tile.log_2.redwood_log.name=Tronco de secuoya -tile.log_2.willow_log.name=Tronco de sauce -tile.log_2.pine_log.name=Tronco de pino -tile.log_2.hellbark_log.name=Tronco de hellbark -tile.log_3.jacaranda_log.name=Tronco de jacaranda -tile.log_3.mahogany_log.name=Tronco de caoba -tile.log_3.ebony_log.name=Tronco de ébano -tile.log_3.eucalyptus_log.name=Tronco de eucalipto -tile.log_4.giant_flower_stem.name=Tallo de flor gigante -tile.log_4.dead_log.name=Tronco muerta -tile.magic_fence.name=Valla de madera de mágica -tile.magic_fence_gate.name=Puerta de valla de madera de mágica -tile.magic_wood_slab.name=Losa de mágica -tile.magic_stairs.name=Escaleras de mágica -tile.mahogany_fence.name=Valla de madera de caoba -tile.mahogany_fence_gate.name=Puerta de valla de madera de caoba -tile.mahogany_wood_slab.name=Losa de caoba -tile.mahogany_stairs.name=Escaleras de caoba -tile.mangrove_fence.name=Valla de madera de mangle -tile.mangrove_fence_gate.name=Puerta de valla de madera de mangle -tile.mangrove_wood_slab.name=Losa de mangle -tile.mangrove_stairs.name=Escaleras de mangle -tile.mud.mud.name=Lodo -tile.mud_brick_block.name=Bloque de ladrillos de lodo -tile.mud_brick_slab.name=Losa de ladrillos de lodo -tile.mud_brick_stairs.name=Escaleras de ladrillos de lodo -tile.mushroom.toadstool.name=Seta venenosa -tile.mushroom.portobello.name=Portobello -tile.mushroom.blue_milk_cap.name=Lactarius índigo -tile.mushroom.glowshroom.name=Hongo luminoso -tile.mushroom.flat_mushroom.name=Hongo plano -tile.mushroom.shadow_shroom.name=Hongo sombra -tile.palm_fence.name=Valla de madera de palma -tile.palm_fence_gate.name=Puerta de valla de madera de palma -tile.palm_wood_slab.name=Losa de palma -tile.palm_stairs.name=Escaleras de palma -tile.pine_fence.name=Valla de madera de pino -tile.pine_fence_gate.name=Puerta de valla de madera de pino -tile.pine_wood_slab.name=Losa de pino -tile.pine_stairs.name=Escaleras de pino -tile.planks_0.sacred_oak_planks.name=Madera de roble sagrado -tile.planks_0.cherry_planks.name=Madera de cerezo -tile.planks_0.umbran_planks.name=Madera de umbran -tile.planks_0.fir_planks.name=Madera de abeto -tile.planks_0.ethereal_planks.name=Madera etérea -tile.planks_0.magic_planks.name=Madera de mágica -tile.planks_0.mangrove_planks.name=Madera de mangle -tile.planks_0.palm_planks.name=Madera de palma -tile.planks_0.redwood_planks.name=Madera de secuoya -tile.planks_0.willow_planks.name=Madera de sauce -tile.planks_0.bamboo_thatching.name=Cubierta de bambú -tile.planks_0.pine_planks.name=Madera de pino -tile.planks_0.hellbark_planks.name=Madera de hellbark -tile.planks_0.jacaranda_planks.name=Madera de jacaranda -tile.planks_0.mahogany_planks.name=Madera de caoba -tile.planks_0.ebony_planks.name=Madera de ébano -tile.planks_0.eucalyptus_planks.name=Madera de eucalipto -tile.plant_0.shortgrass.name=Hierba corta -tile.plant_0.mediumgrass.name=Hierba mediana -tile.plant_0.bush.name=Matorral sin bayas -tile.plant_0.sprout.name=Brote -tile.plant_0.poisonivy.name=Hiedra venenosa -tile.plant_0.berrybush.name=Matorral con bayas -tile.plant_0.shrub.name=Arbusto -tile.plant_0.wheatgrass.name=Hierba de trigo -tile.plant_0.dampgrass.name=Hierba húmeda -tile.plant_0.koru.name=Koru -tile.plant_0.cloverpatch.name=Parche de tréboles -tile.plant_0.leafpile.name=Pila de hojas -tile.plant_0.deadleafpile.name=Pilas de hojas secas -tile.plant_0.deadgrass.name=Hierba muerta -tile.plant_0.desertgrass.name=Hierba desértica -tile.plant_0.desertsprouts.name=Brote desértico -tile.plant_1.dunegrass.name=Hierba de duna -tile.plant_1.spectralfern.name=Helecho espectral -tile.plant_1.thorn.name=Espinas -tile.plant_1.wildrice.name=Arroz salvaje -tile.plant_1.cattail.name=Anea -tile.plant_1.rivercane.name=Caña de río -tile.plant_1.tinycactus.name=Cactus diminuto -tile.plant_1.devilweed.name=Estramonio -tile.plant_1.reed.name=Vástago -tile.plant_1.root.name=Raíz -tile.plant_1.rafflesia.name=Rafflesia -tile.redwood_fence.name=Valla de madera de secuoya -tile.redwood_fence_gate.name=Puerta de valla de madera de secuoya -tile.redwood_wood_slab.name=Losa de secuoya -tile.redwood_stairs.name=Escaleras de secuoya -tile.sacred_oak_fence.name=Valla de madera de roble sagrado -tile.sacred_oak_fence_gate.name=Puerta de valla de madera de roble sagrado -tile.sacred_oak_wood_slab.name=Losa de roble sagrado -tile.sacred_oak_stairs.name=Escaleras de roble sagrado -tile.sapling_0.yellow_autumn_sapling.name=Retoño otoñal amarillo -tile.sapling_0.orange_autumn_sapling.name=Retoño otoñal naranja -tile.sapling_0.bamboo_sapling.name=Retoño de bambú -tile.sapling_0.magic_sapling.name=Retoño de mágica -tile.sapling_0.umbran_sapling.name=Retoño de umbran -tile.sapling_0.dead_sapling.name=retoño muerto -tile.sapling_0.fir_sapling.name=Retoño de abeto -tile.sapling_0.ethereal_sapling.name=Retoño etéreo -tile.sapling_1.origin_sapling.name=Retoño de El Origen -tile.sapling_1.pink_cherry_sapling.name=Retoño de cerezo rosa -tile.sapling_1.white_cherry_sapling.name=retoño de cerezo blanco -tile.sapling_1.maple_sapling.name=Retoño de maple -tile.sapling_1.hellbark_sapling.name=Retoño de hellbark -tile.sapling_1.flowering_sapling.name=Retoño de roble florido -tile.sapling_1.jacaranda_sapling.name=Retoño de jacaranda -tile.sapling_1.sacred_oak_sapling.name=Retoño de roble sagrado -tile.sapling_2.mangrove_sapling.name=Retoño de mangle -tile.sapling_2.palm_sapling.name=Retoño de palma -tile.sapling_2.redwood_sapling.name=Retoño de secuoya -tile.sapling_2.willow_sapling.name=Retoño de sauce -tile.sapling_2.pine_sapling.name=Retoño de pino -tile.sapling_2.mahogany_sapling.name=Retoño de caoba -tile.sapling_2.ebony_sapling.name=Retoño de ébano -tile.sapling_2.eucalyptus_sapling.name=Retoño de eucalipto -tile.seaweed.kelp.name=Quelpo -tile.stone_formations.stone_formation.name=Formación de roca -tile.terrarium.terrarium_fern.name=Terrario de helecho -tile.terrarium.terrarium_mushroom.name=Terrario de hongo -tile.terrarium.terrarium_cactus.name=Terrario de cactus -tile.terrarium.terrarium_flax.name=Terrario de lino -tile.terrarium.terrarium_flower.name=Terrario de flor -tile.terrarium.terrarium_koru.name=Terrario de koru -tile.terrarium.terrarium_bamboo.name=Terrario de bambú -tile.terrarium.terrarium_sapling.name=Terrario de retoño -tile.terrarium.terrarium_glowshroom.name=Terrario de hongo luminoso -tile.terrarium.terrarium_dead.name=Terrario muerto -tile.terrarium.terrarium_mystic.name=Terrario de flor lúmino -tile.terrarium.terrarium_ominous.name=Terrario de flor mortis -tile.terrarium.terrarium_wasteland.name=Terrario de lirio marchito -tile.terrarium.terrarium_origin.name=Terrario El Origen -tile.terrarium.terrarium_nether.name=Terrario de abrasaflor -tile.terrarium.terrarium_ender.name=Terrario espectral -tile.tree_moss.name=Musgo de umbran -tile.turnip_block.name=Nabo -tile.umbran_fence.name=Valla de madera de umbran -tile.umbran_fence_gate.name=Puerta de valla de madera de umbran -tile.umbran_wood_slab.name=Losa de umbran -tile.umbran_stairs.name=Escaleras de umbran -tile.waterlily.lily_medium.name=Nenúfar mediano -tile.waterlily.lily_small.name=Nenúfar pequeño -tile.waterlily.lily_tiny.name=Nenúfar diminuto -tile.waterlily.lily_flower.name=Nenúfar florido -tile.white_sand.name=Arena blanca -tile.white_sandstone.white_sandstone.name=Arenisca blanca -tile.white_sandstone.chiseled_white_sandstone.name=Arenisca blanca grabada -tile.white_sandstone.smooth_white_sandstone.name=Arenisca blanca lisa -tile.white_sandstone_slab.name=Losa de arenisca blanca -tile.white_sandstone_stairs.name=Escaleras de arenisca blanca -tile.willow_fence.name=Valla de madera de sauce -tile.willow_fence_gate.name=Puerta de valla de madera de sauce -tile.willow_wood_slab.name=Losa de sauce -tile.willow_stairs.name=Escaleras de sauce -tile.willow_vine.name=Liana de sauce -tile.hard_ice.name=Hielo endurecido -tile.dried_sand.name=Arena seca -tile.mud_brick.name=Ladrillo de lodo -tile.crystal.name=Cristal celestial - -entity.biomesoplenty.mudball.name=Bola de lodo -entity.biomesoplenty.pixie.name=Hada -entity.biomesoplenty.wasp.name=Avispa infernal diff --git a/src/main/resources/assets/biomesoplenty/lang/fr_FR.lang b/src/main/resources/assets/biomesoplenty/lang/fr_FR.lang deleted file mode 100644 index a5ea220a1..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/fr_FR.lang +++ /dev/null @@ -1,484 +0,0 @@ -achievement.obtain_flowers=Enfant des fleurs -achievement.obtain_flowers.desc=Trouver une fleur ! -achievement.obtain_berry=Besame mucho -achievement.obtain_berry.desc=Ramasser une baie sur un buisson -achievement.obtain_coral=Totalement corail ! -achievement.obtain_coral.desc=Plonger profondément pour récupérer du corail -achievement.obtain_miners_delight=La vie trouve un chemin -achievement.obtain_miners_delight.desc=Trouver une fleur de Délice du mineur au fond d'une caverne -achievement.eat_shroom_powder=Mangez-moi, mangez-moi, mangez-moaaaaa -achievement.eat_shroom_powder.desc=Ingérer un peu de poudre de champignon magique -achievement.obtain_turnip=Navet spatial -achievement.obtain_turnip.desc=Ramasser un navet -achievement.grow_sacred_oak=Yggdrasil -achievement.grow_sacred_oak.desc=Planter une pousse de chêne sacré -achievement.craft_flax_string=Lin go ! -achievement.craft_flax_string.desc=Fabriquer du fil de lin à partir de plants de lin -achievement.craft_muddy_pickaxe=Régresser -achievement.craft_muddy_pickaxe.desc=Construire une...pioche en boue...? -achievement.obtain_thorn=Plutôt piquant -achievement.obtain_thorn.desc=Collecter des ronces ! -achievement.obtain_deathbloom=La mort qui tue -achievement.obtain_deathbloom.desc=Obtenir une Fleur des morts -achievement.obtain_honeycomb=J'en connais un rayon -achievement.obtain_honeycomb.desc=Dérober un rayon de miel plein dans une ruche de guêpes du Nether -achievement.obtain_soul=Introspection -achievement.obtain_soul.desc=Trouver une âme perdue -achievement.obtain_wilted_lily=Don des dieux -achievement.obtain_wilted_lily.desc=Secourir un lis fané -achievement.obtain_pixie_dust=Ne pas respirer ce truc -achievement.obtain_pixie_dust.desc=Tuer une fée et récolter sa poussière magique -achievement.obtain_celestial_crystal=Très loin... -achievement.obtain_celestial_crystal.desc=Miner un cristal céleste dans l'Ender -achievement.craft_terrestrial_artifact=Vos pouvoirs combinés -achievement.craft_terrestrial_artifact.desc=Combiner ensemble les 8 gemmes exclusives à chaque biome -achievement.craft_ambrosia=Nectar des dieux -achievement.craft_ambrosia.desc=Sucre, eau, miel, baies, racines, varech, ichor, poussière de fée, et cristaux célestes ! -achievement.explore_all_biomes=Le vagabond -achievement.explore_all_biomes.desc=Découvrir tous les biomes -achievement.use_enderporter=Rentrer chez soi -achievement.use_enderporter.desc=Retourner à votre point d'origine par l'intermédiaire d'un Enderporter -achievement.use_biome_finder=Equipe de recherche -achievement.use_biome_finder.desc=Utiliser le Détecteur de biomes pour localiser un biome - -biome_finder.searching=Recherche de %s -biome_finder.found=Trouvé %s ! -biome_finder.not_found=Non détecté, peut-être que %s est trop loin - -config.category.convenienceSettings.title=Réglages pratiques -config.category.guiSettings.title=Réglages de l'interface -config.category.textureSettings.title=Réglages des textures -config.category.trailSettings.title=Réglages des sentiers -config.category.convenienceSettings.tooltip=Des ciseaux sont requis pour collecter des fleurs -config.category.guiSettings.tooltip=Utilise le Monde Standard de Biomes O' Plenty par défaut lors du choix d'un monde. -config.category.textureSettings.tooltip=Ecraser la texture du seau de forge et utiliser la nôtre (Elle est plus jolie !) -config.category.trailSettings.tooltip=Modifie la visibilité des sentiers - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [biomeId] -commands.biomesoplenty.biomename.success=Biome ID %s correspond à %s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId] -commands.biomesoplenty.tpbiome.success=Téléporté %s vers le biome %s à (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=Biome %s introuvable ! -commands.biomesoplenty.stats.blocks=Blocs : %s -commands.biomesoplenty.stats.items=Objets : %s -commands.biomesoplenty.stats.entities=Entités : %s -commands.biomesoplenty.stats.biomes=Biomes : %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] [block] [metadata] - -container.flower_basket=Panier à fleurs - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=Attention : Biomes O' Plenty 1.8 est encore dans un stade peu avancé - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=Sang -fluid.honey=Miel -fluid.hot_spring_water=Eau de source chaude -fluid.poison=Poison -fluid.sand=Sables mouvants - -item.forge.bucketFilled.name=Seau contenant : %s - -item.ambrosia.name=Ambroisie -item.ash.name=Tas de cendres -item.berries.name=Baie -item.biome_essence.name=Essence de biome -item.biome_finder.name=Détecteur de biomes -item.black_dye.name=Teinture noire -item.blue_dye.name=Teinture bleue -item.brown_dye.name=Teinture marron -item.cherry_door.name=Porte en bois de cerisier -item.crystal_shard.name=Eclat de cristal céleste -item.terrestrial_artifact.name=Artéfact terrestre -item.flax_string.name=Fil de lin -item.diamond_scythe.name=Faux en diamant -item.dull_flower_band.name=Couronne de fleurs terne -item.ebony_door.name=Porte en bois d'ébène -item.enderporter.name=Enderporter -item.ethereal_door.name=Porte en bois éthéré -item.eucalyptus_door.name=Porte en bois d'eucalyptus -item.exotic_flower_band.name=Couronne de fleurs exotique -item.filled_honeycomb.name=Rayon de miel plein -item.fir_door.name=Porte en bois d'épicéa -item.fleshchunk.name=Morceau de chair -item.flippers.name=Palmes -item.flower_basket.name=Panier à fleurs -item.gem_amber.name=Ambre -item.gem_amethyst.name=Améthyste de l'Ender -item.gem_malachite.name=Malachite -item.gem_peridot.name=Péridot -item.gem_ruby.name=Rubis -item.gem_sapphire.name=Saphir -eitem.gem_tanzanite.name=Tanzanite -item.gem_topaz.name=Topaze -item.green_dye.name=Teinture verte -item.gold_scythe.name=Faux en or -item.hellbark_door.name=Porte en bois infernal -item.honeycomb.name=Rayon de miel vide -item.ichor.name=Ichor -item.iron_scythe.name=Faux en fer -item.jacaranda_door.name=Porte en bois de jacaranda -item.jar_empty.name=Bocal vide -item.jar_filled_honey.name=Bocal de miel -item.jar_filled_pixie.name=Bocal contenant une fée -item.jar_filled_butterfly.name=Bocal contenant un papillon -item.lush_flower_band.name=Couronne de fleurs luxuriante -item.magic_door.name=Porte en bois magique -item.mahogany_door.name=Porte en bois de la jungle -item.mangrove_door.name=Porte en bois de palétuvier -item.mudball.name=Boule de boue -item.mud_axe.name=Hache en boue -item.mud_boots.name=Bottes en boue -item.mud_brick.name=Brique de boue -item.mud_chestplate.name=Plastron en boue -item.mud_helmet.name=Casque en boue -item.mud_hoe.name=Houe en boue -item.mud_leggings.name=Jambières en boue -item.mud_pickaxe.name=Pioche en boue -item.mud_scythe.name=Faux en boue -item.mud_shovel.name=Pelle en boue -item.mud_sword.name=Epée en boue -item.palm_door.name=Porte en bois de palmier -item.persimmon.name=Kaki -item.peach.name=Pêche -item.pear.name=Poire -item.pinecone.name=Pomme de pin -item.pine_door.name=Porte en bois de pin -item.pixie_dust.name=Poudre de fée -item.plain_flower_band.name=Couronne de fleurs simple -item.record_corruption.name=Disque -item.record.corruption.desc=??? -item.record_wanderer.name=Disque -item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=Porte en bois de séquoia -item.ricebowl.name=Bol de riz -item.sacred_oak_door.name=Porte en bois de chêne sacré -item.saladfruit.name=Salade de fruits -item.saladveggie.name=Salade végétarienne -item.saladshroom.name=Salade de champignons -item.shroompowder.name=Poudre de champignons -item.soul.name=Ame perdue -item.spawn_egg_pixie.name=Oeuf de fée -item.spawn_egg_wasp.name=Oeuf de guêpe -item.spawn_egg_snail.name=Oeuf d'escargot -item.spawn_egg_butterfly.name=Oeuf de papillon -item.stone_scythe.name=Faux en pierre -item.turnip.name=Navet -item.turnip_seeds.name=Graines de navet -item.umbran_door.name=Porte en bois de la désolation -item.wading_boots.name=Bottes en caoutchouc -item.white_dye.name=Teinture blanche -item.willow_door.name=Porte en bois de saule -item.wood_scythe.name=Faux en bois - -tile.ash_block.name=Bloc de cendres -tile.bamboo.name=Bambou -tile.bamboo_thatching.name=Bambou tressé -tile.biome_block.name=Minerai d'essence de biome -tile.cherry_fence.name=Barrière en bois de cerisier -tile.cherry_fence_gate.name=Portillon en bois de cerisier -tile.cherry_wood_slab.name=Dalle en bois de cerisier -tile.cherry_stairs.name=Escaliers en bois de cerisier -tile.coral.pink_coral.name=Corail rose -tile.coral.orange_coral.name=Corail orange -tile.coral.blue_coral.name=Corail bleu -tile.coral.glowing_coral.name=Corail luisant -tile.coral.algae.name=Algue -tile.dirt.loamy_dirt.name=Terre argileuse -tile.dirt.sandy_dirt.name=Terre sablonneuse -tile.dirt.silty_dirt.name=Terre vaseuse -tile.dirt.coarse_loamy_dirt.name=Terre argileuse grossière -tile.dirt.coarse_sandy_dirt.name=Terre sablonneuse grossière -tile.dirt.coarse_silty_dirt.name=Terre vaseuse grossière -tile.double_plant.flax.name=Lin -tile.double_plant.tall_cattail.name=Grandes massettes -tile.double_plant.eyebulb.name=Globeuil -tile.ebony_fence.name=Barrière en bois d'ébène -tile.ebony_fence_gate.name=Portillon en bois d'ébène -tile.ebony_wood_slab.name=Dalle en bois d'ébène -tile.ebony_stairs.name=Escaliers en bois d'ébène -tile.ethereal_fence.name=Barrière en bois éthéré -tile.ethereal_fence_gate.name=Portillon en bois éthéré -tile.ethereal_wood_slab.name=Dalle en bois éthéré -tile.ethereal_stairs.name=Escaliers en bois éthéré -tile.eucalyptus_fence.name=Barrière en bois d'eucalyptus -tile.eucalyptus_fence_gate.name=Portillon en bois d'eucalyptus -tile.eucalyptus_wood_slab.name=Dalle en bois d'eucalyptus -tile.eucalyptus_stairs.name=Escaliers en bois d'eucalyptus -tile.farmland_0.loamy_farmland.name=Terre agricole argileuse -tile.farmland_0.sandy_farmland.name=Terre agricole sablonneuse -tile.farmland_1.silty_farmland.name=Terre agricole vaseuse -tile.fir_fence.name=Barrière en bois d'épicéa -tile.fir_fence_gate.name=Portillon en bois d'épicéa -tile.fir_wood_slab.name=Dalle en bois d'épicéa -tile.fir_stairs.name=Escaliers en bois d'épicéa -tile.flesh.name=Chair -tile.flower_0.clover.name=Fleurs de trèfle -tile.flower_0.swampflower.name=Fleurs des marais -tile.flower_0.deathbloom.name=Fleur des morts -tile.flower_0.glowflower.name=Fleur luisante -tile.flower_0.blue_hydrangea.name=Hydrangea bleue -tile.flower_0.orange_cosmos.name=Cosmos orange -tile.flower_0.pink_daffodil.name=Jonquille rose -tile.flower_0.wildflower.name=Fleurs sauvages -tile.flower_0.violet.name=Violettes -tile.flower_0.white_anemone.name=Anémones blanches -tile.flower_0.enderlotus.name=Enderlotus -tile.flower_0.bromeliad.name=Broméliacées -tile.flower_0.wilted_lily.name=Lis fané -tile.flower_0.pink_hibiscus.name=Hibiscus rose -tile.flower_0.lily_of_the_valley.name=Muguet -tile.flower_0.burning_blossom.name=Fleur ardente -tile.flower_1.lavender.name=Lavande -tile.flower_1.goldenrod.name=Verge d'or -tile.flower_1.bluebells.name=Jacinthes sauvages -tile.flower_1.miners_delight.name=Délice du mineur -tile.flower_1.icy_iris.name=Iris des glaces -tile.flower_1.rose.name=Rose -tile.flower_vine.name=Vignes fleuries -tile.gem_block.amethyst_block.name=Bloc d'améthyste -tile.gem_block.ruby_block.name=Bloc de rubis -tile.gem_block.peridot_block.name=Bloc de péridot -tile.gem_block.topaz_block.name=Bloc de topaze -tile.gem_block.tanzanite_block.name=Bloc de tanzanite -tile.gem_block.malachite_block.name=Bloc de malachite -tile.gem_block.sapphire_block.name=Bloc de saphir -tile.gem_block.amber_block.name=Bloc d'ambre -tile.gem_ore.amethyst_ore.name=Minerai d'améthyste de l'Ender -tile.gem_ore.ruby_ore.name=Minerai de rubis -tile.gem_ore.peridot_ore.name=Minerai de péridot -tile.gem_ore.topaz_ore.name=Minerai de topaze -tile.gem_ore.tanzanite_ore.name=Minerai de tanzanite -tile.gem_ore.malachite_ore.name=Minerai de malachite -tile.gem_ore.sapphire_ore.name=Minerai de saphir -tile.gem_ore.amber_ore.name=Minerai d'ambre -tile.grass.daisy_grass_block.name=Bloc d'herbe fleurie -tile.grass.spectral_moss.name=Mousse spectrale -tile.grass.overgrown_stone.name=Pierre recouverte de végétation -tile.grass.loamy_grass_block.name=Bloc d'herbe argileux -tile.grass.sandy_grass_block.name=Bloc d'herbe sablonneux -tile.grass.silty_grass_block.name=Bloc d'herbe vaseux -tile.grass.origin_grass_block.name=Bloc d'herbe des origines -tile.grass.overgrown_netherrack.name=Netherrack recouvert de végétation -tile.grass_path.grass_loamy_path.name=Chemin d'herbe argileux -tile.grass_path.grass_sandy_path.name=Chemin d'herbe sablonneux -tile.grass_path.grass_silty_path.name=Chemin d'herbe vaseux -tile.hellbark_fence.name=Barrière en bois infernal -tile.hellbark_fence_gate.name=Portillon en bois infernal -tile.hellbark_wood_slab.name=Dalle en bois infernal -tile.hellbark_stairs.name=Escaliers en bois infernal -tile.hive.hive_block.name=Bloc de ruche -tile.hive.honeycomb_block.name=Bloc de rayons de miel -tile.hive.empty_honeycomb_block.name=Bloc de rayon de miel vide -tile.hive.filled_honeycomb_block.name=Bloc de rayon de miel plein -tile.honey_block.name=Bloc de miel -tile.ivy.name=Lierre -tile.jacaranda_fence.name=Barrière en bois de jacaranda -tile.jacaranda_fence_gate.name=Portillon en bois de jacaranda -tile.jacaranda_wood_slab.name=Dalle en bois de jacaranda -tile.jacaranda_stairs.name=Escaliers en bois de jacaranda -tile.jelled_poison.name=Poison cristallisé -tile.leaves_0.yellow_autumn_leaves.name=Feuilles d'automne jaunes -tile.leaves_0.orange_autumn_leaves.name=Feuilles d'automne oranges -tile.leaves_0.bamboo_leaves.name=Feuilles de bambou -tile.leaves_0.magic_leaves.name=Feuilles magiques -tile.leaves_1.umbran_leaves.name=Feuilles de la désolation -tile.leaves_1.dead_leaves.name=Feuilles mortes -tile.leaves_1.fir_leaves.name=Feuilles d'épicéa -tile.leaves_1.ethereal_leaves.name=Feuilles éthérées -tile.leaves_2.origin_leaves.name=Feuilles des origines -tile.leaves_2.pink_cherry_leaves.name=Feuilles de cerisier roses -tile.leaves_2.white_cherry_leaves.name=Feuilles de cerisier blanches -tile.leaves_2.maple_leaves.name=Feuilles d'érable -tile.leaves_3.hellbark_leaves.name=Feuilles infernales -tile.leaves_3.flowering_leaves.name=Feuilles de chêne en fleur -tile.leaves_3.jacaranda_leaves.name=Feuille de jacaranda -tile.leaves_3.sacred_oak_leaves.name=Feuilles de chêne sacré -tile.leaves_4.mangrove_leaves.name=Feuilles de palétuvier -tile.leaves_4.palm_leaves.name=Feuilles de palmier -tile.leaves_4.redwood_leaves.name=Feuilles de séquoia -tile.leaves_4.willow_leaves.name=Feuilles de saule -tile.leaves_5.pine_leaves.name=Feuilles de pin -tile.leaves_5.mahogany_leaves.name=Feuilles de la jungle -tile.leaves_5.ebony_leaves.name=Feuilles d'ébène -tile.leaves_5.eucalyptus_leaves.name=Feuilles d'eucalyptus -tile.leaves_6.red_big_flower_petal.name=Pétale de fleur rouge géante -tile.leaves_6.yellow_big_flower_petal.name=Pétale de fleur jaune géante -tile.log_0.sacred_oak_log.name=Bois de chêne sacré -tile.log_0.cherry_log.name=Bois de cerisier -tile.log_0.umbran_log.name=Bois de la désolation -tile.log_0.fir_log.name=Bois d'épicéa -tile.log_1.ethereal_log.name=Bois éthéré -tile.log_1.magic_log.name=Bois magique -tile.log_1.mangrove_log.name=Bois de palétuvier -tile.log_1.palm_log.name=Bois de palmier -tile.log_2.redwood_log.name=Bois de séquoia -tile.log_2.willow_log.name=Bois de saule -tile.log_2.pine_log.name=Bois de pin -tile.log_2.hellbark_log.name=Bois infernal -tile.log_3.jacaranda_log.name=Bois de jacaranda -tile.log_3.mahogany_log.name=Bois de la jungle -tile.log_3.ebony_log.name=Bois d'ébène -tile.log_3.eucalyptus_log.name=Bois d'eucalyptus -tile.log_4.giant_flower_stem.name=Tige de fleur géante -tile.log_4.dead_log.name=Bois mort -tile.magic_fence.name=Barrière en bois magique -tile.magic_fence_gate.name=Portillon en bois magique -tile.magic_wood_slab.name=Dalle en bois magique -tile.magic_stairs.name=Escaliers en bois magique -tile.mahogany_fence.name=Barrière en bois de la jungle -tile.mahogany_fence_gate.name=Portillon en bois de la jungle -tile.mahogany_wood_slab.name=Dalle en bois de la jungle -tile.mahogany_stairs.name=Escaliers en bois de la jungle -tile.mangrove_fence.name=Barrière en bois de palétuvier -tile.mangrove_fence_gate.name=Portillon en bois de palétuvier -tile.mangrove_wood_slab.name=Dalle en bois de palétuvier -tile.mangrove_stairs.name=Escaliers en bois de palétuvier -tile.mud.mud.name=Boue -tile.mud_brick_block.name=Briques de boue -tile.mud_brick_slab.name=Dalle en briques de boue -tile.mud_brick_stairs.name=Escaliers en briques de boue -tile.mushroom.toadstool.name=Amanite -tile.mushroom.portobello.name=Portobello -tile.mushroom.blue_milk_cap.name=Lactarius indigo -tile.mushroom.glowshroom.name=Champignons luisants -tile.mushroom.flat_mushroom.name=Champignon plat -tile.mushroom.shadow_shroom.name=Champignon des ombres -tile.palm_fence.name=Barrière en bois de palmier -tile.palm_fence_gate.name=Portillon en bois de palmier -tile.palm_wood_slab.name=Dalle en bois de palmier -tile.palm_stairs.name=Escaliers en bois de palmier -tile.pine_fence.name=Barrière en bois de pin -tile.pine_fence_gate.name=Portillon en bois de pin -tile.pine_wood_slab.name=Dalle en bois de pin -tile.pine_stairs.name=Escaliers en bois de pin -tile.planks_0.sacred_oak_planks.name=Planches de chêne sacré -tile.planks_0.cherry_planks.name=Planches de cerisier -tile.planks_0.umbran_planks.name=Planches de bois de la désolation -tile.planks_0.fir_planks.name=Planches d'épicéa -tile.planks_0.ethereal_planks.name=Planches de bois éthéré -tile.planks_0.magic_planks.name=Planches de bois magique -tile.planks_0.mangrove_planks.name=Planches de palétuvier -tile.planks_0.palm_planks.name=Planches de palmier -tile.planks_0.redwood_planks.name=Planches de séquoia -tile.planks_0.willow_planks.name=Planches de saule -tile.planks_0.bamboo_thatching.name=Bambou tressé -tile.planks_0.pine_planks.name=Planches de pin -tile.planks_0.hellbark_planks.name=Planches de bois infernal -tile.planks_0.jacaranda_planks.name=Planches de jacaranda -tile.planks_0.mahogany_planks.name=Planches de bois de la jungle -tile.planks_0.ebony_planks.name=Planches d'ébène -tile.planks_0.eucalyptus_planks.name=Planches d'eucalyptus -tile.plant_0.shortgrass.name=Herbe courte -tile.plant_0.mediumgrass.name=Herbe moyenne -tile.plant_0.bush.name=Buisson -tile.plant_0.sprout.name=Jeunes pousses -tile.plant_0.poisonivy.name=Sumac grimpant -tile.plant_0.berrybush.name=Buisson à baies -tile.plant_0.shrub.name=Arbuste -tile.plant_0.wheatgrass.name=Graminées -tile.plant_0.dampgrass.name=Herbe humide -tile.plant_0.koru.name=Koru -tile.plant_0.cloverpatch.name=Parterre de trèfles -tile.plant_0.leafpile.name=Tas de feuilles -tile.plant_0.deadleafpile.name=Tas de feuilles mortes -tile.plant_0.deadgrass.name=Herbe morte -tile.plant_0.desertgrass.name=Herbe du désert -tile.plant_0.desertsprouts.name=Pousses du désert -tile.plant_1.dunegrass.name=Herbe des dunes -tile.plant_1.spectralfern.name=Fougère spectrale -tile.plant_1.thorn.name=Ronces -tile.plant_1.wildrice.name=Riz sauvage -tile.plant_1.cattail.name=Massettes -tile.plant_1.rivercane.name=Arundinaria -tile.plant_1.tinycactus.name=Petit cactus -tile.plant_1.witherwart.name=Verrues de flétrissement -tile.plant_1.reed.name=Roseaux -tile.plant_1.root.name=Racine -tile.plant_1.rafflesia.name=Rafflésie -tile.redwood_fence.name=Barrière en bois de séquoia -tile.redwood_fence_gate.name=Portillon en bois de séquoia -tile.redwood_wood_slab.name=Dalle en bois de séquoia -tile.redwood_stairs.name=Escaliers en bois de séquoia -tile.sacred_oak_fence.name=Barrière en bois de chêne sacré -tile.sacred_oak_fence_gate.name=Portillon en bois de chêne sacré -tile.sacred_oak_wood_slab.name=Dalle en bois de chêne sacré -tile.sacred_oak_stairs.name=Escaliers en bois de chêne sacré -tile.sapling_0.yellow_autumn_sapling.name=Pousse d'automne à feuilles jaune -tile.sapling_0.orange_autumn_sapling.name=Pousse d'automne à feuilles oranges -tile.sapling_0.bamboo_sapling.name=Pousse de bambou -tile.sapling_0.magic_sapling.name=Pousse d'arbre magique -tile.sapling_0.umbran_sapling.name=Pousse d'arbre de la désolation -tile.sapling_0.dead_sapling.name=Pousse morte -tile.sapling_0.fir_sapling.name=Pousse d'épicéa -tile.sapling_0.ethereal_sapling.name=Pousse d'arbre éthéré -tile.sapling_1.origin_sapling.name=Pousse d'arbre des origines -tile.sapling_1.pink_cherry_sapling.name=Pousse de cerisier rose -tile.sapling_1.white_cherry_sapling.name=Pousse de cerisier blanc -tile.sapling_1.maple_sapling.name=Pousse d'érable -tile.sapling_1.hellbark_sapling.name=Pousse d'arbre infernal -tile.sapling_1.flowering_sapling.name=Pousse de chêne fleuri -tile.sapling_1.jacaranda_sapling.name=Pousse de jacaranda -tile.sapling_1.sacred_oak_sapling.name=Pousse de chêne sacré -tile.sapling_2.mangrove_sapling.name=Pousse de palétuvier -tile.sapling_2.palm_sapling.name=Pousse de palmier -tile.sapling_2.redwood_sapling.name=Pousse de séquoia -tile.sapling_2.willow_sapling.name=Pousse de saule -tile.sapling_2.pine_sapling.name=Pousse de pin -tile.sapling_2.mahogany_sapling.name=Pousse d'arbre de la jungle -tile.sapling_2.ebony_sapling.name=Pousse d'ébène -tile.sapling_2.eucalyptus_sapling.name=Pousse d'eucalyptus -tile.seaweed.kelp.name=Varech -tile.stone.limestone.name=Calcaire -tile.stone.polished_limestone.name=Calcaire poli -tile.stone.siltstone.name=Siltite -tile.stone.polished_siltstone.name=Siltite polie -tile.stone.shale.name=Shale -tile.stone.polished_shale.name=Shale poli -tile.stone_formations.stone_formation.name=Formation rocheuse -tile.terrarium.terrarium_fern.name=Terrarium de fougères -tile.terrarium.terrarium_mushroom.name=Terrarium de champignons -tile.terrarium.terrarium_cactus.name=Terrarium de cactus -tile.terrarium.terrarium_flax.name=Terrarium de lin -tile.terrarium.terrarium_flower.name=Terrarium de fleurs -tile.terrarium.terrarium_koru.name=Terrarium de korus -tile.terrarium.terrarium_bamboo.name=Terrarium de bambous -tile.terrarium.terrarium_sapling.name=Terrarium de pousses -tile.terrarium.terrarium_glowshroom.name=Terrarium de champignons luisants -tile.terrarium.terrarium_dead.name=Terrarium mort -tile.terrarium.terrarium_mystic.name=Terrarium mystique -tile.terrarium.terrarium_ominous.name=Terrarium funeste -tile.terrarium.terrarium_wasteland.name=Terrarium des terres dévastées -tile.terrarium.terrarium_origin.name=Terrarium des origines -tile.terrarium.terrarium_nether.name=Terrarium du Nether -tile.terrarium.terrarium_ender.name=Terrarium de l'Ender -tile.tree_moss.name=Mousse des arbres -tile.turnip_block.name=Navets -tile.umbran_fence.name=Barrière en bois de la désolation -tile.umbran_fence_gate.name=Portillon en bois de la désolation -tile.umbran_wood_slab.name=Dalle en bois de la désolation -tile.umbran_stairs.name=Escaliers en bois de la désolation -tile.waterlily.lily_medium.name=Nénuphar moyen -tile.waterlily.lily_small.name=Petit nénuphar -tile.waterlily.lily_tiny.name=Minuscule nénuphar -tile.waterlily.lily_flower.name=Nénuphar en fleur -tile.willow_fence.name=Barrière en bois de saule -tile.willow_fence_gate.name=Portillon en bois de saule -tile.willow_wood_slab.name=Dalle en bois de saule -tile.willow_stairs.name=Escaliers en bois de saule -tile.hard_ice.name=Glace compactée -tile.dried_sand.name=Sable sec -tile.crag_rock.name=Rochers -tile.mud_brick.name=Brique de boue -tile.crystal.name=Cristal céleste - -entity.BiomesOPlenty.butterfly.name=Papillon -entity.BiomesOPlenty.pixie.name=Fée -entity.BiomesOPlenty.snail.name=Escargot -entity.BiomesOPlenty.wasp.name=Guêpe - -item.earth.name=Terre - -tile.null.name= \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/lang/ja_JP.lang b/src/main/resources/assets/biomesoplenty/lang/ja_JP.lang deleted file mode 100644 index 51d9a15b8..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/ja_JP.lang +++ /dev/null @@ -1,441 +0,0 @@ -# Translate by koh -# Based on version 1.12.2-7.0.1.2320-universal - -advancements.biomesoplenty.root.title=Biomes O' Plenty -advancements.biomesoplenty.root.description=探検家の夢... -advancements.biomesoplenty.sacred_oak_sapling.title=ユグドラシル -advancements.biomesoplenty.sacred_oak_sapling.description=神聖なオークの苗木を植える -advancements.biomesoplenty.yin_and_yang.title=陰と陽 -advancements.biomesoplenty.yin_and_yang.description=Ominous Woods に光る花を植え、 Mystic Grove に死の新芽を植える -advancements.biomesoplenty.miners_delight.title=人生は道を見つける -advancements.biomesoplenty.miners_delight.description=深い洞窟の奥で鉱夫の癒やし花を見つける -advancements.biomesoplenty.flesh_and_blood.title=血肉 -advancements.biomesoplenty.flesh_and_blood.description=肉のかたまりを入手する -advancements.biomesoplenty.honey_hell.title=ネザーの蜂蜜 -advancements.biomesoplenty.honey_hell.description=ネザーのハチの巣から蜂蜜を手に入れる -advancements.biomesoplenty.terrestrial_artifact.title=力を合わせて -advancements.biomesoplenty.terrestrial_artifact.description=8種類の宝石を組み合わせる -advancements.biomesoplenty.craft_biome_finder.title=捜索隊 -advancements.biomesoplenty.craft_biome_finder.description=バイオームファインダーを作成する -advancements.biomesoplenty.all_biomes.title=ワンダラー -advancements.biomesoplenty.all_biomes.description=Biomes O' Plenty で追加された全てのバイオームを見つける - -biome_finder.searching=%sを検索中… -biome_finder.found=%sが見つかりました! -biome_finder.not_found=%sは見つかりませんでした、おそらく距離が遠すぎます - -config.category.convenienceSettings.title=便利な設定 -config.category.guiSettings.title=GUI設定 -config.category.textureSettings.title=テクスチャ設定 -config.category.trailSettings.title=足跡設定 -config.category.convenienceSettings.tooltip=花を採取するためにははさみが必要です -config.category.guiSettings.tooltip=Biomes O' Plenty を有効化してワールドを生成します -config.category.textureSettings.tooltip=Forge bucketのテクスチャーを代わりに使用します -config.category.trailSettings.tooltip=足跡の透明度 - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [biomeId] -commands.biomesoplenty.biomename.success=バイオーム ID %s は %s に関連付けられています -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId] -commands.biomesoplenty.tpbiome.success=%s から %s に移動しました (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=バイオーム %s を見つけることが出来ませんでした -commands.biomesoplenty.stats.blocks=ブロック: %s -commands.biomesoplenty.stats.items=アイテム: %s -commands.biomesoplenty.stats.entities=エンティティ: %s -commands.biomesoplenty.stats.biomes=バイオーム: %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] [block] [metadata] - -container.flower_basket=フラワーバスケット - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=注意: Biomes O' Plenty 1.8 は発展途上中です - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=血 -fluid.honey=蜂蜜 -fluid.hot_spring_water=温泉 -fluid.poison=毒液 -fluid.sand=砂 - -item.forge.bucketFilled.name=%sバケツ - -potion.curse=呪い - -item.ash.name=火山灰 -item.berries.name=果実 -item.biome_essence.name=バイオームエンティティ -item.biome_finder.name=バイオームファインダー -item.black_dye.name=黒色の染料 -item.blue_dye.name=藍色の染料 -item.boat_cherry.name=桜のボート -item.boat_ebony.name=エボニーのボート -item.boat_ethereal.name=エーテルのボート -item.boat_eucalyptus.name=ユーカリのボート -item.boat_fir.name=モミのボート -item.boat_hellbark.name=ヘルバークのボート -item.boat_jacaranda.name=ジャカランダのボート -item.boat_magic.name=魔法の木のボート -item.boat_mahogany.name=マホガニーのボート -item.boat_mangrove.name=マングローブのボート -item.boat_palm.name=ヤシのボート -item.boat_pine.name=松のボート -item.boat_redwood.name=セコイアのボート -item.boat_sacred_oak.name=神聖なオークのボート -item.boat_umbran.name=ウンブランのボート -item.boat_willow.name=柳のボート -item.brown_dye.name=ブラウンの染料 -item.cherry_door.name=桜のドア -item.crystal_shard.name=天界のクリスタルの欠片 -item.ebony_door.name=エボニーのドア -item.ethereal_door.name=エーテルのドア -item.eucalyptus_door.name=ユーカリのドア -item.filled_honeycomb.name=詰まっているハチの巣の欠片 -item.fir_door.name=モミのドア -item.fleshchunk.name=肉のかたまり -item.flower_basket.name=フラワーバスケット -item.gem_amber.name=琥珀 -item.gem_amethyst.name=アメジスト -item.gem_malachite.name=マラカイト -item.gem_peridot.name=ペリドット -item.gem_ruby.name=ルビー -item.gem_sapphire.name=サファイア -item.gem_tanzanite.name=タンザナイト -item.gem_topaz.name=トパーズ -item.green_dye.name=緑色の染料 -item.hellbark_door.name=ヘルバークのドア -item.honeycomb.name=ハチの巣の欠片 -item.jacaranda_door.name=ジャカランダのドア -item.jar_empty.name=空き瓶 -item.jar_filled_honey.name=蜂蜜が入った瓶 -item.jar_filled_pixie.name=ピクシーが入った瓶 -item.jar_filled_blue_fire.name=青い炎が入った瓶 -item.magic_door.name=魔法の木のドア -item.mahogany_door.name=マホガニーのドア -item.mangrove_door.name=マングローブのドア -item.mudball.name=泥だんご -item.mud_brick.name=泥レンガ -item.palm_door.name=ヤシのドア -item.persimmon.name=柿 -item.peach.name=桃 -item.pear.name=梨 -item.pine_door.name=松のドア -item.pixie_dust.name=ピクシーの粉 -item.record_wanderer.name=レコード -item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=セコイアのドア -item.ricebowl.name=ごはん -item.sacred_oak_door.name=神聖なオークのドア -item.shroompowder.name=マッシュルームパウダー -item.terrestrial_artifact.name=地上のアーティファクト -item.umbran_door.name=ウンブランのドア -item.white_dye.name=白色の染料 -item.willow_door.name=柳のドア - -tile.ash_block.name=火山灰ブロック -tile.bamboo.name=竹 -tile.bamboo_thatching.name=竹ぶき -tile.biome_block.name=バイオームエッセンス鉱石 -tile.blue_fire.name=青い炎 -tile.bramble_plant.name=イバラ -tile.cherry_fence.name=桜のフェンス -tile.cherry_fence_gate.name=桜のフェンスゲート -tile.cherry_wood_slab.name=桜の木材のハーフブロック -tile.cherry_stairs.name=桜の木材の階段 -tile.coral.pink_coral.name=桃色のサンゴ -tile.coral.orange_coral.name=橙色のサンゴ -tile.coral.blue_coral.name=藍色のサンゴ -tile.coral.glowing_coral.name=輝くサンゴ -tile.coral.algae.name=藻 -tile.dirt.loamy_dirt.name=壤土 -tile.dirt.sandy_dirt.name=砂土 -tile.dirt.silty_dirt.name=泥土 -tile.dirt.coarse_loamy_dirt.name=粗い壤土 -tile.dirt.coarse_sandy_dirt.name=粗い砂土 -tile.dirt.coarse_silty_dirt.name=粗い泥土 -tile.double_plant.flax.name=亜麻 -tile.double_plant.tall_cattail.name=ガマ -tile.double_plant.eyebulb.name=眼球草 -tile.double_plant.sea_oats.name=シーオーツ -tile.ebony_fence.name=エボニーのフェンス -tile.ebony_fence_gate.name=エボニーのフェンスゲート -tile.ebony_wood_slab.name=エボニーの木材のハーフブロック -tile.ebony_stairs.name=エボニーの木材の階段 -tile.ethereal_fence.name=エーテルのフェンス -tile.ethereal_fence_gate.name=エーテルのフェンスゲート -tile.ethereal_wood_slab.name=エーテルの木材のハーフブロック -tile.ethereal_stairs.name=エーテルの木材の階段 -tile.eucalyptus_fence.name=ユーカリのフェンス -tile.eucalyptus_fence_gate.name=ユーカリのフェンスゲート -tile.eucalyptus_wood_slab.name=ユーカリの木材のハーフブロック -tile.eucalyptus_stairs.name=ユーカリの木材の階段 -tile.farmland_0.loamy_farmland.name=壤質耕地 -tile.farmland_0.sandy_farmland.name=砂質耕地 -tile.farmland_1.silty_farmland.name=泥質耕地 -tile.fir_fence.name=モミのフェンス -tile.fir_fence_gate.name=モミのフェンスゲート -tile.fir_wood_slab.name=モミの木材のハーフブロック -tile.fir_stairs.name=モミの木材の階段 -tile.flesh.name=肉ブロック -tile.flower_0.clover.name=クローバー -tile.flower_0.swampflower.name=沼の花 -tile.flower_0.deathbloom.name=死の新芽 -tile.flower_0.glowflower.name=光る花 -tile.flower_0.blue_hydrangea.name=アジサイ -tile.flower_0.orange_cosmos.name=オレンジコスモス -tile.flower_0.pink_daffodil.name=ピンクラッパ水仙 -tile.flower_0.wildflower.name=野草 -tile.flower_0.violet.name=スミレ -tile.flower_0.white_anemone.name=アネモネ -tile.flower_0.enderlotus.name=エンダー蓮 -tile.flower_0.bromeliad.name=パイナップルの花 -tile.flower_0.wilted_lily.name=萎れたスイレン -tile.flower_0.pink_hibiscus.name=ピンクハイビスカス -tile.flower_0.lily_of_the_valley.name=鈴蘭 -tile.flower_0.burning_blossom.name=カエンボク -tile.flower_1.lavender.name=ラベンダー -tile.flower_1.goldenrod.name=キリン草 -tile.flower_1.bluebells.name=ブルーベリー -tile.flower_1.miners_delight.name=鉱夫の癒やし花 -tile.flower_1.icy_iris.name=アイスアイリス -tile.flower_1.rose.name=バラ -tile.flower_vine.name=つる -tile.gem_block.amethyst_block.name=アメジストブロック -tile.gem_block.ruby_block.name=ルビーブロック -tile.gem_block.peridot_block.name=ペリドットブロック -tile.gem_block.topaz_block.name=トパーズブロック -tile.gem_block.tanzanite_block.name=タンザナイトブロック -tile.gem_block.malachite_block.name=マラカイトブロック -tile.gem_block.sapphire_block.name=サファイアブロック -tile.gem_block.amber_block.name=琥珀ブロック -tile.gem_ore.amethyst_ore.name=アメジストブロック -tile.gem_ore.ruby_ore.name=ルビー鉱石 -tile.gem_ore.peridot_ore.name=ペリドット鉱石 -tile.gem_ore.topaz_ore.name=トパーズ鉱石 -tile.gem_ore.tanzanite_ore.name=タンザナイト鉱石 -tile.gem_ore.malachite_ore.name=マラカイト鉱石 -tile.gem_ore.sapphire_ore.name=サファイア鉱石 -tile.gem_ore.amber_ore.name=琥珀鉱石 -tile.grass.daisy_grass_block.name=花ブロック -tile.grass.spectral_moss.name=怪奇な苔 -tile.grass.overgrown_stone.name=茂石ブロック -tile.grass.loamy_grass_block.name=壤質草ブロック -tile.grass.sandy_grass_block.name=砂質草ブロック -tile.grass.silty_grass_block.name=泥質草ブロック -tile.grass.origin_grass_block.name=起源の草ブロック -tile.grass.overgrown_netherrack.name=成長したネザーラック -tile.grass.mycelial_netherrack.name=菌糸の生えたネザーラック -tile.grass_path.grass_loamy_path.name=壤質草の道 -tile.grass_path.grass_sandy_path.name=砂質草の道 -tile.grass_path.grass_silty_path.name=泥質草の道 -tile.hellbark_fence.name=ヘルバークのフェンス -tile.hellbark_fence_gate.name=ヘルバークのフェンスゲート -tile.hellbark_wood_slab.name=ヘルバークの木材のハーフブロック -tile.hellbark_stairs.name=ヘルバークの木材の階段 -tile.hive.hive_block.name=巣箱ブロック -tile.hive.honeycomb_block.name=ハチの巣ブロック -tile.hive.empty_honeycomb_block.name=空のハチの巣ブロック -tile.hive.filled_honeycomb_block.name=詰まっているハチの巣ブロック -tile.honey_block.name=ハチミツ -tile.ivy.name=ツタ -tile.jacaranda_fence.name=ジャカランダのフェンス -tile.jacaranda_fence_gate.name=ジャカランダのフェンスゲート -tile.jacaranda_wood_slab.name=ジャカランダの木材のハーフブロック -tile.jacaranda_stairs.name=ジャカランダの木材の階段 -tile.leaves_0.yellow_autumn_leaves.name=紅葉樹(黄)の葉 -tile.leaves_0.orange_autumn_leaves.name=紅葉樹(橙)の葉 -tile.leaves_0.bamboo_leaves.name=竹の葉 -tile.leaves_0.magic_leaves.name=魔法の木の葉 -tile.leaves_1.umbran_leaves.name=ウンブランの葉 -tile.leaves_1.dead_leaves.name=枯れ葉 -tile.leaves_1.fir_leaves.name=モミの葉 -tile.leaves_1.ethereal_leaves.name=エーテルの葉 -tile.leaves_2.origin_leaves.name=起源の木の葉 -tile.leaves_2.pink_cherry_leaves.name=ピンク色の桜 -tile.leaves_2.white_cherry_leaves.name=白色の桜 -tile.leaves_2.maple_leaves.name=楓の葉 -tile.leaves_3.hellbark_leaves.name=ヘルバークの葉 -tile.leaves_3.flowering_leaves.name=花が咲いた葉 -tile.leaves_3.jacaranda_leaves.name=ジャカランダの葉 -tile.leaves_3.sacred_oak_leaves.name=神聖なオークの葉 -tile.leaves_4.mangrove_leaves.name=マングローブの葉 -tile.leaves_4.palm_leaves.name=ヤシの葉 -tile.leaves_4.redwood_leaves.name=セコイアの葉 -tile.leaves_4.willow_leaves.name=柳の葉 -tile.leaves_5.pine_leaves.name=松の葉 -tile.leaves_5.mahogany_leaves.name=マホガニーの葉 -tile.leaves_5.ebony_leaves.name=エボニーの葉 -tile.leaves_5.eucalyptus_leaves.name=ユーカリの葉 -tile.leaves_6.red_big_flower_petal.name=巨大な赤色の花びら -tile.leaves_6.yellow_big_flower_petal.name=巨大な黄色の花びら -tile.log_0.sacred_oak_log.name=神聖なオークの原木 -tile.log_0.cherry_log.name=桜の原木 -tile.log_0.umbran_log.name=ウンブランの原木 -tile.log_0.fir_log.name=モミの原木 -tile.log_1.ethereal_log.name=エーテルの原木 -tile.log_1.magic_log.name=魔法の木の原木 -tile.log_1.mangrove_log.name=マングローブの原木 -tile.log_1.palm_log.name=ヤシの原木 -tile.log_2.redwood_log.name=セコイアの原木 -tile.log_2.willow_log.name=柳の原木 -tile.log_2.pine_log.name=松の原木 -tile.log_2.hellbark_log.name=ヘルバークの原木 -tile.log_3.jacaranda_log.name=ジャカランダの原木 -tile.log_3.mahogany_log.name=マホガニーの原木 -tile.log_3.ebony_log.name=エボニーの原木 -tile.log_3.eucalyptus_log.name=ユーカリの原木 -tile.log_4.giant_flower_stem.name=巨大花の柄 -tile.log_4.dead_log.name=枯れ木の原木 -tile.magic_fence.name=魔法の木のフェンス -tile.magic_fence_gate.name=魔法の木のフェンスゲート -tile.magic_wood_slab.name=魔法の木の木材のハーフブロック -tile.magic_stairs.name=魔法の木の木材の階段 -tile.mahogany_fence.name=マホガニーのフェンス -tile.mahogany_fence_gate.name=マホガニーのフェンスゲート -tile.mahogany_wood_slab.name=マホガニーの木材のハーフブロック -tile.mahogany_stairs.name=マホガニーの木材の階段 -tile.mangrove_fence.name=マングローブのフェンス -tile.mangrove_fence_gate.name=マングローブのフェンスゲート -tile.mangrove_wood_slab.name=マングローブの木材のハーフブロック -tile.mangrove_stairs.name=マングローブの木材の階段 -tile.mud.mud.name=泥 -tile.mud_brick_block.name=泥レンガ -tile.mud_brick_slab.name=泥レンガのハーフブロック -tile.mud_brick_stairs.name=泥レンガの階段 -tile.mushroom.toadstool.name=毒キノコ -tile.mushroom.portobello.name=ポートベロ -tile.mushroom.blue_milk_cap.name=ルリハツタケ -tile.mushroom.glowshroom.name=光るキノコ -tile.mushroom.flat_mushroom.name=大きいキノコ -tile.mushroom.shadow_shroom.name=シャドウマッシュルーム -tile.palm_fence.name=ヤシのフェンス -tile.palm_fence_gate.name=ヤシのフェンスゲート -tile.palm_wood_slab.name=ヤシの木材のハーフブロック -tile.palm_stairs.name=ヤシの木材の階段 -tile.pine_fence.name=松のフェンス -tile.pine_fence_gate.name=松のフェンスゲート -tile.pine_wood_slab.name=松の木材のハーフブロック -tile.pine_stairs.name=松の木材の階段 -tile.planks_0.sacred_oak_planks.name=神聖なオークの木材 -tile.planks_0.cherry_planks.name=桜の木材 -tile.planks_0.umbran_planks.name=ウンブランの木材 -tile.planks_0.fir_planks.name=モミの木材 -tile.planks_0.ethereal_planks.name=エーテルの木材 -tile.planks_0.magic_planks.name=魔法の木の木材 -tile.planks_0.mangrove_planks.name=マングローブの木材 -tile.planks_0.palm_planks.name=ヤシの木材 -tile.planks_0.redwood_planks.name=セコイアの木材 -tile.planks_0.willow_planks.name=柳の木材 -tile.planks_0.bamboo_thatching.name=竹ぶき -tile.planks_0.pine_planks.name=松の木材 -tile.planks_0.hellbark_planks.name=ヘルバークの木材 -tile.planks_0.jacaranda_planks.name=ジャカランダの木材 -tile.planks_0.mahogany_planks.name=マホガニーの木材 -tile.planks_0.ebony_planks.name=エボニーの木材 -tile.planks_0.eucalyptus_planks.name=ユーカリの木材 -tile.plant_0.shortgrass.name=短い草 -tile.plant_0.mediumgrass.name=やや短い草 -tile.plant_0.bush.name=茂み -tile.plant_0.sprout.name=新芽 -tile.plant_0.poisonivy.name=毒ツタ -tile.plant_0.berrybush.name=果実が実った茂み -tile.plant_0.shrub.name=低木 -tile.plant_0.wheatgrass.name=小麦草 -tile.plant_0.dampgrass.name=湿った草 -tile.plant_0.koru.name=ワラビの芽 -tile.plant_0.cloverpatch.name=クローバー -tile.plant_0.leafpile.name=落ち葉の山 -tile.plant_0.deadleafpile.name=枯れ葉の山 -tile.plant_0.deadgrass.name=枯れた草 -tile.plant_0.desertgrass.name=砂漠の草 -tile.plant_0.desertsprouts.name=砂漠の芽 -tile.plant_1.dunegrass.name=砂丘の草 -tile.plant_1.spectralfern.name=光るシダ -tile.plant_1.thorn.name=いばら -tile.plant_1.wildrice.name=稲 -tile.plant_1.cattail.name=ガマ -tile.plant_1.rivercane.name=河サトウキビ -tile.plant_1.tinycactus.name=小さなサボテン -tile.plant_1.devilweed.name=デビルウィード -tile.plant_1.reed.name=ヨシ -tile.plant_1.root.name=根っこ -tile.plant_1.rafflesia.name=ラフレシア -tile.plant_1.barley.name=大麦 -tile.redwood_fence.name=セコイアのフェンス -tile.redwood_fence_gate.name=セコイアのフェンスゲート -tile.redwood_wood_slab.name=セコイアの木材のハーフブロック -tile.redwood_stairs.name=セコイアの木材の階段 -tile.sacred_oak_fence.name=神聖なオークのフェンス -tile.sacred_oak_fence_gate.name=神聖なオークのフェンスゲート -tile.sacred_oak_wood_slab.name=神聖なオークの木材のハーフブロック -tile.sacred_oak_stairs.name=神聖なオークの木材の階段 -tile.sapling_0.yellow_autumn_sapling.name=紅葉樹(黄)の苗木 -tile.sapling_0.orange_autumn_sapling.name=紅葉樹(橙)の苗木 -tile.sapling_0.bamboo_sapling.name=筍 -tile.sapling_0.magic_sapling.name=魔法の木の苗木 -tile.sapling_0.umbran_sapling.name=ウンブランの苗木 -tile.sapling_0.dead_sapling.name=枯れた苗木 -tile.sapling_0.fir_sapling.name=モミの苗木 -tile.sapling_0.ethereal_sapling.name=エーテルの苗木 -tile.sapling_1.origin_sapling.name=起源の木の苗木 -tile.sapling_1.pink_cherry_sapling.name=ピンク色の桜の苗木 -tile.sapling_1.white_cherry_sapling.name=白色の桜の苗木 -tile.sapling_1.maple_sapling.name=楓の苗木 -tile.sapling_1.hellbark_sapling.name=ヘルバークの苗木 -tile.sapling_1.flowering_sapling.name=花が咲く苗木 -tile.sapling_1.jacaranda_sapling.name=ジャカランダの苗木 -tile.sapling_1.sacred_oak_sapling.name=神聖なオークの苗木 -tile.sapling_2.mangrove_sapling.name=マングローブの苗木 -tile.sapling_2.palm_sapling.name=ヤシの苗木 -tile.sapling_2.redwood_sapling.name=セコイアの苗木 -tile.sapling_2.willow_sapling.name=柳の苗木 -tile.sapling_2.pine_sapling.name=松の苗木 -tile.sapling_2.mahogany_sapling.name=マホガニーの苗木 -tile.sapling_2.ebony_sapling.name=エボニーの苗木 -tile.sapling_2.eucalyptus_sapling.name=ユーカリの苗木 -tile.seaweed.kelp.name=昆布 -tile.terrarium.terrarium_fern.name=シダ栽培槽 -tile.terrarium.terrarium_mushroom.name=キノコ栽培槽 -tile.terrarium.terrarium_cactus.name=サボテン栽培槽 -tile.terrarium.terrarium_flax.name=亜麻栽培槽 -tile.terrarium.terrarium_flower.name=花栽培槽 -tile.terrarium.terrarium_koru.name=ワラビ栽培槽 -tile.terrarium.terrarium_bamboo.name=竹栽培槽 -tile.terrarium.terrarium_sapling.name=苗木栽培槽 -tile.terrarium.terrarium_glowshroom.name=光るキノコ栽培槽 -tile.terrarium.terrarium_dead.name=枯れた栽培槽 -tile.terrarium.terrarium_mystic.name=神秘の栽培槽 -tile.terrarium.terrarium_ominous.name=不詳な栽培槽 -tile.terrarium.terrarium_wasteland.name=荒れた栽培槽 -tile.terrarium.terrarium_origin.name=起源の木の栽培槽 -tile.terrarium.terrarium_nether.name=ネザー栽培槽 -tile.terrarium.terrarium_ender.name=エンダー栽培槽 -tile.tree_moss.name=木の苔 -tile.umbran_fence.name=ウンブランのフェンス -tile.umbran_fence_gate.name=ウンブランのフェンスゲート -tile.umbran_wood_slab.name=ウンブランの木材のハーフブロック -tile.umbran_stairs.name=ウンブランの木材の階段 -tile.waterlily.lily_medium.name=育ってきたスイレン -tile.waterlily.lily_small.name=小さいスイレン -tile.waterlily.lily_tiny.name=とても小さいスイレン -tile.waterlily.lily_flower.name=スイレンの花 -tile.white_sand.name=白い砂 -tile.white_sandstone.white_sandstone.name=白い砂岩 -tile.white_sandstone.chiseled_white_sandstone.name=模様入りの白い砂岩 -tile.white_sandstone.smooth_white_sandstone.name=滑らかな白い砂岩 -tile.white_sandstone_slab.name=白い砂岩ハーフブロック -tile.white_sandstone_stairs.name=白い砂岩の階段 -tile.willow_fence.name=柳のフェンス -tile.willow_fence_gate.name=柳のフェンスゲート -tile.willow_wood_slab.name=柳の木材のハーフブロック -tile.willow_stairs.name=柳の木材の階段 -tile.willow_vine.name=柳のつる -tile.hard_ice.name=固い氷 -tile.dried_sand.name=乾燥砂 -tile.mud_brick.name=泥レンガ -tile.crystal.name=天界のクリスタル - -entity.mudball.name=泥だんご -entity.pixie.name=ピクシー -entity.wasp.name=ネザースズメバチ -entity.bop_boat.name=ボート \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/lang/pl_PL.lang b/src/main/resources/assets/biomesoplenty/lang/pl_PL.lang deleted file mode 100644 index 58a165b9f..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/pl_PL.lang +++ /dev/null @@ -1,426 +0,0 @@ -advancements.biomesoplenty.root.title=Biomes O' Plenty -advancements.biomesoplenty.root.description=Sen odkrywcy... -advancements.biomesoplenty.sacred_oak_sapling.title=Yggdrasil -advancements.biomesoplenty.sacred_oak_sapling.description=Zasadź sadzonkę olbrzymiego Świętego Dębu -advancements.biomesoplenty.yin_and_yang.title=Yin i Yang -advancements.biomesoplenty.yin_and_yang.description=Umieść Kwiat blasku w Złowieszczych Lasach i Kwiat Śmierci w Gaju Mistycznym -advancements.biomesoplenty.miners_delight.title=Życie znajdzie drogę -advancements.biomesoplenty.miners_delight.description=Znajdź kwiat Radość Górników głęboko w grocie -advancements.biomesoplenty.harvest_turnip.title=Rynek warzyw -advancements.biomesoplenty.harvest_turnip.description=Zbierz rzepę -advancements.biomesoplenty.flesh_and_blood.title=Ciało i krew -advancements.biomesoplenty.flesh_and_blood.description=Zbierz mięso z Visceral Heap -advancements.biomesoplenty.honey_hell.title=Miód piekielny -advancements.biomesoplenty.honey_hell.description=Ukradnij nieco słodkiego miodu z ula netherowych os -advancements.biomesoplenty.terrestrial_artifact.title=Gdy połączysz swe moce -advancements.biomesoplenty.terrestrial_artifact.description=Znajdź w biomach po jednym z ośmiu cennych klejnotów -advancements.biomesoplenty.craft_biome_finder.title=Search Party -advancements.biomesoplenty.craft_biome_finder.description=Stwórz Poszukiwacz biomów, by służył jako przewodnik na Twojej drodze -advancements.biomesoplenty.all_biomes.title=Wędrowiec -advancements.biomesoplenty.all_biomes.description=Odkryj każdy biom z zestawu Biomes O 'Plenty - -biome_finder.searching=Searching for %s -biome_finder.found=Found %s! -biome_finder.not_found=Not found, maybe %s is too far away - -config.category.convenienceSettings.title=Ustawienia udogodnień -config.category.guiSettings.title=Ustawienia GUI -config.category.textureSettings.title=Ustawienia tekstur -config.category.trailSettings.title=Ustawienia tras -config.category.convenienceSettings.tooltip=Ustawienia wygodnej obsługi. -config.category.guiSettings.tooltip=Ustawienia związane z GUI. -config.category.textureSettings.tooltip=Ustawienia związane z teksturami. -config.category.trailSettings.tooltip=Ustawienia modyfikujące widoczność szlaku. - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [biomeId] -commands.biomesoplenty.biomename.success=Biome ID %s is associated with %s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId] -commands.biomesoplenty.tpbiome.success=Teleported %s to biome %s at (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=Couldn't find biome %s! -commands.biomesoplenty.stats.blocks=Blocks: %s -commands.biomesoplenty.stats.items=Items: %s -commands.biomesoplenty.stats.entities=Entities: %s -commands.biomesoplenty.stats.biomes=Biomes: %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] [block] [metadata] - -container.flower_basket=Kosz na kwiaty - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=Notice: Biomes O 'Plenty 1.12-7.0.0.2291-uniwersalne - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=z krwią -fluid.honey=z netherowym miodem -fluid.hot_spring_water=z wodą z gorących źródeł -fluid.poison=z trucizną -fluid.sand=z ruchomymi piaskami - -item.forge.bucketFilled.name=Wiadro %s - -item.ambrosia.name=Ambrozja -item.ash.name=Kupka popiołu -item.berries.name=Jagoda -item.biome_essence.name=Esencja biomu -item.biome_finder.name=Poszukiwacz biomów -item.black_dye.name=Czarny barwnik -item.blue_dye.name=Niebieski barwnik -item.brown_dye.name=Brązowy barwnik -item.cherry_door.name=Wiśniowe drzwi -item.crystal_shard.name=Niebiański kryształowy fragment -item.terrestrial_artifact.name=Ziemski artefakt -item.ebony_door.name=Hebanowe drzwi -item.ethereal_door.name=Eteryczne drzwi -item.eucalyptus_door.name=Eukaliptusowe drzwi -item.filled_honeycomb.name=Wypełniony plaster netherowego miodu -item.fir_door.name=Jodłowe drzwi -item.fleshchunk.name=Kawałek mięsa -item.flower_basket.name=Kosz na kwiaty -item.gem_amber.name=Bursztyn -item.gem_amethyst.name=Ametyst Endera -item.gem_malachite.name=Malachit -item.gem_peridot.name=Oliwin -item.gem_ruby.name=Rubin -item.gem_sapphire.name=Szafir -item.gem_tanzanite.name=Tanzanit -item.gem_topaz.name=Topaz -item.green_dye.name=Zielony barwnik -item.hellbark_door.name=Drzwi z piekielnego drewna -item.honeycomb.name=Pusty plaster netherowego miodu -item.jacaranda_door.name=Jakarandowe drzwi -item.jar_empty.name=Pusty słoik -item.jar_filled_honey.name=Słoik netherowego miodu -item.jar_filled_pixie.name=Słoik z wróżką -item.magic_door.name=Drzwi z magicznego drewna -item.mahogany_door.name=Mahoniowe drzwi -item.mangrove_door.name=Namorzynowe drzwi -item.mudball.name=Kula mułu -item.mud_brick.name=Cegły mułowe -item.palm_door.name=Palmowe drzwi -item.persimmon.name=Persymona -item.peach.name=Brzoskwinia -item.pear.name=Gruszka -item.pinecone.name=Szyszka -item.pine_door.name=Sosnowe drzwi -item.pixie_dust.name=Pyłek wróżki -item.record_wanderer.name=Płyta muzyczna -item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=Cedrowe drzwi -item.ricebowl.name=Miska ryżu -item.sacred_oak_door.name=Drzwi ze Świętego Dębu -item.saladfruit.name=Sałatka owocowa -item.saladveggie.name=Sałatka wegetariańska -item.saladshroom.name=Sałatka z muchomorów -item.shroompowder.name=Proszek z muchomorów -item.turnip.name=Rzepa -item.turnip_seeds.name=Sadzonka rzepy -item.umbran_door.name=Umbrowe drzwi -item.white_dye.name=Biały barwnik -item.willow_door.name=Wierzbowe drzwi - -tile.ash_block.name=Blok popiołu -tile.bamboo.name=Bambus -tile.bamboo_thatching.name=Sprasowany bambus -tile.biome_block.name=Ruda esencji biomu -tile.cherry_fence.name=Wiśniowy płot -tile.cherry_fence_gate.name=Wiśniowa furtka -tile.cherry_wood_slab.name=Wiśniowa płyta -tile.cherry_stairs.name=Wiśniowe schody -tile.coral.pink_coral.name=Różowy koral -tile.coral.orange_coral.name=Pomarańczowy koral -tile.coral.blue_coral.name=Niebieski koral -tile.coral.glowing_coral.name=Rozżarzony koral -tile.coral.algae.name=Algi -tile.dirt.loamy_dirt.name=Iłowe błoto -tile.dirt.sandy_dirt.name=Piaskowe błoto -tile.dirt.silty_dirt.name=Mułowe błoto -tile.dirt.coarse_loamy_dirt.name=Szorstkie iłowe błoto -tile.dirt.coarse_sandy_dirt.name=Szorstkie piaskowe błoto -tile.dirt.coarse_silty_dirt.name=Szorstkie mułowe błoto -tile.double_plant.flax.name=Len -tile.double_plant.tall_cattail.name=Wysokie zarośla -tile.double_plant.eyebulb.name=Bulwy oczne -tile.ebony_fence.name=Hebanowy płot -tile.ebony_fence_gate.name=Hebanowa furtka -tile.ebony_wood_slab.name=Hebanowa płyta -tile.ebony_stairs.name=Hebanowe schody -tile.ethereal_fence.name=Eteryczny płot -tile.ethereal_fence_gate.name=Eteryczna furtka -tile.ethereal_wood_slab.name=Eteryczna płyta -tile.ethereal_stairs.name=Eteryczne schody -tile.eucalyptus_fence.name=Eukaliptusowy płot -tile.eucalyptus_fence_gate.name=Eukaliptusowa furtka -tile.eucalyptus_wood_slab.name=Eukaliptusowa płyta -tile.eucalyptus_stairs.name=Eukaliptusowe schody -tile.farmland_0.loamy_farmland.name=Iłowe grunty rolne -tile.farmland_0.sandy_farmland.name=Piaszczyste grunty rolne -tile.farmland_1.silty_farmland.name=Mułowe grunty rolne -tile.fir_fence.name=Jodłowy płot -tile.fir_fence_gate.name=Jodłowa furtka -tile.fir_wood_slab.name=Jodłowa płyta -tile.fir_stairs.name=Jodłowe schody -tile.flesh.name=Blok mięsa -tile.flower_0.clover.name=Koniczyna -tile.flower_0.swampflower.name=Kwiat bagienny -tile.flower_0.deathbloom.name=Kwiat śmierci -tile.flower_0.glowflower.name=Kwiat blasku -tile.flower_0.blue_hydrangea.name=Niebieska hortensja -tile.flower_0.orange_cosmos.name=Kosmos siarkowy -tile.flower_0.pink_daffodil.name=Różowy żonkil -tile.flower_0.wildflower.name=Łubin -tile.flower_0.violet.name=Fiołek -tile.flower_0.white_anemone.name=Biały anemon -tile.flower_0.enderlotus.name=Enderlotus -tile.flower_0.bromeliad.name=Bromelia -tile.flower_0.wilted_lily.name=Zwiędła lilia -tile.flower_0.pink_hibiscus.name=Różowa ketmia -tile.flower_0.lily_of_the_valley.name=Konwalia majowa -tile.flower_0.burning_blossom.name=Płonący kwiat -tile.flower_1.lavender.name=Lawenda -tile.flower_1.goldenrod.name=Nawłoć -tile.flower_1.bluebells.name=Hiacynt -tile.flower_1.miners_delight.name=Radość Górników -tile.flower_1.icy_iris.name=Lodowy irys -tile.flower_1.rose.name=Róża -tile.flower_vine.name=Kwiecista winorośl -tile.gem_block.amethyst_block.name=Blok ametystu -tile.gem_block.ruby_block.name=Blok rubinu -tile.gem_block.peridot_block.name=Blok oliwinu -tile.gem_block.topaz_block.name=Blok topazu -tile.gem_block.tanzanite_block.name=Blok tanzanitu -tile.gem_block.malachite_block.name=Blok malachitu -tile.gem_block.sapphire_block.name=Blok szafiru -tile.gem_block.amber_block.name=Blok bursztynu -tile.gem_ore.amethyst_ore.name=Ruda ametystu Endera -tile.gem_ore.ruby_ore.name=Ruda rubinu -tile.gem_ore.peridot_ore.name=Ruda oliwinu -tile.gem_ore.topaz_ore.name=Ruda topazu -tile.gem_ore.tanzanite_ore.name=Ruda tanzanitu -tile.gem_ore.malachite_ore.name=Ruda malachitu -tile.gem_ore.sapphire_ore.name=Ruda szafiru -tile.gem_ore.amber_ore.name=Ruda bursztynu -tile.grass.daisy_grass_block.name=Blok kwiecistej trawy -tile.grass.spectral_moss.name=Widmowy mech -tile.grass.overgrown_stone.name=Porośnięty kamień -tile.grass.loamy_grass_block.name=Blok iłu z trawą -tile.grass.sandy_grass_block.name=Blok piasku z trawą -tile.grass.silty_grass_block.name=Blok mułowy z trawą -tile.grass.origin_grass_block.name=Blok originu z trawą -tile.grass.overgrown_netherrack.name=Zarośnięty netherrack -tile.grass.mycelial_netherrack.name=Grzybnia na netherracku -tile.grass_path.grass_loamy_path.name=Ścieżka w trawie iłowej -tile.grass_path.grass_sandy_path.name=Ścieżka w trawie piaskowej -tile.grass_path.grass_silty_path.name=Ścieżka w trawie mułowej -tile.hellbark_fence.name=Płot z piekielnego drewna -tile.hellbark_fence_gate.name=Furtka z piekielnego drewna -tile.hellbark_wood_slab.name=Płyta z piekielnego drewna -tile.hellbark_stairs.name=Schody z piekielnego drewna -tile.hive.hive_block.name=Blok netherowego ula -tile.hive.honeycomb_block.name=Blok plastra netherowego miodu -tile.hive.empty_honeycomb_block.name=Blok pustego plastra netherowego miodu -tile.hive.filled_honeycomb_block.name=Blok wypełnionego plastra netherowego miodu -tile.honey_block.name=Blok netherowego miodu -tile.ivy.name=Bluszcz -tile.jacaranda_fence.name=Jakarandowy płot -tile.jacaranda_fence_gate.name=Jakarandowa furtka -tile.jacaranda_wood_slab.name=Jakarandowa płyta -tile.jacaranda_stairs.name=Jakarandowe schody -tile.jelled_poison.name=Trująca galarets -tile.leaves_0.yellow_autumn_leaves.name=Liście żółtej jesieni -tile.leaves_0.orange_autumn_leaves.name=Liście złotej jesieni -tile.leaves_0.bamboo_leaves.name=Bambusowe liście -tile.leaves_0.magic_leaves.name=Liście magicznego drzewa -tile.leaves_1.umbran_leaves.name=Umbrowe liście -tile.leaves_1.dead_leaves.name=Martwe liście -tile.leaves_1.fir_leaves.name=Jodłowe liście -tile.leaves_1.ethereal_leaves.name=Eteryczne liście -tile.leaves_2.origin_leaves.name=Liście originu -tile.leaves_2.pink_cherry_leaves.name=Liście różowej wiśni -tile.leaves_2.white_cherry_leaves.name=Liście białej wiśni -tile.leaves_2.maple_leaves.name=Klonowe liście -tile.leaves_3.hellbark_leaves.name=Piekielne liście -tile.leaves_3.flowering_leaves.name=Liście kwitnącego dębu -tile.leaves_3.jacaranda_leaves.name=Jakarandowe liście -tile.leaves_3.sacred_oak_leaves.name=Liście Świętego Dębu -tile.leaves_4.mangrove_leaves.name=Namorzynowe liście -tile.leaves_4.palm_leaves.name=Palmowe liście -tile.leaves_4.redwood_leaves.name=Cedrowe liście -tile.leaves_4.willow_leaves.name=Wierzbowe liście -tile.leaves_5.pine_leaves.name=Sosnowe liście -tile.leaves_5.mahogany_leaves.name=Mahoniowe liście -tile.leaves_5.ebony_leaves.name=Hebanowe liście -tile.leaves_5.eucalyptus_leaves.name=Eukaliptusowe liście -tile.leaves_6.red_big_flower_petal.name=Czerwony płatek olbrzymiego kwiatu -tile.leaves_6.yellow_big_flower_petal.name=Żółty płatek olbrzymiego kwiatu -tile.log_0.sacred_oak_log.name=Drewno Świętego Dębu -tile.log_0.cherry_log.name=Wiśniowe drewno -tile.log_0.umbran_log.name=Umbrowe drewno -tile.log_0.fir_log.name=Jodłowe drewno -tile.log_1.ethereal_log.name=Eteryczne drewno -tile.log_1.magic_log.name=Drewno magicznego drzewa -tile.log_1.mangrove_log.name=Namorzynowe drewno -tile.log_1.palm_log.name=Palmowe drewno -tile.log_2.redwood_log.name=Cedrowe drewno -tile.log_2.willow_log.name=Wierzbowe drewno -tile.log_2.pine_log.name=Sosnowe drewno -tile.log_2.hellbark_log.name=Piekielne drewno -tile.log_3.jacaranda_log.name=Jakarandowe drewno -tile.log_3.mahogany_log.name=Mahoniowe drewno -tile.log_3.ebony_log.name=Hebanowe drewno -tile.log_3.eucalyptus_log.name=Eukaliptusowe drewno -tile.log_4.giant_flower_stem.name=Łodyga olbrzymiego kwiatu -tile.log_4.dead_log.name=Martwe drewno -tile.magic_fence.name=Płot z magicznego drewna -tile.magic_fence_gate.name=Furtka z magicznego drewna -tile.magic_wood_slab.name=Płyta z magicznego drewna -tile.magic_stairs.name=Schody z magicznego drewna -tile.mahogany_fence.name=Mahoniowy płot -tile.mahogany_fence_gate.name=Mahoniowa furtka -tile.mahogany_wood_slab.name=Mahoniowa płyta -tile.mahogany_stairs.name=Mahoniowe schody -tile.mangrove_fence.name=Namorzynowy płot -tile.mangrove_fence_gate.name=Namorzynowa furtka -tile.mangrove_wood_slab.name=Namorzynowa płyta -tile.mangrove_stairs.name=Namorzynowe schody -tile.mud.mud.name=Muł -tile.mud_brick_block.name=Mułowe cegły -tile.mud_brick_slab.name=Płyta z mułowych cegieł -tile.mud_brick_stairs.name=Schody z mułowych cegieł -tile.mushroom.toadstool.name=Muchomor -tile.mushroom.portobello.name=Pieczarka portobello -tile.mushroom.blue_milk_cap.name=Mleczaj niebieski -tile.mushroom.glowshroom.name=Świecący grzyb -tile.mushroom.flat_mushroom.name=Płaski grzyb -tile.mushroom.shadow_shroom.name=Mroczny grzyb -tile.palm_fence.name=Palmowy płot -tile.palm_fence_gate.name=Palmowa furtka -tile.palm_wood_slab.name=Palmowa płyta -tile.palm_stairs.name=Palmowe schody -tile.pine_fence.name=Sosnowy płot -tile.pine_fence_gate.name=Sosnowa furtka -tile.pine_wood_slab.name=Sosnowa płyta -tile.pine_stairs.name=Sosnowe schody -tile.planks_0.sacred_oak_planks.name=Deski ze Świętego Dębu -tile.planks_0.cherry_planks.name=Wiśniowe deski -tile.planks_0.umbran_planks.name=Umbrowe deski -tile.planks_0.fir_planks.name=Jodłowe deski -tile.planks_0.ethereal_planks.name=Eteryczne deski -tile.planks_0.magic_planks.name=Deski z magicznego drewna -tile.planks_0.mangrove_planks.name=Namorzynowe deski -tile.planks_0.palm_planks.name=Palmowe deski -tile.planks_0.redwood_planks.name=Cedrowe deski -tile.planks_0.willow_planks.name=Wierzbowe deski -tile.planks_0.bamboo_thatching.name=Sprasowany bambus -tile.planks_0.pine_planks.name=Sosnowe deski -tile.planks_0.hellbark_planks.name=Deski z piekielnego drewna -tile.planks_0.jacaranda_planks.name=Jakarandowe deski -tile.planks_0.mahogany_planks.name=Mahoniowe deski -tile.planks_0.ebony_planks.name=Hebanowe deski -tile.planks_0.eucalyptus_planks.name=Eukaliptusowe deski -tile.plant_0.shortgrass.name=Niska trawa -tile.plant_0.mediumgrass.name=Średnia trawa -tile.plant_0.bush.name=Krzak -tile.plant_0.sprout.name=Latorośl -tile.plant_0.poisonivy.name=Trujący bluszcz -tile.plant_0.berrybush.name=Krzak jagodowy -tile.plant_0.shrub.name=Krzew -tile.plant_0.wheatgrass.name=Dzika pszenica -tile.plant_0.dampgrass.name=Wilgotna trawa -tile.plant_0.koru.name=Paproć Koru -tile.plant_0.cloverpatch.name=Poletko koniczyny -tile.plant_0.leafpile.name=Stos liści -tile.plant_0.deadleafpile.name=Stos martwych liści -tile.plant_0.deadgrass.name=Martwa trawa -tile.plant_0.desertgrass.name=Pustynna trawa -tile.plant_0.desertsprouts.name=Pustynne kapusty -tile.plant_1.dunegrass.name=Wydmowa trawa -tile.plant_1.spectralfern.name=Widmowa paproć -tile.plant_1.thorn.name=Ciernie -tile.plant_1.wildrice.name=Dziki ryż -tile.plant_1.cattail.name=Pałka -tile.plant_1.rivercane.name=Trzcina cukrowa -tile.plant_1.tinycactus.name=Malutki kaktus -tile.plant_1.devilweed.name=Diabelski chwast -tile.plant_1.reed.name=Trzcina -tile.plant_1.root.name=Korzeń -tile.plant_1.rafflesia.name=Bukietnica -tile.redwood_fence.name=Cedrowy płot -tile.redwood_fence_gate.name=Cedrowa furtka -tile.redwood_wood_slab.name=Cedrowa płyta -tile.redwood_stairs.name=Cedrowe schody -tile.sacred_oak_fence.name=Płot ze Świętego Dębu -tile.sacred_oak_fence_gate.name=Furtka ze Świętego Dębu -tile.sacred_oak_wood_slab.name=Płyta ze Świętego Dębu -tile.sacred_oak_stairs.name=Schody ze Świętego Dębu -tile.sapling_0.yellow_autumn_sapling.name=Sadzonka żółtej jesieni -tile.sapling_0.orange_autumn_sapling.name=Sadzonka złotej jesieni -tile.sapling_0.bamboo_sapling.name=Sadzonka bambusa -tile.sapling_0.magic_sapling.name=Sadzonka magicznego drzewa -tile.sapling_0.umbran_sapling.name=Sadzonka umbru -tile.sapling_0.dead_sapling.name=Martwa sadzonka -tile.sapling_0.fir_sapling.name=Sadzonka jodły -tile.sapling_0.ethereal_sapling.name=Sadzonka eterycznego drzewa -tile.sapling_1.origin_sapling.name=Sadzonka Originu -tile.sapling_1.pink_cherry_sapling.name=Sadzonka różowej wiśni -tile.sapling_1.white_cherry_sapling.name=Sadzonka białej wiśni -tile.sapling_1.maple_sapling.name=Sadzonka klonu -tile.sapling_1.hellbark_sapling.name=Sadzonka piekielnego drzewa -tile.sapling_1.flowering_sapling.name=Sadzonka kwitnącego dębu -tile.sapling_1.jacaranda_sapling.name=Sadzonka jakarandy -tile.sapling_1.sacred_oak_sapling.name=Sadzonka Świętego Dębu -tile.sapling_2.mangrove_sapling.name=Sadzonka namorzynu -tile.sapling_2.palm_sapling.name=Sadzonka palmy -tile.sapling_2.redwood_sapling.name=Sadzonka cedru -tile.sapling_2.willow_sapling.name=Sadzonka wierzby -tile.sapling_2.pine_sapling.name=Sadzonka sosny -tile.sapling_2.mahogany_sapling.name=Sadzonka mahoniu -tile.sapling_2.ebony_sapling.name=Sadzonka hebanu -tile.sapling_2.eucalyptus_sapling.name=Sadzonka eukaliptusa -tile.seaweed.kelp.name=Wodorosty -tile.stone_formations.stone_formation.name=Formacja skalna -tile.terrarium.terrarium_fern.name=Paprociowe Terrarium -tile.terrarium.terrarium_mushroom.name=Grzybowe terrarium -tile.terrarium.terrarium_cactus.name=Kaktusowe terrarium -tile.terrarium.terrarium_flax.name=Lniane terrarium -tile.terrarium.terrarium_flower.name=Kwietne terrarium -tile.terrarium.terrarium_koru.name=Koru terrarium -tile.terrarium.terrarium_bamboo.name=Bambusowe terrarium -tile.terrarium.terrarium_sapling.name=Drzewne terrarium -tile.terrarium.terrarium_glowshroom.name=Terrarium świecących grzybów -tile.terrarium.terrarium_dead.name=Martwe terrarium -tile.terrarium.terrarium_mystic.name=Mistyczne terrarium -tile.terrarium.terrarium_ominous.name=Złowieszcze terrarium -tile.terrarium.terrarium_wasteland.name=Nieużytkowe terrarium -tile.terrarium.terrarium_origin.name=Originowe terrarium -tile.terrarium.terrarium_nether.name=Netherowe terrarium -tile.terrarium.terrarium_ender.name=Enderowe terrarium -tile.tree_moss.name=Umbrowe pnącza -tile.turnip_block.name=Rzepa -tile.umbran_fence.name=Umbrowy płot -tile.umbran_fence_gate.name=Umbrowa furtka -tile.umbran_wood_slab.name=Umbrowa płyta -tile.umbran_stairs.name=Umbrowe schody -tile.waterlily.lily_medium.name=Średni liść lilii wodnej -tile.waterlily.lily_small.name=Małe liście lilii wodnej -tile.waterlily.lily_tiny.name=Malutkie liście lilii wodnej -tile.waterlily.lily_flower.name=Kwiatowa lilia wodna -tile.white_sand.name=Biały piasek -tile.white_sandstone.white_sandstone.name=Biały piaskowiec -tile.white_sandstone.chiseled_white_sandstone.name=Rzeźbiony biały piaskowiec -tile.white_sandstone.smooth_white_sandstone.name=Gładki biały piaskowiec -tile.white_sandstone_slab.name=Płyta z białego piaskowca -tile.white_sandstone_stairs.name=Schody z białego piaskowca -tile.willow_fence.name=Wierzbowy płot -tile.willow_fence_gate.name=Wierzbowa furtka -tile.willow_wood_slab.name=Wierzbowa płyta -tile.willow_stairs.name=Wierzbowe schody -tile.willow_vine.name=Wierzbowe pnącza -tile.hard_ice.name=Utwardzony lód -tile.dried_sand.name=Brudny piach -tile.mud_brick.name=Mułowe cegły -tile.crystal.name=Celestial Crystal - -entity.biomesoplenty.mudball.name=Kula mułu -entity.biomesoplenty.pixie.name=Wróżka -entity.biomesoplenty.wasp.name=Netherowa osa \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/lang/pt_BR.lang b/src/main/resources/assets/biomesoplenty/lang/pt_BR.lang deleted file mode 100644 index 90d27de2d..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/pt_BR.lang +++ /dev/null @@ -1,426 +0,0 @@ -advancements.biomesoplenty.root.title=Biomes O' Plenty -advancements.biomesoplenty.root.description=O sonho de todo explorador... -advancements.biomesoplenty.sacred_oak_sapling.title=Yggdrasil -advancements.biomesoplenty.sacred_oak_sapling.description=Plante uma muda do poderoso Carvalho Sagrado -advancements.biomesoplenty.yin_and_yang.title=Yin e Yang -advancements.biomesoplenty.yin_and_yang.description=Plante uma Flor do Brilho na Floresta Sinistra e uma Morte Fluorescente no Bosque Místico -advancements.biomesoplenty.miners_delight.title=A Vida Encontra um Jeito -advancements.biomesoplenty.miners_delight.description=Encontre a Deleite dos Mineiros nas profundezas de uma caverna -advancements.biomesoplenty.harvest_turnip.title=Nabos! -advancements.biomesoplenty.harvest_turnip.description=Colha um nabo -advancements.biomesoplenty.flesh_and_blood.title=Carne e Sangue -advancements.biomesoplenty.flesh_and_blood.description=Colete carne de um Monte de Vísceras -advancements.biomesoplenty.honey_hell.title=Mel Infernal -advancements.biomesoplenty.honey_hell.description=Pegue um pouco de mel de uma colméia de Abelhas do Nether -advancements.biomesoplenty.terrestrial_artifact.title=E com os Poderes Combinados... -advancements.biomesoplenty.terrestrial_artifact.description=Encontre cada uma das gemas exclusivas de cada bioma -advancements.biomesoplenty.craft_biome_finder.title=Grupo de Procura -advancements.biomesoplenty.craft_biome_finder.description=Faça um Detector de Biomas para te guiar em seu caminho -advancements.biomesoplenty.all_biomes.title=Viajandante -advancements.biomesoplenty.all_biomes.description=Descubra cada um dos biomas do Biomes O' Plenty - -biome_finder.searching=Procurando por %s -biome_finder.found=Encontrado %s! -biome_finder.not_found=Não encontrado. Talvez %s esjeta muito longe. - -config.category.convenienceSettings.title=Opções de Conveniência -config.category.guiSettings.title=Opçõe de GUI -config.category.textureSettings.title=Opções de Textura -config.category.trailSettings.title=Opções de Trilha -config.category.convenienceSettings.tooltip=Opções para conveniência. -config.category.guiSettings.tooltip=Opções relacionadas a GUI. -config.category.textureSettings.tooltip=Opções relacionadas às texturas. -config.category.trailSettings.tooltip=Opções para modificar a visibilidade da trilha. - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [biomeId] -commands.biomesoplenty.biomename.success=Biome ID %s is associated with %s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId] -commands.biomesoplenty.tpbiome.success=Teleported %s to biome %s at (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=Couldn't find biome %s! -commands.biomesoplenty.stats.blocks=Blocks: %s -commands.biomesoplenty.stats.items=Items: %s -commands.biomesoplenty.stats.entities=Entities: %s -commands.biomesoplenty.stats.biomes=Biomes: %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] [block] [metadata] - -container.flower_basket=Cesta de Flores - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=Atenção: Biomes O' Plenty 1.8 está em um estado muito prematuro - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=Sangue -fluid.honey=Mel -fluid.hot_spring_water=Fonte de Água Quente -fluid.poison=Veneno -fluid.sand=Areia Movediça - -item.forge.bucketFilled.name=Balde de %s - -item.ambrosia.name=Ambrosia -item.ash.name=Um Pouco de Cinzas -item.berries.name=Fruta -item.biome_essence.name=Essência de Bioma -item.biome_finder.name=Detector de Biomas -item.black_dye.name=Corante Preto -item.blue_dye.name=Corante Azul -item.brown_dye.name=Corante Marrom -item.cherry_door.name=Porta de Cerejeira -item.crystal_shard.name=Fragmento de Cristal Celestial -item.terrestrial_artifact.name=Artefato Mundano -item.ebony_door.name=Porta de Madeira de Ébano -item.ethereal_door.name=Porta Etérea -item.eucalyptus_door.name=Porta de Eucalipto -item.filled_honeycomb.name=Favo com Mel -item.fir_door.name=Porta de Madeira de Abeto -item.fleshchunk.name=Pedaço de Carne -item.flower_basket.name=Cesta de Flores -item.gem_amber.name=Âmbar -item.gem_amethyst.name=Ametista do End -item.gem_malachite.name=Malaquita -item.gem_peridot.name=Peridoto -item.gem_ruby.name=Rubi -item.gem_sapphire.name=Safira -item.gem_tanzanite.name=Tanzanite -item.gem_topaz.name=Topázio -item.green_dye.name=Corante Verde -item.hellbark_door.name=Porta de Madeira de Árvore Sangrenta -item.honeycomb.name=Favo sem Mel -item.jacaranda_door.name=Porta de Jacarandá -item.jar_empty.name=Jarro Vazio -item.jar_filled_honey.name=Jarro de Mel -item.jar_filled_pixie.name=Jarro com Fada -item.magic_door.name=Porta Mágica -item.mahogany_door.name=Porta de Madeira de Mogno -item.mangrove_door.name=Porta de Madeira de Mangue -item.mudball.name=Bola de Lama -item.mud_brick.name=Tijolo de Lama -item.palm_door.name=Porta de Madeira de Palmeira -item.persimmon.name=Caqui -item.peach.name=Pêssego -item.pear.name=Pêra -item.pinecone.name=Pinha -item.pine_door.name=Porta de Madeira de Pinho -item.pixie_dust.name=Pó de Fada -item.record_wanderer.name=Disco de Música -item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=Porta de Madeira Vermelha -item.ricebowl.name=Tigela de Arroz -item.sacred_oak_door.name=Porta de Carvalho Sagrado -item.saladfruit.name=Salada de Frutas -item.saladveggie.name=Salada de Vegetais -item.saladshroom.name=Salada de Cogumelos -item.shroompowder.name=Pó de Cogumelo -item.turnip.name=Nabo -item.turnip_seeds.name=Sementes de Nabo -item.umbran_door.name=Porta de Umbran -item.white_dye.name=Corante Branco -item.willow_door.name=Porta de Madeira de Salgueiro - -tile.ash_block.name=Bloco de Cinzas -tile.bamboo.name=Bambu -tile.bamboo_thatching.name=Palha de Bambu -tile.biome_block.name=Minério de Essência de Bioma -tile.cherry_fence.name=Cerca de Cerejeira -tile.cherry_fence_gate.name=Portão de Cerejeira -tile.cherry_wood_slab.name=Laje de Cerejeira -tile.cherry_stairs.name=Escadas de Cerejeira -tile.coral.pink_coral.name=Carvão Rosa -tile.coral.orange_coral.name=Carvão Laranja -tile.coral.blue_coral.name=Carvão Azul -tile.coral.glowing_coral.name=Carvão Brilhante -tile.coral.algae.name=Alga -tile.dirt.loamy_dirt.name=Terra Argilosa -tile.dirt.sandy_dirt.name=Terra Arenosa -tile.dirt.silty_dirt.name=Terra Lamaçenta -tile.dirt.coarse_loamy_dirt.name=Terra Argilosa Áspera -tile.dirt.coarse_sandy_dirt.name=Terra Arenosa Áspera -tile.dirt.coarse_silty_dirt.name=Terra Lamaçenta Áspera -tile.double_plant.flax.name=Linho -tile.double_plant.tall_cattail.name=Planta Rabo-de-Gato Alta -tile.double_plant.eyebulb.name=Globo Ocular -tile.ebony_fence.name=Cerca de Madeira de Ébano -tile.ebony_fence_gate.name=Portão de Madeira de Ébano -tile.ebony_wood_slab.name=Laje de Madeira de Ébano -tile.ebony_stairs.name=Escadas de Madeira de Ébano -tile.ethereal_fence.name=Cerca Etérea -tile.ethereal_fence_gate.name=Portão Etéreo -tile.ethereal_wood_slab.name=Laje Etérea -tile.ethereal_stairs.name=Escadas Etéreas -tile.eucalyptus_fence.name=Cerca de Eucalipto -tile.eucalyptus_fence_gate.name=Portão de Eucalipto -tile.eucalyptus_wood_slab.name=Laje de Eucalipto -tile.eucalyptus_stairs.name=Escadas de Eucalipto -tile.farmland_0.loamy_farmland.name=Terra Argilosa -tile.farmland_0.sandy_farmland.name=Terra Arenosa -tile.farmland_1.silty_farmland.name=Terra Lamaçenta -tile.fir_fence.name=Cerca de Madeira de Abeto -tile.fir_fence_gate.name=Portão de Madeira de Abeto -tile.fir_wood_slab.name=Laje de Madeira de Abeto -tile.fir_stairs.name=Escadas de Madeira de Abeto -tile.flesh.name=Carne -tile.flower_0.clover.name=Trevo -tile.flower_0.swampflower.name=Flor do Pântano -tile.flower_0.deathbloom.name=Morte Fluorescente -tile.flower_0.glowflower.name=Flor do Brilho -tile.flower_0.blue_hydrangea.name=Hortênsia Azul -tile.flower_0.orange_cosmos.name=Cosmos Laranjado -tile.flower_0.pink_daffodil.name=Abrótea Rosa -tile.flower_0.wildflower.name=Flor Selvagem -tile.flower_0.violet.name=Violeta -tile.flower_0.white_anemone.name=Anêmona Branca -tile.flower_0.enderlotus.name=Lótus do End -tile.flower_0.bromeliad.name=Bromélia -tile.flower_0.wilted_lily.name=Lírio Selvagem -tile.flower_0.pink_hibiscus.name=Hibisco Rosa -tile.flower_0.lily_of_the_valley.name=Lírio do Vale -tile.flower_0.burning_blossom.name=Flor Flamejante -tile.flower_1.lavender.name=Lavanda -tile.flower_1.goldenrod.name=Haste Dourada -tile.flower_1.bluebells.name=Sino Azul -tile.flower_1.miners_delight.name=Deleito dos Mineiros -tile.flower_1.icy_iris.name=Íris Gelado -tile.flower_1.rose.name=Rosa -tile.flower_vine.name=Vinhas com Flores -tile.gem_block.amethyst_block.name=Bloco de Ametista -tile.gem_block.ruby_block.name=Bloco de Rubi -tile.gem_block.peridot_block.name=Bloco de Peridoto -tile.gem_block.topaz_block.name=Bloco de Topázio -tile.gem_block.tanzanite_block.name=Bloco de Tanzanite -tile.gem_block.malachite_block.name=Bloco de Malaquita -tile.gem_block.sapphire_block.name=Bloco de Safira -tile.gem_block.amber_block.name=Bloco de Âmbar -tile.gem_ore.amethyst_ore.name=Minério de Ametista do End -tile.gem_ore.ruby_ore.name=Minério de Rubi -tile.gem_ore.peridot_ore.name=Minério de Peridoto -tile.gem_ore.topaz_ore.name=Minério de Topázio -tile.gem_ore.tanzanite_ore.name=Minério de Tanzanite -tile.gem_ore.malachite_ore.name=Minério de Malaquita -tile.gem_ore.sapphire_ore.name=Minério de Safira -tile.gem_ore.amber_ore.name=Minério de Âmbar -tile.grass.daisy_grass_block.name=Grama com Flores -tile.grass.spectral_moss.name=Musgo Espectral -tile.grass.overgrown_stone.name=Pedra com Musgo -tile.grass.loamy_grass_block.name=Grama Argilosa -tile.grass.sandy_grass_block.name=Grama Arenosa -tile.grass.silty_grass_block.name=Grama Lamaçenta -tile.grass.origin_grass_block.name=Grama Originária -tile.grass.overgrown_netherrack.name=Rocha do Nether com Musgo -tile.grass.mycelial_netherrack.name=Rocha do Nether Miceliana -tile.grass_path.grass_loamy_path.name=Caminho na Grama Argilosa -tile.grass_path.grass_sandy_path.name=Caminho na Grama Arenosa -tile.grass_path.grass_silty_path.name=Caminho na Grama Lamaçenta -tile.hellbark_fence.name=Cerca de Árvore Sangrenta -tile.hellbark_fence_gate.name=Portão de Árvore Sangrenta -tile.hellbark_wood_slab.name=Laje de Árvore Sangrenta -tile.hellbark_stairs.name=Escadas de Árvore Sangrenta -tile.hive.hive_block.name=Bloco de Colméia -tile.hive.honeycomb_block.name=Bloco de Favo de Mel -tile.hive.empty_honeycomb_block.name=Bloco de Favo sem Mel -tile.hive.filled_honeycomb_block.name=Bloco de Favo com Mel -tile.honey_block.name=Bloco de Mel -tile.ivy.name=Hera -tile.jacaranda_fence.name=Cerca de Jacarandá -tile.jacaranda_fence_gate.name=Portão de Jacarandá -tile.jacaranda_wood_slab.name=Laje de Jacarandá -tile.jacaranda_stairs.name=Escadas de Jacarandá -tile.jelled_poison.name=Veneno Gelatinoso -tile.leaves_0.yellow_autumn_leaves.name=Folhas de Outono Amarelas -tile.leaves_0.orange_autumn_leaves.name=Folhas de Outono Laranjadas -tile.leaves_0.bamboo_leaves.name=Folhas de Bambu -tile.leaves_0.magic_leaves.name=Folhas Mágicas -tile.leaves_1.umbran_leaves.name=Folhas de Umbran -tile.leaves_1.dead_leaves.name=Folhas Mortas -tile.leaves_1.fir_leaves.name=Folhas de Abeto -tile.leaves_1.ethereal_leaves.name=Folhas Etéreas -tile.leaves_2.origin_leaves.name=Folhas de Árvore Originária -tile.leaves_2.pink_cherry_leaves.name=Folhas de Cerejeira Rosa -tile.leaves_2.white_cherry_leaves.name=Folhas de Cerejeira Branca -tile.leaves_2.maple_leaves.name=Folhas de Bordo -tile.leaves_3.hellbark_leaves.name=Folhas de Árvore Sangrenta -tile.leaves_3.flowering_leaves.name=Folhas de Carvalho com Flores -tile.leaves_3.jacaranda_leaves.name=Folhas de Jacarandá -tile.leaves_3.sacred_oak_leaves.name=Folhas de Carvalho Sagrado -tile.leaves_4.mangrove_leaves.name=Folhas de Mangue -tile.leaves_4.palm_leaves.name=Folhas de Palmeira -tile.leaves_4.redwood_leaves.name=Folhas de Árvore de Madeira Vermelha -tile.leaves_4.willow_leaves.name=Folhas de Salgueiro -tile.leaves_5.pine_leaves.name=Folhas de Pinho -tile.leaves_5.mahogany_leaves.name=Folhas de Mogno -tile.leaves_5.ebony_leaves.name=Folhas de Ébano -tile.leaves_5.eucalyptus_leaves.name=Folhas de Eucalipto -tile.leaves_6.red_big_flower_petal.name=Pétala de Flor Vermelha Gigante -tile.leaves_6.yellow_big_flower_petal.name=Pétala de Flor Amarela Gigante -tile.log_0.sacred_oak_log.name=Madeira de Carvalho Sagrado -tile.log_0.cherry_log.name=Madeira de Cerejeira -tile.log_0.umbran_log.name=Madeira de Umbran -tile.log_0.fir_log.name=Madeira de Abeto -tile.log_1.ethereal_log.name=Madeira Etérea -tile.log_1.magic_log.name=Madeira Mágica -tile.log_1.mangrove_log.name=Madeira de Mangue -tile.log_1.palm_log.name=Madeira de Palmeira -tile.log_2.redwood_log.name=Madeira Vermelha -tile.log_2.willow_log.name=Madeira de Salgueiro -tile.log_2.pine_log.name=Madeira de Pinho -tile.log_2.hellbark_log.name=Madeira Sangrenta -tile.log_3.jacaranda_log.name=Madeira de Jacarandá -tile.log_3.mahogany_log.name=Madeira de Mogno -tile.log_3.ebony_log.name=Madeira de Ébano -tile.log_3.eucalyptus_log.name=Madeira de Eucalipto -tile.log_4.giant_flower_stem.name=Caule de Flor Gigante -tile.log_4.dead_log.name=Madeira Morta -tile.magic_fence.name=Cerca Mágica -tile.magic_fence_gate.name=Portão Mágico -tile.magic_wood_slab.name=Laje Mágica -tile.magic_stairs.name=Escadas Mágicas -tile.mahogany_fence.name=Cerca de Mogno -tile.mahogany_fence_gate.name=Portão de Mogno -tile.mahogany_wood_slab.name=Laje de Mogno -tile.mahogany_stairs.name=Escadas de Mogno -tile.mangrove_fence.name=Cerca de Mangue -tile.mangrove_fence_gate.name=Portão de Mangue -tile.mangrove_wood_slab.name=Laje de Mangue -tile.mangrove_stairs.name=Escadas de Mangue -tile.mud.mud.name=Lama -tile.mud_brick_block.name=Tijolos de Lama -tile.mud_brick_slab.name=Laje de Tijolos de Lama -tile.mud_brick_stairs.name=Escadas de Tijolos de Lama -tile.mushroom.toadstool.name=Cogumelo Venenoso -tile.mushroom.portobello.name=Portobello -tile.mushroom.blue_milk_cap.name=Cogumelo de Capa de Leite Azul -tile.mushroom.glowshroom.name=Cogumelo Brilhante -tile.mushroom.flat_mushroom.name=Cogumelo Achatado -tile.mushroom.shadow_shroom.name=Cogumelo das Sombras -tile.palm_fence.name=Cerca de Palmeira -tile.palm_fence_gate.name=Portão de Palmeira -tile.palm_wood_slab.name=Laje de Palmeira -tile.palm_stairs.name=Escadas de Palmeira -tile.pine_fence.name=Cerca de Pinho -tile.pine_fence_gate.name=Portão de Pinho -tile.pine_wood_slab.name=Laje de Pinho -tile.pine_stairs.name=Escadas de Pinho -tile.planks_0.sacred_oak_planks.name=Tábuas de Madeira de Carvalho Sagrado -tile.planks_0.cherry_planks.name=Tábuas de Madeira de Cerejeira -tile.planks_0.umbran_planks.name=Tábuas de Madeira de Umbran -tile.planks_0.fir_planks.name=Tábuas de Madeira de Abeto -tile.planks_0.ethereal_planks.name=Tábuas de Madeira Etérea -tile.planks_0.magic_planks.name=Tábuas de Madeira Mágica -tile.planks_0.mangrove_planks.name=Tábuas de Madeira de Mangue -tile.planks_0.palm_planks.name=Tábuas de Madeira de Palmeira -tile.planks_0.redwood_planks.name=Tábuas de Madeira Vermelha -tile.planks_0.willow_planks.name=Tábuas de Madeira de Salgueiro -tile.planks_0.bamboo_thatching.name=Palha de Bambu -tile.planks_0.pine_planks.name=Tábuas de Madeira de Pinho -tile.planks_0.hellbark_planks.name=Tábuas de Madeira Sangrenta -tile.planks_0.jacaranda_planks.name=Tábuas de Madeira de Jacarandá -tile.planks_0.mahogany_planks.name=Tábuas de Madeira de Mogno -tile.planks_0.ebony_planks.name=Tábuas de Madeira de Ébano -tile.planks_0.eucalyptus_planks.name=Tábuas de Madeira de Eucalipto -tile.plant_0.shortgrass.name=Grama Curta -tile.plant_0.mediumgrass.name=Grama Média -tile.plant_0.bush.name=Arbusto -tile.plant_0.sprout.name=Broto -tile.plant_0.poisonivy.name=Hera Venenosa -tile.plant_0.berrybush.name=Arbusto de Frutas -tile.plant_0.shrub.name=Arbusto -tile.plant_0.wheatgrass.name=Grama de Trigo -tile.plant_0.dampgrass.name=Grama Úmida -tile.plant_0.koru.name=Tentáculos de Grama -tile.plant_0.cloverpatch.name=Trevos -tile.plant_0.leafpile.name=Folhas -tile.plant_0.deadleafpile.name=Folhas Secas -tile.plant_0.deadgrass.name=Grama Morta -tile.plant_0.desertgrass.name=Grama do Deserto -tile.plant_0.desertsprouts.name=Brotos do Deserto -tile.plant_1.dunegrass.name=Grama das Dunas -tile.plant_1.spectralfern.name=Planta Espectral -tile.plant_1.thorn.name=Espinhos -tile.plant_1.wildrice.name=Arroz Selvagem -tile.plant_1.cattail.name=Rabo-de-Gato -tile.plant_1.rivercane.name=Cana do Rio -tile.plant_1.tinycactus.name=Cacto Pequeno -tile.plant_1.devilweed.name=Erva Daninha -tile.plant_1.reed.name=Caniço -tile.plant_1.root.name=Raiz -tile.plant_1.rafflesia.name=Flor Vermelha -tile.redwood_fence.name=Cerca de Madeira Vermelha -tile.redwood_fence_gate.name=Portão de Madeira Vermelha -tile.redwood_wood_slab.name=Laje de Madeira Vermelha -tile.redwood_stairs.name=Escadas de Madeira Vermelha -tile.sacred_oak_fence.name=Cerca de Madeira de Carvalho Sagrado -tile.sacred_oak_fence_gate.name=Portão de Madeira de Carvalho Sagrado -tile.sacred_oak_wood_slab.name=Laje de Madeira de Carvalho Sagrado -tile.sacred_oak_stairs.name=Escadas de Madeira de Carvalho Sagrado -tile.sapling_0.yellow_autumn_sapling.name=Muda de Outono Amarelo -tile.sapling_0.orange_autumn_sapling.name=Muda de Outono Laranjado -tile.sapling_0.bamboo_sapling.name=Muda de Bambu -tile.sapling_0.magic_sapling.name=Muda Mágica -tile.sapling_0.umbran_sapling.name=Muda de Umbran -tile.sapling_0.dead_sapling.name=Muda de Árvore Morta -tile.sapling_0.fir_sapling.name=Muda de Abeto -tile.sapling_0.ethereal_sapling.name=Muda Etérea -tile.sapling_1.origin_sapling.name=Muda de Árvore Originária -tile.sapling_1.pink_cherry_sapling.name=Muda de Cerejeira Rosa -tile.sapling_1.white_cherry_sapling.name=Muda de Cerejeira Branca -tile.sapling_1.maple_sapling.name=Muda de Bordo -tile.sapling_1.hellbark_sapling.name=Muda de Árvore Sangrenta -tile.sapling_1.flowering_sapling.name=Muda de Carvalho com Flores -tile.sapling_1.jacaranda_sapling.name=Muda de Jacarandá -tile.sapling_1.sacred_oak_sapling.name=Muda de Carvalho Sagrado -tile.sapling_2.mangrove_sapling.name=Muda de Mangue -tile.sapling_2.palm_sapling.name=Muda de Palmeira -tile.sapling_2.redwood_sapling.name=Muda de Madeira Vermelha -tile.sapling_2.willow_sapling.name=Muda de Salgueiro -tile.sapling_2.pine_sapling.name=Muda de Pinho -tile.sapling_2.mahogany_sapling.name=Muda de Mogno -tile.sapling_2.ebony_sapling.name=Muda de Ébano -tile.sapling_2.eucalyptus_sapling.name=Muda de Eucalipto -tile.seaweed.kelp.name=Erva Marinha -tile.stone_formations.stone_formation.name=Formação Rochosa -tile.terrarium.terrarium_fern.name=Pote com Samambaia -tile.terrarium.terrarium_mushroom.name=Pote com Cogumelo -tile.terrarium.terrarium_cactus.name=Pote com Cacto -tile.terrarium.terrarium_flax.name=Pote com Linho -tile.terrarium.terrarium_flower.name=Pote com Flor -tile.terrarium.terrarium_koru.name=Pote com Tentáculos de Grama -tile.terrarium.terrarium_bamboo.name=Pote com Bambu -tile.terrarium.terrarium_sapling.name=Pote com Muda -tile.terrarium.terrarium_glowshroom.name=Pote com Cogumelo Brilhante -tile.terrarium.terrarium_dead.name=Pote com Planta Morta -tile.terrarium.terrarium_mystic.name=Pote com Algo Místico -tile.terrarium.terrarium_ominous.name=Pote com Morte Fluorescente -tile.terrarium.terrarium_wasteland.name=Pote com Lírio Selvagem -tile.terrarium.terrarium_origin.name=Pote com Rosa Originária -tile.terrarium.terrarium_nether.name=Pote com Flor Flamejante -tile.terrarium.terrarium_ender.name=Pote com Flor Espectral -tile.tree_moss.name=Musgo de Árvore Umbran -tile.turnip_block.name=Nabo -tile.umbran_fence.name=Cerca de Madeira de Umbran -tile.umbran_fence_gate.name=Portão de Madeira de Umbran -tile.umbran_wood_slab.name=Laje de Madeira de Umbran -tile.umbran_stairs.name=Escadas de Madeira de Umbran -tile.waterlily.lily_medium.name=Vitória Régia Média -tile.waterlily.lily_small.name=Vitória Régia Pequena -tile.waterlily.lily_tiny.name=Vitória Régia Minúscula -tile.waterlily.lily_flower.name=Vitória Régia com Lótus -tile.white_sand.name=Areia Branca -tile.white_sandstone.white_sandstone.name=Arenito Branco -tile.white_sandstone.chiseled_white_sandstone.name=Arenito Branco Talhado -tile.white_sandstone.smooth_white_sandstone.name=Arenito Branco Liso -tile.white_sandstone_slab.name=Laje de Arenito Branco -tile.white_sandstone_stairs.name=Escadas de Arenito Branco -tile.willow_fence.name=Cerca de Salgueiro -tile.willow_fence_gate.name=Portão de Salgueiro -tile.willow_wood_slab.name=Laje de Salgueiro -tile.willow_stairs.name=Escadas de Salgueiro -tile.willow_vine.name=Vinhas de Salgueiro -tile.hard_ice.name=Gelo Endurecido -tile.dried_sand.name=Areia Seca -tile.mud_brick.name=Tijolos de Lama -tile.crystal.name=Cristal Celestial - -entity.mudball.name=Bola de Lama -entity.pixie.name=Fada -entity.wasp.name=Abelha do Nether diff --git a/src/main/resources/assets/biomesoplenty/lang/pt_PT.lang b/src/main/resources/assets/biomesoplenty/lang/pt_PT.lang deleted file mode 100644 index c21e2b659..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/pt_PT.lang +++ /dev/null @@ -1,493 +0,0 @@ -achievement.obtain_flowers=Florescer -achievement.obtain_flowers.desc=Encontra uma flor! -achievement.obtain_berry=Bagamente Frutífero -achievement.obtain_berry.desc=Colhe um baga de uma arbusto! -achievement.obtain_coral=Inteiramente Coralino! -achievement.obtain_coral.desc=Mergulha por algum coral. -achievement.obtain_miners_delight=A Vida encontra Forma -achievement.obtain_miners_delight.desc=Encontra a flor deleite do mineiro numa caverna funda. -achievement.eat_shroom_powder=Disparo -achievement.eat_shroom_powder.desc=Ingere algum pó de cogumelo mágico. -achievement.obtain_turnip=Mercado do Talo -achievement.obtain_turnip.desc=Colhe um nabo. -achievement.grow_sacred_oak=Yggdrasil -achievement.grow_sacred_oak.desc=Planta um rebento de carvalho sagrado. -achievement.craft_flax_string=Diversão Linhosa -achievement.craft_flax_string.desc=Transforma flores de linho em fio de linho. -achievement.craft_dart_blower=Dardos e Ofícios -achievement.craft_dart_blower.desc=Faz um sopra dardos com cana-do-rio. -achievement.craft_muddy_pickaxe=Obter uma Desmelhoria -achievement.craft_muddy_pickaxe.desc=Constrói uma...picareta lamacenta...? -achievement.craft_amethyst_sword=Verdadeiro Espadachim -achievement.craft_amethyst_sword.desc=Melhora para uma espada de ametista. -achievement.obtain_thorn=Bastante Espinhoso -achievement.obtain_thorn.desc=Colhe um espinheiro! -achievement.craft_poison_jar=Coleta o Teu Veneno -achievement.craft_poison_jar.desc=Extrai veneno de uma hera venenosa. -achievement.obtain_deathbloom=Eu Tornei-me a Morte -achievement.obtain_deathbloom.desc=Adquire uma flor da morte. -achievement.obtain_honeycomb=Favo de Mel dos Grandes -achievement.obtain_honeycomb.desc=Rouba um favo de mel cheio de uma colmeia de vespas do Nether. -achievement.obtain_soul=Procura pela Alma -achievement.obtain_soul.desc=Recupera uma alma perdida. -achievement.obtain_wilted_lily=Dádiva de Deus -achievement.obtain_wilted_lily.desc=Resgata um lírio murcho. -achievement.obtain_pixie_dust=Não Respires Isto -achievement.obtain_pixie_dust.desc=Mata uma pixie e coleta o seu pó mágico. -achievement.obtain_celestial_crystal=Longínquo... -achievement.obtain_celestial_crystal.desc=Minera um cristal celestial no Fim. -achievement.craft_terrestrial_artifact=Os Teus Poderes Combinados -achievement.craft_terrestrial_artifact.desc=Combina todas as oito gemas exclusivas de biomas. -achievement.craft_ambrosia=Néctar dos Deuses -achievement.craft_ambrosia.desc=Açúcar, água, mel, bagas, raízes, algas, ichor, pó de pixie e cristais celestiais! -achievement.explore_all_biomes=O Viajante -achievement.explore_all_biomes.desc=Descobre mesmo todos os biomas. -achievement.use_enderporter=Ir para Casa -achievement.use_enderporter.desc=Viaja de volta ao ponto de origem com o porteiro-do-fim -achievement.use_biome_finder=Festa de Pesquisa -achievement.use_biome_finder.desc=Usa o localizador de biomas para descobrires um bioma. - -biome_finder.searching=Procurar por %s. -biome_finder.found=%s encontrado! -biome_finder.not_found=Nada encontrado, talvez %s seja muito longe. - -config.category.convenienceSettings.title=Definições Convenientes -config.category.guiSettings.title=Definições de GUI -config.category.textureSettings.title=Definições de Textura -config.category.trailSettings.title=Definições de Caminho -config.category.convenienceSettings.tooltip=Necessária tesoura para colher flores. -config.category.guiSettings.tooltip=Usar o tipo de mundo Biomes O' Plenty por predefinição quando selecionar um mundo. -config.category.textureSettings.tooltip=Ignorar a textura do forge e usar a nossa em sua vez. (É mais fixe!) -config.category.trailSettings.tooltip=Modificar a visibilidade do caminho - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [biomeId] -commands.biomesoplenty.biomename.success=O ID de bioma %s está associado a %s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [biomeId] -commands.biomesoplenty.tpbiome.success=%s teletransportado para o bioma %s em (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=Não consegue encontrar o bioma %s! -commands.biomesoplenty.stats.blocks=Blocos: %s -commands.biomesoplenty.stats.items=Itens: %s -commands.biomesoplenty.stats.entities=Entidades: %s -commands.biomesoplenty.stats.biomes=Biomas: %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [raio] [bloco] [metadata] - -container.flower_basket=Cesto de Flores - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=Notice: Biomes O' Plenty 1.8 is in a very early state - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=Sangue -fluid.honey=Mel -fluid.hot_spring_water=Água de Fonte Termal -fluid.poison=Veneno -fluid.sand=Areia movediça - -item.forge.bucketFilled.name=Balde de %s - -item.ambrosia.name=Ambrosia -item.amethyst_axe.name=Machado de Ametista -item.amethyst_boots.name=Botas de Ametista -item.amethyst_chestplate.name=Peitoral de Ametista -item.amethyst_helmet.name=Capacete de Ametista -item.amethyst_hoe.name=Enxada de Ametista -item.amethyst_leggings.name=Perneiras de Ametista -item.amethyst_pickaxe.name=Picareta de Ametista -item.amethyst_scythe.name=Foice de Ametista -item.amethyst_shovel.name=Pá de Ametista -item.amethyst_sword.name=Espada de Ametista -item.ash.name=Monte de Cinzas -item.berries.name=Baga -item.biome_essence.name=Essência de Bioma -item.biome_finder.name=Localizador de Bioma -item.black_dye.name=Tinta Preta -item.blue_dye.name=Tinta Azul -item.brown_dye.name=Tinta Castanha -item.cherry_door.name=Porta de Cerejeira -item.crystal_shard.name=Estilhaço de Cristal Celestial -item.terrestrial_artifact.name=Artefacto Terrestre -item.flax_string.name=Fio de Linho -item.dart.name=Dardo -item.dart_blower.name=Sopra Dardos -item.diamond_scythe.name=Foice de Diamante -item.dull_flower_band.name=Coroa de Flores Monótona -item.ebony_door.name=Porta de Ébano -item.enderporter.name=Porteiro-do-fim -item.ethereal_door.name=Porta de Madeira Etérea -item.eucalyptus_door.name=Porta de Eucalipto -item.exotic_flower_band.name=Coroa de Flores Exótica -item.filled_honeycomb.name=Favo de Mel Cheio -item.fir_door.name=Porta de Pinheiro -item.fleshchunk.name=Pedaço de Carne -item.flippers.name=Barbatanas -item.flower_basket.name=Cesto de Flor -item.gem_amber.name=Âmbar -item.gem_amethyst.name=Ametista do Fim -item.gem_malachite.name=Malaquite -item.gem_peridot.name=Peridoto -item.gem_ruby.name=Rubi -item.gem_sapphire.name=Safira -item.gem_tanzanite.name=Tanzanite -item.gem_topaz.name=Topázio -item.green_dye.name=Tinta Verde -item.gold_scythe.name=Foice de Ouro -item.hellbark_door.name=Porta de Casca do Inferno -item.honeycomb.name=Favo de Mel Vazio -item.ichor.name=Ichor -item.iron_scythe.name=Foice de Ferro -item.jacaranda_door.name=Porta de Jacarandá -item.jar_empty.name=Boião Vazio -item.jar_filled_honey.name=Boião de Mel -item.jar_filled_pixie.name=Boião de Pixie -item.jar_filled_poison.name=Boião de Veneno Extraído -item.lush_flower_band.name=Coroa de Flores Exuberante -item.magic_door.name=Porta de Madeira Mágica -item.mahogany_door.name=Porta de Mogno -item.mangrove_door.name=Porta de Mangue -item.mudball.name=Bola de Lama -item.mud_axe.name=Machado Lamacento -item.mud_boots.name=Botas Lamacentas -item.mud_brick.name=Tijolos Lamacentos -item.mud_chestplate.name=Peitoral Lamacento -item.mud_helmet.name=Capacete Lamacento -item.mud_hoe.name=Enxada Lamacento -item.mud_leggings.name=Perneiras Lamacentas -item.mud_pickaxe.name=Picareta Lamacenta -item.mud_scythe.name=Foice Lamacenta -item.mud_shovel.name=Pá Lamacenta -item.mud_sword.name=Espada Lamacenta -item.palm_door.name=Porta de Palmeira -item.persimmon.name=Dióspiro -item.peach.name=Pêssego -item.pear.name=Pera -item.pinecone.name=Pinha -item.pine_door.name=Porta de Pinho -item.pixie_dust.name=Pó de Pixie -item.plain_flower_band.name=Coroa de Flores Simples -item.poisondart.name=Dardo de Veneno -item.record_corruption.name=Disco de Música -item.record.corruption.desc=??? -item.record_wanderer.name=Disco de Música -item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=Porta de Sequoia -item.ricebowl.name=Tigela de Arroz -item.sacred_oak_door.name=Porta de Carvalho Sagrado -item.saladfruit.name=Salada de Fruta -item.saladveggie.name=Salada Vegan -item.saladshroom.name=Salada de Cogumelos -item.shroompowder.name=Pó de Cogumelo -item.soul.name=Alma -item.spawn_egg_pixie.name=Evocar Pixie -item.spawn_egg_wasp.name=Evocar Vespa -item.spawn_egg_snail.name=Evocar Caracol -item.spawn_egg_butterfly.name=Evocar Borboleta -item.stone_scythe.name=Foice de Pedra -item.turnip.name=Nabo -item.turnip_seeds.name=Sementes de Nabo -item.umbran_door.name=Porta de Madeira Sombria -item.wading_boots.name=Galochas -item.white_dye.name=Tinta Branca -item.willow_door.name=Porta de Salgueiro -item.wood_scythe.name=Foice de Madeira - -tile.ash_block.name=Bloco de Cinza -tile.bamboo.name=Bambu -tile.bamboo_thatching.name=Colmo de Bambu -tile.biome_block.name=Minério de Essência de Bioma -tile.bone_segment.small_bone_segment.name=Segmento de Osso Pequeno -tile.bone_segment.medium_bone_segment.name=Segmento de Osso Médio -tile.bone_segment.large_bone_segment.name=Segmento de Osso Grande -tile.cherry_fence.name=Cerca de Cerejeira -tile.cherry_fence_gate.name=Portão de Cerejeira -tile.cherry_wood_slab.name=Degrau de Madeira de Cerejeira -tile.cherry_stairs.name=Escadas de Madeira de Cerejeira -tile.coral.pink_coral.name=Coral Cor-de-rosa -tile.coral.orange_coral.name=Coral Laranja -tile.coral.blue_coral.name=Coral Azul -tile.coral.glowing_coral.name=Coral brilhante -tile.coral.algae.name=Algas -tile.dirt.loamy_dirt.name=Terra Argilosa -tile.dirt.sandy_dirt.name=Terra Arenosa -tile.dirt.silty_dirt.name=Terra Sedimentosa -tile.dirt.coarse_loamy_dirt.name=Terra Argilosa Infértil -tile.dirt.coarse_sandy_dirt.name=Terra Arenosa Infértil -tile.dirt.coarse_silty_dirt.name=Terra Sedimentosa Infértil -tile.double_plant.flax.name=Linho -tile.double_plant.tall_cattail.name=Cauda de Caudas de Gato -tile.double_plant.eyebulb.name=Erva-de-São-Cristóvão -tile.ebony_fence.name=Cerca de Ébano -tile.ebony_fence_gate.name=Portão de Ébano -tile.ebony_wood_slab.name=Degrau de Madeira de Ébano -tile.ebony_stairs.name=Escadas de Madeira de Ébano -tile.ethereal_fence.name=Cerca de Madeira Etérea -tile.ethereal_fence_gate.name=Portão de Madeira Etérea -tile.ethereal_wood_slab.name=Degrau de Madeira Etérea -tile.ethereal_stairs.name=Escadas de Madeira Etérea -tile.eucalyptus_fence.name=Cerca de Eucalipto -tile.eucalyptus_fence_gate.name=Portão de Eucalipto -tile.eucalyptus_wood_slab.name=Degrau de Madeira de Eucalipto -tile.eucalyptus_stairs.name=Escadas de Madeira de Eucalipto -tile.farmland_0.loamy_farmland.name=Terra Arada Argilosa -tile.farmland_0.sandy_farmland.name=Terra Arada Arenosa -tile.farmland_1.silty_farmland.name=Terra Arada Sedimentosa -tile.fir_fence.name=Cerca de Pinheiro -tile.fir_fence_gate.name=Portão de Pinheiro -tile.fir_wood_slab.name=Degrau de Madeira de Pinheiro -tile.fir_stairs.name=Escadas de Madeira de Pinheiro -tile.flesh.name=Carne -tile.flower_0.clover.name=Trevo -tile.flower_0.swampflower.name=Flor do Pântano -tile.flower_0.deathbloom.name=Flor da Morte -tile.flower_0.glowflower.name=Flor Luminosa -tile.flower_0.blue_hydrangea.name=Hortência Azul -tile.flower_0.orange_cosmos.name=Cosmos Laranja -tile.flower_0.pink_daffodil.name=Narciso Cor-de-rosa -tile.flower_0.wildflower.name=Flor Selvagem -tile.flower_0.violet.name=Violeta -tile.flower_0.white_anemone.name=Anémona Branca -tile.flower_0.enderlotus.name=Lótus do Fim -tile.flower_0.bromeliad.name=Bromélia -tile.flower_0.wilted_lily.name=Lírio Murcho -tile.flower_0.pink_hibiscus.name=Hibisco Cor-de-rosa -tile.flower_0.lily_of_the_valley.name=Lírio-do-vale -tile.flower_0.burning_blossom.name=Flor Escaldante -tile.flower_1.lavender.name=Lavanda -tile.flower_1.goldenrod.name=Solidago -tile.flower_1.bluebells.name=Campânula -tile.flower_1.miners_delight.name=Deleite do Mineiro -tile.flower_1.icy_iris.name=Íris Gélido -tile.flower_1.rose.name=Rosa -tile.flower_vine.name=Trepadeira Florida -tile.gem_block.amethyst_block.name=Bloco de Ametista -tile.gem_block.ruby_block.name=Bloco de Rubi -tile.gem_block.peridot_block.name=Bloco de Peridoto -tile.gem_block.topaz_block.name=Bloco de Topázio -tile.gem_block.tanzanite_block.name=Bloco de Tanzanite -tile.gem_block.malachite_block.name=Bloco de Malaquite -tile.gem_block.sapphire_block.name=Bloco de Safira -tile.gem_block.amber_block.name=Bloco de Âmbar -tile.gem_ore.amethyst_ore.name=Minério de Ametista do Fim -tile.gem_ore.ruby_ore.name=Minério de Rubi -tile.gem_ore.peridot_ore.name=Minério de Peridoto -tile.gem_ore.topaz_ore.name=Minério de Topázio -tile.gem_ore.tanzanite_ore.name=Minério de Tanzanite -tile.gem_ore.malachite_ore.name=Minério de Malaquite -tile.gem_ore.sapphire_ore.name=Minério de Safira -tile.gem_ore.amber_ore.name=Minério de Âmbar -tile.grass.daisy_grass_block.name=Bloco de Relva Florido -tile.grass.spectral_moss.name=Musgo Espectral -tile.grass.smoldering_grass_block.name=Bloco de Relva de Combustão Lenta -tile.grass.loamy_grass_block.name=Bloco de Relva Argiloso -tile.grass.sandy_grass_block.name=Bloco de Relva Arenosa -tile.grass.silty_grass_block.name=Bloco de Relva Sedimentosa -tile.grass.origin_grass_block.name=Bloco de Relva Original -tile.grass.overgrown_netherrack.name=Rocha do Nether Coberta de Vegetação -tile.hellbark_fence.name=Cerca de Casca do Inferno -tile.hellbark_fence_gate.name=Portão de Casca do Inferno -tile.hellbark_wood_slab.name=Degrau de Madeira de Casca do Inferno -tile.hellbark_stairs.name=Escadas de Madeira de Casca do Inferno -tile.hive.hive_block.name=Bloco de Colmeia -tile.hive.honeycomb_block.name=Bloco de Favo de Mel -tile.hive.empty_honeycomb_block.name=Bloco de Favo de Mel Vazio -tile.hive.filled_honeycomb_block.name=Bloco de Favo de Mel Cheio -tile.honey_block.name=Bloco de Mel -tile.ivy.name=Hera -tile.jacaranda_fence.name=Cerca de Jacarandá -tile.jacaranda_fence_gate.name=Portão de Jacarandá -tile.jacaranda_wood_slab.name=Degrau de Madeira de Jacarandá -tile.jacaranda_stairs.name=Escadas de Madeira de Jacarandá -tile.leaves_0.yellow_autumn_leaves.name=Folhas Amarelas de Outono -tile.leaves_0.orange_autumn_leaves.name=Folhas Laranjas de Outono -tile.leaves_0.bamboo_leaves.name=Folhas de Bambu -tile.leaves_0.magic_leaves.name=Folhas Mágicas -tile.leaves_1.umbran_leaves.name=Folhas Sombrias -tile.leaves_1.dead_leaves.name=Folhas Mortas -tile.leaves_1.fir_leaves.name=Folhas de Pinheiro -tile.leaves_1.ethereal_leaves.name=Folhas Etéreas -tile.leaves_2.origin_leaves.name=Folhas Originais -tile.leaves_2.pink_cherry_leaves.name=Folhas Cor-de-rosa de Cerejeira -tile.leaves_2.white_cherry_leaves.name=Folhas Brancas de Cerejeira -tile.leaves_2.maple_leaves.name=Folhas de Ácer -tile.leaves_3.hellbark_leaves.name=Folhas de Casca do Inferno -tile.leaves_3.flowering_leaves.name=Folhas de Carvalho Floridas -tile.leaves_3.jacaranda_leaves.name=Folhas de Jacarandá -tile.leaves_3.sacred_oak_leaves.name=Folhas de Carvalho Sagrado -tile.leaves_4.mangrove_leaves.name=Folhas de Mangue -tile.leaves_4.palm_leaves.name=Folhas de Palmeira -tile.leaves_4.redwood_leaves.name=Folhas de Sequoia -tile.leaves_4.willow_leaves.name=Folhas de Salgueiro -tile.leaves_5.pine_leaves.name=Folhas de Pinho -tile.leaves_5.mahogany_leaves.name=Folhas de Mogno -tile.leaves_5.ebony_leaves.name=Folhas de Ébano -tile.leaves_5.eucalyptus_leaves.name=Folhas de Eucalipto -tile.leaves_6.red_big_flower_petal.name=Pétala de Flor Vermelha Gigante -tile.leaves_6.yellow_big_flower_petal.name=Pétala de Flor Amarela Gigante -tile.log_0.sacred_oak_log.name=Madeira de Carvalho Sagrado -tile.log_0.cherry_log.name=Madeira de Cerejeira -tile.log_0.umbran_log.name=Madeira Sombria -tile.log_0.fir_log.name=Madeira de Pinheiro -tile.log_1.ethereal_log.name=Madeira Etérea -tile.log_1.magic_log.name=Madeira Mágica -tile.log_1.mangrove_log.name=Medeira de Mangue -tile.log_1.palm_log.name=Madeira de Palmeira -tile.log_2.redwood_log.name=Madeira de Sequoia -tile.log_2.willow_log.name=Madeira de Salgueiro -tile.log_2.pine_log.name=Madeira de Pinho -tile.log_2.hellbark_log.name=Madeira de Casca do Inferno -tile.log_3.jacaranda_log.name=Madeira de Jacarandá -tile.log_3.mahogany_log.name=Madeira de Mogno -tile.log_3.ebony_log.name=Madeira de Ébano -tile.log_3.eucalyptus_log.name=Madeira de Eucalipto -tile.log_4.giant_flower_stem.name=Caule de Flor Gigante -tile.log_4.dead_log.name=Madeira Morta -tile.magic_fence.name=Cerca de Madeira Mágica -tile.magic_fence_gate.name=Portão de Madeira Mágica -tile.magic_wood_slab.name=Degrau de Madeira Mágica -tile.magic_stairs.name=Escadas de Madeira Mágica -tile.mahogany_fence.name=Cerca de Mogno -tile.mahogany_fence_gate.name=Portão de Mogno -tile.mahogany_wood_slab.name=Degrau de Madeira de Mogno -tile.mahogany_stairs.name=Escadas de Madeira de Mogno -tile.mangrove_fence.name=Cerca de Mangue -tile.mangrove_fence_gate.name=Portão de Mangue -tile.mangrove_wood_slab.name=Degrau de Madeira de Mangue -tile.mangrove_stairs.name=Escadas de Madeira de Mangue -tile.mud.mud.name=Lama -tile.mud_brick_block.name=Tijolo de Lama -tile.mud_brick_slab.name=Degrau de Tijolo de Lama -tile.mud_brick_stairs.name=Escadas de Tijolo de Lama -tile.sand.quicksand.name=Areia Movediça -tile.mushroom.toadstool.name=Cogumelo -tile.mushroom.portobello.name=Cogumelo Portobello -tile.mushroom.blue_milk_cap.name=Cogumelo Índigo -tile.mushroom.glowshroom.name=Cogumelo Brilhante -tile.mushroom.flat_mushroom.name=Cogumelo Liso -tile.mushroom.shadow_shroom.name=Cogumelo das Trevas -tile.palm_fence.name=Cerca de Palmeira -tile.palm_fence_gate.name=Portão de Palmeira -tile.palm_wood_slab.name=Degrau de Madeira de Palmeira -tile.palm_stairs.name=Escadas de Madeira de Palmeira -tile.pine_fence.name=Cerca de Pinho -tile.pine_fence_gate.name=Portão de Pinho -tile.pine_wood_slab.name=Degrau de Madeira de Pinho -tile.pine_stairs.name=Escadas de Madeira de Pinho -tile.planks_0.sacred_oak_planks.name=Tábuas de Madeira de Carvalho Sagrado -tile.planks_0.cherry_planks.name=Tábuas de Madeira de Cerejeira -tile.planks_0.umbran_planks.name=Tábuas de Madeira Sombria -tile.planks_0.fir_planks.name=Tábuas de Madeira de Pinheiro -tile.planks_0.ethereal_planks.name=Tábuas de Madeira Etérea -tile.planks_0.magic_planks.name=Tábuas de Madeira Mágica -tile.planks_0.mangrove_planks.name=Tábuas de Madeira de Mangue -tile.planks_0.palm_planks.name=Tábuas de Madeira de Palmeira -tile.planks_0.redwood_planks.name=Tábuas de Madeira de Sequoia -tile.planks_0.willow_planks.name=Tábuas de Madeira de Salgueiro -tile.planks_0.bamboo_thatching.name=Colmo de Bambu -tile.planks_0.pine_planks.name=Tábuas de Madeira de Pinho -tile.planks_0.hellbark_planks.name=Tábuas de Madeira de Casca do Inferno -tile.planks_0.jacaranda_planks.name=Tábuas de Madeira de Jacarandá -tile.planks_0.mahogany_planks.name=Tábuas de Madeira de Mogno -tile.planks_0.ebony_planks.name=Tábuas de Madeira de Ébano -tile.planks_0.eucalyptus_planks.name=Tábuas de Madeira de Eucalipto -tile.plant_0.shortgrass.name=Relva Baixa -tile.plant_0.mediumgrass.name=Relva Média -tile.plant_0.bush.name=Arbusto -tile.plant_0.sprout.name=Broto -tile.plant_0.poisonivy.name=Hera Venenosa -tile.plant_0.berrybush.name=Arbusto de Bagas -tile.plant_0.shrub.name=Arbusto -tile.plant_0.wheatgrass.name=Relva de Trigo -tile.plant_0.dampgrass.name=Relva Húmida -tile.plant_0.koru.name=Koru -tile.plant_0.cloverpatch.name=Trilha de Trevos -tile.plant_0.leafpile.name=Monte de Folhas -tile.plant_0.deadleafpile.name=Monte de Folhas Mortas -tile.plant_0.deadgrass.name=Relva Morta -tile.plant_0.desertgrass.name=Relva do Deserto -tile.plant_0.desertsprouts.name=Brotos do Deserto -tile.plant_1.dunegrass.name=Relva de Duna -tile.plant_1.spectralfern.name=Erva Daninha Espectral -tile.plant_1.thorn.name=Espinheiro -tile.plant_1.wildrice.name=Arroz Selvagem -tile.plant_1.cattail.name=Caudas de Gato -tile.plant_1.rivercane.name=Cana-do-rio -tile.plant_1.tinycactus.name=Cato pequeno -tile.plant_1.witherwart.name=Fungo do Wither -tile.plant_1.reed.name=Cana -tile.plant_1.root.name=Raiz -tile.plant_1.rafflesia.name=Rafflésia -tile.redwood_fence.name=Cerca de Sequoia -tile.redwood_fence_gate.name=Portão de Sequoia -tile.redwood_wood_slab.name=Degrau de Madeira de Sequoia -tile.redwood_stairs.name=Escadas de Sequoia -tile.sacred_oak_fence.name=Cerca de Carvalho Sagrado -tile.sacred_oak_fence_gate.name=Portão de Carvalho Sagrado -tile.sacred_oak_wood_slab.name=Degrau de Madeira de Carvalho Sagrado -tile.sacred_oak_stairs.name=Escadas de Madeira de Carvalho Sagrado -tile.sapling_0.yellow_autumn_sapling.name=Rebento Amarelo de Outono -tile.sapling_0.orange_autumn_sapling.name=Rebento Laranja de Outono -tile.sapling_0.bamboo_sapling.name=Rebento de Bambu -tile.sapling_0.magic_sapling.name=Rebento Mágico -tile.sapling_0.umbran_sapling.name=Rebento Sombrio -tile.sapling_0.dead_sapling.name=Rebento Morto -tile.sapling_0.fir_sapling.name=Rebento de Pinheiro -tile.sapling_0.ethereal_sapling.name=Rebento Etéreo -tile.sapling_1.origin_sapling.name=Rebento Original -tile.sapling_1.pink_cherry_sapling.name=Rebento de Cerejeira Cor-de-rosa -tile.sapling_1.white_cherry_sapling.name=Rebento de Cerejeira Branca -tile.sapling_1.maple_sapling.name=Rebento de Ácer -tile.sapling_1.hellbark_sapling.name=Rebento de Casca do Inferno -tile.sapling_1.flowering_sapling.name=Rebento de Carvalho Florido -tile.sapling_1.jacaranda_sapling.name=Rebento de Jacarandá -tile.sapling_1.sacred_oak_sapling.name=Rebento de Carvalho Sagrado -tile.sapling_2.mangrove_sapling.name=Rebento de Mangue -tile.sapling_2.palm_sapling.name=Rebento de Palmeira -tile.sapling_2.redwood_sapling.name=Rebento de Sequoia -tile.sapling_2.willow_sapling.name=Rebento de Salgueiro -tile.sapling_2.pine_sapling.name=Rebento de Pinho -tile.sapling_2.mahogany_sapling.name=Rebento de Mogno -tile.sapling_2.ebony_sapling.name=Rebento de Ébano -tile.sapling_2.eucalyptus_sapling.name=Rebento de Eucalipto -tile.seaweed.kelp.name=Algas -tile.stone.limestone.name=Calcário -tile.stone.polished_limestone.name=Calcário Polido -tile.stone.siltstone.name=Siltito -tile.stone.polished_siltstone.name=Siltito Polido -tile.stone.shale.name=Xisto -tile.stone.polished_shale.name=Xisto Polido -tile.terrarium.terrarium_fern.name=Terrário de Erva Daninha -tile.terrarium.terrarium_mushroom.name=Terrário de Cogumelo -tile.terrarium.terrarium_cactus.name=Terrário de Catos -tile.terrarium.terrarium_flax.name=Terrário de Linho -tile.terrarium.terrarium_flower.name=Terrário de Flor -tile.terrarium.terrarium_koru.name=Terrário de Koru -tile.terrarium.terrarium_bamboo.name=Terrário de Bambu -tile.terrarium.terrarium_sapling.name=Terrário de Rebento -tile.terrarium.terrarium_glowshroom.name=Terrário de Cogumelo Luminoso -tile.terrarium.terrarium_dead.name=Terrário da Morte -tile.terrarium.terrarium_mystic.name=Terrário Místico -tile.terrarium.terrarium_ominous.name=Terrário Ameaçador -tile.terrarium.terrarium_wasteland.name=Terrário de Terra Devoluta -tile.terrarium.terrarium_origin.name=Terrário Original -tile.terrarium.terrarium_nether.name=Terrário do Nether -tile.terrarium.terrarium_ender.name=Terrário do Fim -tile.tree_moss.name=Musgo de Árvore -tile.turnip_block.name=Nabo -tile.umbran_fence.name=Cerca de Madeira Sombria -tile.umbran_fence_gate.name=Portão de Madeira Sombria -tile.umbran_wood_slab.name=Degrau de Madeira Sombria -tile.umbran_stairs.name=Escadas de Madeira Sombria -tile.waterlily.lily_medium.name=Nenúfar Médio -tile.waterlily.lily_small.name=Nenúfar Pequeno -tile.waterlily.lily_tiny.name=Nenúfar Minúsculo -tile.waterlily.lily_flower.name=Nenúfar Florido -tile.willow_fence.name=Cerca de Salgueiro -tile.willow_fence_gate.name=Portão de Salgueiro -tile.willow_wood_slab.name=Degrau de Madeira de Salgueiro -tile.willow_stairs.name=Escadas de Madeira de Salgueiro -tile.hard_ice.name=Gelo Endurecido -tile.dried_sand.name=Areia Desidratada -tile.crag_rock.name=Rocha de Penhasco -tile.mud_brick.name=Tijolo de Lama -tile.crystal.name=Cristal Celestial diff --git a/src/main/resources/assets/biomesoplenty/lang/ru_RU.lang b/src/main/resources/assets/biomesoplenty/lang/ru_RU.lang deleted file mode 100644 index 13476ccd3..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/ru_RU.lang +++ /dev/null @@ -1,436 +0,0 @@ -advancements.biomesoplenty.root.title=Biomes O' Plenty -advancements.biomesoplenty.root.description=Мечта исследователя... -advancements.biomesoplenty.sacred_oak_sapling.title=Иггдрасиль -advancements.biomesoplenty.sacred_oak_sapling.description=Посадить великий саженец Священного Дуба -advancements.biomesoplenty.yin_and_yang.title=Инь и Ян -advancements.biomesoplenty.yin_and_yang.description=Посади светящийся цветок в Зловещем Лесу, и смертельный цветок в Мистической Роще -advancements.biomesoplenty.miners_delight.title=Жизнь находит Способ -advancements.biomesoplenty.miners_delight.description=Найди шахтерам цветок радости глубоко в пещере -advancements.biomesoplenty.flesh_and_blood.title=Плоть и Кровь -advancements.biomesoplenty.flesh_and_blood.description=Собери плоть из Вицеральной Кучи -advancements.biomesoplenty.honey_hell.title=Мёд Ада -advancements.biomesoplenty.honey_hell.description=Украсть немного сладкого мёда из Адского Осиного Улья -advancements.biomesoplenty.terrestrial_artifact.title=Твои Силы Объединяются -advancements.biomesoplenty.terrestrial_artifact.description=Найди один из каждого биома эксклюзивный жемчуг -advancements.biomesoplenty.craft_biome_finder.title=Поисковая Группа -advancements.biomesoplenty.craft_biome_finder.description=Скрафтить Искатель Биомов, направляющий твой путь -advancements.biomesoplenty.all_biomes.title=Странник -advancements.biomesoplenty.all_biomes.description=Обнаружить каждый биом в Biomes O' Plenty - -biome_finder.searching=Поиск %s -biome_finder.found=Найдено %s! -biome_finder.not_found=Не найдено, возможно %s находится слишком далеко - -config.category.convenienceSettings.title=Удобные Настройки -config.category.guiSettings.title=Настройки Интерфейса -config.category.textureSettings.title=Настройки Текстур -config.category.trailSettings.title=Настройки Пути -config.category.convenienceSettings.tooltip=Настройки для удобства. -config.category.guiSettings.tooltip=Настройки связанные с Интерфейсом -config.category.textureSettings.tooltip=Настройки связанные с Текстурами -config.category.trailSettings.tooltip=Настройки для изменения видимости пути - -commands.biomesoplenty.usage=/biomesoplenty [аргументы] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [id Биома] -commands.biomesoplenty.biomename.success=ID Биома %s связан с %s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [id Биома] -commands.biomesoplenty.tpbiome.success=Телепортирован %s в биом %s на (%s, %s, %s) -commands.biomesoplenty.tpbiome.error=Не удалось найти биом %s! -commands.biomesoplenty.stats.blocks=Блоки: %s -commands.biomesoplenty.stats.items=Предметы: %s -commands.biomesoplenty.stats.entities=Сущности: %s -commands.biomesoplenty.stats.biomes=Биомы: %s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [радиус] [блок] [метаданные] - -container.flower_basket=Цветочная Корзина - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=Примечание: Biomes O' Plenty 1.8 находится в очень ранней стадии - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=Крови -fluid.honey=Мёда -fluid.hot_spring_water=Воды Горячего Источника -fluid.poison=Яда -fluid.sand=Зыбучего Песка - -item.forge.bucketFilled.name=%s Ведро - -potion.curse=Проклятие - -item.ash.name=Кучка Пепла -item.berries.name=Ягода -item.biome_essence.name=Эссенция Биома -item.biome_finder.name=Искатель Биомов -item.black_dye.name=Чёрный Краситель -item.blue_dye.name=Синий Краситель -item.boat_cherry.name=Вишневая Лодка -item.boat_ebony.name=Эбоновая Лодка -item.boat_ethereal.name=Эфирная Лодка -item.boat_eucalyptus.name=Эвкалиптовая Лодка -item.boat_fir.name=Пихтовая Лодка -item.boat_hellbark.name=Лодка из Адского Дерева -item.boat_jacaranda.name=Жакарандовая Лодка -item.boat_magic.name=Магическая Лодка -item.boat_mahogany.name=Махагониевая Лодка -item.boat_mangrove.name=Мангровая Лодка -item.boat_palm.name=Пальмовая Лодка -item.boat_pine.name=Сосновая Лодка -item.boat_redwood.name=Лодка из Краснового Дерева -item.boat_sacred_oak.name=Лодка из Священного Дуба -item.boat_umbran.name=Теневая Лодка -item.boat_willow.name=Ивовая Лодка -item.brown_dye.name=Коричневая Краситель -item.cherry_door.name=Вишневая Дверь -item.crystal_shard.name=Осколок Небесного Кристалла -item.ebony_door.name=Эбоновая Дверь -item.ethereal_door.name=Эфирная Дверь -item.eucalyptus_door.name=Эвкалиптовая Дверь -item.earth.name=Земля -item.filled_honeycomb.name=Заполненные Медовые Соты -item.fir_door.name=Пихтовая Дверь -item.fleshchunk.name=Кусок Плоти -item.flower_basket.name=Цветочная Корзина -item.gem_amber.name=Янтарь -item.gem_amethyst.name=Аметист Края -item.gem_malachite.name=Малахит -item.gem_peridot.name=Хризолит -item.gem_ruby.name=Рубин -item.gem_sapphire.name=Сапфир -item.gem_tanzanite.name=Танзанит -item.gem_topaz.name=Топаз -item.green_dye.name=Зелёный Краситель -item.hellbark_door.name=Дверь из Адской Дерева -item.honeycomb.name=Пустые Медовые Соты -item.jacaranda_door.name=Жакарандовая Дверь -item.jar_empty.name=Пустая Банка -item.jar_filled_honey.name=Медовая Банка -item.jar_filled_blue_fire.name=Банка с Синим Огнём -item.magic_door.name=Магическая Дверь -item.mahogany_door.name=Махагоновая Дверь -item.mangrove_door.name=Мангровая Дверь -item.mudball.name=Комок Грязи -item.mud_brick.name=Грязевой Кирпич -item.palm_door.name=Пальмовая Дверь -item.persimmon.name=Хурма -item.peach.name=Персик -item.pear.name=Груша -item.pine_door.name=Сосновая Дверь -item.record_wanderer.name=Музыкальная Пластинка -item.record.wanderer.desc=Тим Рурковский - Странник -item.redwood_door.name=Дверь из Красного Дерева -item.ricebowl.name=Миска Риса -item.sacred_oak_door.name=Дверь из Священного Дуба -item.shroompowder.name=Грибной Порошок -item.terrestrial_artifact.name=Земной Артефакт -item.umbran_door.name=Дверь из Теневого Дерева -item.white_dye.name=Белый Краситель -item.willow_door.name=Дверь из Ивы - -tile.ash_block.name=Пепельный Блок -tile.bamboo.name=Бамбук -tile.bamboo_thatching.name=Бамбуковая Солома -tile.biome_block.name=Руда Эссенции Биома -tile.blue_fire.name=Синий Огонёк -tile.bramble_plant.name=Ежевика -tile.cherry_fence.name=Вишнёвый Забор -tile.cherry_fence_gate.name=Вишнёвая Калитка -tile.cherry_wood_slab.name=Плита Вишнёвого Дерева -tile.cherry_stairs.name=Лестница Вишнёвого Дерева -tile.coral.pink_coral.name=Розовый Коралл -tile.coral.orange_coral.name=Оранжевый Коралл -tile.coral.blue_coral.name=Синий Коралл -tile.coral.glowing_coral.name=Светящиеся Коралл -tile.coral.algae.name=Водоросли -tile.dirt.loamy_dirt.name=Глинистая Земля -tile.dirt.sandy_dirt.name=Песчаная Земля -tile.dirt.silty_dirt.name=Илистая Земля -tile.dirt.coarse_loamy_dirt.name=Грубая Глинистая Земля -tile.dirt.coarse_sandy_dirt.name=Грубая Песчаная Земля -tile.dirt.coarse_silty_dirt.name=Грубая Илистая Земля -tile.double_plant.flax.name=Лён -tile.double_plant.tall_cattail.name=Высокий Рогоз -tile.double_plant.eyebulb.name=Глазное Яблоко -tile.double_plant.sea_oats.name=Морской Овёс -tile.ebony_fence.name=Забор из Эбенового Дерева -tile.ebony_fence_gate.name=Эбеновая Калитка -tile.ebony_wood_slab.name=Эбоновая Плитка -tile.ebony_stairs.name=Эбеновые Ступеньки -tile.ethereal_fence.name=Эфирный Забор -tile.ethereal_fence_gate.name=Эфирная Калитка -tile.ethereal_wood_slab.name=Эфирная Плитка -tile.ethereal_stairs.name=Эфирные Ступеньки -tile.eucalyptus_fence.name=Эвкалиптовый Забор -tile.eucalyptus_fence_gate.name=Эвкалиптовая Калитка -tile.eucalyptus_wood_slab.name=Эвкалиптовая Плитка -tile.eucalyptus_stairs.name=Эвкалиптовые Ступеньки -tile.farmland_0.loamy_farmland.name=Глинистая Пашня -tile.farmland_0.sandy_farmland.name=Песчаная Пашня -tile.farmland_1.silty_farmland.name=Илистая Пашня -tile.fir_fence.name=Пихтовый Забор -tile.fir_fence_gate.name=Пихтовая Калитка -tile.fir_wood_slab.name=Пихтовый Плитка -tile.fir_stairs.name=Пихтовые Ступеньки -tile.flesh.name=Плоть -tile.flower_0.clover.name=Клевер -tile.flower_0.swampflower.name=Болотный Цветок -tile.flower_0.deathbloom.name=Смертельный Цветок -tile.flower_0.glowflower.name=Светящиеся Цветок -tile.flower_0.blue_hydrangea.name=Синяя Гортензия -tile.flower_0.orange_cosmos.name=Оранжевая Космея -tile.flower_0.pink_daffodil.name=Розовый Нарцисс -tile.flower_0.wildflower.name=Дикий Цветок -tile.flower_0.violet.name=Фиалка -tile.flower_0.white_anemone.name=Белый Анемон -tile.flower_0.enderlotus.name=Лотос Края -tile.flower_0.bromeliad.name=Бромелия -tile.flower_0.wilted_lily.name=Увядшая Лилия -tile.flower_0.pink_hibiscus.name=Розовый Гибискус -tile.flower_0.lily_of_the_valley.name=Ландыш -tile.flower_0.burning_blossom.name=Горицвет -tile.flower_1.lavender.name=Лаванда -tile.flower_1.goldenrod.name=Золотарник -tile.flower_1.bluebells.name=Колокольчики -tile.flower_1.miners_delight.name=Радость Шахтёра -tile.flower_1.icy_iris.name=Ледяной Ирис -tile.flower_1.rose.name=Роза -tile.flower_vine.name=Цветущие Лозы -tile.gem_block.amethyst_block.name=Блок Аметиста -tile.gem_block.ruby_block.name=Блок Рубина -tile.gem_block.peridot_block.name=Блок Хризолита -tile.gem_block.topaz_block.name=Блок Топаза -tile.gem_block.tanzanite_block.name=Блок Танзанита -tile.gem_block.malachite_block.name=Блок Малахита -tile.gem_block.sapphire_block.name=Блок Сапфира -tile.gem_block.amber_block.name=Блок Янтаря -tile.gem_ore.amethyst_ore.name=Аметистовая Руда из Края -tile.gem_ore.ruby_ore.name=Рубиновая Руда -tile.gem_ore.peridot_ore.name=Хризолитовая Руда -tile.gem_ore.topaz_ore.name=Топазовая Руда -tile.gem_ore.tanzanite_ore.name=Танзанитовая Руда -tile.gem_ore.malachite_ore.name=Малахитовая Руда -tile.gem_ore.sapphire_ore.name=Сапфировая Руда -tile.gem_ore.amber_ore.name=Янтарная Руда -tile.grass.daisy_grass_block.name=Цветущий Блок Травы -tile.grass.spectral_moss.name=Спектральный Мох -tile.grass.overgrown_stone.name=Заросший Камень -tile.grass.loamy_grass_block.name=Глинистый Блок Травы -tile.grass.sandy_grass_block.name=Песчаный Блок Травы -tile.grass.silty_grass_block.name=Илистый Блок Травы -tile.grass.origin_grass_block.name=Изначальный Блок Травы -tile.grass.overgrown_netherrack.name=Заросший Адский Камень -tile.grass.mycelial_netherrack.name=Мицелиевый Адский Камень -tile.grass_path.grass_loamy_path.name=Глинистая Тропинка -tile.grass_path.grass_sandy_path.name=Песчаная Тропинка -tile.grass_path.grass_silty_path.name=Илистая Тропинка -tile.hellbark_fence.name=Забор из Адского Дерева -tile.hellbark_fence_gate.name=Калитка из Адского Дерева -tile.hellbark_wood_slab.name=Плита из Адского Дерева -tile.hellbark_stairs.name=Ступеньки из Адского Дерева -tile.hive.hive_block.name=Блок Улья -tile.hive.honeycomb_block.name=Блок Медового Сота -tile.hive.empty_honeycomb_block.name=Пустой Блок Медового Сота -tile.hive.filled_honeycomb_block.name=Заполненный Блок Медового Сота -tile.honey_block.name=Медовый Блок -tile.ivy.name=Плющ -tile.jacaranda_fence.name=Жакарандовый Забор -tile.jacaranda_fence_gate.name=Жакарандовая Калитка -tile.jacaranda_wood_slab.name=Жакарандовая Плитка -tile.jacaranda_stairs.name=Жакарандовые Ступеньки -tile.leaves_0.yellow_autumn_leaves.name=Пожелтевшие Осенние Листья -tile.leaves_0.orange_autumn_leaves.name=Покрасневшие Осенние Листья -tile.leaves_0.bamboo_leaves.name=Бамбуковые Листья -tile.leaves_0.magic_leaves.name=Магические Листья -tile.leaves_1.umbran_leaves.name=Теневые Листья -tile.leaves_1.dead_leaves.name=Мертвые Листья -tile.leaves_1.fir_leaves.name=Пихтовые Листья -tile.leaves_1.ethereal_leaves.name=Эфирные Листья -tile.leaves_2.origin_leaves.name=Изначальные Листья -tile.leaves_2.pink_cherry_leaves.name=Розовые Вишнёвые Листья -tile.leaves_2.white_cherry_leaves.name=Белые Вишнёвые Листья -tile.leaves_2.maple_leaves.name=Клёновые Листья -tile.leaves_3.hellbark_leaves.name=Листья Адского Дерева -tile.leaves_3.flowering_leaves.name=Листья Цветущий Дуба -tile.leaves_3.jacaranda_leaves.name=Жакарандовые Листья -tile.leaves_3.sacred_oak_leaves.name=Листья Священного Дуба -tile.leaves_4.mangrove_leaves.name=Мангровые Листья -tile.leaves_4.palm_leaves.name=Пальмовые Листья -tile.leaves_4.redwood_leaves.name=Листья Красного Дерева -tile.leaves_4.willow_leaves.name=Ивовые Листья -tile.leaves_5.pine_leaves.name=Сосновые Листья -tile.leaves_5.mahogany_leaves.name=Махагоневые Листья -tile.leaves_5.ebony_leaves.name=Эбеновые Листья -tile.leaves_5.eucalyptus_leaves.name=Эвкалиптовые Листья -tile.leaves_6.red_big_flower_petal.name=Лепесток Красного Гигантского Цветка -tile.leaves_6.yellow_big_flower_petal.name=Лепесток Жёлтого Гигантского Цветка -tile.log_0.sacred_oak_log.name=Священный Дуб -tile.log_0.cherry_log.name=Вишнёвое Дерево -tile.log_0.umbran_log.name=Теневое Дерево -tile.log_0.fir_log.name=Пихта -tile.log_1.ethereal_log.name=Эфирное Дерево -tile.log_1.magic_log.name=Магическое Дерево -tile.log_1.mangrove_log.name=Мангровое Дерево -tile.log_1.palm_log.name=Пальма -tile.log_2.redwood_log.name=Красное Дерево -tile.log_2.willow_log.name=Ива -tile.log_2.pine_log.name=Сосна -tile.log_2.hellbark_log.name=Адское Дерево -tile.log_3.jacaranda_log.name=Жакаранда -tile.log_3.mahogany_log.name=Махагони -tile.log_3.ebony_log.name=Эбеновое Дерево -tile.log_3.eucalyptus_log.name=Эвкалипт -tile.log_4.giant_flower_stem.name=Стебель Гигантского Цветка -tile.log_4.dead_log.name=Мёртвое Дерево -tile.magic_fence.name=Забор из Магического Дерева -tile.magic_fence_gate.name=Калитка из Магического Дерева -tile.magic_wood_slab.name=Плита из Магического Дерева -tile.magic_stairs.name=Ступеньки из Магического Дерева -tile.mahogany_fence.name=Махагоновый Забор -tile.mahogany_fence_gate.name=Махагоновая Калитка -tile.mahogany_wood_slab.name=Махагоновая Плитка -tile.mahogany_stairs.name=Махагоновые Ступеньки -tile.mangrove_fence.name=Мангровый Забор -tile.mangrove_fence_gate.name=Мангровая Калитка -tile.mangrove_wood_slab.name=Мангровая Плитка -tile.mangrove_stairs.name=Мангровые Ступеньки -tile.mud.mud.name=Грязь -tile.mud_brick_block.name=Кирпичи из Грязи -tile.mud_brick_slab.name=Плитка из Грязи -tile.mud_brick_stairs.name=Ступеньки из Грязи -tile.mushroom.toadstool.name=Поганка -tile.mushroom.portobello.name=Портобелло -tile.mushroom.blue_milk_cap.name=Млечник Голубой -tile.mushroom.glowshroom.name=Светящиеся Гриб -tile.mushroom.flat_mushroom.name=Плоский Гриб -tile.mushroom.shadow_shroom.name=Тёмный Гриб -tile.palm_fence.name=Пальмовый Забор -tile.palm_fence_gate.name=Пальмовая Калитка -tile.palm_wood_slab.name=Пальмовая Плитка -tile.palm_stairs.name=Пальмовые Ступеньки -tile.pine_fence.name=Сосновый Забор -tile.pine_fence_gate.name=Сосновая Калитка -tile.pine_wood_slab.name=Сосновая Плитка -tile.pine_stairs.name=Сосновые Ступеньки -tile.planks_0.sacred_oak_planks.name=Доски из Священного Дуба -tile.planks_0.cherry_planks.name=Вишнёвые Доски -tile.planks_0.umbran_planks.name=Теневые Доски -tile.planks_0.fir_planks.name=Пихтовые Доски -tile.planks_0.ethereal_planks.name=Эфирные Доски -tile.planks_0.magic_planks.name=Магические Доски -tile.planks_0.mangrove_planks.name=Мангровые Доски -tile.planks_0.palm_planks.name=Пальмовые Доски -tile.planks_0.redwood_planks.name=Доски из Красного Дерева -tile.planks_0.willow_planks.name=Ивовые Доски -tile.planks_0.bamboo_thatching.name=Бамбуковая Солома -tile.planks_0.pine_planks.name=Сосновые Доски -tile.planks_0.hellbark_planks.name=Доски из Адского Дерева -tile.planks_0.jacaranda_planks.name=Жакарандовые Доски -tile.planks_0.mahogany_planks.name=Махагоновые Доски -tile.planks_0.ebony_planks.name=Эбеновые Доски -tile.planks_0.eucalyptus_planks.name=Эвкалиптовые Доски -tile.plant_0.shortgrass.name=Короткая трава -tile.plant_0.mediumgrass.name=Средняя трава -tile.plant_0.bush.name=Кустарник -tile.plant_0.sprout.name=Росток -tile.plant_0.poisonivy.name=Ядовитый Плющ -tile.plant_0.berrybush.name=Ягодный Куст -tile.plant_0.shrub.name=Куст -tile.plant_0.wheatgrass.name=Пшеничная Трава -tile.plant_0.dampgrass.name=Сырая Трава -tile.plant_0.koru.name=Кору -tile.plant_0.cloverpatch.name=Клеверная Повязка -tile.plant_0.leafpile.name=Куча Листьев -tile.plant_0.deadleafpile.name=Куча Мёртвых Листьев -tile.plant_0.deadgrass.name=Мёртвая Трава -tile.plant_0.desertgrass.name=Пустынная Трава -tile.plant_0.desertsprouts.name=Пустынные Ростки -tile.plant_1.dunegrass.name=Дюнная Трава -tile.plant_1.spectralfern.name=Спектральный Папоротник -tile.plant_1.thorn.name=Колючий Кустарник -tile.plant_1.wildrice.name=Дикий Рис -tile.plant_1.cattail.name=Рогоз -tile.plant_1.rivercane.name=Речной Тростник -tile.plant_1.tinycactus.name=Крошечный Кактус -tile.plant_1.devilweed.name=Дьявольская Трава -tile.plant_1.reed.name=Камыш -tile.plant_1.root.name=Корень -tile.plant_1.rafflesia.name=Раффлезия -tile.plant_1.barley.name=Ячмень -tile.redwood_fence.name=Забор из Красного Дерева -tile.redwood_fence_gate.name=Калитка из Красного Дерева -tile.redwood_wood_slab.name=Плитка из Красного Дерева -tile.redwood_stairs.name=Ступеньки из Красного Дерева -tile.sacred_oak_fence.name=Забор из Священного Дуба -tile.sacred_oak_fence_gate.name=Калитка из Священного Дуба -tile.sacred_oak_wood_slab.name=Плита из Священного Дуба -tile.sacred_oak_stairs.name=Ступеньки из Священного Дуба -tile.sapling_0.yellow_autumn_sapling.name=Саженец Пожелтевших Листьев -tile.sapling_0.orange_autumn_sapling.name=Саженец Покрасневших Листьев -tile.sapling_0.bamboo_sapling.name=Бамбуковый Саженец -tile.sapling_0.magic_sapling.name=Магический Саженец -tile.sapling_0.umbran_sapling.name=Теневой Саженец -tile.sapling_0.dead_sapling.name=Мёртвый Саженец -tile.sapling_0.fir_sapling.name=Пихтовый Саженец -tile.sapling_0.ethereal_sapling.name=Эфирный Саженец -tile.sapling_1.origin_sapling.name=Изначальный Саженец -tile.sapling_1.pink_cherry_sapling.name=Розовая Вишнёвый Саженец -tile.sapling_1.white_cherry_sapling.name=Белый Вишнёвый Саженец -tile.sapling_1.maple_sapling.name=Кленовый Саженец -tile.sapling_1.hellbark_sapling.name=Саженец из Адского Дерева -tile.sapling_1.flowering_sapling.name=Саженец Цветущегой Дуба -tile.sapling_1.jacaranda_sapling.name=Жакарандовый Саженец -tile.sapling_1.sacred_oak_sapling.name=Саженец Священного Дуба -tile.sapling_2.mangrove_sapling.name=Мангрововый Саженец -tile.sapling_2.palm_sapling.name=Пальмовый Саженец -tile.sapling_2.redwood_sapling.name=Саженец Красного Дерева -tile.sapling_2.willow_sapling.name=Ивовый Саженец -tile.sapling_2.pine_sapling.name=Сосновый Саженец -tile.sapling_2.mahogany_sapling.name=Махагоновый Саженец -tile.sapling_2.ebony_sapling.name=Эбеновый Саженец -tile.sapling_2.eucalyptus_sapling.name=Эвкалиптовый Саженец -tile.seaweed.kelp.name=Ламинария -tile.terrarium.terrarium_fern.name=Террариум Папоротника -tile.terrarium.terrarium_mushroom.name=Террариум Грибов -tile.terrarium.terrarium_cactus.name=Террариум Кактуса -tile.terrarium.terrarium_flax.name=Террариум Льна -tile.terrarium.terrarium_flower.name=Террариум Цветка -tile.terrarium.terrarium_koru.name=Террариум Кору -tile.terrarium.terrarium_bamboo.name=Террариум Бамбука -tile.terrarium.terrarium_sapling.name=Террариум Саженца -tile.terrarium.terrarium_glowshroom.name=Террариум Светящегося Гриба -tile.terrarium.terrarium_dead.name=Террариум Засухи -tile.terrarium.terrarium_mystic.name=Мистический Террариум -tile.terrarium.terrarium_ominous.name=Зловещий Террариум -tile.terrarium.terrarium_wasteland.name=Террариум Пустоши -tile.terrarium.terrarium_origin.name=Изначальный Террариум -tile.terrarium.terrarium_nether.name=Адский Террариум -tile.terrarium.terrarium_ender.name=Террариум Края -tile.tree_moss.name=Мох Теневого Дерева -tile.umbran_fence.name=Теневой Забор -tile.umbran_fence_gate.name=Теневая Калитка -tile.umbran_wood_slab.name=Теневая Плитка -tile.umbran_stairs.name=Теневые Ступеньки -tile.waterlily.lily_medium.name=Средняя Кувшинка -tile.waterlily.lily_small.name=Маленькая Кувшинка -tile.waterlily.lily_tiny.name=Крошечная Кувшинка -tile.waterlily.lily_flower.name=Цветущая Лилия -tile.white_sand.name=Белый Песок -tile.white_sandstone.white_sandstone.name=Белый Песчаник -tile.white_sandstone.chiseled_white_sandstone.name=Резной Белый Песчаник -tile.white_sandstone.smooth_white_sandstone.name=Гладкий Белый Песчаник -tile.white_sandstone_slab.name=Плита из Белого Песчаника -tile.white_sandstone_stairs.name=Ступеньки из Белого Песчаника -tile.willow_fence.name=Ивовый Забор -tile.willow_fence_gate.name=Ивовая Калитка -tile.willow_wood_slab.name=Ивоваа Плитка -tile.willow_stairs.name=Ивовые Ступеньки -tile.willow_vine.name=Ивовая Лоза -tile.hard_ice.name=Затвердевший Лёд -tile.dried_sand.name=Сухой Песок -tile.mud_brick.name=Грязевой Кирпич -tile.crystal.name=Небесный Кристалл - -entity.mudball.name=Грязевой Шарик -entity.wasp.name=Адская Оса -entity.bop_boat.name=Лодка diff --git a/src/main/resources/assets/biomesoplenty/lang/zh_CN.lang b/src/main/resources/assets/biomesoplenty/lang/zh_CN.lang deleted file mode 100644 index c24414cb0..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/zh_CN.lang +++ /dev/null @@ -1,436 +0,0 @@ -advancements.biomesoplenty.root.title=超多生物群系 -advancements.biomesoplenty.root.description=每个探险家的梦想... -advancements.biomesoplenty.sacred_oak_sapling.title=世界树 -advancements.biomesoplenty.sacred_oak_sapling.description=种植出一颗巨大的神圣橡木 -advancements.biomesoplenty.yin_and_yang.title=穿梭阴阳 -advancements.biomesoplenty.yin_and_yang.description=前往Ominous Woods(不详树林)种植夜光花,再到Mystic Grove(神秘树林)种植死亡花。 -advancements.biomesoplenty.miners_delight.title=生存法则 -advancements.biomesoplenty.miners_delight.description=在矿洞中找到乐矿花 -advancements.biomesoplenty.flesh_and_blood.title=肮脏的交易 -advancements.biomesoplenty.flesh_and_blood.description=从地狱中获取肉。 -advancements.biomesoplenty.honey_hell.title=甜美与恐惧 -advancements.biomesoplenty.honey_hell.description=从地狱的蜂巢中偷窃一些蜂蜜。 -advancements.biomesoplenty.terrestrial_artifact.title=掌心之力 -advancements.biomesoplenty.terrestrial_artifact.description=获得到每个生物群系特有的宝石。 -advancements.biomesoplenty.craft_biome_finder.title=搜索派对 -advancements.biomesoplenty.craft_biome_finder.description=制作出一个生物群系雷达来引导你。 -advancements.biomesoplenty.all_biomes.title=环球旅行 -advancements.biomesoplenty.all_biomes.description=探索完Bop(超多生物群系)的每一个群系。 - -biome_finder.searching=寻找 %s -biome_finder.found=找到 %s! -biome_finder.not_found=抱歉无法找到,可能是 %s 距离太遥远! - -config.category.convenienceSettings.title=便捷设置 -config.category.guiSettings.title=GUI设置 -config.category.textureSettings.title=材质设置 -config.category.trailSettings.title=足迹设置 -config.category.convenienceSettings.tooltip=需要剪刀才能采集花朵 -config.category.guiSettings.tooltip=设置超多生物群系为默认世界地图 -config.category.textureSettings.tooltip=替换forge的桶的材质而使用我们的材质 -config.category.trailSettings.tooltip=定义足迹的透明度 - -commands.biomesoplenty.usage=/biomesoplenty [生物群系ID] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [生物群系ID] -commands.biomesoplenty.biomename.success=生物群系ID%s已绑定为:%s -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [生物群系ID] -commands.biomesoplenty.tpbiome.success=玩家%s传送到生物群系:%s,坐标(%s,%s,%s) -commands.biomesoplenty.tpbiome.error=未找到生物群系:%s! -commands.biomesoplenty.stats.blocks=方块:%s -commands.biomesoplenty.stats.items=物品:%s -commands.biomesoplenty.stats.entities=实体:%s -commands.biomesoplenty.stats.biomes=生物群落:%s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [范围] [方块ID] [方块附加值] - -container.flower_basket=花篮 - -generator.BIOMESOP=超多生物群系 -generator.BIOMESOP.info=注意:1.8版本的超多生物群系仍在开发阶段。 - -itemGroup.tabBiomesOPlenty=超多生物群系 - -fluid.blood=血 -fluid.honey=蜂蜜 -fluid.hot_spring_water=温泉水 -fluid.poison=毒液 -fluid.sand=流沙 - -item.forge.bucketFilled.name=%s桶 - -potion.curse=诅咒 - -item.ash.name=灰烬堆 -item.berries.name=浆果 -item.biome_essence.name=生物群系精华 -item.biome_finder.name=生物群系雷达 -item.black_dye.name=黑色染料 -item.blue_dye.name=蓝色染料 -item.boat_cherry.name=樱花木船 -item.boat_ebony.name=檀木船 -item.boat_ethereal.name=天域木船 -item.boat_eucalyptus.name=桉木船 -item.boat_fir.name=杉木船 -item.boat_hellbark.name=地狱皮木船 -item.boat_jacaranda.name=蓝花楹木船 -item.boat_magic.name=魔法木船 -item.boat_mahogany.name=桃花心木船 -item.boat_mangrove.name=红树木船 -item.boat_palm.name=棕榈木船 -item.boat_pine.name=松木船 -item.boat_redwood.name=红木船 -item.boat_sacred_oak.name=神圣橡木船 -item.boat_umbran.name=暗影木船 -item.boat_willow.name=柳木船 -item.brown_dye.name=棕色染料 -item.cherry_door.name=樱花树门 -item.crystal_shard.name=仙域水晶碎片 -item.ebony_door.name=檀木门 -item.ethereal_door.name=天域树门 -item.eucalyptus_door.name=桉树门 -item.earth.name=BOP图标 -item.filled_honeycomb.name=充满的蜂窝 -item.fir_door.name=杉树门 -item.fleshchunk.name=肉 -item.flower_basket.name=花篮 -item.gem_amber.name=琥珀 -item.gem_amethyst.name=紫晶 -item.gem_malachite.name=孔雀石 -item.gem_peridot.name=橄榄石 -item.gem_ruby.name=红宝石 -item.gem_sapphire.name=蓝宝石 -item.gem_tanzanite.name=坦桑石 -item.gem_topaz.name=黄玉 -item.green_dye.name=绿色染料 -item.hellbark_door.name=地狱皮树门 -item.honeycomb.name=空蜂窝 -item.jacaranda_door.name=蓝花楹门 -item.jar_empty.name=空罐 -item.jar_filled_honey.name=蜂蜜罐 -item.jar_filled_blue_fire.name=蓝火罐 -item.magic_door.name=魔法树门 -item.mahogany_door.name=桃花心木门 -item.mangrove_door.name=红树门 -item.mudball.name=泥巴球 -item.mud_brick.name=泥砖 -item.palm_door.name=棕榈树门 -item.persimmon.name=柿子 -item.peach.name=桃子 -item.pear.name=梨 -item.pine_door.name=松木门 -item.record_wanderer.name=音乐唱片 -#item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=红木门 -item.ricebowl.name=米饭 -item.sacred_oak_door.name=神圣橡木门 -item.shroompowder.name=蘑菇粉 -item.terrestrial_artifact.name=天地宝晶 -item.umbran_door.name=暗影木门 -item.white_dye.name=白色染料 -item.willow_door.name=杨柳木门 - -tile.ash_block.name=灰烬块 -tile.bamboo.name=竹子 -tile.bamboo_thatching.name=竹块 -tile.biome_block.name=生物精华矿石 -tile.blue_fire.name=蓝火 -tile.bramble_plant.name=荆棘 -tile.cherry_fence.name=樱花树栅栏 -tile.cherry_fence_gate.name=樱花树栅栏门 -tile.cherry_wood_slab.name=樱花树原木台阶 -tile.cherry_stairs.name=樱花树原木楼梯 -tile.coral.pink_coral.name=粉珊瑚 -tile.coral.orange_coral.name=橙珊瑚 -tile.coral.blue_coral.name=蓝珊瑚 -tile.coral.glowing_coral.name=夜光珊瑚 -tile.coral.algae.name=海藻 -tile.dirt.loamy_dirt.name=壤质土 -tile.dirt.sandy_dirt.name=沙质土 -tile.dirt.silty_dirt.name=淤泥土 -tile.dirt.coarse_loamy_dirt.name=粗壤土 -tile.dirt.coarse_sandy_dirt.name=粗沙土 -tile.dirt.coarse_silty_dirt.name=粗淤土 -tile.double_plant.flax.name=亚麻 -tile.double_plant.tall_cattail.name=香蒲 -tile.double_plant.eyebulb.name=眼灯草 -tile.double_plant.sea_oats.name=海燕麦 -tile.ebony_fence.name=檀木栅栏 -tile.ebony_fence_gate.name=檀木栅栏门 -tile.ebony_wood_slab.name=檀木台阶 -tile.ebony_stairs.name=檀木楼梯 -tile.ethereal_fence.name=天域树栅栏 -tile.ethereal_fence_gate.name=天域树栅栏门 -tile.ethereal_wood_slab.name=天域树台阶 -tile.ethereal_stairs.name=天域树楼梯 -tile.eucalyptus_fence.name=桉树栅栏 -tile.eucalyptus_fence_gate.name=桉树栅栏门 -tile.eucalyptus_wood_slab.name=桉树台阶 -tile.eucalyptus_stairs.name=桉树楼梯 -tile.farmland_0.loamy_farmland.name=壤土耕地 -tile.farmland_0.sandy_farmland.name=砂质耕地 -tile.farmland_1.silty_farmland.name=淤质耕地 -tile.fir_fence.name=杉树栅栏 -tile.fir_fence_gate.name=杉树栅栏门 -tile.fir_wood_slab.name=杉树台阶 -tile.fir_stairs.name=杉树楼梯 -tile.flesh.name=肉块 -tile.flower_0.clover.name=苜蓿 -tile.flower_0.swampflower.name=沼泽花 -tile.flower_0.deathbloom.name=死亡花 -tile.flower_0.glowflower.name=夜光花 -tile.flower_0.blue_hydrangea.name=蓝绣球花 -tile.flower_0.orange_cosmos.name=橙色波斯菊 -tile.flower_0.pink_daffodil.name=粉水仙 -tile.flower_0.wildflower.name=野花 -tile.flower_0.violet.name=紫罗兰 -tile.flower_0.white_anemone.name=白银莲花 -tile.flower_0.enderlotus.name=末影莲花 -tile.flower_0.bromeliad.name=凤梨花 -tile.flower_0.wilted_lily.name=枯萎的百合 -tile.flower_0.pink_hibiscus.name=粉木槿 -tile.flower_0.lily_of_the_valley.name=铃兰 -tile.flower_0.burning_blossom.name=火焰花 -tile.flower_1.lavender.name=熏衣草 -tile.flower_1.goldenrod.name=秋麒麟草 -tile.flower_1.bluebells.name=蓝铃花 -tile.flower_1.miners_delight.name=乐矿花 -tile.flower_1.icy_iris.name=霜鸢尾 -tile.flower_1.rose.name=玫瑰 -tile.flower_vine.name=开花的葡萄藤 -tile.gem_block.amethyst_block.name=紫晶块 -tile.gem_block.ruby_block.name=红宝石块 -tile.gem_block.peridot_block.name=橄榄石块 -tile.gem_block.topaz_block.name=黄玉块 -tile.gem_block.tanzanite_block.name=坦桑石块 -tile.gem_block.malachite_block.name=孔雀石块 -tile.gem_block.sapphire_block.name=蓝宝石块 -tile.gem_block.amber_block.name=琥珀块 -tile.gem_ore.amethyst_ore.name=紫晶矿石 -tile.gem_ore.ruby_ore.name=红宝石矿石 -tile.gem_ore.peridot_ore.name=橄榄石矿石 -tile.gem_ore.topaz_ore.name=黄玉矿石 -tile.gem_ore.tanzanite_ore.name=坦桑矿石 -tile.gem_ore.malachite_ore.name=孔雀石矿石 -tile.gem_ore.sapphire_ore.name=蓝宝石矿石 -tile.gem_ore.amber_ore.name=琥珀矿石 -tile.grass.daisy_grass_block.name=开花草地 -tile.grass.spectral_moss.name=末地苔石 -tile.grass.overgrown_stone.name=杂草丛生的石头 -tile.grass.loamy_grass_block.name=壤质草方块 -tile.grass.sandy_grass_block.name=沙质草方块 -tile.grass.silty_grass_block.name=淤泥草方块 -tile.grass.origin_grass_block.name=原始草方块 -tile.grass.overgrown_netherrack.name=杂草丛生的地狱岩 -tile.grass.mycelial_netherrack.name=菌丝寄生的地狱岩 -tile.grass_path.grass_loamy_path.name=壤质草径 -tile.grass_path.grass_sandy_path.name=沙质草径 -tile.grass_path.grass_silty_path.name=淤泥草径 -tile.hellbark_fence.name=地狱皮树栅栏 -tile.hellbark_fence_gate.name=地狱皮树栅栏门 -tile.hellbark_wood_slab.name=地狱皮树台阶 -tile.hellbark_stairs.name=地狱皮树楼梯 -tile.hive.hive_block.name=蜂房方块 -tile.hive.honeycomb_block.name=蜂房方块 -tile.hive.empty_honeycomb_block.name=空的蜂房方块 -tile.hive.filled_honeycomb_block.name=满的蜂房方块 -tile.honey_block.name=蜂蜜块 -tile.ivy.name=常春藤 -tile.jacaranda_fence.name=蓝花楹树栅栏 -tile.jacaranda_fence_gate.name=蓝花楹树栅栏门 -tile.jacaranda_wood_slab.name=蓝花楹树原木台阶 -tile.jacaranda_stairs.name=蓝花楹树原木楼梯 -tile.leaves_0.yellow_autumn_leaves.name=黄秋叶 -tile.leaves_0.orange_autumn_leaves.name=橙秋叶 -tile.leaves_0.bamboo_leaves.name=竹叶 -tile.leaves_0.magic_leaves.name=魔法树树叶 -tile.leaves_1.umbran_leaves.name=暗影树叶 -tile.leaves_1.dead_leaves.name=垂死树树叶 -tile.leaves_1.fir_leaves.name=杉树树叶 -tile.leaves_1.ethereal_leaves.name=天域树树叶 -tile.leaves_2.origin_leaves.name=原始树叶 -tile.leaves_2.pink_cherry_leaves.name=粉色樱花树树叶 -tile.leaves_2.white_cherry_leaves.name=白色樱花树树叶 -tile.leaves_2.maple_leaves.name=枫树树叶 -tile.leaves_3.hellbark_leaves.name=地狱皮树树叶 -tile.leaves_3.flowering_leaves.name=花橡树叶 -tile.leaves_3.jacaranda_leaves.name=蓝花楹树树叶 -tile.leaves_3.sacred_oak_leaves.name=神圣橡树树叶 -tile.leaves_4.mangrove_leaves.name=红树树叶 -tile.leaves_4.palm_leaves.name=棕榈树树叶 -tile.leaves_4.redwood_leaves.name=红木树叶 -tile.leaves_4.willow_leaves.name=柳树树叶 -tile.leaves_5.pine_leaves.name=松树树叶 -tile.leaves_5.mahogany_leaves.name=桃花心树树叶 -tile.leaves_5.ebony_leaves.name=檀木树叶 -tile.leaves_5.eucalyptus_leaves.name=桉树树叶 -tile.leaves_6.red_big_flower_petal.name=巨型红色花瓣 -tile.leaves_6.yellow_big_flower_petal.name=巨型黄色花瓣 -tile.log_0.sacred_oak_log.name=神圣橡树原木 -tile.log_0.cherry_log.name=樱花树原木 -tile.log_0.umbran_log.name=暗影木原木 -tile.log_0.fir_log.name=杉树原木 -tile.log_1.ethereal_log.name=天域树原木 -tile.log_1.magic_log.name=魔法树原木 -tile.log_1.mangrove_log.name=红树原木 -tile.log_1.palm_log.name=棕榈树原木 -tile.log_2.redwood_log.name=红木原木 -tile.log_2.willow_log.name=柳树原木 -tile.log_2.pine_log.name=松树原木 -tile.log_2.hellbark_log.name=地狱皮树原木 -tile.log_3.jacaranda_log.name=蓝花楹树原木 -tile.log_3.mahogany_log.name=桃花心树原木 -tile.log_3.ebony_log.name=檀木原木 -tile.log_3.eucalyptus_log.name=桉树原木 -tile.log_4.giant_flower_stem.name=巨大花茎 -tile.log_4.dead_log.name=垂死树原木 -tile.magic_fence.name=魔法树栅栏 -tile.magic_fence_gate.name=魔法树栅栏门 -tile.magic_wood_slab.name=魔法树台阶 -tile.magic_stairs.name=魔法树楼梯 -tile.mahogany_fence.name=桃花心树栅栏 -tile.mahogany_fence_gate.name=桃花心树栅栏门 -tile.mahogany_wood_slab.name=桃花心树台阶 -tile.mahogany_stairs.name=桃花心树楼梯 -tile.mangrove_fence.name=红树栅栏 -tile.mangrove_fence_gate.name=红树栅栏门 -tile.mangrove_wood_slab.name=红树台阶 -tile.mangrove_stairs.name=红树楼梯 -tile.mud.mud.name=泥巴 -tile.mud_brick_block.name=泥砖块 -tile.mud_brick_slab.name=泥砖台阶 -tile.mud_brick_stairs.name=泥砖楼梯 -tile.mushroom.toadstool.name=毒菌 -tile.mushroom.portobello.name=双孢蘑菇 -tile.mushroom.blue_milk_cap.name=蓝牛奶伞菌 -tile.mushroom.glowshroom.name=夜光菇 -tile.mushroom.flat_mushroom.name=平菇 -tile.mushroom.shadow_shroom.name=影菇 -tile.palm_fence.name=棕榈树栅栏 -tile.palm_fence_gate.name=棕榈树栅栏门 -tile.palm_wood_slab.name=棕榈树台阶 -tile.palm_stairs.name=棕榈树楼梯 -tile.pine_fence.name=松树栅栏 -tile.pine_fence_gate.name=松树栅栏门 -tile.pine_wood_slab.name=松树台阶 -tile.pine_stairs.name=松树楼梯 -tile.planks_0.sacred_oak_planks.name=神圣橡树木板 -tile.planks_0.cherry_planks.name=樱花树木板 -tile.planks_0.umbran_planks.name=暗影木板 -tile.planks_0.fir_planks.name=杉树木板 -tile.planks_0.ethereal_planks.name=天域树木板 -tile.planks_0.magic_planks.name=魔法树木板 -tile.planks_0.mangrove_planks.name=红树木板 -tile.planks_0.palm_planks.name=棕榈树木板 -tile.planks_0.redwood_planks.name=红木木板 -tile.planks_0.willow_planks.name=柳树木板 -tile.planks_0.bamboo_thatching.name=竹块 -tile.planks_0.pine_planks.name=松树木板 -tile.planks_0.hellbark_planks.name=地狱皮树木板 -tile.planks_0.jacaranda_planks.name=蓝花楹树木板 -tile.planks_0.mahogany_planks.name=桃花心树木板 -tile.planks_0.ebony_planks.name=檀木木板 -tile.planks_0.eucalyptus_planks.name=桉树木板 -tile.plant_0.shortgrass.name=低草丛 -tile.plant_0.mediumgrass.name=中草丛 -tile.plant_0.bush.name=灌木丛 -tile.plant_0.sprout.name=芽 -tile.plant_0.poisonivy.name=毒常春藤 -tile.plant_0.berrybush.name=浆果灌木 -tile.plant_0.shrub.name=灌木 -tile.plant_0.wheatgrass.name=麦草 -tile.plant_0.dampgrass.name=湿草 -tile.plant_0.koru.name=银蕨 -tile.plant_0.cloverpatch.name=三叶草 -tile.plant_0.leafpile.name=落叶堆 -tile.plant_0.deadleafpile.name=枯叶堆 -tile.plant_0.deadgrass.name=枯草 -tile.plant_0.desertgrass.name=沙漠草 -tile.plant_0.desertsprouts.name=沙漠芽 -tile.plant_1.dunegrass.name=沙丘草 -tile.plant_1.spectralfern.name=光谱蕨 -tile.plant_1.thorn.name=荆棘丛 -tile.plant_1.wildrice.name=野生稻 -tile.plant_1.cattail.name=香蒲 -tile.plant_1.rivercane.name=江藤 -tile.plant_1.tinycactus.name=仙人球 -tile.plant_1.devilweed.name=恶魔草 -tile.plant_1.reed.name=芦苇 -tile.plant_1.root.name=根 -tile.plant_1.rafflesia.name=大王花 -tile.plant_1.barley.name=麦 -tile.redwood_fence.name=红木栅栏 -tile.redwood_fence_gate.name=红木栅栏门 -tile.redwood_wood_slab.name=红木台阶 -tile.redwood_stairs.name=红木楼梯 -tile.sacred_oak_fence.name=神圣橡树栅栏 -tile.sacred_oak_fence_gate.name=神圣橡树栅栏门 -tile.sacred_oak_wood_slab.name=神圣橡树台阶 -tile.sacred_oak_stairs.name=神圣橡木楼梯 -tile.sapling_0.yellow_autumn_sapling.name=黄秋树苗 -tile.sapling_0.orange_autumn_sapling.name=橙秋树苗 -tile.sapling_0.bamboo_sapling.name=竹笋 -tile.sapling_0.magic_sapling.name=魔法树树苗 -tile.sapling_0.umbran_sapling.name=暗影树树苗 -tile.sapling_0.dead_sapling.name=垂死树树苗 -tile.sapling_0.fir_sapling.name=杉树树苗 -tile.sapling_0.ethereal_sapling.name=天域树树苗 -tile.sapling_1.origin_sapling.name=原始树苗 -tile.sapling_1.pink_cherry_sapling.name=粉色樱花树树苗 -tile.sapling_1.white_cherry_sapling.name=白色樱花树树苗 -tile.sapling_1.maple_sapling.name=枫树树苗 -tile.sapling_1.hellbark_sapling.name=地狱皮树树苗 -tile.sapling_1.flowering_sapling.name=花橡树苗 -tile.sapling_1.jacaranda_sapling.name=蓝花楹树树苗 -tile.sapling_1.sacred_oak_sapling.name=神圣橡树树苗 -tile.sapling_2.mangrove_sapling.name=红树树苗 -tile.sapling_2.palm_sapling.name=棕榈树树苗 -tile.sapling_2.redwood_sapling.name=红木树苗 -tile.sapling_2.willow_sapling.name=柳树树苗 -tile.sapling_2.pine_sapling.name=松树树苗 -tile.sapling_2.mahogany_sapling.name=桃花心树树苗 -tile.sapling_2.ebony_sapling.name=檀木树苗 -tile.sapling_2.eucalyptus_sapling.name=桉树树苗 -tile.seaweed.kelp.name=海带 -tile.terrarium.terrarium_fern.name=蕨类培养罐 -tile.terrarium.terrarium_mushroom.name=蘑菇培养罐 -tile.terrarium.terrarium_cactus.name=仙人球培养罐 -tile.terrarium.terrarium_flax.name=亚麻培养罐 -tile.terrarium.terrarium_flower.name=粉水仙培养罐 -tile.terrarium.terrarium_koru.name=银蕨培养罐 -tile.terrarium.terrarium_bamboo.name=竹子培养罐 -tile.terrarium.terrarium_beach.name=海燕麦培养罐 -tile.terrarium.terrarium_glowshroom.name=夜光菇培养罐 -tile.terrarium.terrarium_dead.name=死亡培养罐 -tile.terrarium.terrarium_mystic.name=夜光花培养罐 -tile.terrarium.terrarium_ominous.name=死亡花培养罐 -tile.terrarium.terrarium_wasteland.name=荒芜培养罐 -tile.terrarium.terrarium_origin.name=原始培养罐 -tile.terrarium.terrarium_nether.name=地狱培养罐 -tile.terrarium.terrarium_ender.name=末地培养罐 -tile.tree_moss.name=树苔 -tile.umbran_fence.name=暗影木栅栏 -tile.umbran_fence_gate.name=暗影木栅栏门 -tile.umbran_wood_slab.name=暗影木台阶 -tile.umbran_stairs.name=暗影木楼梯 -tile.waterlily.lily_medium.name=中型睡莲 -tile.waterlily.lily_small.name=小型睡莲 -tile.waterlily.lily_tiny.name=微型睡莲 -tile.waterlily.lily_flower.name=睡莲花 -tile.white_sand.name=白沙 -tile.white_sandstone.white_sandstone.name=白砂岩 -tile.white_sandstone.chiseled_white_sandstone.name=錾制白砂岩 -tile.white_sandstone.smooth_white_sandstone.name=平滑白砂岩 -tile.white_sandstone_slab.name=白砂岩台阶 -tile.white_sandstone_stairs.name=白砂岩楼梯 -tile.willow_fence.name=柳树栅栏 -tile.willow_fence_gate.name=柳树栅栏门 -tile.willow_wood_slab.name=柳树台阶 -tile.willow_stairs.name=柳树楼梯 -tile.willow_vine.name=柳树藤 -tile.hard_ice.name=硬化冰块 -tile.dried_sand.name=干砂 -tile.mud_brick.name=泥砖 -tile.crystal.name=仙域水晶 - -entity.mudball.name=泥巴球 -entity.wasp.name=下界黄蜂 -entity.bop_boat.name=船 diff --git a/src/main/resources/assets/biomesoplenty/lang/zh_TW.lang b/src/main/resources/assets/biomesoplenty/lang/zh_TW.lang deleted file mode 100644 index 3dd631504..000000000 --- a/src/main/resources/assets/biomesoplenty/lang/zh_TW.lang +++ /dev/null @@ -1,435 +0,0 @@ -advancements.biomesoplenty.root.title=Biomes O' Plenty -advancements.biomesoplenty.root.description=探險家之夢... -advancements.biomesoplenty.sacred_oak_sapling.title=聖橡木 -advancements.biomesoplenty.sacred_oak_sapling.description=種植一棵大棵聖橡木。 -advancements.biomesoplenty.yin_and_yang.title=陰陽 -advancements.biomesoplenty.yin_and_yang.description=在不祥之森種植螢光花,在神秘樹林種植死亡之花。 -advancements.biomesoplenty.miners_delight.title=生命會自己找到出路 -advancements.biomesoplenty.miners_delight.description=在洞窟中找到礦工之花。 -advancements.biomesoplenty.flesh_and_blood.title=有血有肉 -advancements.biomesoplenty.flesh_and_blood.description=在地獄的內藏堆裡取得肉。 -advancements.biomesoplenty.honey_hell.title=地獄之蜜 -advancements.biomesoplenty.honey_hell.description=從地獄的蜂巢裡偷一些蜂蜜。 -advancements.biomesoplenty.terrestrial_artifact.title=請賜於我萬能的神力 -advancements.biomesoplenty.terrestrial_artifact.description=獲得每種生態域特有的寶石。 -advancements.biomesoplenty.craft_biome_finder.title=探索派對 -advancements.biomesoplenty.craft_biome_finder.description=製作生態域雷達來為你導航。 -advancements.biomesoplenty.all_biomes.title=探險家 -advancements.biomesoplenty.all_biomes.description=發現所有 Biomes O' Plenty 的生態域 - -biome_finder.searching=正在尋找%s -biome_finder.found=找到了%s! -biome_finder.not_found=無法找到%s,可能是因為距離太遠。 - -config.category.convenienceSettings.title=便利設定 -config.category.guiSettings.title=介面設定 -config.category.textureSettings.title=材質設定 -config.category.trailSettings.title=足跡設定 -config.category.convenienceSettings.tooltip=便利設定 -config.category.guiSettings.tooltip=介面聯動設定。 -config.category.textureSettings.tooltip=材質聯動設定。 -config.category.trailSettings.tooltip=設定足跡能見度。 - -commands.biomesoplenty.usage=/biomesoplenty [args] -commands.biomesoplenty.biomename.usage=/biomesoplenty biomename [生態域 ID] -commands.biomesoplenty.biomename.success=生態域 ID %s 巳與 %s 聯動 -commands.biomesoplenty.tpbiome.usage=/biomesoplenty tpbiome [生態域 ID] -commands.biomesoplenty.tpbiome.success=將 %s 傳送到 %s 生態域(%s, %s, %s) -commands.biomesoplenty.tpbiome.error=無法找到生態域:%s! -commands.biomesoplenty.stats.blocks=方塊:%s -commands.biomesoplenty.stats.items=物品:%s -commands.biomesoplenty.stats.entities=實體:%s -commands.biomesoplenty.stats.biomes=生態域:%s -commands.biomesoplenty.stripchunk.usage=/biomesoplenty stripchunk [radius] [block] [metadata] - -container.flower_basket=花籃 - -generator.BIOMESOP=Biomes O' Plenty -generator.BIOMESOP.info=Notice: Biomes O' Plenty 1.8 is in a very early state - -itemGroup.tabBiomesOPlenty=Biomes O' Plenty - -fluid.blood=血 -fluid.honey=蜂蜜 -fluid.hot_spring_water=溫泉水 -fluid.poison=毒液 -fluid.sand=流沙 - -item.forge.bucketFilled.name=%s桶 - -potion.curse=詛咒 - -item.ash.name=灰燼 -item.berries.name=莓果 -item.biome_essence.name=生態域精華 -item.biome_finder.name=生態域雷達 -item.black_dye.name=黑色染料 -item.blue_dye.name=藍色染料 -item.boat_cherry.name=櫻木船 -item.boat_ebony.name=檀木船 -item.boat_ethereal.name=空靈木船 -item.boat_eucalyptus.name=尤加利木船 -item.boat_fir.name=冷杉木船 -item.boat_hellbark.name=獄皮木船 -item.boat_jacaranda.name=藍花楹木船 -item.boat_magic.name=魔木船 -item.boat_mahogany.name=桃花心木船 -item.boat_mangrove.name=紅樹林木船 -item.boat_palm.name=棕櫚木船 -item.boat_pine.name=松木船 -item.boat_redwood.name=紅木船 -item.boat_sacred_oak.name=聖像樹木船 -item.boat_umbran.name=暗影木船 -item.boat_willow.name=柳木船 -item.brown_dye.name=棕色染料 -item.cherry_door.name=櫻木門 -item.crystal_shard.name=星晶碎片 -item.ebony_door.name=檀木門 -item.ethereal_door.name=空靈木門 -item.eucalyptus_door.name=尤加利木門 -item.filled_honeycomb.name=填滿的蜂巢 -item.fir_door.name=冷杉木門 -item.fleshchunk.name=肉片 -item.flower_basket.name=花籃 -item.gem_amber.name=琥珀 -item.gem_amethyst.name=終界紫晶 -item.gem_malachite.name=孔雀石 -item.gem_peridot.name=橄欖石 -item.gem_ruby.name=紅寶石 -item.gem_sapphire.name=藍寶石 -item.gem_tanzanite.name=坦桑石 -item.gem_topaz.name=黃玉 -item.green_dye.name=綠色染料 -item.hellbark_door.name=獄皮木門 -item.honeycomb.name=空的蜂巢 -item.jacaranda_door.name=藍花楹門 -item.jar_empty.name=空罐 -item.jar_filled_honey.name=蜂蜜罐 -item.jar_filled_blue_fire.name=藍火罐 -item.magic_door.name=魔木門 -item.mahogany_door.name=桃花心木門 -item.mangrove_door.name=紅樹林木門 -item.mudball.name=泥巴球 -item.mud_brick.name=泥磚 -item.palm_door.name=棕櫚門 -item.persimmon.name=柿子 -item.peach.name=桃子 -item.pear.name=梨子 -item.pine_door.name=松木門 -item.record_wanderer.name=唱片 -item.record.wanderer.desc=Tim Rurkowski - Wanderer -item.redwood_door.name=紅木門 -item.ricebowl.name=一碗米飯 -item.sacred_oak_door.name=聖像樹門 -item.shroompowder.name=蘑菇粉末 -item.terrestrial_artifact.name=天地寶晶 -item.umbran_door.name=暗影木門 -item.white_dye.name=白染料 -item.willow_door.name=柳木門 - -tile.ash_block.name=灰燼方塊 -tile.bamboo.name=竹 -tile.bamboo_thatching.name=竹葺 -tile.biome_block.name=生態域精華礦 -tile.blue_fire.name=藍火 -tile.bramble_plant.name=荊棘 -tile.cherry_fence.name=櫻木柵欄 -tile.cherry_fence_gate.name=櫻木柵欄門 -tile.cherry_wood_slab.name=櫻木半磚 -tile.cherry_stairs.name=櫻木階梯 -tile.coral.pink_coral.name=粉色珊瑚 -tile.coral.orange_coral.name=橙色珊瑚 -tile.coral.blue_coral.name=藍色珊瑚 -tile.coral.glowing_coral.name=發光珊瑚 -tile.coral.algae.name=水藻 -tile.dirt.loamy_dirt.name=壤質土 -tile.dirt.sandy_dirt.name=砂質土 -tile.dirt.silty_dirt.name=淤泥土 -tile.dirt.coarse_loamy_dirt.name=粗壤土 -tile.dirt.coarse_sandy_dirt.name=粗砂土 -tile.dirt.coarse_silty_dirt.name=粗淤土 -tile.double_plant.flax.name=亞麻 -tile.double_plant.tall_cattail.name=香蒲 -tile.double_plant.eyebulb.name=眼燈草 -tile.double_plant.sea_oats.name=海燕麥 -tile.ebony_fence.name=檀木柵欄 -tile.ebony_fence_gate.name=檀木柵欄門 -tile.ebony_wood_slab.name=檀木半磚 -tile.ebony_stairs.name=檀木階梯 -tile.ethereal_fence.name=空靈木柵欄 -tile.ethereal_fence_gate.name=空靈木柵欄門 -tile.ethereal_wood_slab.name=空靈木半磚 -tile.ethereal_stairs.name=空靈木階梯 -tile.eucalyptus_fence.name=尤加利木柵欄 -tile.eucalyptus_fence_gate.name=尤加利木柵欄門 -tile.eucalyptus_wood_slab.name=尤加利木半磚 -tile.eucalyptus_stairs.name=尤加利木階梯 -tile.farmland_0.loamy_farmland.name=壤質耕地 -tile.farmland_0.sandy_farmland.name=砂質耕地 -tile.farmland_1.silty_farmland.name=泥質耕地 -tile.fir_fence.name=冷杉柵欄 -tile.fir_fence_gate.name=冷杉柵欄門 -tile.fir_wood_slab.name=冷杉半磚 -tile.fir_stairs.name=冷杉階梯 -tile.flesh.name=肉塊 -tile.flower_0.clover.name=苜蓿 -tile.flower_0.swampflower.name=沼澤花 -tile.flower_0.deathbloom.name=死亡之花 -tile.flower_0.glowflower.name=夜光花 -tile.flower_0.blue_hydrangea.name=籃繡球 -tile.flower_0.orange_cosmos.name=橙色波斯菊 -tile.flower_0.pink_daffodil.name=粉水仙 -tile.flower_0.wildflower.name=野花 -tile.flower_0.violet.name=紫羅蘭 -tile.flower_0.white_anemone.name=白秋牡丹 -tile.flower_0.enderlotus.name=終界蓮 -tile.flower_0.bromeliad.name=鳳梨花 -tile.flower_0.wilted_lily.name=枯萎的百合 -tile.flower_0.pink_hibiscus.name=粉色芙蓉 -tile.flower_0.lily_of_the_valley.name=鈴蘭 -tile.flower_0.burning_blossom.name=烈燃花 -tile.flower_1.lavender.name=薰衣草 -tile.flower_1.goldenrod.name=秋麒麟草 -tile.flower_1.bluebells.name=風信子 -tile.flower_1.miners_delight.name=礦工之花 -tile.flower_1.icy_iris.name=霜鳶尾 -tile.flower_1.rose.name=玫瑰 -tile.flower_vine.name=藤花 -tile.gem_block.amethyst_block.name=紫晶磚 -tile.gem_block.ruby_block.name=紅寶石磚 -tile.gem_block.peridot_block.name=橄欖石磚 -tile.gem_block.topaz_block.name=黃玉磚 -tile.gem_block.tanzanite_block.name=坦桑石磚 -tile.gem_block.malachite_block.name=孔雀石磚 -tile.gem_block.sapphire_block.name=藍寶石磚 -tile.gem_block.amber_block.name=琥珀磚 -tile.gem_ore.amethyst_ore.name=終界紫晶礦 -tile.gem_ore.ruby_ore.name=紅寶石礦 -tile.gem_ore.peridot_ore.name=橄欖石礦 -tile.gem_ore.topaz_ore.name=黃玉礦 -tile.gem_ore.tanzanite_ore.name=坦桑石磚 -tile.gem_ore.malachite_ore.name=孔雀石磚 -tile.gem_ore.sapphire_ore.name=藍寶石磚 -tile.gem_ore.amber_ore.name=琥珀礦 -tile.grass.daisy_grass_block.name=開花草地 -tile.grass.spectral_moss.name=曲光苔 -tile.grass.overgrown_stone.name=叢生石塊 -tile.grass.loamy_grass_block.name=壤質草地 -tile.grass.sandy_grass_block.name=砂質草地 -tile.grass.silty_grass_block.name=淤泥草地 -tile.grass.origin_grass_block.name=源草地 -tile.grass.overgrown_netherrack.name=叢生地獄石 -tile.grass.mycelial_netherrack.name=菌絲地獄石 -tile.grass_path.grass_loamy_path.name=壤質草徑 -tile.grass_path.grass_sandy_path.name=沙質草徑 -tile.grass_path.grass_silty_path.name=淤泥草徑 -tile.hellbark_fence.name=獄皮木柵欄 -tile.hellbark_fence_gate.name=獄皮木柵欄門 -tile.hellbark_wood_slab.name=獄皮木半磚 -tile.hellbark_stairs.name=獄皮木階梯 -tile.hive.hive_block.name=蜂窩塊 -tile.hive.honeycomb_block.name=蜂巢塊 -tile.hive.empty_honeycomb_block.name=空的蜂巢塊 -tile.hive.filled_honeycomb_block.name=填滿的蜂巢塊 -tile.honey_block.name=蜂蜜塊 -tile.ivy.name=常春藤 -tile.jacaranda_fence.name=藍花楹柵欄 -tile.jacaranda_fence_gate.name=藍花楹柵欄門 -tile.jacaranda_wood_slab.name=藍花楹半磚 -tile.jacaranda_stairs.name=藍花楹階梯 -tile.leaves_0.yellow_autumn_leaves.name=黃秋葉 -tile.leaves_0.orange_autumn_leaves.name=橙秋葉 -tile.leaves_0.bamboo_leaves.name=竹葉 -tile.leaves_0.magic_leaves.name=魔葉 -tile.leaves_1.umbran_leaves.name=暗影葉 -tile.leaves_1.dead_leaves.name=枯葉 -tile.leaves_1.fir_leaves.name=冷杉葉 -tile.leaves_1.ethereal_leaves.name=空靈葉 -tile.leaves_2.origin_leaves.name=源葉 -tile.leaves_2.pink_cherry_leaves.name=粉櫻 -tile.leaves_2.white_cherry_leaves.name=白櫻 -tile.leaves_2.maple_leaves.name=楓葉 -tile.leaves_3.hellbark_leaves.name=獄皮葉 -tile.leaves_3.flowering_leaves.name=花葉 -tile.leaves_3.jacaranda_leaves.name=藍花楹葉 -tile.leaves_3.sacred_oak_leaves.name=聖橡葉 -tile.leaves_4.mangrove_leaves.name=紅樹林葉 -tile.leaves_4.palm_leaves.name=棕梠葉 -tile.leaves_4.redwood_leaves.name=紅木葉 -tile.leaves_4.willow_leaves.name=柳葉 -tile.leaves_5.pine_leaves.name=松葉 -tile.leaves_5.mahogany_leaves.name=桃花心木葉 -tile.leaves_5.ebony_leaves.name=檀木樹葉 -tile.leaves_5.eucalyptus_leaves.name=尤加利樹葉 -tile.leaves_6.red_big_flower_petal.name=巨紅花瓣 -tile.leaves_6.yellow_big_flower_petal.name=巨黃花瓣 -tile.log_0.sacred_oak_log.name=聖橡木原木 -tile.log_0.cherry_log.name=櫻木原木 -tile.log_0.umbran_log.name=暗影原木 -tile.log_0.fir_log.name=冷杉原木 -tile.log_1.ethereal_log.name=空靈原木 -tile.log_1.magic_log.name=魔原木 -tile.log_1.mangrove_log.name=紅樹林原木 -tile.log_1.palm_log.name=棕梠原木 -tile.log_2.redwood_log.name=紅木原木 -tile.log_2.willow_log.name=柳原木 -tile.log_2.pine_log.name=松原木 -tile.log_2.hellbark_log.name=獄皮原木 -tile.log_3.jacaranda_log.name=藍花楹原木 -tile.log_3.mahogany_log.name=桃花心木原木 -tile.log_3.ebony_log.name=檀木原木 -tile.log_3.eucalyptus_log.name=尤加利原木 -tile.log_4.giant_flower_stem.name=巨大花柄 -tile.log_4.dead_log.name=枯原木 -tile.magic_fence.name=魔木柵欄 -tile.magic_fence_gate.name=魔木柵欄門 -tile.magic_wood_slab.name=魔木半磚 -tile.magic_stairs.name=魔木階梯 -tile.mahogany_fence.name=桃花心木柵欄 -tile.mahogany_fence_gate.name=桃花心木柵欄門 -tile.mahogany_wood_slab.name=桃花心木半磚 -tile.mahogany_stairs.name=桃花心木階梯 -tile.mangrove_fence.name=紅樹林柵欄 -tile.mangrove_fence_gate.name=紅樹林柵欄門 -tile.mangrove_wood_slab.name=紅樹林半磚 -tile.mangrove_stairs.name=紅樹林階梯 -tile.mud.mud.name=泥巴 -tile.mud_brick_block.name=泥磚 -tile.mud_brick_slab.name=泥磚半磚 -tile.mud_brick_stairs.name=泥磚樓梯 -tile.mushroom.toadstool.name=毒蕈 -tile.mushroom.portobello.name=波特菇 -tile.mushroom.blue_milk_cap.name=藍蓋菇 -tile.mushroom.glowshroom.name=夜光菇 -tile.mushroom.flat_mushroom.name=平菇 -tile.mushroom.shadow_shroom.name=影菇 -tile.palm_fence.name=棕梠柵欄 -tile.palm_fence_gate.name=棕梠柵欄門 -tile.palm_wood_slab.name=棕梠半磚 -tile.palm_stairs.name=棕梠樓梯 -tile.pine_fence.name=松木柵欄 -tile.pine_fence_gate.name=松木柵欄門 -tile.pine_wood_slab.name=松木柵欄半磚 -tile.pine_stairs.name=松木柵欄樓梯 -tile.planks_0.sacred_oak_planks.name=聖橡木木材 -tile.planks_0.cherry_planks.name=櫻木木材 -tile.planks_0.umbran_planks.name=暗影木材 -tile.planks_0.fir_planks.name=冷杉木材 -tile.planks_0.ethereal_planks.name=空靈木材 -tile.planks_0.magic_planks.name=魔木材 -tile.planks_0.mangrove_planks.name=紅樹林木材 -tile.planks_0.palm_planks.name=棕梠木材 -tile.planks_0.redwood_planks.name=紅木木材 -tile.planks_0.willow_planks.name=柳木材 -tile.planks_0.bamboo_thatching.name=竹葺 -tile.planks_0.pine_planks.name=松木材 -tile.planks_0.hellbark_planks.name=獄皮木材 -tile.planks_0.jacaranda_planks.name=藍花楹木材 -tile.planks_0.mahogany_planks.name=桃花心木材 -tile.planks_0.ebony_planks.name=檀木木材 -tile.planks_0.eucalyptus_planks.name=尤加利木材 -tile.plant_0.shortgrass.name=短草 -tile.plant_0.mediumgrass.name=中等草 -tile.plant_0.bush.name=灌木叢 -tile.plant_0.sprout.name=芽 -tile.plant_0.poisonivy.name=毒藤 -tile.plant_0.berrybush.name=梅果叢 -tile.plant_0.shrub.name=灌木 -tile.plant_0.wheatgrass.name=麥草 -tile.plant_0.dampgrass.name=濕草 -tile.plant_0.koru.name=蕨芽 -tile.plant_0.cloverpatch.name=苜蓿草 -tile.plant_0.leafpile.name=落葉堆 -tile.plant_0.deadleafpile.name=枯葉堆 -tile.plant_0.deadgrass.name=枯草 -tile.plant_0.desertgrass.name=沙漠草 -tile.plant_0.desertsprouts.name=沙漠芽 -tile.plant_1.dunegrass.name=沙丘草 -tile.plant_1.spectralfern.name=曲光蕨 -tile.plant_1.thorn.name=荊棘 -tile.plant_1.wildrice.name=野稻 -tile.plant_1.cattail.name=香蒲 -tile.plant_1.rivercane.name=箭竹 -tile.plant_1.tinycactus.name=迷你仙人掌 -tile.plant_1.devilweed.name=惡魔草 -tile.plant_1.reed.name=蘆葦 -tile.plant_1.root.name=根 -tile.plant_1.rafflesia.name=霸王花 -tile.plant_1.barley.name=大麥 -tile.redwood_fence.name=紅木柵欄 -tile.redwood_fence_gate.name=紅木柵欄門 -tile.redwood_wood_slab.name=紅木半磚 -tile.redwood_stairs.name=紅木階梯 -tile.sacred_oak_fence.name=聖橡木柵欄 -tile.sacred_oak_fence_gate.name=聖橡木柵欄門 -tile.sacred_oak_wood_slab.name=聖橡木半磚 -tile.sacred_oak_stairs.name=聖橡木階梯 -tile.sapling_0.yellow_autumn_sapling.name=黃秋苗 -tile.sapling_0.orange_autumn_sapling.name=橙秋苗 -tile.sapling_0.bamboo_sapling.name=竹筍 -tile.sapling_0.magic_sapling.name=魔樹苗 -tile.sapling_0.umbran_sapling.name=暗影樹苗 -tile.sapling_0.dead_sapling.name=枯樹苗 -tile.sapling_0.fir_sapling.name=冷杉樹苗 -tile.sapling_0.ethereal_sapling.name=空靈樹苗 -tile.sapling_1.origin_sapling.name=源樹苗 -tile.sapling_1.pink_cherry_sapling.name=粉櫻樹苗 -tile.sapling_1.white_cherry_sapling.name=白櫻樹苗 -tile.sapling_1.maple_sapling.name=楓樹苗 -tile.sapling_1.hellbark_sapling.name=獄皮樹苗 -tile.sapling_1.flowering_sapling.name=花橡樹苗 -tile.sapling_1.jacaranda_sapling.name=藍花楹樹苗 -tile.sapling_1.sacred_oak_sapling.name=聖橡樹苗 -tile.sapling_2.mangrove_sapling.name=紅樹林樹苗 -tile.sapling_2.palm_sapling.name=棕櫚樹苗 -tile.sapling_2.redwood_sapling.name=紅木樹苗 -tile.sapling_2.willow_sapling.name=柳樹樹苗 -tile.sapling_2.pine_sapling.name=松樹樹苗 -tile.sapling_2.mahogany_sapling.name=桃花心木樹苗 -tile.sapling_2.ebony_sapling.name=檀木樹苗 -tile.sapling_2.eucalyptus_sapling.name=尤加利樹苗 -tile.seaweed.kelp.name=海帶 -tile.terrarium.terrarium_fern.name=蕨培養罐 -tile.terrarium.terrarium_mushroom.name=蘑菇培養罐 -tile.terrarium.terrarium_cactus.name=仙人掌培養罐 -tile.terrarium.terrarium_flax.name=亞麻培養罐 -tile.terrarium.terrarium_flower.name=花培養罐 -tile.terrarium.terrarium_koru.name=蕨苗培養罐 -tile.terrarium.terrarium_bamboo.name=竹培養罐 -tile.terrarium.terrarium_beach.name=海灘培養罐 -tile.terrarium.terrarium_glowshroom.name=螢光菇培養罐 -tile.terrarium.terrarium_dead.name=死亡培養罐 -tile.terrarium.terrarium_mystic.name=神秘培養罐 -tile.terrarium.terrarium_ominous.name=不祥培養罐 -tile.terrarium.terrarium_wasteland.name=廢土培養罐 -tile.terrarium.terrarium_origin.name=源培養罐 -tile.terrarium.terrarium_nether.name=地獄培養罐 -tile.terrarium.terrarium_ender.name=終界培養罐 -tile.tree_moss.name=樹苔 -tile.umbran_fence.name=暗影木柵欄 -tile.umbran_fence_gate.name=暗影木柵欄門 -tile.umbran_wood_slab.name=暗影木半磚 -tile.umbran_stairs.name=暗影木階梯 -tile.waterlily.lily_medium.name=中荷葉 -tile.waterlily.lily_small.name=小荷葉 -tile.waterlily.lily_tiny.name=迷你荷葉 -tile.waterlily.lily_flower.name=荷花 -tile.white_sand.name=白沙 -tile.white_sandstone.white_sandstone.name=白砂岩 -tile.white_sandstone.chiseled_white_sandstone.name=雕紋白砂岩 -tile.white_sandstone.smooth_white_sandstone.name=平滑白砂岩 -tile.white_sandstone_slab.name=白砂岩半磚 -tile.white_sandstone_stairs.name=白砂岩階梯 -tile.willow_fence.name=柳木柵欄 -tile.willow_fence_gate.name=柳木柵欄門 -tile.willow_wood_slab.name=柳木半磚 -tile.willow_stairs.name=柳木樓梯 -tile.willow_vine.name=柳木藤 -tile.hard_ice.name=硬質冰 -tile.dried_sand.name=乾沙 -tile.mud_brick.name=泥磚 -tile.crystal.name=星晶 - -entity.mudball.name=泥巴球 -entity.wasp.name=大黃蜂 -entity.bop_boat.name=船 diff --git a/src/main/resources/assets/biomesoplenty/loot_tables/advancements/all_biomes.json b/src/main/resources/assets/biomesoplenty/loot_tables/advancements/all_biomes.json deleted file mode 100644 index 94d952cf8..000000000 --- a/src/main/resources/assets/biomesoplenty/loot_tables/advancements/all_biomes.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "pools": [ - { - "rolls": 1, - "name": "all_biomes", - "entries": [ - { - "type": "item", - "name": "biomesoplenty:record_wanderer", - "weight": 1, - "functions": [ - { - "function": "set_count", - "count": { - "min": 1, - "max": 1 - } - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/algae.json b/src/main/resources/assets/biomesoplenty/models/block/algae.json deleted file mode 100644 index 57b397a58..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/algae.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/algae" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/amber_block.json b/src/main/resources/assets/biomesoplenty/models/block/amber_block.json deleted file mode 100644 index 160b88eb9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/amber_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/amber_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/amber_ore.json b/src/main/resources/assets/biomesoplenty/models/block/amber_ore.json deleted file mode 100644 index 5dff8e939..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/amber_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/amber_ore" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/amethyst_block.json b/src/main/resources/assets/biomesoplenty/models/block/amethyst_block.json deleted file mode 100644 index 2ca44f540..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/amethyst_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/amethyst_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/amethyst_ore.json b/src/main/resources/assets/biomesoplenty/models/block/amethyst_ore.json deleted file mode 100644 index 7a488456c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/amethyst_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/amethyst_ore" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ash_block.json b/src/main/resources/assets/biomesoplenty/models/block/ash_block.json deleted file mode 100755 index 99d01efef..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ash_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/ash_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/bamboo.json b/src/main/resources/assets/biomesoplenty/models/block/bamboo.json deleted file mode 100755 index e9f90786e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/bamboo.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/bamboo", - "top": "biomesoplenty:blocks/bamboo_top", - "side": "biomesoplenty:blocks/bamboo" - }, - "elements": [ - { "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#top", "cullface": "down" }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top", "cullface": "up" } - } - }, - { "from": [ 0, 0, 5 ], - "to": [ 16, 16, 11 ], - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" } - } - }, - { "from": [ 5, 0, 0 ], - "to": [ 11, 16, 16 ], - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/bamboo_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/bamboo_leaves.json deleted file mode 100644 index c509d1a75..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/bamboo_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_bamboo" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/bamboo_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/bamboo_sapling.json deleted file mode 100644 index d95902594..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/bamboo_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_bamboo" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/bamboo_thatching.json b/src/main/resources/assets/biomesoplenty/models/block/bamboo_thatching.json deleted file mode 100644 index 8d8e25d35..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/bamboo_thatching.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/bamboo_thatching" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/barley.json b/src/main/resources/assets/biomesoplenty/models/block/barley.json deleted file mode 100644 index 3a1bafb9b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/barley.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/barley" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/berrybush.json b/src/main/resources/assets/biomesoplenty/models/block/berrybush.json deleted file mode 100644 index 37191b1c3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/berrybush.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/cross_with_overlay", - "textures": { - "colored": "biomesoplenty:blocks/berrybush_berry", - "greyscale": "biomesoplenty:blocks/berrybush", - "particle": "biomesoplenty:blocks/berrybush" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/biome_block.json b/src/main/resources/assets/biomesoplenty/models/block/biome_block.json deleted file mode 100644 index 6e362d4c0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/biome_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/biome_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/blue_coral.json b/src/main/resources/assets/biomesoplenty/models/block/blue_coral.json deleted file mode 100644 index 3538308cb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/blue_coral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/blue_coral" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_floor0.json b/src/main/resources/assets/biomesoplenty/models/block/blue_fire_floor0.json deleted file mode 100644 index a4433a334..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_floor0.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fire_floor", - "textures": { - "particle": "biomesoplenty:blocks/blue_fire_layer_0", - "fire": "biomesoplenty:blocks/blue_fire_layer_0" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_floor1.json b/src/main/resources/assets/biomesoplenty/models/block/blue_fire_floor1.json deleted file mode 100644 index 2469e78d4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_floor1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fire_floor", - "textures": { - "particle": "biomesoplenty:blocks/blue_fire_layer_1", - "fire": "biomesoplenty:blocks/blue_fire_layer_1" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side0.json b/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side0.json deleted file mode 100644 index 3f73b9e32..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side0.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fire_side", - "textures": { - "particle": "biomesoplenty:blocks/blue_fire_layer_0", - "fire": "biomesoplenty:blocks/blue_fire_layer_0" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side1.json b/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side1.json deleted file mode 100644 index 029907b13..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fire_side", - "textures": { - "particle": "biomesoplenty:blocks/blue_fire_layer_1", - "fire": "biomesoplenty:blocks/blue_fire_layer_1" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side_alt0.json b/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side_alt0.json deleted file mode 100644 index 79c733f46..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side_alt0.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fire_side_alt", - "textures": { - "particle": "biomesoplenty:blocks/blue_fire_layer_0", - "fire": "biomesoplenty:blocks/blue_fire_layer_0" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side_alt1.json b/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side_alt1.json deleted file mode 100644 index b1c5bb1a3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/blue_fire_side_alt1.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fire_side_alt", - "textures": { - "particle": "biomesoplenty:blocks/blue_fire_layer_1", - "fire": "biomesoplenty:blocks/blue_fire_layer_1" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea.json b/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea.json deleted file mode 100644 index e48e93419..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/blue_hydrangea.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/blue_hydrangea" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/blue_milk_cap.json b/src/main/resources/assets/biomesoplenty/models/block/blue_milk_cap.json deleted file mode 100644 index b8681d17e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/blue_milk_cap.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/blue_milk_cap" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/bluebells.json b/src/main/resources/assets/biomesoplenty/models/block/bluebells.json deleted file mode 100644 index f11c3c703..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/bluebells.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/bluebells" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/bramble_plant.json b/src/main/resources/assets/biomesoplenty/models/block/bramble_plant.json deleted file mode 100644 index 41834198c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/bramble_plant.json +++ /dev/null @@ -1,39 +0,0 @@ -{ "parent": "block/block", - "ambientocclusion": false, - "textures": { - "plant": "biomesoplenty:blocks/bramble_plant", - "thorns": "biomesoplenty:blocks/bramble_thorns", - "particle": "biomesoplenty:blocks/bramble_plant" - }, - "elements": [ - { "from": [ 0.8, 0, 8 ], - "to": [ 15.2, 16, 8 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#thorns" }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#thorns" } - } - }, - { "from": [ 8, 0, 0.8 ], - "to": [ 8, 16, 15.2 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#thorns" }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#thorns" } - } - }, - { "from": [ 4, 4, 4 ], - "to": [ 12, 12, 12 ], - "faces": { - "down": { "uv": [ 12, 12, 4, 4 ], "texture": "#plant" }, - "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#plant" }, - "north": { "uv": [ 4, 4, 12, 12 ], "texture": "#plant" }, - "south": { "uv": [ 4, 4, 12, 12 ], "texture": "#plant" }, - "west": { "uv": [ 4, 4, 12, 12 ], "texture": "#plant" }, - "east": { "uv": [ 4, 4, 12, 12 ], "texture": "#plant" } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/bramble_plant_side.json b/src/main/resources/assets/biomesoplenty/models/block/bramble_plant_side.json deleted file mode 100644 index 312fd37fe..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/bramble_plant_side.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "texture": "biomesoplenty:blocks/bramble_plant", - "particle": "biomesoplenty:blocks/bramble_plant" - }, - "elements": [ - { "from": [ 4, 4, 0 ], - "to": [ 12, 12, 4 ], - "faces": { - "down": { "texture": "#texture" }, - "up": { "texture": "#texture" }, - "north": { "texture": "#texture", "cullface":"north" }, - "west": { "texture": "#texture" }, - "east": { "texture": "#texture" } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/bromeliad.json b/src/main/resources/assets/biomesoplenty/models/block/bromeliad.json deleted file mode 100644 index 377034969..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/bromeliad.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/bromeliad" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/burning_blossom.json b/src/main/resources/assets/biomesoplenty/models/block/burning_blossom.json deleted file mode 100644 index 09415afaf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/burning_blossom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/burning_blossom" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/bush.json b/src/main/resources/assets/biomesoplenty/models/block/bush.json deleted file mode 100644 index f01a69447..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/bush.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/cross_with_overlay", - "textures": { - "colored": "biomesoplenty:blocks/bush_branch", - "greyscale": "biomesoplenty:blocks/bush", - "particle": "biomesoplenty:blocks/bush" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cattail.json b/src/main/resources/assets/biomesoplenty/models/block/cattail.json deleted file mode 100644 index 69039669f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cattail.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/cattail" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_bark.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_bark.json deleted file mode 100644 index ef604038e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/cherry_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_door_bottom.json deleted file mode 100644 index dc2a8d674..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_cherry_lower", - "top": "biomesoplenty:blocks/door_cherry_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_door_bottom_rh.json deleted file mode 100644 index e0fcf72d2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_cherry_lower", - "top": "biomesoplenty:blocks/door_cherry_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_door_top.json deleted file mode 100644 index d5eb75ed1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_cherry_lower", - "top": "biomesoplenty:blocks/door_cherry_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_door_top_rh.json deleted file mode 100644 index c0c9fe9ba..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_cherry_lower", - "top": "biomesoplenty:blocks/door_cherry_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_gate_closed.json deleted file mode 100644 index 9ac131619..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_gate_open.json deleted file mode 100644 index b6a1d763a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_inventory.json deleted file mode 100644 index 145a8f285..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/cherry_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_post.json deleted file mode 100644 index bc23267e1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_side.json deleted file mode 100644 index 0f20a1255..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_inner_stairs.json deleted file mode 100644 index aba428cfa..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/cherry_planks", - "top": "biomesoplenty:blocks/cherry_planks", - "side": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_log.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_log.json deleted file mode 100755 index c588bf914..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/cherry_log_top", - "side": "biomesoplenty:blocks/cherry_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_outer_stairs.json deleted file mode 100644 index c0d6bfaef..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/cherry_planks", - "top": "biomesoplenty:blocks/cherry_planks", - "side": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_planks.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_planks.json deleted file mode 100644 index 05270ddcd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_stairs.json deleted file mode 100644 index b942307cd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/cherry_planks", - "top": "biomesoplenty:blocks/cherry_planks", - "side": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_wall_gate_closed.json deleted file mode 100644 index ebe13f7d2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cherry_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/cherry_wall_gate_open.json deleted file mode 100644 index 82a1f8882..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cherry_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/clover.json b/src/main/resources/assets/biomesoplenty/models/block/clover.json deleted file mode 100755 index 1358d7ffe..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/clover.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/clover", - "texture": "biomesoplenty:blocks/clover" - }, - "elements": [ - { "from": [ 0, 0.015625, 0 ], - "to": [ 16, 0.015625, 16 ], - "faces": { - "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture", "tintindex": 0 }, - "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cloverpatch.json b/src/main/resources/assets/biomesoplenty/models/block/cloverpatch.json deleted file mode 100644 index 33d73adcb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cloverpatch.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:items/cloverpatch", - "0": "biomesoplenty:blocks/cloverpatch_1", - "1": "biomesoplenty:blocks/cloverpatch_2", - "2": "biomesoplenty:blocks/cloverpatch_3", - "3": "biomesoplenty:blocks/cloverpatch_4", - "4": "biomesoplenty:blocks/cloverstem" - }, - "elements": [ - { - "name": "Top 1", - "from": [ 0.0, 5.0, 0.0 ], - "to": [ 16.0, 5.0, 16.0 ], - "faces": { - "up": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ], "tintindex": 0 }, - "down": { "texture": "#0", "uv": [ 0.0, 16.0, 16.0, 0.0 ], "tintindex": 0 } - } - }, - { - "name": "Top 2", - "from": [ 0.0, 4.0, 0.0 ], - "to": [ 16.0, 4.0, 16.0 ], - "faces": { - "up": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ], "tintindex": 0 }, - "down": { "texture": "#1", "uv": [ 0.0, 16.0, 16.0, 0.0 ], "tintindex": 0 } - } - }, - { - "name": "Top 3", - "from": [ 0.0, 3.0, 0.0 ], - "to": [ 16.0, 3.0, 16.0 ], - "faces": { - "up": { "texture": "#2", "uv": [ 0.0, 0.0, 16.0, 16.0 ], "tintindex": 0 }, - "down": { "texture": "#2", "uv": [ 0.0, 16.0, 16.0, 0.0 ], "tintindex": 0 } - } - }, - { - "name": "Top 4", - "from": [ 0.0, 2.0, 0.0 ], - "to": [ 16.0, 2.0, 16.0 ], - "faces": { - "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 16.0 ], "tintindex": 0 }, - "down": { "texture": "#3", "uv": [ 0.0, 16.0, 16.0, 0.0 ], "tintindex": 0 } - } - }, - { - "name": "Stem 1", - "from": [ 4.0, 0.0, 4.0 ], - "to": [ 5.0, 5.0, 5.0 ], - "shade": false, - "faces": { - "north": { "texture": "#4", "uv": [ 7.0, 11.0, 8.0, 16.0 ], "tintindex": 0 }, - "east": { "texture": "#4", "uv": [ 7.0, 11.0, 8.0, 16.0 ], "tintindex": 0 }, - "south": { "texture": "#4", "uv": [ 7.0, 11.0, 8.0, 16.0 ], "tintindex": 0 }, - "west": { "texture": "#4", "uv": [ 7.0, 11.0, 8.0, 16.0 ], "tintindex": 0 } - } - }, - { - "name": "Stem 2", - "from": [ 12.0, 0.0, 3.0 ], - "to": [ 13.0, 4.0, 4.0 ], - "shade": false, - "faces": { - "north": { "texture": "#4", "uv": [ 7.0, 12.0, 8.0, 16.0 ], "tintindex": 0 }, - "east": { "texture": "#4", "uv": [ 7.0, 12.0, 8.0, 16.0 ], "tintindex": 0 }, - "south": { "texture": "#4", "uv": [ 7.0, 12.0, 8.0, 16.0 ], "tintindex": 0 }, - "west": { "texture": "#4", "uv": [ 7.0, 12.0, 8.0, 16.0 ], "tintindex": 0 } - } - }, - { - "name": "Stem 3", - "from": [ 3.0, 0.0, 12.0 ], - "to": [ 4.0, 3.0, 13.0 ], - "shade": false, - "faces": { - "north": { "texture": "#4", "uv": [ 7.0, 13.0, 8.0, 16.0 ], "tintindex": 0 }, - "east": { "texture": "#4", "uv": [ 7.0, 13.0, 8.0, 16.0 ], "tintindex": 0 }, - "south": { "texture": "#4", "uv": [ 7.0, 13.0, 8.0, 16.0 ], "tintindex": 0 }, - "west": { "texture": "#4", "uv": [ 7.0, 13.0, 8.0, 16.0 ], "tintindex": 0 } - } - }, - { - "name": "Stem 4", - "from": [ 11.0, 0.0, 11.0 ], - "to": [ 12.0, 2.0, 12.0 ], - "shade": false, - "faces": { - "north": { "texture": "#4", "uv": [ 7.0, 14.0, 8.0, 16.0 ], "tintindex": 0 }, - "east": { "texture": "#4", "uv": [ 7.0, 14.0, 8.0, 16.0 ], "tintindex": 0 }, - "south": { "texture": "#4", "uv": [ 7.0, 14.0, 8.0, 16.0 ], "tintindex": 0 }, - "west": { "texture": "#4", "uv": [ 7.0, 14.0, 8.0, 16.0 ], "tintindex": 0 } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/coarse_loamy_dirt.json b/src/main/resources/assets/biomesoplenty/models/block/coarse_loamy_dirt.json deleted file mode 100644 index 8b8f67e42..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/coarse_loamy_dirt.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/coarse_dirt_loamy" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/coarse_sandy_dirt.json b/src/main/resources/assets/biomesoplenty/models/block/coarse_sandy_dirt.json deleted file mode 100644 index 735b1cbf3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/coarse_sandy_dirt.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/coarse_dirt_sandy" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/coarse_silty_dirt.json b/src/main/resources/assets/biomesoplenty/models/block/coarse_silty_dirt.json deleted file mode 100644 index 6653b4688..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/coarse_silty_dirt.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/coarse_dirt_silty" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cross_with_overlay.json b/src/main/resources/assets/biomesoplenty/models/block/cross_with_overlay.json deleted file mode 100644 index b2383eaa9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/cross_with_overlay.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "#particle" - }, - "elements": [ - { "from": [ 0.8, 0, 8 ], - "to": [ 15.2, 16, 8 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#greyscale", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#greyscale", "tintindex": 0 } - } - }, - { "from": [ 8, 0, 0.8 ], - "to": [ 8, 16, 15.2 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#greyscale", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#greyscale", "tintindex": 0 } - } - }, - { "from": [ 0.8, 0, 8 ], - "to": [ 15.2, 16, 8 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#colored" }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#colored" } - } - }, - { "from": [ 8, 0, 0.8 ], - "to": [ 8, 16, 15.2 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#colored" }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#colored" } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/crystal.json b/src/main/resources/assets/biomesoplenty/models/block/crystal.json deleted file mode 100644 index 45f8574fa..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/crystal.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/crystal" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/daisy_grass_block.json b/src/main/resources/assets/biomesoplenty/models/block/daisy_grass_block.json deleted file mode 100644 index ba9b124c4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/daisy_grass_block.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "blocks/dirt", - "bottom": "blocks/dirt", - "top": "biomesoplenty:blocks/grass_daisy_top", - "side": "biomesoplenty:blocks/grass_daisy_side" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/daisy_grass_block_snowed.json b/src/main/resources/assets/biomesoplenty/models/block/daisy_grass_block_snowed.json deleted file mode 100644 index 008645679..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/daisy_grass_block_snowed.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "blocks/dirt", - "bottom": "blocks/dirt", - "top": "biomesoplenty:blocks/grass_daisy_top", - "side": "biomesoplenty:blocks/grass_daisy_side_snowed" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/dampgrass.json b/src/main/resources/assets/biomesoplenty/models/block/dampgrass.json deleted file mode 100644 index 370245a90..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/dampgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/tinted_cross", - "textures": { - "cross": "biomesoplenty:blocks/dampgrass" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/dead_bark.json b/src/main/resources/assets/biomesoplenty/models/block/dead_bark.json deleted file mode 100644 index c4c00d599..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/dead_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/dead_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/dead_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/dead_leaves.json deleted file mode 100644 index 83dff44ca..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/dead_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_dead" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/dead_log.json b/src/main/resources/assets/biomesoplenty/models/block/dead_log.json deleted file mode 100644 index 6a85a3a6d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/dead_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/dead_log_top", - "side": "biomesoplenty:blocks/dead_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/dead_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/dead_sapling.json deleted file mode 100644 index 992aed4c6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/dead_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_dead" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/deadgrass.json b/src/main/resources/assets/biomesoplenty/models/block/deadgrass.json deleted file mode 100644 index d483613c1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/deadgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/deadgrass" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/deadleafpile.json b/src/main/resources/assets/biomesoplenty/models/block/deadleafpile.json deleted file mode 100644 index 973c37e20..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/deadleafpile.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "biomesoplenty:block/flat_on_floor", - "textures": { - "texture": "biomesoplenty:blocks/deadleafpile" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/deathbloom.json b/src/main/resources/assets/biomesoplenty/models/block/deathbloom.json deleted file mode 100644 index c5dbb2a2e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/deathbloom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/deathbloom" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/desertgrass.json b/src/main/resources/assets/biomesoplenty/models/block/desertgrass.json deleted file mode 100644 index 330cca36c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/desertgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/desertgrass" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/desertsprouts.json b/src/main/resources/assets/biomesoplenty/models/block/desertsprouts.json deleted file mode 100644 index c829c0b56..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/desertsprouts.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/desertsprouts" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/devilweed.json b/src/main/resources/assets/biomesoplenty/models/block/devilweed.json deleted file mode 100644 index b991e45e1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/devilweed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/tinted_cross", - "textures": { - "cross": "biomesoplenty:blocks/devilweed" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/dried_sand.json b/src/main/resources/assets/biomesoplenty/models/block/dried_sand.json deleted file mode 100644 index a332c51d0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/dried_sand.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/dried_sand" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/dunegrass.json b/src/main/resources/assets/biomesoplenty/models/block/dunegrass.json deleted file mode 100644 index 1bade939c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/dunegrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/dunegrass" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_bark.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_bark.json deleted file mode 100644 index f7b8b09df..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/ebony_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_door_bottom.json deleted file mode 100644 index ef984cd21..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_ebony_lower", - "top": "biomesoplenty:blocks/door_ebony_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_door_bottom_rh.json deleted file mode 100644 index fa40f443a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_ebony_lower", - "top": "biomesoplenty:blocks/door_ebony_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_door_top.json deleted file mode 100644 index 29a5cec2d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_ebony_lower", - "top": "biomesoplenty:blocks/door_ebony_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_door_top_rh.json deleted file mode 100644 index 585d06e88..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_ebony_lower", - "top": "biomesoplenty:blocks/door_ebony_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_gate_closed.json deleted file mode 100644 index 5679f5c2b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_gate_open.json deleted file mode 100644 index c419fcb4c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_inventory.json deleted file mode 100644 index fdef0d4f9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/ebony_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_post.json deleted file mode 100644 index 05de60b2e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_side.json deleted file mode 100644 index e09ce7b78..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_inner_stairs.json deleted file mode 100644 index 18208391c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/ebony_planks", - "top": "biomesoplenty:blocks/ebony_planks", - "side": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_leaves.json deleted file mode 100644 index 6cea9e6a5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_ebony" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_log.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_log.json deleted file mode 100644 index add6ca0af..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/ebony_log_top", - "side": "biomesoplenty:blocks/ebony_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_outer_stairs.json deleted file mode 100644 index 0bf8978b2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/ebony_planks", - "top": "biomesoplenty:blocks/ebony_planks", - "side": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_planks.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_planks.json deleted file mode 100644 index d4d99aa84..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_sapling.json deleted file mode 100644 index 6d543fb6e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_ebony" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_stairs.json deleted file mode 100644 index ca7f3adc6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/ebony_planks", - "top": "biomesoplenty:blocks/ebony_planks", - "side": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_wall_gate_closed.json deleted file mode 100644 index f2f85ea8e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ebony_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/ebony_wall_gate_open.json deleted file mode 100644 index 794e836ab..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ebony_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/empty_honeycomb_block.json b/src/main/resources/assets/biomesoplenty/models/block/empty_honeycomb_block.json deleted file mode 100644 index b6dc60ab5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/empty_honeycomb_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/empty_honeycomb_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/enderlotus.json b/src/main/resources/assets/biomesoplenty/models/block/enderlotus.json deleted file mode 100644 index cfa4bf16f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/enderlotus.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/enderlotus" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_bark.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_bark.json deleted file mode 100644 index cceda802b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/ethereal_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_bottom.json deleted file mode 100644 index d03e5e751..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_ethereal_lower", - "top": "biomesoplenty:blocks/door_ethereal_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_bottom_rh.json deleted file mode 100644 index 541102465..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_ethereal_lower", - "top": "biomesoplenty:blocks/door_ethereal_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_top.json deleted file mode 100644 index 3059a7f45..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_ethereal_lower", - "top": "biomesoplenty:blocks/door_ethereal_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_top_rh.json deleted file mode 100644 index 679c219a4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_ethereal_lower", - "top": "biomesoplenty:blocks/door_ethereal_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_gate_closed.json deleted file mode 100644 index 87118afc1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_gate_open.json deleted file mode 100644 index 1a6a4c81e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_inventory.json deleted file mode 100644 index 071117354..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/ethereal_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_post.json deleted file mode 100644 index 01cac228f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_side.json deleted file mode 100644 index 1648ce9f0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_inner_stairs.json deleted file mode 100644 index 465f89e6f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/ethereal_planks", - "top": "biomesoplenty:blocks/ethereal_planks", - "side": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_leaves.json deleted file mode 100644 index 589f3fe5d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_ethereal" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_log.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_log.json deleted file mode 100755 index 989e2a31b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/ethereal_log_top", - "side": "biomesoplenty:blocks/ethereal_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_outer_stairs.json deleted file mode 100644 index 88d9bd50c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/ethereal_planks", - "top": "biomesoplenty:blocks/ethereal_planks", - "side": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_planks.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_planks.json deleted file mode 100644 index 94cfed400..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_sapling.json deleted file mode 100644 index 50fa2d1fe..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_ethereal" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_stairs.json deleted file mode 100644 index 707310f25..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/ethereal_planks", - "top": "biomesoplenty:blocks/ethereal_planks", - "side": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_wall_gate_closed.json deleted file mode 100644 index 9d2e55564..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ethereal_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/ethereal_wall_gate_open.json deleted file mode 100644 index 7362e6a49..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ethereal_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_bark.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_bark.json deleted file mode 100644 index 8d2ddf49a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/eucalyptus_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_bottom.json deleted file mode 100644 index f1d489354..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_eucalyptus_lower", - "top": "biomesoplenty:blocks/door_eucalyptus_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_bottom_rh.json deleted file mode 100644 index 57ef684d1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_eucalyptus_lower", - "top": "biomesoplenty:blocks/door_eucalyptus_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_top.json deleted file mode 100644 index fc46dec1d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_eucalyptus_lower", - "top": "biomesoplenty:blocks/door_eucalyptus_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_top_rh.json deleted file mode 100644 index e1f71ea9a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_eucalyptus_lower", - "top": "biomesoplenty:blocks/door_eucalyptus_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_gate_closed.json deleted file mode 100644 index b3787884c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_gate_open.json deleted file mode 100644 index 85a40720f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_inventory.json deleted file mode 100644 index 8f18fb11d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/eucalyptus_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_post.json deleted file mode 100644 index 477aa1564..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_side.json deleted file mode 100644 index 1ee8482ef..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_inner_stairs.json deleted file mode 100644 index 9f2e51e76..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/eucalyptus_planks", - "top": "biomesoplenty:blocks/eucalyptus_planks", - "side": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_leaves.json deleted file mode 100644 index 9681e26ef..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_eucalyptus" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_log.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_log.json deleted file mode 100644 index 81fa3d138..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/eucalyptus_log_top", - "side": "biomesoplenty:blocks/eucalyptus_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_outer_stairs.json deleted file mode 100644 index 03c545646..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/eucalyptus_planks", - "top": "biomesoplenty:blocks/eucalyptus_planks", - "side": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_planks.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_planks.json deleted file mode 100644 index 89609fa17..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_sapling.json deleted file mode 100644 index 5a2c6ce07..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_eucalyptus" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_stairs.json deleted file mode 100644 index 3b8c2869e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/eucalyptus_planks", - "top": "biomesoplenty:blocks/eucalyptus_planks", - "side": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_wall_gate_closed.json deleted file mode 100644 index 8f6891e26..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_wall_gate_open.json deleted file mode 100644 index d72211a92..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eucalyptus_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eyebulb_lower.json b/src/main/resources/assets/biomesoplenty/models/block/eyebulb_lower.json deleted file mode 100644 index f821fd6f1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eyebulb_lower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/eyebulb_lower" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/eyebulb_upper.json b/src/main/resources/assets/biomesoplenty/models/block/eyebulb_upper.json deleted file mode 100644 index 37d098afe..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/eyebulb_upper.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/eyebulb_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/filled_honeycomb_block.json b/src/main/resources/assets/biomesoplenty/models/block/filled_honeycomb_block.json deleted file mode 100644 index a02ae844c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/filled_honeycomb_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/filled_honeycomb_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_bark.json b/src/main/resources/assets/biomesoplenty/models/block/fir_bark.json deleted file mode 100644 index a2ec52cf6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/fir_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom.json deleted file mode 100644 index 36548aedc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_fir_lower", - "top": "biomesoplenty:blocks/door_fir_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_rh.json deleted file mode 100644 index f2f09ebc7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_fir_lower", - "top": "biomesoplenty:blocks/door_fir_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/fir_door_top.json deleted file mode 100644 index 6342d7548..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_fir_lower", - "top": "biomesoplenty:blocks/door_fir_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_rh.json deleted file mode 100644 index 94cd977a0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_fir_lower", - "top": "biomesoplenty:blocks/door_fir_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_closed.json deleted file mode 100644 index 702eb4fad..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_open.json deleted file mode 100644 index 112e89af6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/fir_fence_inventory.json deleted file mode 100644 index 2562fe438..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/fir_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/fir_fence_post.json deleted file mode 100644 index cfdc52a29..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/fir_fence_side.json deleted file mode 100644 index 13f131a85..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/fir_inner_stairs.json deleted file mode 100644 index 1ff3b69eb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/fir_planks", - "top": "biomesoplenty:blocks/fir_planks", - "side": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/fir_leaves.json deleted file mode 100644 index 99fd66d46..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_fir" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_log.json b/src/main/resources/assets/biomesoplenty/models/block/fir_log.json deleted file mode 100755 index ac0f334f7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/fir_log_top", - "side": "biomesoplenty:blocks/fir_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/fir_outer_stairs.json deleted file mode 100644 index 5e345a135..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/fir_planks", - "top": "biomesoplenty:blocks/fir_planks", - "side": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_planks.json b/src/main/resources/assets/biomesoplenty/models/block/fir_planks.json deleted file mode 100644 index b26530292..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/fir_sapling.json deleted file mode 100644 index 4803ef4be..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_fir" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/fir_stairs.json deleted file mode 100644 index 05fd1a020..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/fir_planks", - "top": "biomesoplenty:blocks/fir_planks", - "side": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/fir_wall_gate_closed.json deleted file mode 100644 index e9e6c4a12..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/fir_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/fir_wall_gate_open.json deleted file mode 100644 index 1eb26462e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/fir_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/flat_mushroom.json b/src/main/resources/assets/biomesoplenty/models/block/flat_mushroom.json deleted file mode 100644 index 7dca28c0b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/flat_mushroom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/flat_mushroom" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/flat_on_floor.json b/src/main/resources/assets/biomesoplenty/models/block/flat_on_floor.json deleted file mode 100644 index 395d67597..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/flat_on_floor.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "#texture" - }, - "elements": [ - { "from": [ 0, 0.25, 0 ], - "to": [ 16, 0.25, 16 ], - "faces": { - "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture", "tintindex": 0 }, - "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/flax_lower.json b/src/main/resources/assets/biomesoplenty/models/block/flax_lower.json deleted file mode 100644 index 135a7d58a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/flax_lower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/tinted_cross", - "textures": { - "cross": "biomesoplenty:blocks/flax_lower" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/flax_upper.json b/src/main/resources/assets/biomesoplenty/models/block/flax_upper.json deleted file mode 100644 index dfab1d144..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/flax_upper.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/cross_with_overlay", - "textures": { - "colored": "biomesoplenty:blocks/flax_flowers", - "greyscale": "biomesoplenty:blocks/flax_upper", - "particle": "biomesoplenty:blocks/flax_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/flesh.json b/src/main/resources/assets/biomesoplenty/models/block/flesh.json deleted file mode 100644 index 8408ae4f1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/flesh.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/flesh" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/flowering_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/flowering_leaves.json deleted file mode 100644 index 48aca8461..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/flowering_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "biomesoplenty:block/leaves_overlay", - "textures": { - "under": "biomesoplenty:blocks/leaves_flowering", - "over": "biomesoplenty:blocks/leaves_flowering_overlay" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/flowering_leaves_fast.json b/src/main/resources/assets/biomesoplenty/models/block/flowering_leaves_fast.json deleted file mode 100644 index 7be9e986f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/flowering_leaves_fast.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_flowering_fast" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/flowering_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/flowering_sapling.json deleted file mode 100644 index a0c0af89b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/flowering_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_flowering" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/giant_flower_bark.json b/src/main/resources/assets/biomesoplenty/models/block/giant_flower_bark.json deleted file mode 100644 index 6ec13b6b2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/giant_flower_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/giant_flower_stem" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/giant_flower_stem.json b/src/main/resources/assets/biomesoplenty/models/block/giant_flower_stem.json deleted file mode 100644 index ab3bc84b7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/giant_flower_stem.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/giant_flower_stem_top", - "side": "biomesoplenty:blocks/giant_flower_stem" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/giant_flower_stem_bark.json b/src/main/resources/assets/biomesoplenty/models/block/giant_flower_stem_bark.json deleted file mode 100644 index 6ec13b6b2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/giant_flower_stem_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/giant_flower_stem" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/glowflower.json b/src/main/resources/assets/biomesoplenty/models/block/glowflower.json deleted file mode 100644 index 7dcfd32bc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/glowflower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/glowflower" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/glowing_coral.json b/src/main/resources/assets/biomesoplenty/models/block/glowing_coral.json deleted file mode 100644 index c369ee78a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/glowing_coral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/glowing_coral" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/glowshroom.json b/src/main/resources/assets/biomesoplenty/models/block/glowshroom.json deleted file mode 100644 index 76a42f404..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/glowshroom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/glowshroom" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/goldenrod.json b/src/main/resources/assets/biomesoplenty/models/block/goldenrod.json deleted file mode 100644 index e9f5b0009..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/goldenrod.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/goldenrod" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/grass_loamy_path.json b/src/main/resources/assets/biomesoplenty/models/block/grass_loamy_path.json deleted file mode 100644 index 6749eec1b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/grass_loamy_path.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/grass_path", - "textures": { - "particle": "biomesoplenty:blocks/dirt_loamy", - "top": "blocks/grass_path_top", - "side": "biomesoplenty:blocks/grass_loamy_path_side", - "bottom": "biomesoplenty:blocks/dirt_loamy" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/grass_sandy_path.json b/src/main/resources/assets/biomesoplenty/models/block/grass_sandy_path.json deleted file mode 100644 index 4a20cef2e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/grass_sandy_path.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/grass_path", - "textures": { - "particle": "biomesoplenty:blocks/dirt_sandy", - "top": "blocks/grass_path_top", - "side": "biomesoplenty:blocks/grass_sandy_path_side", - "bottom": "biomesoplenty:blocks/dirt_sandy" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/grass_silty_path.json b/src/main/resources/assets/biomesoplenty/models/block/grass_silty_path.json deleted file mode 100644 index 7eb7f4d4f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/grass_silty_path.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/grass_path", - "textures": { - "particle": "biomesoplenty:blocks/dirt_silty", - "top": "blocks/grass_path_top", - "side": "biomesoplenty:blocks/grass_silty_path_side", - "bottom": "biomesoplenty:blocks/dirt_silty" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_cherry.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_cherry.json deleted file mode 100644 index 832d44336..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_cherry.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/cherry_planks", - "top": "biomesoplenty:blocks/cherry_planks", - "side": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_ebony.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_ebony.json deleted file mode 100644 index 58f1c524f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_ebony.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/ebony_planks", - "top": "biomesoplenty:blocks/ebony_planks", - "side": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_ethereal.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_ethereal.json deleted file mode 100644 index 9a81baa72..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_ethereal.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/ethereal_planks", - "top": "biomesoplenty:blocks/ethereal_planks", - "side": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_eucalyptus.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_eucalyptus.json deleted file mode 100644 index 72384ba68..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_eucalyptus.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/eucalyptus_planks", - "top": "biomesoplenty:blocks/eucalyptus_planks", - "side": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_fir.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_fir.json deleted file mode 100644 index 475411550..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_fir.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/fir_planks", - "top": "biomesoplenty:blocks/fir_planks", - "side": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_hellbark.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_hellbark.json deleted file mode 100644 index 3703cbb00..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_hellbark.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/hellbark_planks", - "top": "biomesoplenty:blocks/hellbark_planks", - "side": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_jacaranda.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_jacaranda.json deleted file mode 100644 index 97bf322e1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_jacaranda.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/jacaranda_planks", - "top": "biomesoplenty:blocks/jacaranda_planks", - "side": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_magic.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_magic.json deleted file mode 100644 index 1ec55e8b1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_magic.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/magic_planks", - "top": "biomesoplenty:blocks/magic_planks", - "side": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_mahogany.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_mahogany.json deleted file mode 100644 index 7652f0b94..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_mahogany.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/mahogany_planks", - "top": "biomesoplenty:blocks/mahogany_planks", - "side": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_mangrove.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_mangrove.json deleted file mode 100644 index 88648427f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_mangrove.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/mangrove_planks", - "top": "biomesoplenty:blocks/mangrove_planks", - "side": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_mud_brick.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_mud_brick.json deleted file mode 100644 index a0cfca55f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_mud_brick.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/mud_brick_block", - "top": "biomesoplenty:blocks/mud_brick_block", - "side": "biomesoplenty:blocks/mud_brick_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_palm.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_palm.json deleted file mode 100644 index c2c4ea5ab..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_palm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/palm_planks", - "top": "biomesoplenty:blocks/palm_planks", - "side": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_pine.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_pine.json deleted file mode 100644 index a0af915ff..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_pine.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/pine_planks", - "top": "biomesoplenty:blocks/pine_planks", - "side": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_redwood.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_redwood.json deleted file mode 100644 index 54ead80ab..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_redwood.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/redwood_planks", - "top": "biomesoplenty:blocks/redwood_planks", - "side": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_sacred_oak.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_sacred_oak.json deleted file mode 100644 index f31882f11..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_sacred_oak.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/sacred_oak_planks", - "top": "biomesoplenty:blocks/sacred_oak_planks", - "side": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_umbran.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_umbran.json deleted file mode 100644 index fa0a0dffd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_umbran.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/umbran_planks", - "top": "biomesoplenty:blocks/umbran_planks", - "side": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_white_sandstone.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_white_sandstone.json deleted file mode 100644 index 9c4354bca..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_white_sandstone.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/white_sandstone_bottom", - "top": "biomesoplenty:blocks/white_sandstone_top", - "side": "biomesoplenty:blocks/white_sandstone_normal" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/half_slab_willow.json b/src/main/resources/assets/biomesoplenty/models/block/half_slab_willow.json deleted file mode 100644 index e903b908a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/half_slab_willow.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/half_slab", - "textures": { - "bottom": "biomesoplenty:blocks/willow_planks", - "top": "biomesoplenty:blocks/willow_planks", - "side": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hard_ice.json b/src/main/resources/assets/biomesoplenty/models/block/hard_ice.json deleted file mode 100644 index 3610557d9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hard_ice.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/hard_ice" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_bark.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_bark.json deleted file mode 100644 index cb7fef5fa..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/hellbark_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom.json deleted file mode 100644 index 46ef51436..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_hellbark_lower", - "top": "biomesoplenty:blocks/door_hellbark_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_rh.json deleted file mode 100644 index 77746bb9f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_hellbark_lower", - "top": "biomesoplenty:blocks/door_hellbark_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top.json deleted file mode 100644 index fd81cd8a6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_hellbark_lower", - "top": "biomesoplenty:blocks/door_hellbark_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_rh.json deleted file mode 100644 index 4db79f17d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_hellbark_lower", - "top": "biomesoplenty:blocks/door_hellbark_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_closed.json deleted file mode 100644 index f13ad102e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_open.json deleted file mode 100644 index 7ed2a892c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_inventory.json deleted file mode 100644 index e192dd322..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/hellbark_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_post.json deleted file mode 100644 index b120106cc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_side.json deleted file mode 100644 index a960e11bb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_inner_stairs.json deleted file mode 100644 index 3710d6a73..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/hellbark_planks", - "top": "biomesoplenty:blocks/hellbark_planks", - "side": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_leaves.json deleted file mode 100644 index aa7ddc035..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_hellbark" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_log.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_log.json deleted file mode 100644 index 4bc19a0f3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/hellbark_log_top", - "side": "biomesoplenty:blocks/hellbark_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_outer_stairs.json deleted file mode 100644 index 08a78cee9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/hellbark_planks", - "top": "biomesoplenty:blocks/hellbark_planks", - "side": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_planks.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_planks.json deleted file mode 100644 index f2074997b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_sapling.json deleted file mode 100644 index e04f767c3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_hellbark" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs.json deleted file mode 100644 index 230d10e16..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/hellbark_planks", - "top": "biomesoplenty:blocks/hellbark_planks", - "side": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_wall_gate_closed.json deleted file mode 100644 index 6e7731b77..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hellbark_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/hellbark_wall_gate_open.json deleted file mode 100644 index ec482ec2c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hellbark_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/hive_block.json b/src/main/resources/assets/biomesoplenty/models/block/hive_block.json deleted file mode 100644 index 2416244ec..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/hive_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/hive_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/honey_block.json b/src/main/resources/assets/biomesoplenty/models/block/honey_block.json deleted file mode 100644 index 007896f07..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/honey_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/honey_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/honeycomb_block.json b/src/main/resources/assets/biomesoplenty/models/block/honeycomb_block.json deleted file mode 100644 index d5bc35496..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/honeycomb_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/honeycomb_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/icy_iris.json b/src/main/resources/assets/biomesoplenty/models/block/icy_iris.json deleted file mode 100644 index fadb2bf70..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/icy_iris.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/icy_iris" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_1.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_1.json deleted file mode 100644 index aabe0ac24..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_1.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_1u.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_1u.json deleted file mode 100644 index 472fa3983..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_1u.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_2.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_2.json deleted file mode 100644 index 9e0c2fd02..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_2.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_2_opposite.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_2_opposite.json deleted file mode 100644 index 0af764ee1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_2_opposite.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0.8, 0, 0 ], - "to": [ 0.8, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_2u.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_2u.json deleted file mode 100644 index d10f11deb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_2u.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_2u_opposite.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_2u_opposite.json deleted file mode 100644 index 1531a4554..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_2u_opposite.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0.8, 0, 0 ], - "to": [ 0.8, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_3.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_3.json deleted file mode 100644 index 2c18de489..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_3.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_3u.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_3u.json deleted file mode 100644 index aed1a7b46..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_3u.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_4.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_4.json deleted file mode 100644 index 23f849976..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_4.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 0.8, 0, 0 ], - "to": [ 0.8, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_4u.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_4u.json deleted file mode 100644 index b2e18a307..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_4u.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0.8, 0, 0 ], - "to": [ 0.8, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ivy_u.json b/src/main/resources/assets/biomesoplenty/models/block/ivy_u.json deleted file mode 100644 index 6a078891e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ivy_u.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/ivy", - "vine": "biomesoplenty:blocks/ivy" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_bark.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_bark.json deleted file mode 100644 index 24564d9a8..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/jacaranda_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom.json deleted file mode 100644 index f02cc92cf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_jacaranda_lower", - "top": "biomesoplenty:blocks/door_jacaranda_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_rh.json deleted file mode 100644 index 51d2e3121..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_jacaranda_lower", - "top": "biomesoplenty:blocks/door_jacaranda_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top.json deleted file mode 100644 index b40ed1ec7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_jacaranda_lower", - "top": "biomesoplenty:blocks/door_jacaranda_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_rh.json deleted file mode 100644 index f5732b2f2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_jacaranda_lower", - "top": "biomesoplenty:blocks/door_jacaranda_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_closed.json deleted file mode 100644 index ca9762a6f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_open.json deleted file mode 100644 index b326b8989..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_inventory.json deleted file mode 100644 index d908e360c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/jacaranda_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_post.json deleted file mode 100644 index 9504a65c4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_side.json deleted file mode 100644 index 9812b5ae9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_inner_stairs.json deleted file mode 100644 index 2aabb8f93..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/jacaranda_planks", - "top": "biomesoplenty:blocks/jacaranda_planks", - "side": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_leaves.json deleted file mode 100644 index 4fe3f351c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_jacaranda" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json deleted file mode 100644 index 8495ff85b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/jacaranda_log_top", - "side": "biomesoplenty:blocks/jacaranda_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_outer_stairs.json deleted file mode 100644 index f98e4708d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/jacaranda_planks", - "top": "biomesoplenty:blocks/jacaranda_planks", - "side": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_planks.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_planks.json deleted file mode 100644 index 94d8d1c9e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sapling.json deleted file mode 100644 index bda31910b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_jacaranda" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs.json deleted file mode 100644 index 837b973ce..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/jacaranda_planks", - "top": "biomesoplenty:blocks/jacaranda_planks", - "side": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wall_gate_closed.json deleted file mode 100644 index 5d3c5ef6b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wall_gate_open.json deleted file mode 100644 index 5baa3f462..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/jacaranda_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/kelp_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/kelp_bottom.json deleted file mode 100644 index 790fbfa25..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/kelp_bottom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/kelp_bottom" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/kelp_middle.json b/src/main/resources/assets/biomesoplenty/models/block/kelp_middle.json deleted file mode 100644 index e3a0be56b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/kelp_middle.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/kelp_middle" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/kelp_single.json b/src/main/resources/assets/biomesoplenty/models/block/kelp_single.json deleted file mode 100644 index 316487d40..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/kelp_single.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/kelp_single" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/kelp_top.json b/src/main/resources/assets/biomesoplenty/models/block/kelp_top.json deleted file mode 100644 index 5070d476c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/kelp_top.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/kelp_top" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/koru.json b/src/main/resources/assets/biomesoplenty/models/block/koru.json deleted file mode 100644 index 3d06eb8b2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/koru.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/tinted_cross", - "textures": { - "cross": "biomesoplenty:blocks/koru" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/lavender.json b/src/main/resources/assets/biomesoplenty/models/block/lavender.json deleted file mode 100644 index 9c7483929..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/lavender.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/lavender" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/leafpile.json b/src/main/resources/assets/biomesoplenty/models/block/leafpile.json deleted file mode 100644 index 216b5458f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/leafpile.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "biomesoplenty:block/flat_on_floor", - "textures": { - "texture": "biomesoplenty:blocks/leafpile" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/leaves_overlay.json b/src/main/resources/assets/biomesoplenty/models/block/leaves_overlay.json deleted file mode 100644 index 374deaa37..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/leaves_overlay.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parent": "block/block", - "textures": { - "particle": "#under" - }, - "elements": [ - { "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 }, - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 }, - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#under", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "down", "tintindex": 1 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "up", "tintindex": 1 }, - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "north", "tintindex": 1 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "south", "tintindex": 1 }, - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "west", "tintindex": 1 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#over", "cullface": "east", "tintindex": 1 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/lily_flower.json b/src/main/resources/assets/biomesoplenty/models/block/lily_flower.json deleted file mode 100644 index f4df52aee..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/lily_flower.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:items/lily_flower", - "lilypad": "minecraft:blocks/waterlily", - "flower": "biomesoplenty:blocks/waterlily" - }, - "elements": [ - { "from": [ 0, 0.25, 0 ], - "to": [ 16, 0.25, 16 ], - "faces": { - "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#lilypad", "tintindex": 0 }, - "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#lilypad", "tintindex": 0 } - } - }, - { "from": [ 0.8, 0.25, 8 ], - "to": [ 15.2, 16.25, 8 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#flower", "tintindex": 1 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower", "tintindex": 1 } - } - }, - { "from": [ 8, 0.25, 0.8 ], - "to": [ 8, 16.25, 15.2 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower", "tintindex": 1 }, - "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#flower", "tintindex": 1 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/lily_medium.json b/src/main/resources/assets/biomesoplenty/models/block/lily_medium.json deleted file mode 100644 index b7968791b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/lily_medium.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/lily_medium", - "texture": "biomesoplenty:blocks/lily_medium" - }, - "elements": [ - { "from": [ 0, 0.25, 0 ], - "to": [ 16, 0.25, 16 ], - "faces": { - "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture" }, - "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/lily_of_the_valley.json b/src/main/resources/assets/biomesoplenty/models/block/lily_of_the_valley.json deleted file mode 100644 index 60d67d27a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/lily_of_the_valley.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/lily_of_the_valley" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/lily_small.json b/src/main/resources/assets/biomesoplenty/models/block/lily_small.json deleted file mode 100644 index 1baf19757..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/lily_small.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/lily_small", - "texture": "biomesoplenty:blocks/lily_small" - }, - "elements": [ - { "from": [ 0, 0.25, 0 ], - "to": [ 16, 0.25, 16 ], - "faces": { - "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture" }, - "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/lily_tiny.json b/src/main/resources/assets/biomesoplenty/models/block/lily_tiny.json deleted file mode 100644 index 29cf77641..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/lily_tiny.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/lily_tiny", - "texture": "biomesoplenty:blocks/lily_tiny" - }, - "elements": [ - { "from": [ 0, 0.25, 0 ], - "to": [ 16, 0.25, 16 ], - "faces": { - "down": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture" }, - "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/loamy_dirt.json b/src/main/resources/assets/biomesoplenty/models/block/loamy_dirt.json deleted file mode 100644 index a8eb6eff1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/loamy_dirt.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/dirt_loamy" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/loamy_farmland_dry.json b/src/main/resources/assets/biomesoplenty/models/block/loamy_farmland_dry.json deleted file mode 100644 index 3772b0dbe..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/loamy_farmland_dry.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/farmland", - "textures": { - "particle": "biomesoplenty:blocks/dirt_loamy", - "dirt": "biomesoplenty:blocks/dirt_loamy", - "top": "biomesoplenty:blocks/farmland_dry_loamy" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/loamy_farmland_moist.json b/src/main/resources/assets/biomesoplenty/models/block/loamy_farmland_moist.json deleted file mode 100644 index 3765f4580..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/loamy_farmland_moist.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/farmland", - "textures": { - "particle": "biomesoplenty:blocks/dirt_loamy", - "dirt": "biomesoplenty:blocks/dirt_loamy", - "top": "biomesoplenty:blocks/farmland_moist_loamy" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/loamy_grass_block.json b/src/main/resources/assets/biomesoplenty/models/block/loamy_grass_block.json deleted file mode 100644 index 5d5d5552c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/loamy_grass_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "block/grass", - "textures": { - "particle": "biomesoplenty:blocks/dirt_loamy", - "bottom": "biomesoplenty:blocks/dirt_loamy", - "top": "biomesoplenty:blocks/grass_top", - "side": "biomesoplenty:blocks/grass_loamy_side", - "overlay": "biomesoplenty:blocks/grass_side_overlay" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/loamy_grass_block_snowed.json b/src/main/resources/assets/biomesoplenty/models/block/loamy_grass_block_snowed.json deleted file mode 100644 index 1ab261a20..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/loamy_grass_block_snowed.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "biomesoplenty:blocks/dirt_loamy", - "bottom": "biomesoplenty:blocks/dirt_loamy", - "top": "biomesoplenty:blocks/grass_top", - "side": "biomesoplenty:blocks/grass_loamy_side_snowed" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_bark.json b/src/main/resources/assets/biomesoplenty/models/block/magic_bark.json deleted file mode 100644 index cc3509770..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/magic_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom.json deleted file mode 100644 index 0066af497..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_magic_lower", - "top": "biomesoplenty:blocks/door_magic_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_rh.json deleted file mode 100644 index 1315e8013..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_magic_lower", - "top": "biomesoplenty:blocks/door_magic_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/magic_door_top.json deleted file mode 100644 index 4a3aafddb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_magic_lower", - "top": "biomesoplenty:blocks/door_magic_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_rh.json deleted file mode 100644 index 5fbd71094..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_magic_lower", - "top": "biomesoplenty:blocks/door_magic_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_closed.json deleted file mode 100644 index 05187740f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_open.json deleted file mode 100644 index 67744b391..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/magic_fence_inventory.json deleted file mode 100644 index a63c2c5e5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/magic_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/magic_fence_post.json deleted file mode 100644 index c2b532e2b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/magic_fence_side.json deleted file mode 100644 index 59205f095..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/magic_inner_stairs.json deleted file mode 100644 index 19c781e15..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/magic_planks", - "top": "biomesoplenty:blocks/magic_planks", - "side": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/magic_leaves.json deleted file mode 100644 index 230dfdbd4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_magic" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_log.json b/src/main/resources/assets/biomesoplenty/models/block/magic_log.json deleted file mode 100755 index 332b78e09..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/magic_log_top", - "side": "biomesoplenty:blocks/magic_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/magic_outer_stairs.json deleted file mode 100644 index adfdc49fc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/magic_planks", - "top": "biomesoplenty:blocks/magic_planks", - "side": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_planks.json b/src/main/resources/assets/biomesoplenty/models/block/magic_planks.json deleted file mode 100644 index b5226b86f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/magic_sapling.json deleted file mode 100644 index b65482a18..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_magic" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/magic_stairs.json deleted file mode 100644 index 43b01763a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/magic_planks", - "top": "biomesoplenty:blocks/magic_planks", - "side": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/magic_wall_gate_closed.json deleted file mode 100644 index 9f8f262d9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/magic_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/magic_wall_gate_open.json deleted file mode 100644 index 85d8b23d9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/magic_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_bark.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_bark.json deleted file mode 100644 index 70531140c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/mahogany_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom.json deleted file mode 100644 index 57d134cb5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_mahogany_lower", - "top": "biomesoplenty:blocks/door_mahogany_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_rh.json deleted file mode 100644 index 1adbec583..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_mahogany_lower", - "top": "biomesoplenty:blocks/door_mahogany_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top.json deleted file mode 100644 index 3b3ac8b1d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_mahogany_lower", - "top": "biomesoplenty:blocks/door_mahogany_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_rh.json deleted file mode 100644 index 7194beeaf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_mahogany_lower", - "top": "biomesoplenty:blocks/door_mahogany_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_closed.json deleted file mode 100644 index 161aa7bed..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_open.json deleted file mode 100644 index 3cda08a43..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_inventory.json deleted file mode 100644 index cc2ee6acc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/mahogany_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_post.json deleted file mode 100644 index ccc9c701a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_side.json deleted file mode 100644 index 8a2705b34..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_inner_stairs.json deleted file mode 100644 index cdc065886..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/mahogany_planks", - "top": "biomesoplenty:blocks/mahogany_planks", - "side": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_leaves.json deleted file mode 100644 index 4dc1c564d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_mahogany" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json deleted file mode 100644 index 029d9ba64..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/mahogany_log_top", - "side": "biomesoplenty:blocks/mahogany_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_outer_stairs.json deleted file mode 100644 index 6eca08bd3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/mahogany_planks", - "top": "biomesoplenty:blocks/mahogany_planks", - "side": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_planks.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_planks.json deleted file mode 100755 index e7be1051b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_sapling.json deleted file mode 100644 index 8f1017e70..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_mahogany" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs.json deleted file mode 100644 index 3262c732a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/mahogany_planks", - "top": "biomesoplenty:blocks/mahogany_planks", - "side": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_wall_gate_closed.json deleted file mode 100644 index c516bee16..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mahogany_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/mahogany_wall_gate_open.json deleted file mode 100644 index 5796fee61..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mahogany_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/malachite_block.json b/src/main/resources/assets/biomesoplenty/models/block/malachite_block.json deleted file mode 100644 index a1a209966..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/malachite_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/malachite_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/malachite_ore.json b/src/main/resources/assets/biomesoplenty/models/block/malachite_ore.json deleted file mode 100644 index 001f99e52..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/malachite_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/malachite_ore" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_bark.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_bark.json deleted file mode 100644 index 30b0ff965..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/mangrove_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_bottom.json deleted file mode 100644 index 4ac8736e6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_mangrove_lower", - "top": "biomesoplenty:blocks/door_mangrove_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_bottom_rh.json deleted file mode 100644 index 0bc049100..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_mangrove_lower", - "top": "biomesoplenty:blocks/door_mangrove_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_top.json deleted file mode 100644 index 1dbda4225..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_mangrove_lower", - "top": "biomesoplenty:blocks/door_mangrove_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_top_rh.json deleted file mode 100644 index 4a37bef46..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_mangrove_lower", - "top": "biomesoplenty:blocks/door_mangrove_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_gate_closed.json deleted file mode 100644 index 00e8dc433..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_gate_open.json deleted file mode 100644 index 30d5a3f56..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_inventory.json deleted file mode 100644 index 737c91f21..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/mangrove_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_post.json deleted file mode 100644 index 9491540e1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_side.json deleted file mode 100644 index 93838cc78..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_inner_stairs.json deleted file mode 100644 index c12c157fd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/mangrove_planks", - "top": "biomesoplenty:blocks/mangrove_planks", - "side": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_leaves.json deleted file mode 100644 index 6922fe4dc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_mangrove" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_log.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_log.json deleted file mode 100644 index a1be3d3a1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/mangrove_log_top", - "side": "biomesoplenty:blocks/mangrove_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_outer_stairs.json deleted file mode 100644 index 7ac15e2e1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/mangrove_planks", - "top": "biomesoplenty:blocks/mangrove_planks", - "side": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_planks.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_planks.json deleted file mode 100644 index 4ca6c5d61..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_sapling.json deleted file mode 100644 index ef341de00..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_mangrove" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_stairs.json deleted file mode 100644 index 9a31833d4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/mangrove_planks", - "top": "biomesoplenty:blocks/mangrove_planks", - "side": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_wall_gate_closed.json deleted file mode 100644 index f4e968a99..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mangrove_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/mangrove_wall_gate_open.json deleted file mode 100644 index c858d287e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mangrove_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/maple_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/maple_leaves.json deleted file mode 100644 index 808d9f0d4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/maple_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_maple" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/maple_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/maple_sapling.json deleted file mode 100644 index 2ff449378..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/maple_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_maple" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mediumgrass.json b/src/main/resources/assets/biomesoplenty/models/block/mediumgrass.json deleted file mode 100644 index 88c4370a2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mediumgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/tinted_cross", - "textures": { - "cross": "biomesoplenty:blocks/mediumgrass" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/miners_delight.json b/src/main/resources/assets/biomesoplenty/models/block/miners_delight.json deleted file mode 100644 index 20bd5baee..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/miners_delight.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/miners_delight" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mud.json b/src/main/resources/assets/biomesoplenty/models/block/mud.json deleted file mode 100644 index 71ffba582..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mud.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/mud" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mud_brick_block.json b/src/main/resources/assets/biomesoplenty/models/block/mud_brick_block.json deleted file mode 100644 index bfcf495de..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mud_brick_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/mud_brick_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mud_brick_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/mud_brick_inner_stairs.json deleted file mode 100644 index 4345873ca..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mud_brick_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/mud_brick_block", - "top": "biomesoplenty:blocks/mud_brick_block", - "side": "biomesoplenty:blocks/mud_brick_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mud_brick_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/mud_brick_outer_stairs.json deleted file mode 100644 index 1f5719f69..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mud_brick_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/mud_brick_block", - "top": "biomesoplenty:blocks/mud_brick_block", - "side": "biomesoplenty:blocks/mud_brick_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mud_brick_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/mud_brick_stairs.json deleted file mode 100644 index 166655284..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mud_brick_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/mud_brick_block", - "top": "biomesoplenty:blocks/mud_brick_block", - "side": "biomesoplenty:blocks/mud_brick_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/mycelial_netherrack.json b/src/main/resources/assets/biomesoplenty/models/block/mycelial_netherrack.json deleted file mode 100644 index 501c13e6c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/mycelial_netherrack.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "blocks/netherrack", - "bottom": "blocks/netherrack", - "top": "blocks/mycelium_top", - "side": "biomesoplenty:blocks/mycelial_netherrack_side" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_autumn_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/orange_autumn_leaves.json deleted file mode 100644 index 7f70c117a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/orange_autumn_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_orange_autumn" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_autumn_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/orange_autumn_sapling.json deleted file mode 100644 index 17ca56494..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/orange_autumn_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_orange_autumn" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_coral.json b/src/main/resources/assets/biomesoplenty/models/block/orange_coral.json deleted file mode 100644 index 1cf377934..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/orange_coral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/orange_coral" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_cosmos.json b/src/main/resources/assets/biomesoplenty/models/block/orange_cosmos.json deleted file mode 100644 index 66990f7e7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/orange_cosmos.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/orange_cosmos" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json b/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json deleted file mode 100644 index 4e9d633d8..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "blocks/dirt", - "bottom": "blocks/dirt", - "top": "biomesoplenty:blocks/grass_origin_top", - "side": "biomesoplenty:blocks/grass_origin_side" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snowed.json b/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snowed.json deleted file mode 100644 index 7e7082368..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snowed.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "blocks/dirt", - "bottom": "blocks/dirt", - "top": "biomesoplenty:blocks/grass_origin_top", - "side": "biomesoplenty:blocks/grass_origin_side_snowed" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/origin_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/origin_leaves.json deleted file mode 100644 index 110f9ae7b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/origin_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_origin" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/origin_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/origin_sapling.json deleted file mode 100644 index f9a50343c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/origin_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_origin" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/overgrown_netherrack.json b/src/main/resources/assets/biomesoplenty/models/block/overgrown_netherrack.json deleted file mode 100644 index 6e5befc51..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/overgrown_netherrack.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "blocks/netherrack", - "bottom": "blocks/netherrack", - "top": "biomesoplenty:blocks/overgrown_netherrack_top", - "side": "biomesoplenty:blocks/overgrown_netherrack_side" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/overgrown_stone.json b/src/main/resources/assets/biomesoplenty/models/block/overgrown_stone.json deleted file mode 100644 index f56ac3c6e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/overgrown_stone.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "block/grass", - "textures": { - "particle": "blocks/stone", - "bottom": "blocks/stone", - "top": "blocks/grass_top", - "side": "biomesoplenty:blocks/overgrown_stone_side", - "overlay": "biomesoplenty:blocks/overgrown_stone_side_overlay" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/overgrown_stone_snowed.json b/src/main/resources/assets/biomesoplenty/models/block/overgrown_stone_snowed.json deleted file mode 100644 index e71087a15..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/overgrown_stone_snowed.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "blocks/stone", - "bottom": "blocks/stone", - "top": "blocks/grass_top", - "side": "biomesoplenty:blocks/overgrown_stone_side_snowed" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_bark.json b/src/main/resources/assets/biomesoplenty/models/block/palm_bark.json deleted file mode 100644 index 87c2b96df..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/palm_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom.json deleted file mode 100644 index e3c7cd38f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_palm_lower", - "top": "biomesoplenty:blocks/door_palm_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_rh.json deleted file mode 100644 index a4f38a7a5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_palm_lower", - "top": "biomesoplenty:blocks/door_palm_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/palm_door_top.json deleted file mode 100644 index c037dc5ac..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_palm_lower", - "top": "biomesoplenty:blocks/door_palm_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_rh.json deleted file mode 100644 index 06b58faf7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_palm_lower", - "top": "biomesoplenty:blocks/door_palm_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_closed.json deleted file mode 100644 index d01e11d66..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_open.json deleted file mode 100644 index 64be3aa4b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/palm_fence_inventory.json deleted file mode 100644 index 0489c1e44..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/palm_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/palm_fence_post.json deleted file mode 100644 index 14af6928a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/palm_fence_side.json deleted file mode 100644 index d93de40f4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/palm_inner_stairs.json deleted file mode 100644 index 3a44daadf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/palm_planks", - "top": "biomesoplenty:blocks/palm_planks", - "side": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/palm_leaves.json deleted file mode 100644 index c7825e0d2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_palm" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_log.json b/src/main/resources/assets/biomesoplenty/models/block/palm_log.json deleted file mode 100644 index 6dabce514..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/palm_log_top", - "side": "biomesoplenty:blocks/palm_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/palm_outer_stairs.json deleted file mode 100644 index 7095bd756..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/palm_planks", - "top": "biomesoplenty:blocks/palm_planks", - "side": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_planks.json b/src/main/resources/assets/biomesoplenty/models/block/palm_planks.json deleted file mode 100644 index ac2776e1e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/palm_sapling.json deleted file mode 100644 index e9be02f83..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_palm" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/palm_stairs.json deleted file mode 100644 index 57420e056..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/palm_planks", - "top": "biomesoplenty:blocks/palm_planks", - "side": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/palm_wall_gate_closed.json deleted file mode 100644 index 76bc3e2db..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/palm_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/palm_wall_gate_open.json deleted file mode 100644 index efc1ec5a3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/palm_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/peridot_block.json b/src/main/resources/assets/biomesoplenty/models/block/peridot_block.json deleted file mode 100644 index ebe19e665..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/peridot_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/peridot_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/peridot_ore.json b/src/main/resources/assets/biomesoplenty/models/block/peridot_ore.json deleted file mode 100644 index 26ed98d1f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/peridot_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/peridot_ore" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_bark.json b/src/main/resources/assets/biomesoplenty/models/block/pine_bark.json deleted file mode 100644 index 22bd75777..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/pine_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom.json deleted file mode 100644 index 1a1cd5247..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_pine_lower", - "top": "biomesoplenty:blocks/door_pine_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_rh.json deleted file mode 100644 index 1d6fe2508..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_pine_lower", - "top": "biomesoplenty:blocks/door_pine_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/pine_door_top.json deleted file mode 100644 index 9a7bfd7f2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_pine_lower", - "top": "biomesoplenty:blocks/door_pine_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_rh.json deleted file mode 100644 index 94416fc62..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_pine_lower", - "top": "biomesoplenty:blocks/door_pine_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_closed.json deleted file mode 100644 index b5a2a5fed..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_open.json deleted file mode 100644 index a5385a324..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/pine_fence_inventory.json deleted file mode 100644 index fbde3c546..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/pine_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/pine_fence_post.json deleted file mode 100644 index 3f71b0f0b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/pine_fence_side.json deleted file mode 100644 index a7ed73997..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/pine_inner_stairs.json deleted file mode 100644 index 35bd85295..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/pine_planks", - "top": "biomesoplenty:blocks/pine_planks", - "side": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/pine_leaves.json deleted file mode 100644 index cabbacdf4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_pine" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_log.json b/src/main/resources/assets/biomesoplenty/models/block/pine_log.json deleted file mode 100644 index 9d5c19737..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/pine_log_top", - "side": "biomesoplenty:blocks/pine_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/pine_outer_stairs.json deleted file mode 100644 index c30ebf09d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/pine_planks", - "top": "biomesoplenty:blocks/pine_planks", - "side": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_planks.json b/src/main/resources/assets/biomesoplenty/models/block/pine_planks.json deleted file mode 100644 index 53b45c89a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/pine_sapling.json deleted file mode 100644 index f246e28da..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_pine" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/pine_stairs.json deleted file mode 100644 index 1994156f6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/pine_planks", - "top": "biomesoplenty:blocks/pine_planks", - "side": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/pine_wall_gate_closed.json deleted file mode 100644 index c14e42e34..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pine_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/pine_wall_gate_open.json deleted file mode 100644 index 7b227af5f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pine_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pink_cherry_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/pink_cherry_leaves.json deleted file mode 100644 index 73f33dd03..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pink_cherry_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_pink_cherry" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pink_cherry_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/pink_cherry_sapling.json deleted file mode 100644 index aab968390..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pink_cherry_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_pink_cherry" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pink_coral.json b/src/main/resources/assets/biomesoplenty/models/block/pink_coral.json deleted file mode 100644 index 30bd0dbf4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pink_coral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/pink_coral" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pink_daffodil.json b/src/main/resources/assets/biomesoplenty/models/block/pink_daffodil.json deleted file mode 100644 index ade7b32a2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pink_daffodil.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/pink_daffodil" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/pink_hibiscus.json b/src/main/resources/assets/biomesoplenty/models/block/pink_hibiscus.json deleted file mode 100644 index fe14ee61d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/pink_hibiscus.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/pink_hibiscus" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/poisonivy.json b/src/main/resources/assets/biomesoplenty/models/block/poisonivy.json deleted file mode 100644 index 827b76c29..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/poisonivy.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/tinted_cross", - "textures": { - "cross": "biomesoplenty:blocks/poisonivy" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/portobello.json b/src/main/resources/assets/biomesoplenty/models/block/portobello.json deleted file mode 100644 index 244243401..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/portobello.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/portobello" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/rafflesia.json b/src/main/resources/assets/biomesoplenty/models/block/rafflesia.json deleted file mode 100644 index 41a620896..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/rafflesia.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)", - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/rafflesia", - "0": "biomesoplenty:blocks/rafflesia", - "1": "biomesoplenty:blocks/rafflesia_side", - "2": "biomesoplenty:blocks/rafflesia_inside" - }, - "elements": [ - { - "name": "Top", - "from": [ 0.0, 3.0, 0.0 ], - "to": [ 16.0, 3.0, 16.0 ], - "faces": { - "up": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, - "down": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ], "rotation": 180 } - } - }, - { - "name": "North", - "from": [ 0.0, 0.0, 6.0 ], - "to": [ 16.0, 16.0, 6.0 ], - "faces": { - "north": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, - "south": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] } - } - }, - { - "name": "South", - "from": [ 0.0, 0.0, 10.0 ], - "to": [ 16.0, 16.0, 10.0 ], - "faces": { - "north": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, - "south": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] } - } - }, - { - "name": "East", - "from": [ 10.0, 0.0, 0.0 ], - "to": [ 10.0, 16.0, 16.0 ], - "faces": { - "east": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, - "west": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] } - } - }, - { - "name": "West", - "from": [ 6.0, 0.0, 0.0 ], - "to": [ 6.0, 16.0, 16.0 ], - "faces": { - "east": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, - "west": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] } - } - }, - { - "name": "Inside", - "from": [ 0.0, 2.0, 0.0 ], - "to": [ 16.0, 2.0, 16.0 ], - "faces": { - "up": { "texture": "#2", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }, - "down": { "texture": "#2", "uv": [ 0.0, 0.0, 16.0, 16.0 ] } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/red_big_flower_petal.json b/src/main/resources/assets/biomesoplenty/models/block/red_big_flower_petal.json deleted file mode 100644 index fe70d5284..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/red_big_flower_petal.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/petal_red_big_flower" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_bark.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_bark.json deleted file mode 100644 index 4f4ddf2d5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/redwood_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom.json deleted file mode 100644 index 32d682d23..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_redwood_lower", - "top": "biomesoplenty:blocks/door_redwood_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_rh.json deleted file mode 100644 index a7fe1067c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_redwood_lower", - "top": "biomesoplenty:blocks/door_redwood_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top.json deleted file mode 100644 index 0cbe26401..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_redwood_lower", - "top": "biomesoplenty:blocks/door_redwood_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_rh.json deleted file mode 100644 index d16062501..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_redwood_lower", - "top": "biomesoplenty:blocks/door_redwood_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_closed.json deleted file mode 100644 index dd7da2d57..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_open.json deleted file mode 100644 index b507f7929..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_inventory.json deleted file mode 100644 index 14f3a5e41..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/redwood_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_post.json deleted file mode 100644 index 62c9a1c15..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_side.json deleted file mode 100644 index 17bb8490a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_inner_stairs.json deleted file mode 100644 index 57a839a06..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/redwood_planks", - "top": "biomesoplenty:blocks/redwood_planks", - "side": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_leaves.json deleted file mode 100644 index fc61f1916..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_redwood" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_log.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_log.json deleted file mode 100644 index 7d7585c83..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/redwood_log_top", - "side": "biomesoplenty:blocks/redwood_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_outer_stairs.json deleted file mode 100644 index 5a169b922..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/redwood_planks", - "top": "biomesoplenty:blocks/redwood_planks", - "side": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_planks.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_planks.json deleted file mode 100644 index 5d67c8ebb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_sapling.json deleted file mode 100644 index a6795d62c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_redwood" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs.json deleted file mode 100644 index 2bb1bdf84..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/redwood_planks", - "top": "biomesoplenty:blocks/redwood_planks", - "side": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_wall_gate_closed.json deleted file mode 100644 index 419a705b2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/redwood_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/redwood_wall_gate_open.json deleted file mode 100644 index 7da9394b9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/redwood_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/reed.json b/src/main/resources/assets/biomesoplenty/models/block/reed.json deleted file mode 100644 index e9bf671ae..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/reed.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "cross": "biomesoplenty:blocks/reed", - "cross_bottom": "biomesoplenty:blocks/reed_bottom", - "particle": "biomesoplenty:blocks/reed" - }, - "elements": [ - { "from": [ 0.8, 0, 8 ], - "to": [ 15.2, 16, 8 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" } - } - }, - { "from": [ 8, 0, 0.8 ], - "to": [ 8, 16, 15.2 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross" } - } - }, - { "from": [ 0.8, -16, 8 ], - "to": [ 15.2, 0, 8 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross_bottom" }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross_bottom" } - } - }, - { "from": [ 8, -16, 0.8 ], - "to": [ 8, 0, 15.2 ], - "rotation": { "origin": [ 8, 8, 8 ], "axis": "y", "angle": 45, "rescale": true }, - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross_bottom" }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#cross_bottom" } - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/rivercane.json b/src/main/resources/assets/biomesoplenty/models/block/rivercane.json deleted file mode 100644 index 652979998..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/rivercane.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/crop", - "textures": { - "crop": "biomesoplenty:blocks/rivercane" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/root.json b/src/main/resources/assets/biomesoplenty/models/block/root.json deleted file mode 100644 index 07f7b0f2d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/root.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/root" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/rose.json b/src/main/resources/assets/biomesoplenty/models/block/rose.json deleted file mode 100644 index 211078bb1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/rose.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/rose" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ruby_block.json b/src/main/resources/assets/biomesoplenty/models/block/ruby_block.json deleted file mode 100644 index f06a80c44..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ruby_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/ruby_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/ruby_ore.json b/src/main/resources/assets/biomesoplenty/models/block/ruby_ore.json deleted file mode 100644 index 1c00f99ef..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/ruby_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/ruby_ore" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_bark.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_bark.json deleted file mode 100644 index 6201da0e4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/sacred_oak_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_bottom.json deleted file mode 100644 index f22971345..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_sacred_oak_lower", - "top": "biomesoplenty:blocks/door_sacred_oak_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_bottom_rh.json deleted file mode 100644 index 186392394..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_sacred_oak_lower", - "top": "biomesoplenty:blocks/door_sacred_oak_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_top.json deleted file mode 100644 index 37a187962..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_sacred_oak_lower", - "top": "biomesoplenty:blocks/door_sacred_oak_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_top_rh.json deleted file mode 100644 index 8d33c3649..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_sacred_oak_lower", - "top": "biomesoplenty:blocks/door_sacred_oak_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_gate_closed.json deleted file mode 100644 index d8e47d10d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_gate_open.json deleted file mode 100644 index cae6fbbf0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_inventory.json deleted file mode 100644 index f3db7e2a1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/sacred_oak_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_post.json deleted file mode 100644 index 6546ee537..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_side.json deleted file mode 100644 index b5190b034..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_inner_stairs.json deleted file mode 100644 index 31a6d0def..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/sacred_oak_planks", - "top": "biomesoplenty:blocks/sacred_oak_planks", - "side": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_leaves.json deleted file mode 100644 index 59c31d6d7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_sacred_oak" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_log.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_log.json deleted file mode 100755 index 61173b10b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/sacred_oak_log_top", - "side": "biomesoplenty:blocks/sacred_oak_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_outer_stairs.json deleted file mode 100644 index 5750d3f77..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/sacred_oak_planks", - "top": "biomesoplenty:blocks/sacred_oak_planks", - "side": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_planks.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_planks.json deleted file mode 100644 index c5828a8e7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_sapling.json deleted file mode 100644 index 6328085ba..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_sacred_oak" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_stairs.json deleted file mode 100644 index 2d1fccb5f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/sacred_oak_planks", - "top": "biomesoplenty:blocks/sacred_oak_planks", - "side": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_wall_gate_closed.json deleted file mode 100644 index 7f880cf1c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_wall_gate_open.json deleted file mode 100644 index 2fae2f5c3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sacred_oak_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sandy_dirt.json b/src/main/resources/assets/biomesoplenty/models/block/sandy_dirt.json deleted file mode 100644 index 1e27ebe02..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sandy_dirt.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/dirt_sandy" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sandy_farmland_dry.json b/src/main/resources/assets/biomesoplenty/models/block/sandy_farmland_dry.json deleted file mode 100644 index afc2d8245..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sandy_farmland_dry.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/farmland", - "textures": { - "particle": "biomesoplenty:blocks/dirt_sandy", - "dirt": "biomesoplenty:blocks/dirt_sandy", - "top": "biomesoplenty:blocks/farmland_dry_sandy" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/sandy_farmland_moist.json b/src/main/resources/assets/biomesoplenty/models/block/sandy_farmland_moist.json deleted file mode 100644 index 2cd32aac3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sandy_farmland_moist.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/farmland", - "textures": { - "particle": "biomesoplenty:blocks/dirt_sandy", - "dirt": "biomesoplenty:blocks/dirt_sandy", - "top": "biomesoplenty:blocks/farmland_moist_sandy" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/sandy_grass_block.json b/src/main/resources/assets/biomesoplenty/models/block/sandy_grass_block.json deleted file mode 100644 index 93f8d1395..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sandy_grass_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "block/grass", - "textures": { - "particle": "biomesoplenty:blocks/dirt_sandy", - "bottom": "biomesoplenty:blocks/dirt_sandy", - "top": "biomesoplenty:blocks/grass_top", - "side": "biomesoplenty:blocks/grass_sandy_side", - "overlay": "biomesoplenty:blocks/grass_side_overlay" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/sandy_grass_block_snowed.json b/src/main/resources/assets/biomesoplenty/models/block/sandy_grass_block_snowed.json deleted file mode 100644 index d45c607bc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sandy_grass_block_snowed.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "biomesoplenty:blocks/dirt_sandy", - "bottom": "biomesoplenty:blocks/dirt_sandy", - "top": "biomesoplenty:blocks/grass_top", - "side": "biomesoplenty:blocks/grass_sandy_side_snowed" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/sapphire_block.json b/src/main/resources/assets/biomesoplenty/models/block/sapphire_block.json deleted file mode 100644 index a23438ec8..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sapphire_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/sapphire_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sapphire_ore.json b/src/main/resources/assets/biomesoplenty/models/block/sapphire_ore.json deleted file mode 100644 index 7b0e95583..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sapphire_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/sapphire_ore" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sea_oats_lower.json b/src/main/resources/assets/biomesoplenty/models/block/sea_oats_lower.json deleted file mode 100644 index 291011941..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sea_oats_lower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sea_oats_lower" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/sea_oats_upper.json b/src/main/resources/assets/biomesoplenty/models/block/sea_oats_upper.json deleted file mode 100644 index 71f0d63e9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sea_oats_upper.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sea_oats_upper" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/shadow_shroom.json b/src/main/resources/assets/biomesoplenty/models/block/shadow_shroom.json deleted file mode 100644 index cf20dd3d9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/shadow_shroom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/shadow_shroom" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/shortgrass.json b/src/main/resources/assets/biomesoplenty/models/block/shortgrass.json deleted file mode 100644 index f7e001401..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/shortgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/tinted_cross", - "textures": { - "cross": "biomesoplenty:blocks/shortgrass" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/shrub.json b/src/main/resources/assets/biomesoplenty/models/block/shrub.json deleted file mode 100644 index 66f6fe703..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/shrub.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/cross_with_overlay", - "textures": { - "colored": "biomesoplenty:blocks/shrub_branch", - "greyscale": "biomesoplenty:blocks/shrub", - "particle": "biomesoplenty:blocks/shrub" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/silty_dirt.json b/src/main/resources/assets/biomesoplenty/models/block/silty_dirt.json deleted file mode 100644 index 1813d7afe..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/silty_dirt.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/dirt_silty" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/silty_farmland_dry.json b/src/main/resources/assets/biomesoplenty/models/block/silty_farmland_dry.json deleted file mode 100644 index 276fb4b25..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/silty_farmland_dry.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/farmland", - "textures": { - "particle": "biomesoplenty:blocks/dirt_silty", - "dirt": "biomesoplenty:blocks/dirt_silty", - "top": "biomesoplenty:blocks/farmland_dry_silty" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/silty_farmland_moist.json b/src/main/resources/assets/biomesoplenty/models/block/silty_farmland_moist.json deleted file mode 100644 index d43c6e4db..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/silty_farmland_moist.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/farmland", - "textures": { - "particle": "biomesoplenty:blocks/dirt_silty", - "dirt": "biomesoplenty:blocks/dirt_silty", - "top": "biomesoplenty:blocks/farmland_moist_silty" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/silty_grass_block.json b/src/main/resources/assets/biomesoplenty/models/block/silty_grass_block.json deleted file mode 100644 index d917b3f7d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/silty_grass_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "block/grass", - "textures": { - "particle": "biomesoplenty:blocks/dirt_silty", - "bottom": "biomesoplenty:blocks/dirt_silty", - "top": "biomesoplenty:blocks/grass_top", - "side": "biomesoplenty:blocks/grass_silty_side", - "overlay": "biomesoplenty:blocks/grass_side_overlay" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/silty_grass_block_snowed.json b/src/main/resources/assets/biomesoplenty/models/block/silty_grass_block_snowed.json deleted file mode 100644 index 42eabbdb2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/silty_grass_block_snowed.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "biomesoplenty:blocks/dirt_silty", - "bottom": "biomesoplenty:blocks/dirt_silty", - "top": "biomesoplenty:blocks/grass_top", - "side": "biomesoplenty:blocks/grass_silty_side_snowed" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/spectral_moss.json b/src/main/resources/assets/biomesoplenty/models/block/spectral_moss.json deleted file mode 100644 index d2a2bf567..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/spectral_moss.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "particle": "blocks/end_stone", - "bottom": "blocks/end_stone", - "top": "biomesoplenty:blocks/spectral_moss_top", - "side": "biomesoplenty:blocks/spectral_moss_side" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/spectralfern.json b/src/main/resources/assets/biomesoplenty/models/block/spectralfern.json deleted file mode 100644 index 56ff0a28b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/spectralfern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/spectralfern" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/sprout.json b/src/main/resources/assets/biomesoplenty/models/block/sprout.json deleted file mode 100644 index 25195220d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/sprout.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/tinted_cross", - "textures": { - "cross": "biomesoplenty:blocks/sprout" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/swampflower.json b/src/main/resources/assets/biomesoplenty/models/block/swampflower.json deleted file mode 100755 index 48acf9439..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/swampflower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/swampflower" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/tall_cattail_lower.json b/src/main/resources/assets/biomesoplenty/models/block/tall_cattail_lower.json deleted file mode 100644 index b5d1762c9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/tall_cattail_lower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/tall_cattail_lower" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/tall_cattail_upper.json b/src/main/resources/assets/biomesoplenty/models/block/tall_cattail_upper.json deleted file mode 100644 index d918c10f3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/tall_cattail_upper.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/tall_cattail_upper" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/tanzanite_block.json b/src/main/resources/assets/biomesoplenty/models/block/tanzanite_block.json deleted file mode 100644 index 3e07ab1f1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/tanzanite_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/tanzanite_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/tanzanite_ore.json b/src/main/resources/assets/biomesoplenty/models/block/tanzanite_ore.json deleted file mode 100644 index b71ed5f96..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/tanzanite_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/tanzanite_ore" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium.json deleted file mode 100644 index abf0c7cf9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "jar": "biomesoplenty:blocks/terrarium", - "particle": "biomesoplenty:items/jar_empty" - }, - "elements": [ - { - "from": [ 4.0, 0.0, 4.0 ], - "to": [ 12.0, 12.0, 12.0 ], - "faces": { - "north": { "texture": "#jar", "uv": [ 0.0, 4.0, 8.0, 16.0 ] }, - "east": { "texture": "#jar", "uv": [ 0.0, 4.0, 8.0, 16.0 ] }, - "south": { "texture": "#jar", "uv": [ 0.0, 4.0, 8.0, 16.0 ] }, - "west": { "texture": "#jar", "uv": [ 0.0, 4.0, 8.0, 16.0 ] }, - "up": { "texture": "#jar", "uv": [ 8.0, 0.0, 16.0, 8.0 ] }, - "down": { "texture": "#jar", "uv": [ 8.0, 8.0, 16.0, 16.0 ] } - } - }, - { - "from": [ 5.0, 10.0, 5.0 ], - "to": [ 11.0, 13.0, 11.0 ], - "faces": { - "north": { "texture": "#jar", "uv": [ 0.0, 0.0, 6.0, 3.0 ] }, - "east": { "texture": "#jar", "uv": [ 0.0, 0.0, 6.0, 3.0 ] }, - "south": { "texture": "#jar", "uv": [ 0.0, 0.0, 6.0, 3.0 ] }, - "west": { "texture": "#jar", "uv": [ 0.0, 0.0, 6.0, 3.0 ] }, - "up": { "texture": "#jar", "uv": [ 9.0, 1.0, 15.0, 7.0 ] }, - "down": { "texture": "#jar", "uv": [ 9.0, 1.0, 15.0, 7.0 ] } - } - }, - { - "from": [ 5.0, 1.0, 5.0 ], - "to": [ 11.0, 5.0, 11.0 ], - "faces": { - "north": { "texture": "#inside", "uv": [ 0.0, 12.0, 6.0, 16.0 ] }, - "east": { "texture": "#inside", "uv": [ 0.0, 12.0, 6.0, 16.0 ] }, - "south": { "texture": "#inside", "uv": [ 0.0, 12.0, 6.0, 16.0 ] }, - "west": { "texture": "#inside", "uv": [ 0.0, 12.0, 6.0, 16.0 ] }, - "up": { "texture": "#inside", "uv": [ 10.0, 0.0, 16.0, 6.0 ] }, - "down": { "texture": "#inside", "uv": [ 10.0, 10.0, 16.0, 16.0 ] } - } - }, - { - "from": [ 4.0, 5.0, 8.0 ], - "to": [ 12.0, 10.0, 8.0 ], - "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "y", "angle": -45.0 }, - "faces": { - "north": { "texture": "#inside", "uv": [ 0.0, 0.0, 8.0, 5.0 ] }, - "south": { "texture": "#inside", "uv": [ 0.0, 0.0, 8.0, 5.0 ] } - } - }, - { - "from": [ 4.0, 5.0, 8.0 ], - "to": [ 12.0, 10.0, 8.0 ], - "rotation": { "origin": [ 8.0, 8.0, 8.0 ], "axis": "y", "angle": 45.0 }, - "faces": { - "north": { "texture": "#inside", "uv": [ 0.0, 0.0, 8.0, 5.0 ] }, - "south": { "texture": "#inside", "uv": [ 0.0, 0.0, 8.0, 5.0 ] } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_bamboo.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_bamboo.json deleted file mode 100644 index 9521361a7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_bamboo.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_bamboo", - "particle": "biomesoplenty:items/terrarium_bamboo" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_beach.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_beach.json deleted file mode 100644 index 2c0e56261..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_beach.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_beach", - "particle": "biomesoplenty:items/terrarium_beach" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_cactus.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_cactus.json deleted file mode 100644 index 916e53c12..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_cactus.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_cactus", - "particle": "biomesoplenty:items/terrarium_cactus" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_dead.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_dead.json deleted file mode 100644 index 652272535..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_dead.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_dead", - "particle": "biomesoplenty:items/terrarium_dead" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_ender.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_ender.json deleted file mode 100644 index b0d3cd77b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_ender.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_ender", - "particle": "biomesoplenty:items/terrarium_ender" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_fern.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_fern.json deleted file mode 100644 index 9d325481e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_fern.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_fern", - "particle": "biomesoplenty:items/terrarium_fern" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_flax.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_flax.json deleted file mode 100644 index a0e3eb5ca..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_flax.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_flax", - "particle": "biomesoplenty:items/terrarium_flax" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_flower.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_flower.json deleted file mode 100644 index 4a6d47af4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_flower.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_flower", - "particle": "biomesoplenty:items/terrarium_flower" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_glowshroom.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_glowshroom.json deleted file mode 100644 index 8b3403a49..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_glowshroom.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_glowshroom", - "particle": "biomesoplenty:items/terrarium_glowshroom" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_koru.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_koru.json deleted file mode 100644 index 2855efba7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_koru.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_koru", - "particle": "biomesoplenty:items/terrarium_koru" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_mushroom.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_mushroom.json deleted file mode 100644 index 079c92ccd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_mushroom.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_mushroom", - "particle": "biomesoplenty:items/terrarium_mushroom" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_mystic.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_mystic.json deleted file mode 100644 index 8908bfa36..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_mystic.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_mystic", - "particle": "biomesoplenty:items/terrarium_mystic" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_nether.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_nether.json deleted file mode 100644 index 5efa1c82b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_nether.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_nether", - "particle": "biomesoplenty:items/terrarium_nether" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_ominous.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_ominous.json deleted file mode 100644 index 556ee5eb7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_ominous.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_ominous", - "particle": "biomesoplenty:items/terrarium_ominous" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_origin.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_origin.json deleted file mode 100644 index 1ed77030c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_origin.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_origin", - "particle": "biomesoplenty:items/terrarium_origin" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/terrarium_wasteland.json b/src/main/resources/assets/biomesoplenty/models/block/terrarium_wasteland.json deleted file mode 100644 index ca2489cdb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/terrarium_wasteland.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "biomesoplenty:block/terrarium", - "ambientocclusion": false, - "textures": { - "inside": "biomesoplenty:blocks/terrarium_wasteland", - "particle": "biomesoplenty:items/terrarium_wasteland" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/thorn.json b/src/main/resources/assets/biomesoplenty/models/block/thorn.json deleted file mode 100644 index ea3f48b2f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/thorn.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/thorn" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/tinycactus.json b/src/main/resources/assets/biomesoplenty/models/block/tinycactus.json deleted file mode 100644 index 1f02983c2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/tinycactus.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/tinycactus" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/toadstool.json b/src/main/resources/assets/biomesoplenty/models/block/toadstool.json deleted file mode 100644 index e404807ca..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/toadstool.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/toadstool" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/topaz_block.json b/src/main/resources/assets/biomesoplenty/models/block/topaz_block.json deleted file mode 100644 index fa814f15f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/topaz_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/topaz_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/topaz_ore.json b/src/main/resources/assets/biomesoplenty/models/block/topaz_ore.json deleted file mode 100644 index 425c5e022..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/topaz_ore.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/topaz_ore" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_bark.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_bark.json deleted file mode 100644 index 82848fc40..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/umbran_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom.json deleted file mode 100644 index 965668993..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_umbran_lower", - "top": "biomesoplenty:blocks/door_umbran_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_rh.json deleted file mode 100644 index 3f2ac884a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_umbran_lower", - "top": "biomesoplenty:blocks/door_umbran_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top.json deleted file mode 100644 index 790d906b6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_umbran_lower", - "top": "biomesoplenty:blocks/door_umbran_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_rh.json deleted file mode 100644 index 15306f969..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_umbran_lower", - "top": "biomesoplenty:blocks/door_umbran_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_closed.json deleted file mode 100644 index ee182075b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_open.json deleted file mode 100644 index e96053365..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_inventory.json deleted file mode 100644 index 28165f66c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/umbran_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_post.json deleted file mode 100644 index 82519a1e3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_side.json deleted file mode 100644 index 08705f03b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_inner_stairs.json deleted file mode 100644 index 5fbec17d3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/umbran_planks", - "top": "biomesoplenty:blocks/umbran_planks", - "side": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_leaves.json deleted file mode 100644 index 1d4b271fb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_umbran" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_log.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_log.json deleted file mode 100644 index aab5fef25..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/umbran_log_top", - "side": "biomesoplenty:blocks/umbran_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_outer_stairs.json deleted file mode 100644 index b62e448c1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/umbran_planks", - "top": "biomesoplenty:blocks/umbran_planks", - "side": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_planks.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_planks.json deleted file mode 100644 index abf3c7c89..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_sapling.json deleted file mode 100644 index 300315895..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_umbran" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs.json deleted file mode 100644 index c38fd5801..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/umbran_planks", - "top": "biomesoplenty:blocks/umbran_planks", - "side": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_wall_gate_closed.json deleted file mode 100644 index b7083d958..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_wall_gate_open.json deleted file mode 100644 index f52bbde99..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/umbran_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_cherry.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_cherry.json deleted file mode 100644 index 593d85b61..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_cherry.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/cherry_planks", - "top": "biomesoplenty:blocks/cherry_planks", - "side": "biomesoplenty:blocks/cherry_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_ebony.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_ebony.json deleted file mode 100644 index 8a7c87e25..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_ebony.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/ebony_planks", - "top": "biomesoplenty:blocks/ebony_planks", - "side": "biomesoplenty:blocks/ebony_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_ethereal.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_ethereal.json deleted file mode 100644 index d68b3da23..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_ethereal.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/ethereal_planks", - "top": "biomesoplenty:blocks/ethereal_planks", - "side": "biomesoplenty:blocks/ethereal_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_eucalyptus.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_eucalyptus.json deleted file mode 100644 index e3bb93da5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_eucalyptus.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/eucalyptus_planks", - "top": "biomesoplenty:blocks/eucalyptus_planks", - "side": "biomesoplenty:blocks/eucalyptus_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_fir.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_fir.json deleted file mode 100644 index 196d8a7a4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_fir.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/fir_planks", - "top": "biomesoplenty:blocks/fir_planks", - "side": "biomesoplenty:blocks/fir_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_hellbark.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_hellbark.json deleted file mode 100644 index 1404158c3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_hellbark.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/hellbark_planks", - "top": "biomesoplenty:blocks/hellbark_planks", - "side": "biomesoplenty:blocks/hellbark_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_jacaranda.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_jacaranda.json deleted file mode 100644 index 46fde3ca0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_jacaranda.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/jacaranda_planks", - "top": "biomesoplenty:blocks/jacaranda_planks", - "side": "biomesoplenty:blocks/jacaranda_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_magic.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_magic.json deleted file mode 100644 index 3a1eb4e69..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_magic.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/magic_planks", - "top": "biomesoplenty:blocks/magic_planks", - "side": "biomesoplenty:blocks/magic_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mahogany.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mahogany.json deleted file mode 100644 index 16fb9b24a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mahogany.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/mahogany_planks", - "top": "biomesoplenty:blocks/mahogany_planks", - "side": "biomesoplenty:blocks/mahogany_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mangrove.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mangrove.json deleted file mode 100644 index ebfd03717..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mangrove.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/mangrove_planks", - "top": "biomesoplenty:blocks/mangrove_planks", - "side": "biomesoplenty:blocks/mangrove_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mud_brick.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mud_brick.json deleted file mode 100644 index 73462d243..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_mud_brick.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/mud_brick_block", - "top": "biomesoplenty:blocks/mud_brick_block", - "side": "biomesoplenty:blocks/mud_brick_block" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_palm.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_palm.json deleted file mode 100644 index 6c91b91d6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_palm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/palm_planks", - "top": "biomesoplenty:blocks/palm_planks", - "side": "biomesoplenty:blocks/palm_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_pine.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_pine.json deleted file mode 100644 index a6d28b2c2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_pine.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/pine_planks", - "top": "biomesoplenty:blocks/pine_planks", - "side": "biomesoplenty:blocks/pine_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_redwood.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_redwood.json deleted file mode 100644 index 7b98353cb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_redwood.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/redwood_planks", - "top": "biomesoplenty:blocks/redwood_planks", - "side": "biomesoplenty:blocks/redwood_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_sacred_oak.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_sacred_oak.json deleted file mode 100644 index eb213cd33..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_sacred_oak.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/sacred_oak_planks", - "top": "biomesoplenty:blocks/sacred_oak_planks", - "side": "biomesoplenty:blocks/sacred_oak_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_umbran.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_umbran.json deleted file mode 100644 index 4c475e060..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_umbran.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/umbran_planks", - "top": "biomesoplenty:blocks/umbran_planks", - "side": "biomesoplenty:blocks/umbran_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_white_sandstone.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_white_sandstone.json deleted file mode 100644 index 91960603e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_white_sandstone.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/white_sandstone_bottom", - "top": "biomesoplenty:blocks/white_sandstone_top", - "side": "biomesoplenty:blocks/white_sandstone_normal" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_willow.json b/src/main/resources/assets/biomesoplenty/models/block/upper_slab_willow.json deleted file mode 100644 index 5ef4367e2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/upper_slab_willow.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/upper_slab", - "textures": { - "bottom": "biomesoplenty:blocks/willow_planks", - "top": "biomesoplenty:blocks/willow_planks", - "side": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/violet.json b/src/main/resources/assets/biomesoplenty/models/block/violet.json deleted file mode 100644 index aff7b5bab..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/violet.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/violet" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/wheatgrass.json b/src/main/resources/assets/biomesoplenty/models/block/wheatgrass.json deleted file mode 100644 index 738daa673..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/wheatgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/tinted_cross", - "textures": { - "cross": "biomesoplenty:blocks/wheatgrass" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_anemone.json b/src/main/resources/assets/biomesoplenty/models/block/white_anemone.json deleted file mode 100644 index e9d056042..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_anemone.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/white_anemone" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_cherry_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/white_cherry_leaves.json deleted file mode 100644 index 5357cb96b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_cherry_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_white_cherry" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_cherry_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/white_cherry_sapling.json deleted file mode 100644 index 774c49d56..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_cherry_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_white_cherry" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_sand.json b/src/main/resources/assets/biomesoplenty/models/block/white_sand.json deleted file mode 100644 index bb04f4108..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_sand.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/white_sand" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_all.json b/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_all.json deleted file mode 100644 index f6fa4f4c7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_all.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/white_sandstone_top" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_chiseled.json b/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_chiseled.json deleted file mode 100644 index 2a32f3da4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_chiseled.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/white_sandstone_top", - "side": "biomesoplenty:blocks/white_sandstone_carved" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_inner_stairs.json deleted file mode 100644 index c3ab4a3d7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/white_sandstone_bottom", - "top": "biomesoplenty:blocks/white_sandstone_top", - "side": "biomesoplenty:blocks/white_sandstone_normal" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_normal.json b/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_normal.json deleted file mode 100644 index ca6550c54..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_normal.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/cube_bottom_top", - "textures": { - "bottom": "biomesoplenty:blocks/white_sandstone_bottom", - "top": "biomesoplenty:blocks/white_sandstone_top", - "side": "biomesoplenty:blocks/white_sandstone_normal" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_outer_stairs.json deleted file mode 100644 index 328155c23..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/white_sandstone_bottom", - "top": "biomesoplenty:blocks/white_sandstone_top", - "side": "biomesoplenty:blocks/white_sandstone_normal" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_smooth.json b/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_smooth.json deleted file mode 100644 index 4294f6452..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_smooth.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/white_sandstone_top", - "side": "biomesoplenty:blocks/white_sandstone_smooth" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs.json deleted file mode 100644 index 47fb44dcb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/white_sandstone_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/white_sandstone_bottom", - "top": "biomesoplenty:blocks/white_sandstone_top", - "side": "biomesoplenty:blocks/white_sandstone_normal" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/wildflower.json b/src/main/resources/assets/biomesoplenty/models/block/wildflower.json deleted file mode 100644 index bab9e8a35..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/wildflower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/wildflower" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/wildrice.json b/src/main/resources/assets/biomesoplenty/models/block/wildrice.json deleted file mode 100644 index c91fa3993..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/wildrice.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/wildrice" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_bark.json b/src/main/resources/assets/biomesoplenty/models/block/willow_bark.json deleted file mode 100644 index 072940861..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_bark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/willow_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom.json b/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom.json deleted file mode 100644 index 4c3f174eb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom", - "textures": { - "bottom": "biomesoplenty:blocks/door_willow_lower", - "top": "biomesoplenty:blocks/door_willow_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_rh.json b/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_rh.json deleted file mode 100644 index 07413f5c8..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_door_bottom_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_bottom_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_willow_lower", - "top": "biomesoplenty:blocks/door_willow_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_door_top.json b/src/main/resources/assets/biomesoplenty/models/block/willow_door_top.json deleted file mode 100644 index 91c0b2ccb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_door_top.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top", - "textures": { - "bottom": "biomesoplenty:blocks/door_willow_lower", - "top": "biomesoplenty:blocks/door_willow_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_rh.json b/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_rh.json deleted file mode 100644 index ef2e9e044..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_door_top_rh.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/door_top_rh", - "textures": { - "bottom": "biomesoplenty:blocks/door_willow_lower", - "top": "biomesoplenty:blocks/door_willow_upper" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_closed.json deleted file mode 100644 index 59221f68d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_open.json deleted file mode 100644 index 26e959ee2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/willow_fence_inventory.json deleted file mode 100644 index da24d5c53..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_inventory.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/fence_inventory", - "textures": { - "texture": "biomesoplenty:blocks/willow_planks" - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_post.json b/src/main/resources/assets/biomesoplenty/models/block/willow_fence_post.json deleted file mode 100644 index 167f074ca..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_post.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_post", - "textures": { - "texture": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_side.json b/src/main/resources/assets/biomesoplenty/models/block/willow_fence_side.json deleted file mode 100644 index 323b67d43..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_fence_side.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/fence_side", - "textures": { - "texture": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_inner_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/willow_inner_stairs.json deleted file mode 100644 index abe491e29..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_inner_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/inner_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/willow_planks", - "top": "biomesoplenty:blocks/willow_planks", - "side": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/willow_leaves.json deleted file mode 100644 index 2cb18ec54..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_willow" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_log.json b/src/main/resources/assets/biomesoplenty/models/block/willow_log.json deleted file mode 100644 index 31870e4dc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_log.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "block/cube_column", - "textures": { - "end": "biomesoplenty:blocks/willow_log_top", - "side": "biomesoplenty:blocks/willow_log" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_outer_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/willow_outer_stairs.json deleted file mode 100644 index 602ff520b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_outer_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/outer_stairs", - "textures": { - "bottom": "biomesoplenty:blocks/willow_planks", - "top": "biomesoplenty:blocks/willow_planks", - "side": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_planks.json b/src/main/resources/assets/biomesoplenty/models/block/willow_planks.json deleted file mode 100644 index 9a514f510..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_planks.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/willow_sapling.json deleted file mode 100644 index 11673a8ae..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_willow" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/willow_stairs.json deleted file mode 100644 index 65d04d1f9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/stairs", - "textures": { - "bottom": "biomesoplenty:blocks/willow_planks", - "top": "biomesoplenty:blocks/willow_planks", - "side": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1.json deleted file mode 100644 index 58be4abe4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1u.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1u.json deleted file mode 100644 index ee1e653dd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_1u.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2.json deleted file mode 100644 index 6c982f5f5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2_opposite.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2_opposite.json deleted file mode 100644 index 6ec2f9738..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2_opposite.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0.8, 0, 0 ], - "to": [ 0.8, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u.json deleted file mode 100644 index 0c3e82220..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u_opposite.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u_opposite.json deleted file mode 100644 index d2c311781..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_2u_opposite.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0.8, 0, 0 ], - "to": [ 0.8, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3.json deleted file mode 100644 index d3acd9f6b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} - diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3u.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3u.json deleted file mode 100644 index 2f5e7e3a0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_3u.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4.json deleted file mode 100644 index fd4275f34..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 0.8, 0, 0 ], - "to": [ 0.8, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4u.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4u.json deleted file mode 100644 index cc87c30cd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_4u.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0.8, 0, 0 ], - "to": [ 0.8, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 15.2, 0, 0 ], - "to": [ 15.2, 16, 16 ], - "shade": false, - "faces": { - "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 15.2 ], - "to": [ 16, 16, 15.2 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - }, - { "from": [ 0, 0, 0.8 ], - "to": [ 16, 16, 0.8 ], - "shade": false, - "faces": { - "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_u.json b/src/main/resources/assets/biomesoplenty/models/block/willow_vine_u.json deleted file mode 100644 index dc770c096..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_vine_u.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "ambientocclusion": false, - "textures": { - "particle": "biomesoplenty:blocks/willow_vine", - "vine": "biomesoplenty:blocks/willow_vine" - }, - "elements": [ - { "from": [ 0, 15.2, 0 ], - "to": [ 16, 15.2, 16 ], - "shade": false, - "faces": { - "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 }, - "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#vine", "tintindex": 0 } - } - } - ] -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_wall_gate_closed.json b/src/main/resources/assets/biomesoplenty/models/block/willow_wall_gate_closed.json deleted file mode 100644 index 6d68a0151..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_wall_gate_closed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_closed", - "textures": { - "texture": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/willow_wall_gate_open.json b/src/main/resources/assets/biomesoplenty/models/block/willow_wall_gate_open.json deleted file mode 100644 index 04b871f12..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/willow_wall_gate_open.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/wall_gate_open", - "textures": { - "texture": "biomesoplenty:blocks/willow_planks" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/wilted_lily.json b/src/main/resources/assets/biomesoplenty/models/block/wilted_lily.json deleted file mode 100644 index c24703463..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/wilted_lily.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/wilted_lily" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/yellow_autumn_leaves.json b/src/main/resources/assets/biomesoplenty/models/block/yellow_autumn_leaves.json deleted file mode 100644 index 29ff51817..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/yellow_autumn_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/leaves", - "textures": { - "all": "biomesoplenty:blocks/leaves_yellow_autumn" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/yellow_autumn_sapling.json b/src/main/resources/assets/biomesoplenty/models/block/yellow_autumn_sapling.json deleted file mode 100644 index fc4ceeccc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/yellow_autumn_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "biomesoplenty:blocks/sapling_yellow_autumn" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/block/yellow_big_flower_petal.json b/src/main/resources/assets/biomesoplenty/models/block/yellow_big_flower_petal.json deleted file mode 100644 index 6f5ae01d2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/block/yellow_big_flower_petal.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "biomesoplenty:blocks/petal_yellow_big_flower" - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/algae.json b/src/main/resources/assets/biomesoplenty/models/item/algae.json deleted file mode 100644 index 1aecfe96b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/algae.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/algae" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/amber_block.json b/src/main/resources/assets/biomesoplenty/models/item/amber_block.json deleted file mode 100644 index 94de5b721..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/amber_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/amber_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/amber_ore.json b/src/main/resources/assets/biomesoplenty/models/item/amber_ore.json deleted file mode 100644 index bf04e0cd5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/amber_ore.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/amber_ore", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/amethyst_block.json b/src/main/resources/assets/biomesoplenty/models/item/amethyst_block.json deleted file mode 100644 index 0786d85cb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/amethyst_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/amethyst_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/amethyst_ore.json b/src/main/resources/assets/biomesoplenty/models/item/amethyst_ore.json deleted file mode 100644 index 332782183..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/amethyst_ore.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/amethyst_ore", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ash.json b/src/main/resources/assets/biomesoplenty/models/item/ash.json deleted file mode 100644 index 7809220a4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ash.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/ash" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ash_block.json b/src/main/resources/assets/biomesoplenty/models/item/ash_block.json deleted file mode 100755 index 1199d9640..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ash_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/ash_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/bamboo.json b/src/main/resources/assets/biomesoplenty/models/item/bamboo.json deleted file mode 100755 index f6f4f600a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/bamboo.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/bamboo" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/bamboo_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/bamboo_leaves.json deleted file mode 100644 index a2af97adf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/bamboo_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/bamboo_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/bamboo_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/bamboo_sapling.json deleted file mode 100644 index 15d1fd58d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/bamboo_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_bamboo" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/bamboo_thatching.json b/src/main/resources/assets/biomesoplenty/models/item/bamboo_thatching.json deleted file mode 100755 index c85683319..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/bamboo_thatching.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/bamboo_thatching", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/barley.json b/src/main/resources/assets/biomesoplenty/models/item/barley.json deleted file mode 100644 index d0d75e1aa..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/barley.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/barley" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/berries.json b/src/main/resources/assets/biomesoplenty/models/item/berries.json deleted file mode 100644 index a6e841d06..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/berries.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/berries" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/berrybush.json b/src/main/resources/assets/biomesoplenty/models/item/berrybush.json deleted file mode 100644 index 3d7085b9f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/berrybush.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/berrybush" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_block.json b/src/main/resources/assets/biomesoplenty/models/item/biome_block.json deleted file mode 100644 index f6398169d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/biome_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_essence.json b/src/main/resources/assets/biomesoplenty/models/item/biome_essence.json deleted file mode 100644 index 03170adac..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_essence.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_essence" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder.json deleted file mode 100644 index c0c39479d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_00" - }, - "overrides": [ - { "predicate": { "frame": 0.00 }, "model": "biomesoplenty:item/biome_finder" }, - { "predicate": { "frame": 0.01 }, "model": "biomesoplenty:item/biome_finder_01" }, - { "predicate": { "frame": 0.02 }, "model": "biomesoplenty:item/biome_finder_02" }, - { "predicate": { "frame": 0.03 }, "model": "biomesoplenty:item/biome_finder_03" }, - { "predicate": { "frame": 0.04 }, "model": "biomesoplenty:item/biome_finder_04" }, - { "predicate": { "frame": 0.05 }, "model": "biomesoplenty:item/biome_finder_05" }, - { "predicate": { "frame": 0.06 }, "model": "biomesoplenty:item/biome_finder_06" }, - { "predicate": { "frame": 0.07 }, "model": "biomesoplenty:item/biome_finder_07" }, - { "predicate": { "frame": 0.08 }, "model": "biomesoplenty:item/biome_finder_08" }, - { "predicate": { "frame": 0.09 }, "model": "biomesoplenty:item/biome_finder_09" }, - { "predicate": { "frame": 0.10 }, "model": "biomesoplenty:item/biome_finder_10" }, - { "predicate": { "frame": 0.11 }, "model": "biomesoplenty:item/biome_finder_11" } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_00.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_00.json deleted file mode 100644 index cecaeede7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_00.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_00" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_01.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_01.json deleted file mode 100644 index dfb2a6c4d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_01.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_01" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_02.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_02.json deleted file mode 100644 index 5b5846a33..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_02.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_02" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_03.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_03.json deleted file mode 100644 index 08195c8f9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_03.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_03" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_04.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_04.json deleted file mode 100644 index 536f5da38..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_04.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_04" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_05.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_05.json deleted file mode 100644 index 82398bcd9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_05.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_05" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_06.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_06.json deleted file mode 100644 index 30a8d0374..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_06.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_06" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_07.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_07.json deleted file mode 100644 index 4682bb619..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_07.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_07" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_08.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_08.json deleted file mode 100644 index f5b6fbe2c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_08.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_08" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_09.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_09.json deleted file mode 100644 index 1cf688118..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_09.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_09" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_10.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_10.json deleted file mode 100644 index 602568880..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_10.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_10" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_11.json b/src/main/resources/assets/biomesoplenty/models/item/biome_finder_11.json deleted file mode 100644 index 8ee2a1146..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/biome_finder_11.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/biome_finder_11" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/black_dye.json b/src/main/resources/assets/biomesoplenty/models/item/black_dye.json deleted file mode 100644 index 2f569e1e1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/black_dye.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/black_dye" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/blood_bucket.json b/src/main/resources/assets/biomesoplenty/models/item/blood_bucket.json deleted file mode 100644 index 249dba167..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/blood_bucket.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/blood_bucket" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/blue_coral.json b/src/main/resources/assets/biomesoplenty/models/item/blue_coral.json deleted file mode 100644 index 0562812fa..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/blue_coral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/blue_coral" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/blue_dye.json b/src/main/resources/assets/biomesoplenty/models/item/blue_dye.json deleted file mode 100644 index ca7d6aa1a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/blue_dye.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/blue_dye" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/blue_fire.json b/src/main/resources/assets/biomesoplenty/models/item/blue_fire.json deleted file mode 100644 index 914a87d98..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/blue_fire.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/blue_fire_floor0" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/blue_hydrangea.json b/src/main/resources/assets/biomesoplenty/models/item/blue_hydrangea.json deleted file mode 100644 index d72da576d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/blue_hydrangea.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/blue_hydrangea" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/blue_milk_cap.json b/src/main/resources/assets/biomesoplenty/models/item/blue_milk_cap.json deleted file mode 100644 index 375ff1e08..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/blue_milk_cap.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/blue_milk_cap" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/bluebells.json b/src/main/resources/assets/biomesoplenty/models/item/bluebells.json deleted file mode 100644 index 70d88592e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/bluebells.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/bluebells" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_cherry.json b/src/main/resources/assets/biomesoplenty/models/item/boat_cherry.json deleted file mode 100644 index f592611df..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_cherry.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_cherry" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_ebony.json b/src/main/resources/assets/biomesoplenty/models/item/boat_ebony.json deleted file mode 100644 index 3b686f634..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_ebony.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_ebony" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_ethereal.json b/src/main/resources/assets/biomesoplenty/models/item/boat_ethereal.json deleted file mode 100644 index 9fc73fc14..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_ethereal.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_ethereal" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_eucalyptus.json b/src/main/resources/assets/biomesoplenty/models/item/boat_eucalyptus.json deleted file mode 100644 index 57d2f1e57..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_eucalyptus.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_eucalyptus" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_fir.json b/src/main/resources/assets/biomesoplenty/models/item/boat_fir.json deleted file mode 100644 index 02cc62bdb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_fir.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_fir" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_hellbark.json b/src/main/resources/assets/biomesoplenty/models/item/boat_hellbark.json deleted file mode 100644 index 776b2b265..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_hellbark.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_hellbark" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_jacaranda.json b/src/main/resources/assets/biomesoplenty/models/item/boat_jacaranda.json deleted file mode 100644 index 10262909b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_jacaranda.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_jacaranda" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_magic.json b/src/main/resources/assets/biomesoplenty/models/item/boat_magic.json deleted file mode 100644 index 4b79fe353..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_magic.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_magic" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_mahogany.json b/src/main/resources/assets/biomesoplenty/models/item/boat_mahogany.json deleted file mode 100644 index 7f824021e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_mahogany.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_mahogany" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_mangrove.json b/src/main/resources/assets/biomesoplenty/models/item/boat_mangrove.json deleted file mode 100644 index f0fd2950a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_mangrove.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_mangrove" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_palm.json b/src/main/resources/assets/biomesoplenty/models/item/boat_palm.json deleted file mode 100644 index 662ae528b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_palm.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_palm" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_pine.json b/src/main/resources/assets/biomesoplenty/models/item/boat_pine.json deleted file mode 100644 index e7816a38f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_pine.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_pine" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_redwood.json b/src/main/resources/assets/biomesoplenty/models/item/boat_redwood.json deleted file mode 100644 index 0bdca1243..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_redwood.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_redwood" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_sacred_oak.json b/src/main/resources/assets/biomesoplenty/models/item/boat_sacred_oak.json deleted file mode 100644 index 13c551f8a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_sacred_oak.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_sacred_oak" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_umbran.json b/src/main/resources/assets/biomesoplenty/models/item/boat_umbran.json deleted file mode 100644 index 30da8dda4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_umbran.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_umbran" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/boat_willow.json b/src/main/resources/assets/biomesoplenty/models/item/boat_willow.json deleted file mode 100644 index 54260904b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/boat_willow.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/boat_willow" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/bramble_plant.json b/src/main/resources/assets/biomesoplenty/models/item/bramble_plant.json deleted file mode 100644 index c32f38e49..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/bramble_plant.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/bramble_plant" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/bromeliad.json b/src/main/resources/assets/biomesoplenty/models/item/bromeliad.json deleted file mode 100644 index e42842b4c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/bromeliad.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/bromeliad" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/brown_dye.json b/src/main/resources/assets/biomesoplenty/models/item/brown_dye.json deleted file mode 100644 index 6d3d343de..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/brown_dye.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/brown_dye" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/burning_blossom.json b/src/main/resources/assets/biomesoplenty/models/item/burning_blossom.json deleted file mode 100644 index decc4de96..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/burning_blossom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/burning_blossom" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/bush.json b/src/main/resources/assets/biomesoplenty/models/item/bush.json deleted file mode 100644 index fddb94e4b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/bush.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/bush" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/cattail.json b/src/main/resources/assets/biomesoplenty/models/item/cattail.json deleted file mode 100644 index c54192c6b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cattail.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/cattail" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/cherry_door.json b/src/main/resources/assets/biomesoplenty/models/item/cherry_door.json deleted file mode 100644 index a7ae01bb2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cherry_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_cherry" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/cherry_fence.json b/src/main/resources/assets/biomesoplenty/models/item/cherry_fence.json deleted file mode 100644 index 2b12ad33b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cherry_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/cherry_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/cherry_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/cherry_fence_gate.json deleted file mode 100644 index 93b590c10..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cherry_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/cherry_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/cherry_log.json b/src/main/resources/assets/biomesoplenty/models/item/cherry_log.json deleted file mode 100755 index 9a94a43ea..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cherry_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/cherry_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/cherry_planks.json b/src/main/resources/assets/biomesoplenty/models/item/cherry_planks.json deleted file mode 100755 index 549b65264..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cherry_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/cherry_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/cherry_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/cherry_stairs.json deleted file mode 100644 index 5e2021f5c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cherry_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/cherry_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/cherry_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/cherry_wood_slab.json deleted file mode 100644 index 1c79dc981..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cherry_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_cherry", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/chiseled_white_sandstone.json b/src/main/resources/assets/biomesoplenty/models/item/chiseled_white_sandstone.json deleted file mode 100644 index 84a756065..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/chiseled_white_sandstone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/white_sandstone_chiseled" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/clover.json b/src/main/resources/assets/biomesoplenty/models/item/clover.json deleted file mode 100755 index cc7587fff..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/clover.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/clover" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/cloverpatch.json b/src/main/resources/assets/biomesoplenty/models/item/cloverpatch.json deleted file mode 100644 index ccc45f309..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/cloverpatch.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/cloverpatch" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/coarse_loamy_dirt.json b/src/main/resources/assets/biomesoplenty/models/item/coarse_loamy_dirt.json deleted file mode 100644 index 9e9590809..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/coarse_loamy_dirt.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/coarse_loamy_dirt", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/coarse_sandy_dirt.json b/src/main/resources/assets/biomesoplenty/models/item/coarse_sandy_dirt.json deleted file mode 100644 index 947655031..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/coarse_sandy_dirt.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/coarse_sandy_dirt", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/coarse_silty_dirt.json b/src/main/resources/assets/biomesoplenty/models/item/coarse_silty_dirt.json deleted file mode 100644 index d607d4768..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/coarse_silty_dirt.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/coarse_silty_dirt", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/crystal.json b/src/main/resources/assets/biomesoplenty/models/item/crystal.json deleted file mode 100644 index a30f14b12..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/crystal.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/crystal", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/crystal_shard.json b/src/main/resources/assets/biomesoplenty/models/item/crystal_shard.json deleted file mode 100644 index dadf5be96..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/crystal_shard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/crystal_shard" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/daisy_grass_block.json b/src/main/resources/assets/biomesoplenty/models/item/daisy_grass_block.json deleted file mode 100644 index ecb9eae94..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/daisy_grass_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/daisy_grass_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/dampgrass.json b/src/main/resources/assets/biomesoplenty/models/item/dampgrass.json deleted file mode 100644 index 96263ff18..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/dampgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/dampgrass" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/dead_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/dead_leaves.json deleted file mode 100644 index 3dee00a7e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/dead_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/dead_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/dead_log.json b/src/main/resources/assets/biomesoplenty/models/item/dead_log.json deleted file mode 100644 index c025b471c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/dead_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/dead_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/dead_planks.json b/src/main/resources/assets/biomesoplenty/models/item/dead_planks.json deleted file mode 100644 index ff7adf568..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/dead_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/dead_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/dead_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/dead_sapling.json deleted file mode 100644 index 3f97b9d98..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/dead_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_dead" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/dead_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/dead_wood_slab.json deleted file mode 100644 index 619aacf5e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/dead_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_dead", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/deadgrass.json b/src/main/resources/assets/biomesoplenty/models/item/deadgrass.json deleted file mode 100644 index e7ffb2b34..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/deadgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/deadgrass" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/deadleafpile.json b/src/main/resources/assets/biomesoplenty/models/item/deadleafpile.json deleted file mode 100644 index 07aa6d5a8..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/deadleafpile.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/deadleafpile" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/deathbloom.json b/src/main/resources/assets/biomesoplenty/models/item/deathbloom.json deleted file mode 100644 index e5c6739d5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/deathbloom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/deathbloom" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/desertgrass.json b/src/main/resources/assets/biomesoplenty/models/item/desertgrass.json deleted file mode 100644 index 601139683..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/desertgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/desertgrass" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/desertsprouts.json b/src/main/resources/assets/biomesoplenty/models/item/desertsprouts.json deleted file mode 100644 index d3e7a0445..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/desertsprouts.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/desertsprouts" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/devilweed.json b/src/main/resources/assets/biomesoplenty/models/item/devilweed.json deleted file mode 100644 index 15823c06f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/devilweed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/devilweed" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/dried_sand.json b/src/main/resources/assets/biomesoplenty/models/item/dried_sand.json deleted file mode 100644 index ea2ae72a7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/dried_sand.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/dried_sand", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/dunegrass.json b/src/main/resources/assets/biomesoplenty/models/item/dunegrass.json deleted file mode 100644 index ea8fc57ae..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/dunegrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/dunegrass" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/earth.json b/src/main/resources/assets/biomesoplenty/models/item/earth.json deleted file mode 100644 index 424763d9a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/earth.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/earth" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ebony_door.json b/src/main/resources/assets/biomesoplenty/models/item/ebony_door.json deleted file mode 100644 index 267451c08..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ebony_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_ebony" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ebony_fence.json b/src/main/resources/assets/biomesoplenty/models/item/ebony_fence.json deleted file mode 100644 index a03fdd8c3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ebony_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/ebony_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/ebony_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/ebony_fence_gate.json deleted file mode 100644 index cc846d72e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ebony_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/ebony_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ebony_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/ebony_leaves.json deleted file mode 100644 index 878bf5eed..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ebony_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/ebony_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ebony_log.json b/src/main/resources/assets/biomesoplenty/models/item/ebony_log.json deleted file mode 100644 index 16d2463e9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ebony_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/ebony_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/ebony_planks.json b/src/main/resources/assets/biomesoplenty/models/item/ebony_planks.json deleted file mode 100644 index 8352b8b86..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ebony_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/ebony_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ebony_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/ebony_sapling.json deleted file mode 100644 index d450d29c5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ebony_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_ebony" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ebony_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/ebony_stairs.json deleted file mode 100644 index 767afe5ae..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ebony_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/ebony_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ebony_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/ebony_wood_slab.json deleted file mode 100644 index 22ca8fa6e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ebony_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_ebony", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/empty_honeycomb_block.json b/src/main/resources/assets/biomesoplenty/models/item/empty_honeycomb_block.json deleted file mode 100644 index 01a241d1b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/empty_honeycomb_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/empty_honeycomb_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/enderlotus.json b/src/main/resources/assets/biomesoplenty/models/item/enderlotus.json deleted file mode 100644 index f33d1ea5b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/enderlotus.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/enderlotus" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ethereal_door.json b/src/main/resources/assets/biomesoplenty/models/item/ethereal_door.json deleted file mode 100644 index 900946a51..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ethereal_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_ethereal" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ethereal_fence.json b/src/main/resources/assets/biomesoplenty/models/item/ethereal_fence.json deleted file mode 100644 index ec47f3e5c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ethereal_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/ethereal_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/ethereal_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/ethereal_fence_gate.json deleted file mode 100644 index 02b5d924d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ethereal_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/ethereal_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ethereal_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/ethereal_leaves.json deleted file mode 100644 index 6b8a86028..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ethereal_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/ethereal_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ethereal_log.json b/src/main/resources/assets/biomesoplenty/models/item/ethereal_log.json deleted file mode 100755 index 016b13659..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ethereal_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/ethereal_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/ethereal_planks.json b/src/main/resources/assets/biomesoplenty/models/item/ethereal_planks.json deleted file mode 100755 index f838b7bc6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ethereal_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/ethereal_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ethereal_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/ethereal_sapling.json deleted file mode 100644 index b7ff206f6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ethereal_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_ethereal" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ethereal_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/ethereal_stairs.json deleted file mode 100644 index b56a3cff3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ethereal_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/ethereal_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ethereal_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/ethereal_wood_slab.json deleted file mode 100644 index 6f216bca9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ethereal_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_ethereal", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_door.json b/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_door.json deleted file mode 100644 index 8e2169e6b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_eucalyptus" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_fence.json b/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_fence.json deleted file mode 100644 index 3d0475c9f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/eucalyptus_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_fence_gate.json deleted file mode 100644 index 0c2bd6e3f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/eucalyptus_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_leaves.json deleted file mode 100644 index fc6828f12..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/eucalyptus_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_log.json b/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_log.json deleted file mode 100644 index 67f42f662..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/eucalyptus_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_planks.json b/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_planks.json deleted file mode 100644 index 615305838..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/eucalyptus_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_sapling.json deleted file mode 100644 index a468d0b6c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_eucalyptus" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_stairs.json deleted file mode 100644 index cbd5ae772..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/eucalyptus_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_wood_slab.json deleted file mode 100644 index 1dc064945..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eucalyptus_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_eucalyptus", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/eyebulb.json b/src/main/resources/assets/biomesoplenty/models/item/eyebulb.json deleted file mode 100644 index 737a74e3e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/eyebulb.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/eyebulb_upper" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/filled_honeycomb.json b/src/main/resources/assets/biomesoplenty/models/item/filled_honeycomb.json deleted file mode 100644 index 03d65bcbe..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/filled_honeycomb.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/filled_honeycomb" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/filled_honeycomb_block.json b/src/main/resources/assets/biomesoplenty/models/item/filled_honeycomb_block.json deleted file mode 100644 index 32f0c9194..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/filled_honeycomb_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/filled_honeycomb_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/fir_door.json b/src/main/resources/assets/biomesoplenty/models/item/fir_door.json deleted file mode 100644 index 52aea58c5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fir_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_fir" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/fir_fence.json b/src/main/resources/assets/biomesoplenty/models/item/fir_fence.json deleted file mode 100644 index f0ac1086c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fir_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/fir_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/fir_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/fir_fence_gate.json deleted file mode 100644 index e608c73ac..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fir_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/fir_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/fir_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/fir_leaves.json deleted file mode 100644 index 8440914cd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fir_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/fir_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/fir_log.json b/src/main/resources/assets/biomesoplenty/models/item/fir_log.json deleted file mode 100755 index 666e2981b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fir_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/fir_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/fir_planks.json b/src/main/resources/assets/biomesoplenty/models/item/fir_planks.json deleted file mode 100755 index 13552dc74..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fir_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/fir_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/fir_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/fir_sapling.json deleted file mode 100644 index 8425afeb5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fir_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_fir" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/fir_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/fir_stairs.json deleted file mode 100644 index 8c7411ecc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fir_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/fir_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/fir_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/fir_wood_slab.json deleted file mode 100644 index 1c3c71e4b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fir_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_fir", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/flat_mushroom.json b/src/main/resources/assets/biomesoplenty/models/item/flat_mushroom.json deleted file mode 100644 index 51e552d83..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/flat_mushroom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/flat_mushroom" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/flax.json b/src/main/resources/assets/biomesoplenty/models/item/flax.json deleted file mode 100644 index 6a207618c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/flax.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/flax" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/flesh.json b/src/main/resources/assets/biomesoplenty/models/item/flesh.json deleted file mode 100644 index 0a7dab94a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/flesh.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/flesh", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/fleshchunk.json b/src/main/resources/assets/biomesoplenty/models/item/fleshchunk.json deleted file mode 100644 index 469be98e0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/fleshchunk.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/fleshchunk" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/flowering_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/flowering_leaves.json deleted file mode 100644 index 48650f47f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/flowering_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/flowering_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/flowering_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/flowering_sapling.json deleted file mode 100644 index 9f0c11aae..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/flowering_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_flowering" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/gem_amber.json b/src/main/resources/assets/biomesoplenty/models/item/gem_amber.json deleted file mode 100644 index 9a52c45f7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/gem_amber.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/amber" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/gem_amethyst.json b/src/main/resources/assets/biomesoplenty/models/item/gem_amethyst.json deleted file mode 100644 index 9cdf51b20..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/gem_amethyst.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/amethyst" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/gem_malachite.json b/src/main/resources/assets/biomesoplenty/models/item/gem_malachite.json deleted file mode 100644 index b6ea2e14c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/gem_malachite.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/malachite" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/gem_peridot.json b/src/main/resources/assets/biomesoplenty/models/item/gem_peridot.json deleted file mode 100644 index fa6474631..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/gem_peridot.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/peridot" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/gem_ruby.json b/src/main/resources/assets/biomesoplenty/models/item/gem_ruby.json deleted file mode 100644 index 01d432aac..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/gem_ruby.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/ruby" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/gem_sapphire.json b/src/main/resources/assets/biomesoplenty/models/item/gem_sapphire.json deleted file mode 100644 index a12b3452f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/gem_sapphire.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/sapphire" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/gem_tanzanite.json b/src/main/resources/assets/biomesoplenty/models/item/gem_tanzanite.json deleted file mode 100644 index 014604534..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/gem_tanzanite.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/tanzanite" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/gem_topaz.json b/src/main/resources/assets/biomesoplenty/models/item/gem_topaz.json deleted file mode 100644 index e6cc063e4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/gem_topaz.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/topaz" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/giant_flower_log.json b/src/main/resources/assets/biomesoplenty/models/item/giant_flower_log.json deleted file mode 100644 index 5903763db..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/giant_flower_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/giant_flower_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/giant_flower_planks.json b/src/main/resources/assets/biomesoplenty/models/item/giant_flower_planks.json deleted file mode 100644 index af9a4b5fa..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/giant_flower_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/giant_flower_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/giant_flower_stem.json b/src/main/resources/assets/biomesoplenty/models/item/giant_flower_stem.json deleted file mode 100644 index bb76e29b4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/giant_flower_stem.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/giant_flower_stem", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/giant_flower_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/giant_flower_wood_slab.json deleted file mode 100644 index ef490d56c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/giant_flower_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_giant_flower", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/glowflower.json b/src/main/resources/assets/biomesoplenty/models/item/glowflower.json deleted file mode 100644 index e8091ce44..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/glowflower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/glowflower" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/glowing_coral.json b/src/main/resources/assets/biomesoplenty/models/item/glowing_coral.json deleted file mode 100644 index c66dd482b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/glowing_coral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/glowing_coral" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/glowshroom.json b/src/main/resources/assets/biomesoplenty/models/item/glowshroom.json deleted file mode 100644 index 1034c7b86..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/glowshroom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/glowshroom" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/goldenrod.json b/src/main/resources/assets/biomesoplenty/models/item/goldenrod.json deleted file mode 100644 index f18a0a1e7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/goldenrod.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/goldenrod" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/grass_loamy_path.json b/src/main/resources/assets/biomesoplenty/models/item/grass_loamy_path.json deleted file mode 100644 index 6c374a4a8..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/grass_loamy_path.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/grass_loamy_path" -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/grass_sandy_path.json b/src/main/resources/assets/biomesoplenty/models/item/grass_sandy_path.json deleted file mode 100644 index 5132900ab..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/grass_sandy_path.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/grass_sandy_path" -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/grass_silty_path.json b/src/main/resources/assets/biomesoplenty/models/item/grass_silty_path.json deleted file mode 100644 index 54191d1d0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/grass_silty_path.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/grass_silty_path" -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/green_dye.json b/src/main/resources/assets/biomesoplenty/models/item/green_dye.json deleted file mode 100644 index 40353459f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/green_dye.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/green_dye" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/hard_ice.json b/src/main/resources/assets/biomesoplenty/models/item/hard_ice.json deleted file mode 100644 index f36b3e451..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hard_ice.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/hard_ice", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/hellbark_door.json b/src/main/resources/assets/biomesoplenty/models/item/hellbark_door.json deleted file mode 100644 index eeda26538..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hellbark_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_hellbark" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence.json b/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence.json deleted file mode 100644 index dde877b11..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/hellbark_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence_gate.json deleted file mode 100644 index 0855b8a77..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hellbark_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/hellbark_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/hellbark_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/hellbark_leaves.json deleted file mode 100644 index 72464d924..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hellbark_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/hellbark_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/hellbark_log.json b/src/main/resources/assets/biomesoplenty/models/item/hellbark_log.json deleted file mode 100644 index 4c2fe49ce..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hellbark_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/hellbark_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/hellbark_planks.json b/src/main/resources/assets/biomesoplenty/models/item/hellbark_planks.json deleted file mode 100644 index 1c6fc1749..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hellbark_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/hellbark_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/hellbark_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/hellbark_sapling.json deleted file mode 100644 index cd13da301..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hellbark_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_hellbark" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/hellbark_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/hellbark_stairs.json deleted file mode 100644 index 15efb2167..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hellbark_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/hellbark_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/hellbark_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/hellbark_wood_slab.json deleted file mode 100644 index 21beb63b0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hellbark_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_hellbark", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/hive_block.json b/src/main/resources/assets/biomesoplenty/models/item/hive_block.json deleted file mode 100644 index f8fa5f498..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hive_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/hive_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/honey_block.json b/src/main/resources/assets/biomesoplenty/models/item/honey_block.json deleted file mode 100644 index 6df25c77e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/honey_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/honey_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/honey_bucket.json b/src/main/resources/assets/biomesoplenty/models/item/honey_bucket.json deleted file mode 100644 index 172da7760..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/honey_bucket.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/honey_bucket" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/honeycomb.json b/src/main/resources/assets/biomesoplenty/models/item/honeycomb.json deleted file mode 100644 index 68c4b920b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/honeycomb.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/honeycomb" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/honeycomb_block.json b/src/main/resources/assets/biomesoplenty/models/item/honeycomb_block.json deleted file mode 100644 index 2892a1152..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/honeycomb_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/honeycomb_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/hot_spring_water_bucket.json b/src/main/resources/assets/biomesoplenty/models/item/hot_spring_water_bucket.json deleted file mode 100644 index e3fc6bd2f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/hot_spring_water_bucket.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/hot_spring_water_bucket" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/icy_iris.json b/src/main/resources/assets/biomesoplenty/models/item/icy_iris.json deleted file mode 100644 index 78a98ae23..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/icy_iris.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/icy_iris" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ivy.json b/src/main/resources/assets/biomesoplenty/models/item/ivy.json deleted file mode 100644 index 2c93f6632..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ivy.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/ivy" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_door.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_door.json deleted file mode 100644 index 33c276cb7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_jacaranda" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence.json deleted file mode 100644 index cc9bd867b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/jacaranda_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence_gate.json deleted file mode 100644 index 5344aff62..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/jacaranda_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_leaves.json deleted file mode 100644 index f78819887..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/jacaranda_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json deleted file mode 100644 index 795700e26..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/jacaranda_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_planks.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_planks.json deleted file mode 100755 index 607f9d07d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/jacaranda_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sapling.json deleted file mode 100644 index b376f4a20..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_jacaranda" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_stairs.json deleted file mode 100644 index 1ed1aad6b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/jacaranda_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/jacaranda_wood_slab.json deleted file mode 100644 index 253b66f86..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jacaranda_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_jacaranda", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/jar_empty.json b/src/main/resources/assets/biomesoplenty/models/item/jar_empty.json deleted file mode 100644 index e3c844d5d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jar_empty.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/jar_empty" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/jar_filled_blue_fire.json b/src/main/resources/assets/biomesoplenty/models/item/jar_filled_blue_fire.json deleted file mode 100644 index 2eda2d4fd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jar_filled_blue_fire.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/jar_filled_blue_fire" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/jar_filled_honey.json b/src/main/resources/assets/biomesoplenty/models/item/jar_filled_honey.json deleted file mode 100644 index e20e313be..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/jar_filled_honey.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/jar_filled_honey" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/kelp.json b/src/main/resources/assets/biomesoplenty/models/item/kelp.json deleted file mode 100644 index 60414900f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/kelp.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/kelp" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/koru.json b/src/main/resources/assets/biomesoplenty/models/item/koru.json deleted file mode 100644 index 49a8dbe00..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/koru.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/koru" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/lavender.json b/src/main/resources/assets/biomesoplenty/models/item/lavender.json deleted file mode 100644 index 7ea42d999..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/lavender.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/lavender" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/leafpile.json b/src/main/resources/assets/biomesoplenty/models/item/leafpile.json deleted file mode 100644 index 33269ad32..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/leafpile.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/leafpile" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/lily_flower.json b/src/main/resources/assets/biomesoplenty/models/item/lily_flower.json deleted file mode 100644 index 079f8c1c5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/lily_flower.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/lily_flower" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/lily_medium.json b/src/main/resources/assets/biomesoplenty/models/item/lily_medium.json deleted file mode 100644 index e1bbbf8c1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/lily_medium.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/lily_medium" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/lily_of_the_valley.json b/src/main/resources/assets/biomesoplenty/models/item/lily_of_the_valley.json deleted file mode 100644 index cec172459..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/lily_of_the_valley.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/lily_of_the_valley" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/lily_small.json b/src/main/resources/assets/biomesoplenty/models/item/lily_small.json deleted file mode 100644 index e64c0c463..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/lily_small.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/lily_small" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/lily_tiny.json b/src/main/resources/assets/biomesoplenty/models/item/lily_tiny.json deleted file mode 100644 index 308f8251d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/lily_tiny.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/lily_tiny" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/loamy_dirt.json b/src/main/resources/assets/biomesoplenty/models/item/loamy_dirt.json deleted file mode 100644 index 03dafee35..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/loamy_dirt.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/loamy_dirt", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/loamy_grass_block.json b/src/main/resources/assets/biomesoplenty/models/item/loamy_grass_block.json deleted file mode 100644 index 5e4f7a1ea..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/loamy_grass_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/loamy_grass_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/magic_door.json b/src/main/resources/assets/biomesoplenty/models/item/magic_door.json deleted file mode 100644 index 36cd65867..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/magic_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_magic" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/magic_fence.json b/src/main/resources/assets/biomesoplenty/models/item/magic_fence.json deleted file mode 100644 index 66c0851a5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/magic_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/magic_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/magic_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/magic_fence_gate.json deleted file mode 100644 index 875e118d3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/magic_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/magic_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/magic_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/magic_leaves.json deleted file mode 100644 index 2c0bcac0d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/magic_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/magic_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/magic_log.json b/src/main/resources/assets/biomesoplenty/models/item/magic_log.json deleted file mode 100644 index f8599013f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/magic_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/magic_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/magic_planks.json b/src/main/resources/assets/biomesoplenty/models/item/magic_planks.json deleted file mode 100755 index bcec52cd1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/magic_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/magic_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/magic_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/magic_sapling.json deleted file mode 100644 index afc1cc8b1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/magic_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_magic" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/magic_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/magic_stairs.json deleted file mode 100644 index a655bc5d9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/magic_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/magic_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/magic_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/magic_wood_slab.json deleted file mode 100644 index 91d01f598..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/magic_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_magic", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_door.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_door.json deleted file mode 100644 index d36e44b79..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mahogany_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_mahogany" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence.json deleted file mode 100644 index 352dd27ac..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/mahogany_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence_gate.json deleted file mode 100644 index c764cd7f7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mahogany_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/mahogany_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_leaves.json deleted file mode 100644 index 983ff410f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mahogany_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/mahogany_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json deleted file mode 100644 index c84315631..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mahogany_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/mahogany_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_planks.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_planks.json deleted file mode 100755 index b20cfd07d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mahogany_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/mahogany_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_sapling.json deleted file mode 100644 index 3ea2c9c48..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mahogany_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_mahogany" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_stairs.json deleted file mode 100644 index 4848541d7..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mahogany_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/mahogany_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mahogany_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/mahogany_wood_slab.json deleted file mode 100644 index d8db85f75..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mahogany_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_mahogany", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/malachite_block.json b/src/main/resources/assets/biomesoplenty/models/item/malachite_block.json deleted file mode 100644 index 7aca93e26..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/malachite_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/malachite_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/malachite_ore.json b/src/main/resources/assets/biomesoplenty/models/item/malachite_ore.json deleted file mode 100644 index 7b344298c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/malachite_ore.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/malachite_ore", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mangrove_door.json b/src/main/resources/assets/biomesoplenty/models/item/mangrove_door.json deleted file mode 100644 index 35c2f9350..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mangrove_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_mangrove" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/mangrove_fence.json b/src/main/resources/assets/biomesoplenty/models/item/mangrove_fence.json deleted file mode 100644 index 8aa86f008..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mangrove_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/mangrove_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/mangrove_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/mangrove_fence_gate.json deleted file mode 100644 index 130dc362b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mangrove_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/mangrove_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mangrove_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/mangrove_leaves.json deleted file mode 100644 index d7b060ae3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mangrove_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/mangrove_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mangrove_log.json b/src/main/resources/assets/biomesoplenty/models/item/mangrove_log.json deleted file mode 100644 index 64875e4cb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mangrove_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/mangrove_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/mangrove_planks.json b/src/main/resources/assets/biomesoplenty/models/item/mangrove_planks.json deleted file mode 100755 index 567f1a0de..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mangrove_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/mangrove_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mangrove_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/mangrove_sapling.json deleted file mode 100644 index 402ee5f10..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mangrove_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_mangrove" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/mangrove_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/mangrove_stairs.json deleted file mode 100644 index 045c1fec8..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mangrove_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/mangrove_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mangrove_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/mangrove_wood_slab.json deleted file mode 100644 index 47ff6e7a4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mangrove_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_mangrove", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/maple_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/maple_leaves.json deleted file mode 100644 index 3d75cc79a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/maple_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/maple_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/maple_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/maple_sapling.json deleted file mode 100644 index 040578432..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/maple_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_maple" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/mediumgrass.json b/src/main/resources/assets/biomesoplenty/models/item/mediumgrass.json deleted file mode 100644 index ea0badeae..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mediumgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/mediumgrass" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/miners_delight.json b/src/main/resources/assets/biomesoplenty/models/item/miners_delight.json deleted file mode 100644 index 987d76d06..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/miners_delight.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/miners_delight" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/mud.json b/src/main/resources/assets/biomesoplenty/models/item/mud.json deleted file mode 100644 index 16c6fe98a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mud.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/mud", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mud_brick.json b/src/main/resources/assets/biomesoplenty/models/item/mud_brick.json deleted file mode 100644 index 37ef06c82..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mud_brick.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/mud_brick" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/mud_brick_block.json b/src/main/resources/assets/biomesoplenty/models/item/mud_brick_block.json deleted file mode 100644 index e3bf26f52..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mud_brick_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/mud_brick_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mud_brick_slab.json b/src/main/resources/assets/biomesoplenty/models/item/mud_brick_slab.json deleted file mode 100644 index 583d1c713..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mud_brick_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_mud_brick", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/mud_brick_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/mud_brick_stairs.json deleted file mode 100644 index bb2a4ae0d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mud_brick_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/mud_brick_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/mudball.json b/src/main/resources/assets/biomesoplenty/models/item/mudball.json deleted file mode 100644 index f93a78dc3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mudball.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/mudball" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/mycelial_netherrack.json b/src/main/resources/assets/biomesoplenty/models/item/mycelial_netherrack.json deleted file mode 100644 index 8733e470b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/mycelial_netherrack.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/mycelial_netherrack", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/orange_autumn_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/orange_autumn_leaves.json deleted file mode 100644 index 5d2825200..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/orange_autumn_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/orange_autumn_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/orange_autumn_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/orange_autumn_sapling.json deleted file mode 100644 index aebc51c1e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/orange_autumn_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_orange_autumn" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/orange_coral.json b/src/main/resources/assets/biomesoplenty/models/item/orange_coral.json deleted file mode 100644 index 23e696499..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/orange_coral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/orange_coral" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/orange_cosmos.json b/src/main/resources/assets/biomesoplenty/models/item/orange_cosmos.json deleted file mode 100644 index b001c744a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/orange_cosmos.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/orange_cosmos" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json b/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json deleted file mode 100644 index f961331a3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/origin_grass_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/origin_grass_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/origin_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/origin_leaves.json deleted file mode 100644 index b8fb95f8c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/origin_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/origin_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/origin_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/origin_sapling.json deleted file mode 100644 index ee859d604..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/origin_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_origin" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/overgrown_netherrack.json b/src/main/resources/assets/biomesoplenty/models/item/overgrown_netherrack.json deleted file mode 100644 index a5e908d64..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/overgrown_netherrack.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/overgrown_netherrack", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/overgrown_stone.json b/src/main/resources/assets/biomesoplenty/models/item/overgrown_stone.json deleted file mode 100644 index bc2efe330..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/overgrown_stone.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/overgrown_stone", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/palm_door.json b/src/main/resources/assets/biomesoplenty/models/item/palm_door.json deleted file mode 100644 index 8187a8d57..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/palm_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_palm" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/palm_fence.json b/src/main/resources/assets/biomesoplenty/models/item/palm_fence.json deleted file mode 100644 index 3bfce0c36..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/palm_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/palm_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/palm_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/palm_fence_gate.json deleted file mode 100644 index 56c23d16f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/palm_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/palm_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/palm_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/palm_leaves.json deleted file mode 100644 index 53187a309..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/palm_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/palm_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/palm_log.json b/src/main/resources/assets/biomesoplenty/models/item/palm_log.json deleted file mode 100644 index 85e23a808..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/palm_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/palm_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/palm_planks.json b/src/main/resources/assets/biomesoplenty/models/item/palm_planks.json deleted file mode 100755 index 1d76171c0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/palm_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/palm_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/palm_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/palm_sapling.json deleted file mode 100644 index 8ab7c2f67..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/palm_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_palm" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/palm_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/palm_stairs.json deleted file mode 100644 index 009b1cca6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/palm_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/palm_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/palm_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/palm_wood_slab.json deleted file mode 100644 index 4121f731c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/palm_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_palm", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/peach.json b/src/main/resources/assets/biomesoplenty/models/item/peach.json deleted file mode 100644 index b40ee7d36..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/peach.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/peach" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/pear.json b/src/main/resources/assets/biomesoplenty/models/item/pear.json deleted file mode 100644 index e6c7aa5d1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pear.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/pear" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/peridot_block.json b/src/main/resources/assets/biomesoplenty/models/item/peridot_block.json deleted file mode 100644 index 41e8a33cc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/peridot_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/peridot_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/peridot_ore.json b/src/main/resources/assets/biomesoplenty/models/item/peridot_ore.json deleted file mode 100644 index f361f88e6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/peridot_ore.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/peridot_ore", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/persimmon.json b/src/main/resources/assets/biomesoplenty/models/item/persimmon.json deleted file mode 100644 index 98ad7f798..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/persimmon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/persimmon" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_door.json b/src/main/resources/assets/biomesoplenty/models/item/pine_door.json deleted file mode 100644 index 4287c7650..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pine_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_pine" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_fence.json b/src/main/resources/assets/biomesoplenty/models/item/pine_fence.json deleted file mode 100644 index 238ebc8be..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pine_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/pine_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/pine_fence_gate.json deleted file mode 100644 index 0d0b690c0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pine_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/pine_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/pine_leaves.json deleted file mode 100644 index 7e5282e02..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pine_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/pine_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_log.json b/src/main/resources/assets/biomesoplenty/models/item/pine_log.json deleted file mode 100644 index 1fdda12d3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pine_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/pine_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_planks.json b/src/main/resources/assets/biomesoplenty/models/item/pine_planks.json deleted file mode 100755 index 7b4c31d59..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pine_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/pine_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/pine_sapling.json deleted file mode 100644 index 13ab10269..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pine_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_pine" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/pine_stairs.json deleted file mode 100644 index 356bc349d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pine_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/pine_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/pine_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/pine_wood_slab.json deleted file mode 100644 index f2d7b2669..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pine_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_pine", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/pink_cherry_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/pink_cherry_leaves.json deleted file mode 100644 index 1b6d30b40..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pink_cherry_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/pink_cherry_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/pink_cherry_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/pink_cherry_sapling.json deleted file mode 100644 index cb3a9ba56..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pink_cherry_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_pink_cherry" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/pink_coral.json b/src/main/resources/assets/biomesoplenty/models/item/pink_coral.json deleted file mode 100644 index f5d96afa1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pink_coral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/pink_coral" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/pink_daffodil.json b/src/main/resources/assets/biomesoplenty/models/item/pink_daffodil.json deleted file mode 100644 index fdd5b4bd9..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pink_daffodil.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/pink_daffodil" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/pink_hibiscus.json b/src/main/resources/assets/biomesoplenty/models/item/pink_hibiscus.json deleted file mode 100644 index b2febcfce..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/pink_hibiscus.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/pink_hibiscus" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/poison_bucket.json b/src/main/resources/assets/biomesoplenty/models/item/poison_bucket.json deleted file mode 100644 index 012466dcf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/poison_bucket.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/poison_bucket" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/poisonivy.json b/src/main/resources/assets/biomesoplenty/models/item/poisonivy.json deleted file mode 100644 index 199c87839..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/poisonivy.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/poisonivy" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/portobello.json b/src/main/resources/assets/biomesoplenty/models/item/portobello.json deleted file mode 100644 index 53dd8a136..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/portobello.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/portobello" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/rafflesia.json b/src/main/resources/assets/biomesoplenty/models/item/rafflesia.json deleted file mode 100644 index 2b7b6a027..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/rafflesia.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/rafflesia" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/record_wanderer.json b/src/main/resources/assets/biomesoplenty/models/item/record_wanderer.json deleted file mode 100644 index 0f873f5e2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/record_wanderer.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/record_wanderer" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/red_big_flower_petal.json b/src/main/resources/assets/biomesoplenty/models/item/red_big_flower_petal.json deleted file mode 100644 index a48d2c4d2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/red_big_flower_petal.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/red_big_flower_petal", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/red_big_flower_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/red_big_flower_sapling.json deleted file mode 100644 index f066c89a3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/red_big_flower_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_red_big_flower" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/redwood_door.json b/src/main/resources/assets/biomesoplenty/models/item/redwood_door.json deleted file mode 100644 index 4fa04d8fc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/redwood_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_redwood" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/redwood_fence.json b/src/main/resources/assets/biomesoplenty/models/item/redwood_fence.json deleted file mode 100644 index c5ae27f46..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/redwood_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/redwood_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/redwood_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/redwood_fence_gate.json deleted file mode 100644 index b0cbe2fb8..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/redwood_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/redwood_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/redwood_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/redwood_leaves.json deleted file mode 100644 index 934a83cf5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/redwood_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/redwood_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/redwood_log.json b/src/main/resources/assets/biomesoplenty/models/item/redwood_log.json deleted file mode 100644 index 4503df503..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/redwood_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/redwood_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/redwood_planks.json b/src/main/resources/assets/biomesoplenty/models/item/redwood_planks.json deleted file mode 100755 index 33c1f7118..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/redwood_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/redwood_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/redwood_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/redwood_sapling.json deleted file mode 100644 index f19d4a21e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/redwood_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_redwood" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/redwood_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/redwood_stairs.json deleted file mode 100644 index 4f7e3162d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/redwood_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/redwood_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/redwood_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/redwood_wood_slab.json deleted file mode 100644 index 3354e3b57..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/redwood_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_redwood", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/reed.json b/src/main/resources/assets/biomesoplenty/models/item/reed.json deleted file mode 100644 index da9c10c25..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/reed.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/reed" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ricebowl.json b/src/main/resources/assets/biomesoplenty/models/item/ricebowl.json deleted file mode 100644 index a16cadc4f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ricebowl.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/ricebowl" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/rivercane.json b/src/main/resources/assets/biomesoplenty/models/item/rivercane.json deleted file mode 100644 index 66b27b81b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/rivercane.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/rivercane" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/root.json b/src/main/resources/assets/biomesoplenty/models/item/root.json deleted file mode 100644 index 6af15d89f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/root.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/root" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/rose.json b/src/main/resources/assets/biomesoplenty/models/item/rose.json deleted file mode 100644 index 229ce5a31..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/rose.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/rose" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/ruby_block.json b/src/main/resources/assets/biomesoplenty/models/item/ruby_block.json deleted file mode 100644 index 200990311..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ruby_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/ruby_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/ruby_ore.json b/src/main/resources/assets/biomesoplenty/models/item/ruby_ore.json deleted file mode 100644 index fb0286460..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/ruby_ore.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/ruby_ore", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_door.json b/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_door.json deleted file mode 100644 index 5ebcdcd57..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_door.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_sacred_oak" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_fence.json b/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_fence.json deleted file mode 100644 index 335e46b22..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/sacred_oak_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_fence_gate.json deleted file mode 100644 index 5d55e01cd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/sacred_oak_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_leaves.json deleted file mode 100644 index 1dea708b6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/sacred_oak_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_log.json b/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_log.json deleted file mode 100755 index d4c114cad..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/sacred_oak_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_planks.json b/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_planks.json deleted file mode 100755 index b1ec517cc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/sacred_oak_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_sapling.json deleted file mode 100644 index 889773ee3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_sacred_oak" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_stairs.json deleted file mode 100644 index 799ba12b4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/sacred_oak_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_wood_slab.json deleted file mode 100644 index b26d94d44..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sacred_oak_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_sacred_oak", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/sand_bucket.json b/src/main/resources/assets/biomesoplenty/models/item/sand_bucket.json deleted file mode 100644 index 40018cad1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sand_bucket.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/sand_bucket" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/sandy_dirt.json b/src/main/resources/assets/biomesoplenty/models/item/sandy_dirt.json deleted file mode 100644 index 87753af57..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sandy_dirt.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/sandy_dirt", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/sandy_grass_block.json b/src/main/resources/assets/biomesoplenty/models/item/sandy_grass_block.json deleted file mode 100644 index 7c39a819e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sandy_grass_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/sandy_grass_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/sapphire_block.json b/src/main/resources/assets/biomesoplenty/models/item/sapphire_block.json deleted file mode 100644 index aca570601..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sapphire_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/sapphire_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/sapphire_ore.json b/src/main/resources/assets/biomesoplenty/models/item/sapphire_ore.json deleted file mode 100644 index 8a42ae2ff..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sapphire_ore.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/sapphire_ore", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/sea_oats.json b/src/main/resources/assets/biomesoplenty/models/item/sea_oats.json deleted file mode 100644 index 566075c47..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sea_oats.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sea_oats_upper" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/shadow_shroom.json b/src/main/resources/assets/biomesoplenty/models/item/shadow_shroom.json deleted file mode 100644 index 1e7d860ec..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/shadow_shroom.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/shadow_shroom" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/shortgrass.json b/src/main/resources/assets/biomesoplenty/models/item/shortgrass.json deleted file mode 100644 index 5ac061f91..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/shortgrass.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/shortgrass" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/shroompowder.json b/src/main/resources/assets/biomesoplenty/models/item/shroompowder.json deleted file mode 100644 index e781152d4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/shroompowder.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/shroompowder" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/shrub.json b/src/main/resources/assets/biomesoplenty/models/item/shrub.json deleted file mode 100644 index 21909af7f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/shrub.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/shrub" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/silty_dirt.json b/src/main/resources/assets/biomesoplenty/models/item/silty_dirt.json deleted file mode 100644 index 34fb504a0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/silty_dirt.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/silty_dirt", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/silty_grass_block.json b/src/main/resources/assets/biomesoplenty/models/item/silty_grass_block.json deleted file mode 100644 index 19b1465b4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/silty_grass_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/silty_grass_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone.json b/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone.json deleted file mode 100644 index 4606699c3..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/smooth_white_sandstone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/white_sandstone_smooth" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/spawn_egg_pixie.json b/src/main/resources/assets/biomesoplenty/models/item/spawn_egg_pixie.json deleted file mode 100644 index 6f0e8c5be..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/spawn_egg_pixie.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "items/spawn_egg", - "layer1": "items/spawn_egg_overlay" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/spawn_egg_wasp.json b/src/main/resources/assets/biomesoplenty/models/item/spawn_egg_wasp.json deleted file mode 100644 index 6f0e8c5be..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/spawn_egg_wasp.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "items/spawn_egg", - "layer1": "items/spawn_egg_overlay" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/spectral_moss.json b/src/main/resources/assets/biomesoplenty/models/item/spectral_moss.json deleted file mode 100644 index 9dcbf82d1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/spectral_moss.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/spectral_moss", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/spectralfern.json b/src/main/resources/assets/biomesoplenty/models/item/spectralfern.json deleted file mode 100644 index 482e9a12b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/spectralfern.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/spectralfern" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/sprout.json b/src/main/resources/assets/biomesoplenty/models/item/sprout.json deleted file mode 100644 index 72cb750ad..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/sprout.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sprout" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/swampflower.json b/src/main/resources/assets/biomesoplenty/models/item/swampflower.json deleted file mode 100755 index 07cf578d2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/swampflower.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/swampflower" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/tall_cattail.json b/src/main/resources/assets/biomesoplenty/models/item/tall_cattail.json deleted file mode 100644 index 5ec6c6304..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/tall_cattail.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/tall_cattail_upper" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/tanzanite_block.json b/src/main/resources/assets/biomesoplenty/models/item/tanzanite_block.json deleted file mode 100644 index 1807332ed..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/tanzanite_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/tanzanite_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/tanzanite_ore.json b/src/main/resources/assets/biomesoplenty/models/item/tanzanite_ore.json deleted file mode 100644 index 3ee453a0a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/tanzanite_ore.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/tanzanite_ore", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_bamboo.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_bamboo.json deleted file mode 100644 index 2b480c9ee..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_bamboo.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_bamboo" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_beach.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_beach.json deleted file mode 100644 index 92ff1ae26..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_beach.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_beach" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_cactus.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_cactus.json deleted file mode 100644 index baffb3035..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_cactus.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_cactus" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_dead.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_dead.json deleted file mode 100644 index ab9c4783a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_dead.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_dead" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_ender.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_ender.json deleted file mode 100644 index eb81f95aa..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_ender.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_ender" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_fern.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_fern.json deleted file mode 100644 index 46a070911..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_fern.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_fern" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_flax.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_flax.json deleted file mode 100644 index 938e2436b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_flax.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_flax" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_flower.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_flower.json deleted file mode 100644 index e97ce95cc..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_flower.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_flower" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_glowshroom.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_glowshroom.json deleted file mode 100644 index 9e695dc85..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_glowshroom.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_glowshroom" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_koru.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_koru.json deleted file mode 100644 index 7f5418113..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_koru.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_koru" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_mushroom.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_mushroom.json deleted file mode 100644 index c01d37c20..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_mushroom.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_mushroom" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_mystic.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_mystic.json deleted file mode 100644 index f0fc60737..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_mystic.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_mystic" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_nether.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_nether.json deleted file mode 100644 index 1f2624fcb..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_nether.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_nether" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_ominous.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_ominous.json deleted file mode 100644 index 7280d10cf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_ominous.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_ominous" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_origin.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_origin.json deleted file mode 100644 index 4cfb1798c..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_origin.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_origin" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrarium_wasteland.json b/src/main/resources/assets/biomesoplenty/models/item/terrarium_wasteland.json deleted file mode 100644 index 46733d65d..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrarium_wasteland.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrarium_wasteland" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/terrestrial_artifact.json b/src/main/resources/assets/biomesoplenty/models/item/terrestrial_artifact.json deleted file mode 100644 index b71d3cbb4..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/terrestrial_artifact.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/terrestrial_artifact" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/thorn.json b/src/main/resources/assets/biomesoplenty/models/item/thorn.json deleted file mode 100644 index 3a5054d15..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/thorn.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/thorn" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/tinycactus.json b/src/main/resources/assets/biomesoplenty/models/item/tinycactus.json deleted file mode 100644 index 2a13feb33..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/tinycactus.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/tinycactus" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/toadstool.json b/src/main/resources/assets/biomesoplenty/models/item/toadstool.json deleted file mode 100644 index 345bb06e1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/toadstool.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/toadstool" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/topaz_block.json b/src/main/resources/assets/biomesoplenty/models/item/topaz_block.json deleted file mode 100644 index e121c3531..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/topaz_block.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/topaz_block", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/topaz_ore.json b/src/main/resources/assets/biomesoplenty/models/item/topaz_ore.json deleted file mode 100644 index 9da1f75aa..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/topaz_ore.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/topaz_ore", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/umbran_door.json b/src/main/resources/assets/biomesoplenty/models/item/umbran_door.json deleted file mode 100644 index bb492536f..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/umbran_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_umbran" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/umbran_fence.json b/src/main/resources/assets/biomesoplenty/models/item/umbran_fence.json deleted file mode 100644 index 2df919d48..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/umbran_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/umbran_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/umbran_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/umbran_fence_gate.json deleted file mode 100644 index 6814a36b5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/umbran_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/umbran_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/umbran_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/umbran_leaves.json deleted file mode 100644 index 8eeabc91e..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/umbran_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/umbran_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/umbran_log.json b/src/main/resources/assets/biomesoplenty/models/item/umbran_log.json deleted file mode 100644 index d2da97466..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/umbran_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/umbran_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/umbran_planks.json b/src/main/resources/assets/biomesoplenty/models/item/umbran_planks.json deleted file mode 100644 index 50bbef967..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/umbran_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/umbran_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/umbran_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/umbran_sapling.json deleted file mode 100644 index 98fb43baf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/umbran_sapling.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_umbran" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/umbran_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/umbran_stairs.json deleted file mode 100644 index 1f60e11d6..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/umbran_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/umbran_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/umbran_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/umbran_wood_slab.json deleted file mode 100644 index c05bd3fa1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/umbran_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_umbran", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/violet.json b/src/main/resources/assets/biomesoplenty/models/item/violet.json deleted file mode 100644 index c408bbcc5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/violet.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/violet" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/wheatgrass.json b/src/main/resources/assets/biomesoplenty/models/item/wheatgrass.json deleted file mode 100644 index f268793cd..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/wheatgrass.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/wheatgrass" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/white_anemone.json b/src/main/resources/assets/biomesoplenty/models/item/white_anemone.json deleted file mode 100644 index cb7de00ff..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/white_anemone.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/white_anemone" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/white_cherry_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/white_cherry_leaves.json deleted file mode 100644 index 273085339..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/white_cherry_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/white_cherry_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/white_cherry_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/white_cherry_sapling.json deleted file mode 100644 index e2e38f3d2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/white_cherry_sapling.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_white_cherry" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/white_dye.json b/src/main/resources/assets/biomesoplenty/models/item/white_dye.json deleted file mode 100644 index 9065215ab..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/white_dye.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/white_dye" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/white_sand.json b/src/main/resources/assets/biomesoplenty/models/item/white_sand.json deleted file mode 100644 index 459d82581..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/white_sand.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/white_sand" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/white_sandstone.json b/src/main/resources/assets/biomesoplenty/models/item/white_sandstone.json deleted file mode 100644 index 0ccb24ef1..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/white_sandstone.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/white_sandstone_normal" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_slab.json deleted file mode 100644 index ef2818c4a..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_white_sandstone" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_stairs.json deleted file mode 100644 index 212dc5a00..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/white_sandstone_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/white_sandstone_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/wildflower.json b/src/main/resources/assets/biomesoplenty/models/item/wildflower.json deleted file mode 100644 index e8a218456..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/wildflower.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/wildflower" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/wildrice.json b/src/main/resources/assets/biomesoplenty/models/item/wildrice.json deleted file mode 100644 index 4350c2dbf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/wildrice.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/wildrice" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_door.json b/src/main/resources/assets/biomesoplenty/models/item/willow_door.json deleted file mode 100644 index 1b4540843..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:items/door_willow" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_fence.json b/src/main/resources/assets/biomesoplenty/models/item/willow_fence.json deleted file mode 100644 index 373a26021..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_fence.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "parent": "biomesoplenty:block/willow_fence_inventory" -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_fence_gate.json b/src/main/resources/assets/biomesoplenty/models/item/willow_fence_gate.json deleted file mode 100644 index f189c9990..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_fence_gate.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "parent": "biomesoplenty:block/willow_fence_gate_closed", - "display": { - "thirdperson": { - "rotation": [ 0, -90, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - }, - "firstperson": { - "rotation": [ 0, 90, 0 ], - "translation": [ 0, 0, 0 ], - "scale": [ 1, 1, 1 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/willow_leaves.json deleted file mode 100644 index a8acd65af..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/willow_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_log.json b/src/main/resources/assets/biomesoplenty/models/item/willow_log.json deleted file mode 100644 index c4d2b12b0..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_log.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/willow_log", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_planks.json b/src/main/resources/assets/biomesoplenty/models/item/willow_planks.json deleted file mode 100755 index ecc2b28c5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_planks.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/willow_planks", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/willow_sapling.json deleted file mode 100644 index 3cdf47850..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_sapling.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_willow" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/willow_stairs.json deleted file mode 100644 index ff9dabe02..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "biomesoplenty:block/willow_stairs" -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_vine.json b/src/main/resources/assets/biomesoplenty/models/item/willow_vine.json deleted file mode 100644 index 949df63c5..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_vine.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/willow_vine" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/item/willow_wood_slab.json b/src/main/resources/assets/biomesoplenty/models/item/willow_wood_slab.json deleted file mode 100644 index cb0ce4cda..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/willow_wood_slab.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "parent": "biomesoplenty:block/half_slab_willow", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/wilted_lily.json b/src/main/resources/assets/biomesoplenty/models/item/wilted_lily.json deleted file mode 100644 index fdea08d75..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/wilted_lily.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/wilted_lily" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/yellow_autumn_leaves.json b/src/main/resources/assets/biomesoplenty/models/item/yellow_autumn_leaves.json deleted file mode 100644 index ce7c28ad8..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/yellow_autumn_leaves.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/yellow_autumn_leaves", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/yellow_autumn_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/yellow_autumn_sapling.json deleted file mode 100644 index 0fb78b0d2..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/yellow_autumn_sapling.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_yellow_autumn" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/models/item/yellow_big_flower_petal.json b/src/main/resources/assets/biomesoplenty/models/item/yellow_big_flower_petal.json deleted file mode 100644 index f3686a8bf..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/yellow_big_flower_petal.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "parent": "biomesoplenty:block/yellow_big_flower_petal", - "display": { - "thirdperson": { - "rotation": [ 10, -45, 170 ], - "translation": [ 0, 1.5, -2.75 ], - "scale": [ 0.375, 0.375, 0.375 ] - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/models/item/yellow_big_flower_sapling.json b/src/main/resources/assets/biomesoplenty/models/item/yellow_big_flower_sapling.json deleted file mode 100644 index 19a2af00b..000000000 --- a/src/main/resources/assets/biomesoplenty/models/item/yellow_big_flower_sapling.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "biomesoplenty:blocks/sapling_yellow_big_flower" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} - diff --git a/src/main/resources/assets/biomesoplenty/recipes/amber.json b/src/main/resources/assets/biomesoplenty/recipes/amber.json deleted file mode 100644 index 54c56ea30..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/amber.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:gem_block", - "data": 7 - } - ], - "result": { - "item": "biomesoplenty:gem", - "count": 9, - "data": 7 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/amber_block.json b/src/main/resources/assets/biomesoplenty/recipes/amber_block.json deleted file mode 100644 index 440484023..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/amber_block.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:gem", - "data": 7 - } - }, - "result": { - "item": "biomesoplenty:gem_block", - "data": 7 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/amethyst.json b/src/main/resources/assets/biomesoplenty/recipes/amethyst.json deleted file mode 100644 index 117d4dc96..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/amethyst.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:gem_block", - "data": 0 - } - ], - "result": { - "item": "biomesoplenty:gem", - "count": 9, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/amethyst_block.json b/src/main/resources/assets/biomesoplenty/recipes/amethyst_block.json deleted file mode 100644 index 41dfb754d..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/amethyst_block.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:gem", - "data": 0 - } - }, - "result": { - "item": "biomesoplenty:gem_block", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ash_block.json b/src/main/resources/assets/biomesoplenty/recipes/ash_block.json deleted file mode 100644 index 7b0482b7e..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ash_block.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:ash" - } - }, - "result": { - "item": "biomesoplenty:ash_block", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/bamboo_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/bamboo_terrarium.json deleted file mode 100644 index 201b75e33..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/bamboo_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "terrarium", - "ingredients": [ - { - "item": "minecraft:dirt", - "data": 2 - }, - { - "item": "biomesoplenty:bamboo", - "data": 0 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 6 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/bamboo_thatching.json b/src/main/resources/assets/biomesoplenty/recipes/bamboo_thatching.json deleted file mode 100644 index 6d71447ce..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/bamboo_thatching.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:bamboo", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:bamboo_thatching", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/beach_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/beach_terrarium.json deleted file mode 100644 index 994cf9bb8..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/beach_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "item": "minecraft:sand", - "data": 0 - }, - { - "item": "biomesoplenty:double_plant", - "data": 3 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 7 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/biome_finder.json b/src/main/resources/assets/biomesoplenty/recipes/biome_finder.json deleted file mode 100644 index 00c8e7360..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/biome_finder.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - " # ", - "#T#", - " # " - ], - "key": { - "#": { - "item": "biomesoplenty:gem", - "data": 0 - }, - "T": { - "item": "biomesoplenty:terrestrial_artifact" - } - }, - "result": { - "item": "biomesoplenty:biome_finder" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/black_dye_from_deathbloom.json b/src/main/resources/assets/biomesoplenty/recipes/black_dye_from_deathbloom.json deleted file mode 100644 index 822c25da2..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/black_dye_from_deathbloom.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 2 - } - ], - "result": { - "item": "biomesoplenty:black_dye", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/black_dye_from_enderlotus.json b/src/main/resources/assets/biomesoplenty/recipes/black_dye_from_enderlotus.json deleted file mode 100644 index 97d1ab75b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/black_dye_from_enderlotus.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 10 - } - ], - "result": { - "item": "biomesoplenty:black_dye", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/blue_dye_from_blue_milk_cap.json b/src/main/resources/assets/biomesoplenty/recipes/blue_dye_from_blue_milk_cap.json deleted file mode 100644 index e97e054c8..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/blue_dye_from_blue_milk_cap.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:mushroom", - "data": 2 - } - ], - "result": { - "item": "biomesoplenty:blue_dye", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/blue_dye_from_bluebells.json b/src/main/resources/assets/biomesoplenty/recipes/blue_dye_from_bluebells.json deleted file mode 100644 index b8c7c5b37..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/blue_dye_from_bluebells.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_1", - "data": 2 - } - ], - "result": { - "item": "biomesoplenty:blue_dye", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_cherry.json b/src/main/resources/assets/biomesoplenty/recipes/boat_cherry.json deleted file mode 100644 index 13d6dea2b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_cherry.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 1 - } - }, - "result": { - "item": "biomesoplenty:boat_cherry" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_ebony.json b/src/main/resources/assets/biomesoplenty/recipes/boat_ebony.json deleted file mode 100644 index 714a763b1..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_ebony.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 14 - } - }, - "result": { - "item": "biomesoplenty:boat_ebony" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_ethereal.json b/src/main/resources/assets/biomesoplenty/recipes/boat_ethereal.json deleted file mode 100644 index f6cb1d3be..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_ethereal.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 4 - } - }, - "result": { - "item": "biomesoplenty:boat_ethereal" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_eucalyptus.json b/src/main/resources/assets/biomesoplenty/recipes/boat_eucalyptus.json deleted file mode 100644 index fe0eb7455..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_eucalyptus.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 15 - } - }, - "result": { - "item": "biomesoplenty:boat_eucalyptus" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_fir.json b/src/main/resources/assets/biomesoplenty/recipes/boat_fir.json deleted file mode 100644 index 8eb6db35a..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_fir.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 3 - } - }, - "result": { - "item": "biomesoplenty:boat_fir" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_hellbark.json b/src/main/resources/assets/biomesoplenty/recipes/boat_hellbark.json deleted file mode 100644 index 0f555bc72..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_hellbark.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 11 - } - }, - "result": { - "item": "biomesoplenty:boat_hellbark" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_jacaranda.json b/src/main/resources/assets/biomesoplenty/recipes/boat_jacaranda.json deleted file mode 100644 index 88e9b0ea4..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_jacaranda.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 12 - } - }, - "result": { - "item": "biomesoplenty:boat_jacaranda" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_magic.json b/src/main/resources/assets/biomesoplenty/recipes/boat_magic.json deleted file mode 100644 index 03e5bcb78..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_magic.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 5 - } - }, - "result": { - "item": "biomesoplenty:boat_magic" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_mahogany.json b/src/main/resources/assets/biomesoplenty/recipes/boat_mahogany.json deleted file mode 100644 index a6240ce1b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_mahogany.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 13 - } - }, - "result": { - "item": "biomesoplenty:boat_mahogany" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_mangrove.json b/src/main/resources/assets/biomesoplenty/recipes/boat_mangrove.json deleted file mode 100644 index 202c85706..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_mangrove.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 6 - } - }, - "result": { - "item": "biomesoplenty:boat_mangrove" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_palm.json b/src/main/resources/assets/biomesoplenty/recipes/boat_palm.json deleted file mode 100644 index 7e9f0695c..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_palm.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 7 - } - }, - "result": { - "item": "biomesoplenty:boat_palm" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_pine.json b/src/main/resources/assets/biomesoplenty/recipes/boat_pine.json deleted file mode 100644 index 22d262f40..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_pine.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 10 - } - }, - "result": { - "item": "biomesoplenty:boat_pine" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_redwood.json b/src/main/resources/assets/biomesoplenty/recipes/boat_redwood.json deleted file mode 100644 index 317570efc..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_redwood.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 8 - } - }, - "result": { - "item": "biomesoplenty:boat_redwood" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_sacred_oak.json b/src/main/resources/assets/biomesoplenty/recipes/boat_sacred_oak.json deleted file mode 100644 index 0e5937d69..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_sacred_oak.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 0 - } - }, - "result": { - "item": "biomesoplenty:boat_sacred_oak" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_umbran.json b/src/main/resources/assets/biomesoplenty/recipes/boat_umbran.json deleted file mode 100644 index f200ad06c..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_umbran.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 2 - } - }, - "result": { - "item": "biomesoplenty:boat_umbran" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/boat_willow.json b/src/main/resources/assets/biomesoplenty/recipes/boat_willow.json deleted file mode 100644 index 76ff5ef6d..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/boat_willow.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "boat", - "pattern": [ - "# #", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 9 - } - }, - "result": { - "item": "biomesoplenty:boat_willow" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/bowl_of_rice.json b/src/main/resources/assets/biomesoplenty/recipes/bowl_of_rice.json deleted file mode 100644 index 7da69627c..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/bowl_of_rice.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "minecraft:bowl", - "data": 32767 - }, - { - "item": "biomesoplenty:plant_1", - "data": 3 - } - ], - "result": { - "item": "biomesoplenty:ricebowl" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/brown_dye_from_cattail.json b/src/main/resources/assets/biomesoplenty/recipes/brown_dye_from_cattail.json deleted file mode 100644 index 4edf50672..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/brown_dye_from_cattail.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:plant_1", - "data": 4 - } - ], - "result": { - "item": "biomesoplenty:brown_dye", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/brown_dye_from_double_cattail.json b/src/main/resources/assets/biomesoplenty/recipes/brown_dye_from_double_cattail.json deleted file mode 100644 index 565ed838b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/brown_dye_from_double_cattail.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:double_plant", - "data": 1 - } - ], - "result": { - "item": "biomesoplenty:brown_dye", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/brown_dye_from_flat_mushroom.json b/src/main/resources/assets/biomesoplenty/recipes/brown_dye_from_flat_mushroom.json deleted file mode 100644 index b5d1fc3c6..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/brown_dye_from_flat_mushroom.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:mushroom", - "data": 4 - } - ], - "result": { - "item": "biomesoplenty:brown_dye", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/cactus_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/cactus_terrarium.json deleted file mode 100644 index 21cf77a61..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/cactus_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "grass" - }, - { - "item": "biomesoplenty:plant_1", - "data": 6 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/celestial_crystal.json b/src/main/resources/assets/biomesoplenty/recipes/celestial_crystal.json deleted file mode 100644 index 9f24236d4..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/celestial_crystal.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:crystal_shard" - } - }, - "result": { - "item": "biomesoplenty:crystal", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/cherry_door.json b/src/main/resources/assets/biomesoplenty/recipes/cherry_door.json deleted file mode 100644 index 3e44b3e65..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/cherry_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 1 - } - }, - "result": { - "item": "biomesoplenty:cherry_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/cherry_fence.json b/src/main/resources/assets/biomesoplenty/recipes/cherry_fence.json deleted file mode 100644 index 3c839a73e..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/cherry_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "#S#", - "#S#" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 1 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:cherry_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/cherry_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/cherry_fence_gate.json deleted file mode 100644 index 8efda2acb..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/cherry_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "S#S", - "S#S" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 1 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:cherry_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/cherry_planks.json b/src/main/resources/assets/biomesoplenty/recipes/cherry_planks.json deleted file mode 100644 index 548235ad1..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/cherry_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_0", - "data": 5 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/cherry_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/cherry_stairs.json deleted file mode 100644 index 669194a25..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/cherry_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 1 - } - }, - "result": { - "item": "biomesoplenty:cherry_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/cherry_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/cherry_wooden_slab.json deleted file mode 100644 index e4a8fe27b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/cherry_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 1 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_0", - "count": 6, - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/chiseled_white_sandstone.json b/src/main/resources/assets/biomesoplenty/recipes/chiseled_white_sandstone.json deleted file mode 100644 index 4cff44440..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/chiseled_white_sandstone.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "#", - "#" - ], - "key": { - "#": { - "item": "biomesoplenty:other_slab", - "data": 1 - } - }, - "result": { - "item": "biomesoplenty:white_sandstone", - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/coal_from_ash.json b/src/main/resources/assets/biomesoplenty/recipes/coal_from_ash.json deleted file mode 100644 index 2a5b8ebd0..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/coal_from_ash.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:ash" - } - }, - "result": { - "item": "minecraft:coal", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/coarse_loamy_dirt.json b/src/main/resources/assets/biomesoplenty/recipes/coarse_loamy_dirt.json deleted file mode 100644 index b580b3dff..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/coarse_loamy_dirt.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "#D", - "D#" - ], - "key": { - "#": { - "item": "minecraft:gravel", - "data": 32767 - }, - "D": { - "item": "biomesoplenty:dirt", - "count": 4, - "data": 0 - } - }, - "result": { - "item": "biomesoplenty:dirt", - "count": 4, - "data": 8 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/coarse_sandy_dirt.json b/src/main/resources/assets/biomesoplenty/recipes/coarse_sandy_dirt.json deleted file mode 100644 index 4ba8bc219..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/coarse_sandy_dirt.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "#D", - "D#" - ], - "key": { - "#": { - "item": "minecraft:gravel", - "data": 32767 - }, - "D": { - "item": "biomesoplenty:dirt", - "count": 4, - "data": 1 - } - }, - "result": { - "item": "biomesoplenty:dirt", - "count": 4, - "data": 9 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/coarse_silty_dirt.json b/src/main/resources/assets/biomesoplenty/recipes/coarse_silty_dirt.json deleted file mode 100644 index c8673e657..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/coarse_silty_dirt.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "#D", - "D#" - ], - "key": { - "#": { - "item": "minecraft:gravel", - "data": 32767 - }, - "D": { - "item": "biomesoplenty:dirt", - "count": 4, - "data": 2 - } - }, - "result": { - "item": "biomesoplenty:dirt", - "count": 4, - "data": 10 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/cyan_dye_from_glowflower.json b/src/main/resources/assets/biomesoplenty/recipes/cyan_dye_from_glowflower.json deleted file mode 100644 index 45c12b0a9..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/cyan_dye_from_glowflower.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 3 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 6 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/cyan_dye_from_swampflower.json b/src/main/resources/assets/biomesoplenty/recipes/cyan_dye_from_swampflower.json deleted file mode 100644 index 3239358fc..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/cyan_dye_from_swampflower.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 1 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 6 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/dead_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/dead_terrarium.json deleted file mode 100644 index 0c8827b33..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/dead_terrarium.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "grass" - }, - { - "item": "minecraft:deadbush" - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 9 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ebony_door.json b/src/main/resources/assets/biomesoplenty/recipes/ebony_door.json deleted file mode 100644 index 607b8c91b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ebony_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 14 - } - }, - "result": { - "item": "biomesoplenty:ebony_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ebony_fence.json b/src/main/resources/assets/biomesoplenty/recipes/ebony_fence.json deleted file mode 100644 index 95ebafdb4..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ebony_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "#S#", - "#S#" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 14 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:ebony_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ebony_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/ebony_fence_gate.json deleted file mode 100644 index 9b2711dbb..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ebony_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 14 - } - }, - "result": { - "item": "biomesoplenty:ebony_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ebony_planks.json b/src/main/resources/assets/biomesoplenty/recipes/ebony_planks.json deleted file mode 100644 index d08ddf813..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ebony_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_3", - "data": 6 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 14 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ebony_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/ebony_stairs.json deleted file mode 100644 index 3138decc1..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ebony_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 14 - } - }, - "result": { - "item": "biomesoplenty:ebony_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ebony_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/ebony_wooden_slab.json deleted file mode 100644 index d1de398b6..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ebony_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 14 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_1", - "count": 6, - "data": 6 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/empty_jar.json b/src/main/resources/assets/biomesoplenty/recipes/empty_jar.json deleted file mode 100644 index 1e9361d74..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/empty_jar.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "# #", - "# #", - "###" - ], - "key": { - "#": { - "item": "minecraft:glass", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:jar_empty", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ender_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/ender_terrarium.json deleted file mode 100644 index c9b407737..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ender_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "terrarium", - "ingredients": [ - { - "item": "biomesoplenty:grass", - "data": 0 - }, - { - "item": "biomesoplenty:plant_1", - "data": 1 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 15 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ethereal_door.json b/src/main/resources/assets/biomesoplenty/recipes/ethereal_door.json deleted file mode 100644 index 26c9829aa..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ethereal_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 4 - } - }, - "result": { - "item": "biomesoplenty:ethereal_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ethereal_fence.json b/src/main/resources/assets/biomesoplenty/recipes/ethereal_fence.json deleted file mode 100644 index 28c9e9428..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ethereal_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "P#P", - "P#P" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 4 - } - }, - "result": { - "item": "biomesoplenty:ethereal_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ethereal_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/ethereal_fence_gate.json deleted file mode 100644 index 265b0e207..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ethereal_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 4 - } - }, - "result": { - "item": "biomesoplenty:ethereal_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ethereal_planks.json b/src/main/resources/assets/biomesoplenty/recipes/ethereal_planks.json deleted file mode 100644 index 18ee8e0b5..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ethereal_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_1", - "data": 4 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ethereal_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/ethereal_stairs.json deleted file mode 100644 index 1dd49d00f..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ethereal_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 4 - } - }, - "result": { - "item": "biomesoplenty:ethereal_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ethereal_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/ethereal_wooden_slab.json deleted file mode 100644 index 416643490..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ethereal_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 4 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_0", - "count": 6, - "data": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_door.json b/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_door.json deleted file mode 100644 index 52c251e75..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 15 - } - }, - "result": { - "item": "biomesoplenty:eucalyptus_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_fence.json b/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_fence.json deleted file mode 100644 index cdb3fc0c6..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "#S#", - "#S#" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 15 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:eucalyptus_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_fence_gate.json deleted file mode 100644 index 8a014f14e..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 15 - } - }, - "result": { - "item": "biomesoplenty:eucalyptus_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_planks.json b/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_planks.json deleted file mode 100644 index 435adcdb5..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_3", - "data": 7 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 15 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_stairs.json deleted file mode 100644 index 3b013a8bf..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 15 - } - }, - "result": { - "item": "biomesoplenty:eucalyptus_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_wooden_slab.json deleted file mode 100644 index 31ef37005..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/eucalyptus_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 15 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_1", - "count": 6, - "data": 7 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/fern_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/fern_terrarium.json deleted file mode 100644 index f106d2826..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/fern_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "grass" - }, - { - "item": "minecraft:tallgrass", - "data": 2 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/filled_honeycomb_block.json b/src/main/resources/assets/biomesoplenty/recipes/filled_honeycomb_block.json deleted file mode 100644 index 4ba060962..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/filled_honeycomb_block.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:filled_honeycomb" - } - }, - "result": { - "item": "biomesoplenty:hive", - "data": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/fir_door.json b/src/main/resources/assets/biomesoplenty/recipes/fir_door.json deleted file mode 100644 index 0bec55451..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/fir_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 3 - } - }, - "result": { - "item": "biomesoplenty:fir_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/fir_fence.json b/src/main/resources/assets/biomesoplenty/recipes/fir_fence.json deleted file mode 100644 index fc43b6cd3..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/fir_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "P#P", - "P#P" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 3 - } - }, - "result": { - "item": "biomesoplenty:fir_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/fir_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/fir_fence_gate.json deleted file mode 100644 index dfeff2030..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/fir_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 3 - } - }, - "result": { - "item": "biomesoplenty:fir_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/fir_planks.json b/src/main/resources/assets/biomesoplenty/recipes/fir_planks.json deleted file mode 100644 index e207dbdb4..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/fir_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_0", - "data": 7 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/fir_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/fir_stairs.json deleted file mode 100644 index 3a4f04de4..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/fir_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 3 - } - }, - "result": { - "item": "biomesoplenty:fir_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/fir_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/fir_wooden_slab.json deleted file mode 100644 index ca26b977b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/fir_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 3 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_0", - "count": 6, - "data": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/flax_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/flax_terrarium.json deleted file mode 100644 index 50c29c26d..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/flax_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "grass" - }, - { - "item": "biomesoplenty:double_plant", - "data": 0 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/flesh_block.json b/src/main/resources/assets/biomesoplenty/recipes/flesh_block.json deleted file mode 100644 index 767f1d608..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/flesh_block.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:fleshchunk" - } - }, - "result": { - "item": "biomesoplenty:flesh", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/flower_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/flower_terrarium.json deleted file mode 100644 index ae3ab6dca..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/flower_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "grass" - }, - { - "item": "biomesoplenty:flower_0", - "data": 6 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/glowshroom_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/glowshroom_terrarium.json deleted file mode 100644 index aeaed4e67..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/glowshroom_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "terrarium", - "ingredients": [ - { - "item": "biomesoplenty:grass", - "data": 1 - }, - { - "item": "biomesoplenty:mushroom", - "data": 3 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 8 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/gray_dye_from_ash.json b/src/main/resources/assets/biomesoplenty/recipes/gray_dye_from_ash.json deleted file mode 100644 index c35f665c2..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/gray_dye_from_ash.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:ash" - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 8 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/gray_dye_from_wilted_lily.json b/src/main/resources/assets/biomesoplenty/recipes/gray_dye_from_wilted_lily.json deleted file mode 100644 index 609657aa6..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/gray_dye_from_wilted_lily.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 12 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 8 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/hellbark_door.json b/src/main/resources/assets/biomesoplenty/recipes/hellbark_door.json deleted file mode 100644 index 2fa4acb94..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/hellbark_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 11 - } - }, - "result": { - "item": "biomesoplenty:hellbark_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/hellbark_fence.json b/src/main/resources/assets/biomesoplenty/recipes/hellbark_fence.json deleted file mode 100644 index faf5949c6..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/hellbark_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "#S#", - "#S#" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 11 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:hellbark_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/hellbark_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/hellbark_fence_gate.json deleted file mode 100644 index 1481df9db..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/hellbark_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 11 - } - }, - "result": { - "item": "biomesoplenty:hellbark_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/hellbark_planks.json b/src/main/resources/assets/biomesoplenty/recipes/hellbark_planks.json deleted file mode 100644 index 47de7aadc..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/hellbark_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_2", - "data": 7 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 11 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/hellbark_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/hellbark_stairs.json deleted file mode 100644 index de1e4d2ea..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/hellbark_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 11 - } - }, - "result": { - "item": "biomesoplenty:hellbark_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/hellbark_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/hellbark_wooden_slab.json deleted file mode 100644 index 355e7421f..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/hellbark_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 11 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_1", - "count": 6, - "data": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/honeycomb_block.json b/src/main/resources/assets/biomesoplenty/recipes/honeycomb_block.json deleted file mode 100644 index cfda4e427..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/honeycomb_block.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:honeycomb" - } - }, - "result": { - "item": "biomesoplenty:hive", - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_door.json b/src/main/resources/assets/biomesoplenty/recipes/jacaranda_door.json deleted file mode 100644 index 2506d5592..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 12 - } - }, - "result": { - "item": "biomesoplenty:jacaranda_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_fence.json b/src/main/resources/assets/biomesoplenty/recipes/jacaranda_fence.json deleted file mode 100644 index 5a7e271db..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "P#P", - "P#P" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 12 - } - }, - "result": { - "item": "biomesoplenty:jacaranda_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/jacaranda_fence_gate.json deleted file mode 100644 index 4454114b0..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "S#S", - "S#S" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 12 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:jacaranda_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_planks.json b/src/main/resources/assets/biomesoplenty/recipes/jacaranda_planks.json deleted file mode 100644 index 91728129b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_3", - "data": 4 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 12 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/jacaranda_stairs.json deleted file mode 100644 index 1c77ba39e..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 12 - } - }, - "result": { - "item": "biomesoplenty:jacaranda_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/jacaranda_wooden_slab.json deleted file mode 100644 index 0b819a581..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/jacaranda_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 12 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_1", - "count": 6, - "data": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/koru_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/koru_terrarium.json deleted file mode 100644 index b22ac2e36..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/koru_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "grass" - }, - { - "item": "biomesoplenty:plant_0", - "data": 9 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 5 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/leaf_pile.json b/src/main/resources/assets/biomesoplenty/recipes/leaf_pile.json deleted file mode 100644 index 933b02429..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/leaf_pile.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "treeLeaves" - } - ], - "result": { - "item": "biomesoplenty:plant_0", - "data": 11 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/light_blue_dye_from_blue_hydrangea.json b/src/main/resources/assets/biomesoplenty/recipes/light_blue_dye_from_blue_hydrangea.json deleted file mode 100644 index e896375d4..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/light_blue_dye_from_blue_hydrangea.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 4 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 12 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/light_blue_dye_from_flax.json b/src/main/resources/assets/biomesoplenty/recipes/light_blue_dye_from_flax.json deleted file mode 100644 index 7114916de..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/light_blue_dye_from_flax.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:double_plant", - "data": 0 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 12 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/light_blue_dye_from_icy_iris.json b/src/main/resources/assets/biomesoplenty/recipes/light_blue_dye_from_icy_iris.json deleted file mode 100644 index 657299525..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/light_blue_dye_from_icy_iris.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_1", - "data": 4 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 12 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/light_gray_dye_from_clover.json b/src/main/resources/assets/biomesoplenty/recipes/light_gray_dye_from_clover.json deleted file mode 100644 index 2c0dfdb96..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/light_gray_dye_from_clover.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 0 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 7 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/lime_dye_from_glowshroom.json b/src/main/resources/assets/biomesoplenty/recipes/lime_dye_from_glowshroom.json deleted file mode 100644 index 43c6d2dd7..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/lime_dye_from_glowshroom.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:mushroom", - "data": 3 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 10 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/magenta_dye_from_wildflower.json b/src/main/resources/assets/biomesoplenty/recipes/magenta_dye_from_wildflower.json deleted file mode 100644 index c21d38553..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/magenta_dye_from_wildflower.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 7 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 13 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/magic_door.json b/src/main/resources/assets/biomesoplenty/recipes/magic_door.json deleted file mode 100644 index f1443bda8..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/magic_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 5 - } - }, - "result": { - "item": "biomesoplenty:magic_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/magic_fence.json b/src/main/resources/assets/biomesoplenty/recipes/magic_fence.json deleted file mode 100644 index 7875d3673..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/magic_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "P#P", - "P#P" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 5 - } - }, - "result": { - "item": "biomesoplenty:magic_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/magic_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/magic_fence_gate.json deleted file mode 100644 index 3e9b6d46b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/magic_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "S#S", - "S#S" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 5 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:magic_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/magic_planks.json b/src/main/resources/assets/biomesoplenty/recipes/magic_planks.json deleted file mode 100644 index e95b286fd..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/magic_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_1", - "data": 5 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 5 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/magic_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/magic_stairs.json deleted file mode 100644 index 6e40c8921..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/magic_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 5 - } - }, - "result": { - "item": "biomesoplenty:magic_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/magic_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/magic_wooden_slab.json deleted file mode 100644 index 7afaa27c8..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/magic_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 5 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_0", - "count": 6, - "data": 5 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mahogany_door.json b/src/main/resources/assets/biomesoplenty/recipes/mahogany_door.json deleted file mode 100644 index 552db720a..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mahogany_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 13 - } - }, - "result": { - "item": "biomesoplenty:mahogany_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mahogany_fence.json b/src/main/resources/assets/biomesoplenty/recipes/mahogany_fence.json deleted file mode 100644 index 10f705470..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mahogany_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "P#P", - "P#P" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 13 - } - }, - "result": { - "item": "biomesoplenty:mahogany_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mahogany_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/mahogany_fence_gate.json deleted file mode 100644 index b2a94aecc..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mahogany_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 13 - } - }, - "result": { - "item": "biomesoplenty:mahogany_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mahogany_planks.json b/src/main/resources/assets/biomesoplenty/recipes/mahogany_planks.json deleted file mode 100644 index 2ac7bffb0..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mahogany_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_3", - "data": 5 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 13 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mahogany_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/mahogany_stairs.json deleted file mode 100644 index e95812696..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mahogany_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 13 - } - }, - "result": { - "item": "biomesoplenty:mahogany_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mahogany_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/mahogany_wooden_slab.json deleted file mode 100644 index ce4ff6eef..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mahogany_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 13 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_1", - "count": 6, - "data": 5 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/malachite.json b/src/main/resources/assets/biomesoplenty/recipes/malachite.json deleted file mode 100644 index 369bb0937..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/malachite.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:gem_block", - "data": 5 - } - ], - "result": { - "item": "biomesoplenty:gem", - "count": 9, - "data": 5 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/malachite_block.json b/src/main/resources/assets/biomesoplenty/recipes/malachite_block.json deleted file mode 100644 index 256384337..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/malachite_block.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:gem", - "data": 5 - } - }, - "result": { - "item": "biomesoplenty:gem_block", - "data": 5 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mangrove_door.json b/src/main/resources/assets/biomesoplenty/recipes/mangrove_door.json deleted file mode 100644 index 5b88cf786..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mangrove_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 6 - } - }, - "result": { - "item": "biomesoplenty:mangrove_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mangrove_fence.json b/src/main/resources/assets/biomesoplenty/recipes/mangrove_fence.json deleted file mode 100644 index b21c01901..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mangrove_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "#S#", - "#S#" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 6 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:mangrove_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mangrove_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/mangrove_fence_gate.json deleted file mode 100644 index 3032ac3e9..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mangrove_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 6 - } - }, - "result": { - "item": "biomesoplenty:mangrove_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mangrove_planks.json b/src/main/resources/assets/biomesoplenty/recipes/mangrove_planks.json deleted file mode 100644 index 88ff76075..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mangrove_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_1", - "data": 6 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 6 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mangrove_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/mangrove_stairs.json deleted file mode 100644 index fba886998..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mangrove_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 6 - } - }, - "result": { - "item": "biomesoplenty:mangrove_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mangrove_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/mangrove_wooden_slab.json deleted file mode 100644 index c715df1b2..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mangrove_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 6 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_0", - "count": 6, - "data": 6 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mud.json b/src/main/resources/assets/biomesoplenty/recipes/mud.json deleted file mode 100644 index 1ff1a5868..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mud.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "forge:ore_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "type": "forge:ore_dict", - "ore": "ballMud" - } - }, - "result": { - "item": "biomesoplenty:mud", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mud_bricks.json b/src/main/resources/assets/biomesoplenty/recipes/mud_bricks.json deleted file mode 100644 index 1b41d0e19..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mud_bricks.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:mud_brick" - } - }, - "result": { - "item": "biomesoplenty:mud_brick_block", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mud_bricks_slab.json b/src/main/resources/assets/biomesoplenty/recipes/mud_bricks_slab.json deleted file mode 100644 index d9d2a91b5..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mud_bricks_slab.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:mud_brick_block", - "data": 0 - } - }, - "result": { - "item": "biomesoplenty:other_slab", - "count": 6, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mud_bricks_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/mud_bricks_stairs.json deleted file mode 100644 index 8c4669207..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mud_bricks_stairs.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - " #", - " ##", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:mud_brick_block", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:mud_brick_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mud_from_dirt.json b/src/main/resources/assets/biomesoplenty/recipes/mud_from_dirt.json deleted file mode 100644 index a25627252..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mud_from_dirt.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "dirt" - }, - { - "item": "minecraft:water_bucket" - } - ], - "result": { - "item": "biomesoplenty:mud", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mushroom_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/mushroom_terrarium.json deleted file mode 100644 index 9bdd4bdd4..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mushroom_terrarium.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "item": "minecraft:mycelium" - }, - { - "item": "minecraft:red_mushroom" - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/mystic_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/mystic_terrarium.json deleted file mode 100644 index 4d6f85555..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/mystic_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "grass" - }, - { - "item": "biomesoplenty:flower_0", - "data": 3 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 10 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/nether_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/nether_terrarium.json deleted file mode 100644 index 243492902..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/nether_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "item": "biomesoplenty:grass", - "data": 6 - }, - { - "item": "biomesoplenty:flower_0", - "data": 15 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 14 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ominous_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/ominous_terrarium.json deleted file mode 100644 index addaad2a8..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ominous_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "type": "forge:ore_dict", - "ore": "grass" - }, - { - "item": "biomesoplenty:flower_0", - "data": 2 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 11 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/orange_dye_from_burning_blossom.json b/src/main/resources/assets/biomesoplenty/recipes/orange_dye_from_burning_blossom.json deleted file mode 100644 index 1c523756f..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/orange_dye_from_burning_blossom.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 15 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 14 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/orange_dye_from_orange_cosmos.json b/src/main/resources/assets/biomesoplenty/recipes/orange_dye_from_orange_cosmos.json deleted file mode 100644 index ef3fb2713..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/orange_dye_from_orange_cosmos.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 5 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 14 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/origin_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/origin_terrarium.json deleted file mode 100644 index ebaa59bd7..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/origin_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "forge:ore_shapeless", - "group": "terrarium", - "ingredients": [ - { - "item": "biomesoplenty:grass", - "data": 5 - }, - { - "item": "biomesoplenty:flower_1", - "data": 5 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 13 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/palm_door.json b/src/main/resources/assets/biomesoplenty/recipes/palm_door.json deleted file mode 100644 index bcf536fcf..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/palm_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 7 - } - }, - "result": { - "item": "biomesoplenty:palm_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/palm_fence.json b/src/main/resources/assets/biomesoplenty/recipes/palm_fence.json deleted file mode 100644 index 2fbd27450..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/palm_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "#S#", - "#S#" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 7 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:palm_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/palm_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/palm_fence_gate.json deleted file mode 100644 index a85162f73..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/palm_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 7 - } - }, - "result": { - "item": "biomesoplenty:palm_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/palm_planks.json b/src/main/resources/assets/biomesoplenty/recipes/palm_planks.json deleted file mode 100644 index 83419aaf9..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/palm_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_1", - "data": 7 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 7 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/palm_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/palm_stairs.json deleted file mode 100644 index 64ce0e8e8..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/palm_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 7 - } - }, - "result": { - "item": "biomesoplenty:palm_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/palm_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/palm_wooden_slab.json deleted file mode 100644 index f50c354f2..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/palm_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 7 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_0", - "count": 6, - "data": 7 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/peridot.json b/src/main/resources/assets/biomesoplenty/recipes/peridot.json deleted file mode 100644 index 765985888..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/peridot.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:gem_block", - "data": 2 - } - ], - "result": { - "item": "biomesoplenty:gem", - "count": 9, - "data": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/peridot_block.json b/src/main/resources/assets/biomesoplenty/recipes/peridot_block.json deleted file mode 100644 index ca413654d..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/peridot_block.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:gem", - "data": 2 - } - }, - "result": { - "item": "biomesoplenty:gem_block", - "data": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/pine_door.json b/src/main/resources/assets/biomesoplenty/recipes/pine_door.json deleted file mode 100644 index e03c96b99..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/pine_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 10 - } - }, - "result": { - "item": "biomesoplenty:pine_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/pine_fence.json b/src/main/resources/assets/biomesoplenty/recipes/pine_fence.json deleted file mode 100644 index b2096511b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/pine_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "#S#", - "#S#" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 10 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:pine_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/pine_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/pine_fence_gate.json deleted file mode 100644 index a4afd11cc..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/pine_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "S#S", - "S#S" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 10 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:pine_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/pine_planks.json b/src/main/resources/assets/biomesoplenty/recipes/pine_planks.json deleted file mode 100644 index 94c7ba229..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/pine_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_2", - "data": 6 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 10 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/pine_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/pine_stairs.json deleted file mode 100644 index bb43fa3fb..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/pine_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 10 - } - }, - "result": { - "item": "biomesoplenty:pine_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/pine_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/pine_wooden_slab.json deleted file mode 100644 index c94c8236d..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/pine_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 10 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_1", - "count": 6, - "data": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/pink_dye_from_miners_delight.json b/src/main/resources/assets/biomesoplenty/recipes/pink_dye_from_miners_delight.json deleted file mode 100644 index e1402f3e1..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/pink_dye_from_miners_delight.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_1", - "data": 3 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 9 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/pink_dye_from_pink_daffodil.json b/src/main/resources/assets/biomesoplenty/recipes/pink_dye_from_pink_daffodil.json deleted file mode 100644 index 0798add2b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/pink_dye_from_pink_daffodil.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 6 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 9 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/pink_dye_from_pink_hibiscus.json b/src/main/resources/assets/biomesoplenty/recipes/pink_dye_from_pink_hibiscus.json deleted file mode 100644 index 580864e50..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/pink_dye_from_pink_hibiscus.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 13 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 9 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/purple_dye_from_lavender.json b/src/main/resources/assets/biomesoplenty/recipes/purple_dye_from_lavender.json deleted file mode 100644 index 0d7cd8469..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/purple_dye_from_lavender.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_1", - "data": 0 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 5 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/purple_dye_from_violet.json b/src/main/resources/assets/biomesoplenty/recipes/purple_dye_from_violet.json deleted file mode 100644 index cd26fc15d..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/purple_dye_from_violet.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 8 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 5 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/red_dye_from_bromeliad.json b/src/main/resources/assets/biomesoplenty/recipes/red_dye_from_bromeliad.json deleted file mode 100644 index e884b0d86..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/red_dye_from_bromeliad.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 11 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/red_dye_from_rafflesia.json b/src/main/resources/assets/biomesoplenty/recipes/red_dye_from_rafflesia.json deleted file mode 100644 index 1bbcd5853..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/red_dye_from_rafflesia.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:plant_1", - "data": 10 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/red_dye_from_rose.json b/src/main/resources/assets/biomesoplenty/recipes/red_dye_from_rose.json deleted file mode 100644 index 27ce3bfbd..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/red_dye_from_rose.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_1", - "data": 5 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/redwood_door.json b/src/main/resources/assets/biomesoplenty/recipes/redwood_door.json deleted file mode 100644 index 6b589acd2..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/redwood_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 8 - } - }, - "result": { - "item": "biomesoplenty:redwood_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/redwood_fence.json b/src/main/resources/assets/biomesoplenty/recipes/redwood_fence.json deleted file mode 100644 index b5a82c241..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/redwood_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "P#P", - "P#P" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 8 - } - }, - "result": { - "item": "biomesoplenty:redwood_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/redwood_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/redwood_fence_gate.json deleted file mode 100644 index 5ad4e3219..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/redwood_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 8 - } - }, - "result": { - "item": "biomesoplenty:redwood_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/redwood_planks.json b/src/main/resources/assets/biomesoplenty/recipes/redwood_planks.json deleted file mode 100644 index d022bded0..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/redwood_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_2", - "data": 4 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 8 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/redwood_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/redwood_stairs.json deleted file mode 100644 index 969058169..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/redwood_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 8 - } - }, - "result": { - "item": "biomesoplenty:redwood_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/redwood_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/redwood_wooden_slab.json deleted file mode 100644 index 85d234eeb..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/redwood_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 8 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_1", - "count": 6, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ruby.json b/src/main/resources/assets/biomesoplenty/recipes/ruby.json deleted file mode 100644 index 6755a7ced..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ruby.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:gem_block", - "data": 1 - } - ], - "result": { - "item": "biomesoplenty:gem", - "count": 9, - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/ruby_block.json b/src/main/resources/assets/biomesoplenty/recipes/ruby_block.json deleted file mode 100644 index 0d29080f1..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/ruby_block.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:gem", - "data": 1 - } - }, - "result": { - "item": "biomesoplenty:gem_block", - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_door.json b/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_door.json deleted file mode 100644 index f9df7ad76..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 0 - } - }, - "result": { - "item": "biomesoplenty:sacred_oak_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_fence.json b/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_fence.json deleted file mode 100644 index b872cf830..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "P#P", - "P#P" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 0 - } - }, - "result": { - "item": "biomesoplenty:sacred_oak_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_fence_gate.json deleted file mode 100644 index 9f2d423b0..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "S#S", - "S#S" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 0 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:sacred_oak_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_planks.json b/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_planks.json deleted file mode 100644 index 4ef3fbf88..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_0", - "data": 4 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_stairs.json deleted file mode 100644 index ee67ded4a..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 0 - } - }, - "result": { - "item": "biomesoplenty:sacred_oak_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_wooden_slab.json deleted file mode 100644 index eca3a06e8..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/sacred_oak_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 0 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_0", - "count": 6, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/sand_from_dried_sand.json b/src/main/resources/assets/biomesoplenty/recipes/sand_from_dried_sand.json deleted file mode 100644 index 90c50a25b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/sand_from_dried_sand.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:dried_sand", - "data": 0 - }, - { - "item": "minecraft:water_bucket" - } - ], - "result": { - "item": "minecraft:sand", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/sapphire.json b/src/main/resources/assets/biomesoplenty/recipes/sapphire.json deleted file mode 100644 index b99632c0f..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/sapphire.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:gem_block", - "data": 6 - } - ], - "result": { - "item": "biomesoplenty:gem", - "count": 9, - "data": 6 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/sapphire_block.json b/src/main/resources/assets/biomesoplenty/recipes/sapphire_block.json deleted file mode 100644 index 95816605b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/sapphire_block.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:gem", - "data": 6 - } - }, - "result": { - "item": "biomesoplenty:gem_block", - "data": 6 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/shroom_powder.json b/src/main/resources/assets/biomesoplenty/recipes/shroom_powder.json deleted file mode 100644 index 1aa7ede6b..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/shroom_powder.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:mushroom", - "data": 0 - } - ], - "result": { - "item": "biomesoplenty:shroompowder" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/smooth_white_sandstone.json b/src/main/resources/assets/biomesoplenty/recipes/smooth_white_sandstone.json deleted file mode 100644 index f5734214f..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/smooth_white_sandstone.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:white_sandstone", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:white_sandstone", - "count": 4, - "data": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/tanzanite.json b/src/main/resources/assets/biomesoplenty/recipes/tanzanite.json deleted file mode 100644 index 53e6c4a2d..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/tanzanite.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:gem_block", - "data": 4 - } - ], - "result": { - "item": "biomesoplenty:gem", - "count": 9, - "data": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/tanzanite_block.json b/src/main/resources/assets/biomesoplenty/recipes/tanzanite_block.json deleted file mode 100644 index 057260338..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/tanzanite_block.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:gem", - "data": 4 - } - }, - "result": { - "item": "biomesoplenty:gem_block", - "data": 4 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/terrestrial_artifact.json b/src/main/resources/assets/biomesoplenty/recipes/terrestrial_artifact.json deleted file mode 100644 index f9e3fc49c..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/terrestrial_artifact.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:gem", - "data": 1 - }, - { - "item": "biomesoplenty:gem", - "data": 3 - }, - { - "item": "biomesoplenty:gem", - "data": 7 - }, - { - "item": "biomesoplenty:gem", - "data": 2 - }, - { - "item": "biomesoplenty:gem", - "data": 5 - }, - { - "item": "biomesoplenty:gem", - "data": 6 - }, - { - "item": "biomesoplenty:gem", - "data": 4 - }, - { - "item": "minecraft:emerald", - "data": 32767 - } - ], - "result": { - "item": "biomesoplenty:terrestrial_artifact" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/topaz.json b/src/main/resources/assets/biomesoplenty/recipes/topaz.json deleted file mode 100644 index 31640b132..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/topaz.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:gem_block", - "data": 3 - } - ], - "result": { - "item": "biomesoplenty:gem", - "count": 9, - "data": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/topaz_block.json b/src/main/resources/assets/biomesoplenty/recipes/topaz_block.json deleted file mode 100644 index d11535726..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/topaz_block.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:gem", - "data": 3 - } - }, - "result": { - "item": "biomesoplenty:gem_block", - "data": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/umbran_door.json b/src/main/resources/assets/biomesoplenty/recipes/umbran_door.json deleted file mode 100644 index 8510093cd..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/umbran_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 2 - } - }, - "result": { - "item": "biomesoplenty:umbran_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/umbran_fence.json b/src/main/resources/assets/biomesoplenty/recipes/umbran_fence.json deleted file mode 100644 index 1c993eb67..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/umbran_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "#S#", - "#S#" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 2 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:umbran_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/umbran_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/umbran_fence_gate.json deleted file mode 100644 index 94db2b50f..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/umbran_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "#P#", - "#P#" - ], - "key": { - "#": { - "item": "minecraft:stick", - "data": 32767 - }, - "P": { - "item": "biomesoplenty:planks_0", - "data": 2 - } - }, - "result": { - "item": "biomesoplenty:umbran_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/umbran_planks.json b/src/main/resources/assets/biomesoplenty/recipes/umbran_planks.json deleted file mode 100644 index 2b7f22039..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/umbran_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_0", - "data": 6 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/umbran_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/umbran_stairs.json deleted file mode 100644 index b453a4559..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/umbran_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 2 - } - }, - "result": { - "item": "biomesoplenty:umbran_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/umbran_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/umbran_wooden_slab.json deleted file mode 100644 index 2a9cc54c2..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/umbran_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 2 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_0", - "count": 6, - "data": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/wasteland_terrarium.json b/src/main/resources/assets/biomesoplenty/recipes/wasteland_terrarium.json deleted file mode 100644 index 925a70c40..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/wasteland_terrarium.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "terrarium", - "ingredients": [ - { - "item": "biomesoplenty:dried_sand", - "data": 0 - }, - { - "item": "biomesoplenty:flower_0", - "data": 12 - }, - { - "item": "biomesoplenty:jar_empty" - } - ], - "result": { - "item": "biomesoplenty:terrarium", - "data": 12 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/white_dye_from_lily_of_the_valley.json b/src/main/resources/assets/biomesoplenty/recipes/white_dye_from_lily_of_the_valley.json deleted file mode 100644 index ec86ca201..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/white_dye_from_lily_of_the_valley.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 14 - } - ], - "result": { - "item": "biomesoplenty:white_dye", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/white_dye_from_white_anemone.json b/src/main/resources/assets/biomesoplenty/recipes/white_dye_from_white_anemone.json deleted file mode 100644 index 17f6a9c89..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/white_dye_from_white_anemone.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_0", - "data": 9 - } - ], - "result": { - "item": "biomesoplenty:white_dye", - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/white_sandstone.json b/src/main/resources/assets/biomesoplenty/recipes/white_sandstone.json deleted file mode 100644 index 3204bce3a..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/white_sandstone.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:white_sand", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:white_sandstone", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/white_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/recipes/white_sandstone_slab.json deleted file mode 100644 index db411bcb4..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/white_sandstone_slab.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:white_sandstone", - "data": 0 - } - }, - "result": { - "item": "biomesoplenty:other_slab", - "count": 6, - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/white_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/white_sandstone_stairs.json deleted file mode 100644 index 26fec288e..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/white_sandstone_stairs.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - " #", - " ##", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:white_sandstone", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:white_sandstone_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/white_wool_from_cattails.json b/src/main/resources/assets/biomesoplenty/recipes/white_wool_from_cattails.json deleted file mode 100644 index de9549981..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/white_wool_from_cattails.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "forge:ore_shaped", - "pattern": [ - "###", - "###", - "###" - ], - "key": { - "#": { - "type": "forge:ore_dict", - "ore": "plantCattail" - } - }, - "result": { - "item": "minecraft:wool", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/willow_door.json b/src/main/resources/assets/biomesoplenty/recipes/willow_door.json deleted file mode 100644 index 9ad91506a..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/willow_door.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_door", - "pattern": [ - "##", - "##", - "##" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 9 - } - }, - "result": { - "item": "biomesoplenty:willow_door", - "count": 3 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/willow_fence.json b/src/main/resources/assets/biomesoplenty/recipes/willow_fence.json deleted file mode 100644 index cea5aa670..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/willow_fence.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence", - "pattern": [ - "#S#", - "#S#" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 9 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:willow_fence", - "count": 3, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/willow_fence_gate.json b/src/main/resources/assets/biomesoplenty/recipes/willow_fence_gate.json deleted file mode 100644 index 47b062d6c..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/willow_fence_gate.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_fence_gate", - "pattern": [ - "S#S", - "S#S" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 9 - }, - "S": { - "item": "minecraft:stick", - "data": 32767 - } - }, - "result": { - "item": "biomesoplenty:willow_fence_gate", - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/willow_planks.json b/src/main/resources/assets/biomesoplenty/recipes/willow_planks.json deleted file mode 100644 index 70fef9529..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/willow_planks.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "group": "planks", - "ingredients": [ - { - "item": "biomesoplenty:log_2", - "data": 5 - } - ], - "result": { - "item": "biomesoplenty:planks_0", - "count": 4, - "data": 9 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/willow_stairs.json b/src/main/resources/assets/biomesoplenty/recipes/willow_stairs.json deleted file mode 100644 index 5b0a38782..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/willow_stairs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_stairs", - "pattern": [ - "# ", - "## ", - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 9 - } - }, - "result": { - "item": "biomesoplenty:willow_stairs", - "count": 4, - "data": 0 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/willow_wooden_slab.json b/src/main/resources/assets/biomesoplenty/recipes/willow_wooden_slab.json deleted file mode 100644 index 24c5f6b4d..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/willow_wooden_slab.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "group": "wooden_slab", - "pattern": [ - "###" - ], - "key": { - "#": { - "item": "biomesoplenty:planks_0", - "data": 9 - } - }, - "result": { - "item": "biomesoplenty:wood_slab_1", - "count": 6, - "data": 1 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/recipes/yellow_dye_from_goldenrod.json b/src/main/resources/assets/biomesoplenty/recipes/yellow_dye_from_goldenrod.json deleted file mode 100644 index ae5741f14..000000000 --- a/src/main/resources/assets/biomesoplenty/recipes/yellow_dye_from_goldenrod.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "biomesoplenty:flower_1", - "data": 1 - } - ], - "result": { - "item": "minecraft:dye", - "count": 2, - "data": 11 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/sounds.json b/src/main/resources/assets/biomesoplenty/sounds.json deleted file mode 100644 index d5012cd2c..000000000 --- a/src/main/resources/assets/biomesoplenty/sounds.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "entity.biomesoplenty.wasp.hurt": { - "sounds": [ - "biomesoplenty:entity/wasp/hurt" - ] - }, - "entity.biomesoplenty.wasp.ambient": { - "sounds": [ - "biomesoplenty:entity/wasp/ambient" - ] - }, - "records.wanderer": { - "sounds": [ - { - "name": "biomesoplenty:records/wanderer", - "stream": true - } - ] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/sounds/entity/wasp/ambient.ogg b/src/main/resources/assets/biomesoplenty/sounds/entity/wasp/ambient.ogg deleted file mode 100644 index fad5c6789..000000000 Binary files a/src/main/resources/assets/biomesoplenty/sounds/entity/wasp/ambient.ogg and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/sounds/entity/wasp/hurt.ogg b/src/main/resources/assets/biomesoplenty/sounds/entity/wasp/hurt.ogg deleted file mode 100644 index a81a7ab8b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/sounds/entity/wasp/hurt.ogg and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/sounds/records/wanderer.ogg b/src/main/resources/assets/biomesoplenty/sounds/records/wanderer.ogg deleted file mode 100644 index 34e90893b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/sounds/records/wanderer.ogg and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/algae.png b/src/main/resources/assets/biomesoplenty/textures/blocks/algae.png deleted file mode 100644 index 8bc4959e9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/algae.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/amber_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/amber_block.png deleted file mode 100644 index ae9139579..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/amber_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/amber_ore.png b/src/main/resources/assets/biomesoplenty/textures/blocks/amber_ore.png deleted file mode 100644 index e3bbca231..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/amber_ore.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/amethyst_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/amethyst_block.png deleted file mode 100644 index 53409f41e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/amethyst_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/amethyst_ore.png b/src/main/resources/assets/biomesoplenty/textures/blocks/amethyst_ore.png deleted file mode 100644 index 265d0ab2d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/amethyst_ore.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ash_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ash_block.png deleted file mode 100644 index af36ebf3b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ash_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/bamboo.png b/src/main/resources/assets/biomesoplenty/textures/blocks/bamboo.png deleted file mode 100644 index d153f14f4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/bamboo.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/bamboo_thatching.png b/src/main/resources/assets/biomesoplenty/textures/blocks/bamboo_thatching.png deleted file mode 100644 index eb6d04238..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/bamboo_thatching.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/bamboo_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/bamboo_top.png deleted file mode 100644 index 1caadb0f4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/bamboo_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/barley.png b/src/main/resources/assets/biomesoplenty/textures/blocks/barley.png deleted file mode 100644 index fee13ca3a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/barley.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/berrybush.png b/src/main/resources/assets/biomesoplenty/textures/blocks/berrybush.png deleted file mode 100644 index 0b6a8300d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/berrybush.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/berrybush_berry.png b/src/main/resources/assets/biomesoplenty/textures/blocks/berrybush_berry.png deleted file mode 100644 index e66b29d91..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/berrybush_berry.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/biome_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/biome_block.png deleted file mode 100644 index d25c1df86..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/biome_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blood_flowing.png b/src/main/resources/assets/biomesoplenty/textures/blocks/blood_flowing.png deleted file mode 100644 index 02f9b1c6e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/blood_flowing.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blood_flowing.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/blood_flowing.png.mcmeta deleted file mode 100644 index 472c7ff43..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/blood_flowing.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - - } -} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blood_still.png b/src/main/resources/assets/biomesoplenty/textures/blocks/blood_still.png deleted file mode 100644 index caf04aaed..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/blood_still.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blood_still.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/blood_still.png.mcmeta deleted file mode 100644 index 0645f48c6..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/blood_still.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 2 - } -} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_coral.png b/src/main/resources/assets/biomesoplenty/textures/blocks/blue_coral.png deleted file mode 100644 index 7f2a5795a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_coral.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_0.png b/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_0.png deleted file mode 100644 index 7e1f30a47..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_0.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_0.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_0.png.mcmeta deleted file mode 100644 index 76446714d..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_0.png.mcmeta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "animation": { - "frames": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15 - ] - } -} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_1.png b/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_1.png deleted file mode 100644 index 45cd13cab..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_1.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_1.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_1.png.mcmeta deleted file mode 100644 index 4f0718ac9..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_fire_layer_1.png.mcmeta +++ /dev/null @@ -1,3 +0,0 @@ -{ - "animation": {} -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_hydrangea.png b/src/main/resources/assets/biomesoplenty/textures/blocks/blue_hydrangea.png deleted file mode 100644 index ac32cf5c3..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_hydrangea.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_milk_cap.png b/src/main/resources/assets/biomesoplenty/textures/blocks/blue_milk_cap.png deleted file mode 100644 index 1e4a69628..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/blue_milk_cap.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/bluebells.png b/src/main/resources/assets/biomesoplenty/textures/blocks/bluebells.png deleted file mode 100644 index 66cbf117f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/bluebells.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/bramble_plant.png b/src/main/resources/assets/biomesoplenty/textures/blocks/bramble_plant.png deleted file mode 100644 index f65c4322d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/bramble_plant.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/bramble_thorns.png b/src/main/resources/assets/biomesoplenty/textures/blocks/bramble_thorns.png deleted file mode 100644 index d24ed2217..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/bramble_thorns.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/bromeliad.png b/src/main/resources/assets/biomesoplenty/textures/blocks/bromeliad.png deleted file mode 100644 index c30a63abb..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/bromeliad.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/burning_blossom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/burning_blossom.png deleted file mode 100644 index ae1cf4db9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/burning_blossom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/bush.png b/src/main/resources/assets/biomesoplenty/textures/blocks/bush.png deleted file mode 100644 index eddbfa3d3..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/bush.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/bush_branch.png b/src/main/resources/assets/biomesoplenty/textures/blocks/bush_branch.png deleted file mode 100644 index b1281ff0f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/bush_branch.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/cattail.png b/src/main/resources/assets/biomesoplenty/textures/blocks/cattail.png deleted file mode 100644 index 3b7589125..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/cattail.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/cherry_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/cherry_log.png deleted file mode 100644 index 2f65b45c7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/cherry_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/cherry_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/cherry_log_top.png deleted file mode 100644 index d60d4caa5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/cherry_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/cherry_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/cherry_planks.png deleted file mode 100644 index 3ba1312e5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/cherry_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/clover.png b/src/main/resources/assets/biomesoplenty/textures/blocks/clover.png deleted file mode 100644 index 19d839345..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/clover.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_1.png b/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_1.png deleted file mode 100644 index d07abca3f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_1.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_2.png b/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_2.png deleted file mode 100644 index f285baeec..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_2.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_3.png b/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_3.png deleted file mode 100644 index 1c0daef21..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_3.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_4.png b/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_4.png deleted file mode 100644 index 514082682..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverpatch_4.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverstem.png b/src/main/resources/assets/biomesoplenty/textures/blocks/cloverstem.png deleted file mode 100644 index 75c8ad1e0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/cloverstem.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/coarse_dirt_loamy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/coarse_dirt_loamy.png deleted file mode 100644 index 60a76d44f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/coarse_dirt_loamy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/coarse_dirt_sandy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/coarse_dirt_sandy.png deleted file mode 100644 index 674031e5a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/coarse_dirt_sandy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/coarse_dirt_silty.png b/src/main/resources/assets/biomesoplenty/textures/blocks/coarse_dirt_silty.png deleted file mode 100644 index 5d773a48d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/coarse_dirt_silty.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/crystal.png b/src/main/resources/assets/biomesoplenty/textures/blocks/crystal.png deleted file mode 100644 index 6ec662670..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/crystal.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dampgrass.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dampgrass.png deleted file mode 100644 index 6fa3e850b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/dampgrass.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log.png deleted file mode 100644 index 40d9b34cc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log_top.png deleted file mode 100644 index 6eaa85386..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/dead_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/deadgrass.png b/src/main/resources/assets/biomesoplenty/textures/blocks/deadgrass.png deleted file mode 100644 index 0cc918518..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/deadgrass.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/deadleafpile.png b/src/main/resources/assets/biomesoplenty/textures/blocks/deadleafpile.png deleted file mode 100644 index fa89b2cbe..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/deadleafpile.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/deathbloom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/deathbloom.png deleted file mode 100644 index ad41cb483..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/deathbloom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/desertgrass.png b/src/main/resources/assets/biomesoplenty/textures/blocks/desertgrass.png deleted file mode 100644 index acb0f1650..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/desertgrass.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/desertsprouts.png b/src/main/resources/assets/biomesoplenty/textures/blocks/desertsprouts.png deleted file mode 100644 index a990366b0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/desertsprouts.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/devilweed.png b/src/main/resources/assets/biomesoplenty/textures/blocks/devilweed.png deleted file mode 100644 index 719a4d242..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/devilweed.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_loamy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_loamy.png deleted file mode 100644 index afc8e2e80..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_loamy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_sandy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_sandy.png deleted file mode 100644 index 924d2c94a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_sandy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_silty.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_silty.png deleted file mode 100644 index 4be6c4b82..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/dirt_silty.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_cherry_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_cherry_lower.png deleted file mode 100644 index 329519038..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_cherry_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_cherry_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_cherry_upper.png deleted file mode 100644 index fc1f6c391..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_cherry_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_ebony_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_ebony_lower.png deleted file mode 100644 index 1a07cea90..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_ebony_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_ebony_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_ebony_upper.png deleted file mode 100644 index f43fa57cf..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_ebony_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_ethereal_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_ethereal_lower.png deleted file mode 100644 index 9cd136bd6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_ethereal_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_ethereal_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_ethereal_upper.png deleted file mode 100644 index 9fda29673..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_ethereal_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_eucalyptus_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_eucalyptus_lower.png deleted file mode 100644 index 63e1b25dd..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_eucalyptus_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_eucalyptus_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_eucalyptus_upper.png deleted file mode 100644 index c33d23b36..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_eucalyptus_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_fir_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_fir_lower.png deleted file mode 100644 index ca8b80220..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_fir_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_fir_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_fir_upper.png deleted file mode 100644 index d2cb52317..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_fir_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_hellbark_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_hellbark_lower.png deleted file mode 100644 index 4708c77ef..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_hellbark_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_hellbark_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_hellbark_upper.png deleted file mode 100644 index d4cd10b74..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_hellbark_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_jacaranda_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_jacaranda_lower.png deleted file mode 100644 index 5dbd6b597..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_jacaranda_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_jacaranda_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_jacaranda_upper.png deleted file mode 100644 index 530293472..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_jacaranda_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_magic_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_magic_lower.png deleted file mode 100644 index ccd035cdc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_magic_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_magic_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_magic_upper.png deleted file mode 100644 index 79c6ae00e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_magic_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_mahogany_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_mahogany_lower.png deleted file mode 100644 index 315b96761..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_mahogany_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_mahogany_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_mahogany_upper.png deleted file mode 100644 index 173400688..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_mahogany_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_mangrove_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_mangrove_lower.png deleted file mode 100644 index bdf1649f7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_mangrove_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_mangrove_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_mangrove_upper.png deleted file mode 100644 index f642b69b5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_mangrove_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_palm_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_palm_lower.png deleted file mode 100644 index 0cfdb1532..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_palm_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_palm_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_palm_upper.png deleted file mode 100644 index cf12cba47..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_palm_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_pine_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_pine_lower.png deleted file mode 100644 index 7466a8833..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_pine_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_pine_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_pine_upper.png deleted file mode 100644 index 869c5945f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_pine_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_redwood_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_redwood_lower.png deleted file mode 100644 index 862ccc694..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_redwood_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_redwood_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_redwood_upper.png deleted file mode 100644 index fdd9ccacb..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_redwood_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_sacred_oak_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_sacred_oak_lower.png deleted file mode 100644 index 627aa7140..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_sacred_oak_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_sacred_oak_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_sacred_oak_upper.png deleted file mode 100644 index 5274423c7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_sacred_oak_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_umbran_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_umbran_lower.png deleted file mode 100644 index 5cdfa6395..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_umbran_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_umbran_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_umbran_upper.png deleted file mode 100644 index 2c9ccc261..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_umbran_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_willow_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_willow_lower.png deleted file mode 100644 index ea5a11b19..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_willow_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/door_willow_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/door_willow_upper.png deleted file mode 100644 index 56db7d2f4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/door_willow_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dried_sand.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dried_sand.png deleted file mode 100644 index 881f4d0d1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/dried_sand.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/dunegrass.png b/src/main/resources/assets/biomesoplenty/textures/blocks/dunegrass.png deleted file mode 100644 index 5fd150289..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/dunegrass.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ebony_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ebony_log.png deleted file mode 100644 index 6f0b85b6a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ebony_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ebony_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ebony_log_top.png deleted file mode 100644 index 2c808c736..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ebony_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ebony_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ebony_planks.png deleted file mode 100644 index 3ae0a1a15..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ebony_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/empty_honeycomb_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/empty_honeycomb_block.png deleted file mode 100644 index b09cf8b92..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/empty_honeycomb_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/enderlotus.png b/src/main/resources/assets/biomesoplenty/textures/blocks/enderlotus.png deleted file mode 100644 index 32643090a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/enderlotus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ethereal_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ethereal_log.png deleted file mode 100644 index 4bd86bd9e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ethereal_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ethereal_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ethereal_log_top.png deleted file mode 100644 index 94d27660b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ethereal_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ethereal_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ethereal_planks.png deleted file mode 100644 index 92bb1f3b5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ethereal_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/eucalyptus_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/eucalyptus_log.png deleted file mode 100644 index c88eb9c14..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/eucalyptus_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/eucalyptus_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/eucalyptus_log_top.png deleted file mode 100644 index 6395e81ab..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/eucalyptus_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/eucalyptus_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/eucalyptus_planks.png deleted file mode 100644 index daaeb16c0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/eucalyptus_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/eyebulb_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/eyebulb_lower.png deleted file mode 100644 index a4f358137..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/eyebulb_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/eyebulb_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/eyebulb_upper.png deleted file mode 100644 index 6b2db08b7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/eyebulb_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_dry_loamy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_dry_loamy.png deleted file mode 100644 index f49a8ce1d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_dry_loamy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_dry_sandy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_dry_sandy.png deleted file mode 100644 index e615a784a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_dry_sandy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_dry_silty.png b/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_dry_silty.png deleted file mode 100644 index 7982ebddd..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_dry_silty.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_moist_loamy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_moist_loamy.png deleted file mode 100644 index 41258a0bc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_moist_loamy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_moist_sandy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_moist_sandy.png deleted file mode 100644 index 260311eb1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_moist_sandy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_moist_silty.png b/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_moist_silty.png deleted file mode 100644 index 53db7b0fa..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/farmland_moist_silty.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/filled_honeycomb_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/filled_honeycomb_block.png deleted file mode 100644 index fd4e6ec8e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/filled_honeycomb_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/fir_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/fir_log.png deleted file mode 100644 index c270d231e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/fir_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/fir_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/fir_log_top.png deleted file mode 100644 index 49ea590c0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/fir_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/fir_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/fir_planks.png deleted file mode 100644 index 4427c193b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/fir_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/flat_mushroom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/flat_mushroom.png deleted file mode 100644 index 3828e4f05..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/flat_mushroom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/flax_flowers.png b/src/main/resources/assets/biomesoplenty/textures/blocks/flax_flowers.png deleted file mode 100644 index f13699032..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/flax_flowers.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/flax_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/flax_lower.png deleted file mode 100644 index 973b7dbda..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/flax_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/flax_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/flax_upper.png deleted file mode 100644 index 2822eee78..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/flax_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/flesh.png b/src/main/resources/assets/biomesoplenty/textures/blocks/flesh.png deleted file mode 100644 index 2a766fd1c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/flesh.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem.png b/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem.png deleted file mode 100644 index e30a40dc7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem_top.png deleted file mode 100644 index 4f54d9abd..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/giant_flower_stem_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/glowflower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/glowflower.png deleted file mode 100644 index e3abcf3df..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/glowflower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/glowing_coral.png b/src/main/resources/assets/biomesoplenty/textures/blocks/glowing_coral.png deleted file mode 100644 index 6d253b9d1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/glowing_coral.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/glowshroom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/glowshroom.png deleted file mode 100644 index e2bc2ad48..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/glowshroom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/goldenrod.png b/src/main/resources/assets/biomesoplenty/textures/blocks/goldenrod.png deleted file mode 100644 index e70aff367..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/goldenrod.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_daisy_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_daisy_side.png deleted file mode 100644 index f4889670d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_daisy_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_daisy_side_snowed.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_daisy_side_snowed.png deleted file mode 100644 index 21ecf9249..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_daisy_side_snowed.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_daisy_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_daisy_top.png deleted file mode 100644 index d914b01cc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_daisy_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_loamy_path_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_loamy_path_side.png deleted file mode 100644 index a5209d836..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_loamy_path_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_loamy_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_loamy_side.png deleted file mode 100644 index e91b3f8d6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_loamy_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_loamy_side_snowed.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_loamy_side_snowed.png deleted file mode 100644 index 2ed9923b4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_loamy_side_snowed.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_side.png deleted file mode 100644 index ff32f30e4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_side_snowed.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_side_snowed.png deleted file mode 100644 index d01e458a9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_side_snowed.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_top.png deleted file mode 100644 index 0e0a6bbf1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_origin_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_sandy_path_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_sandy_path_side.png deleted file mode 100644 index dd2d747b2..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_sandy_path_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_sandy_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_sandy_side.png deleted file mode 100644 index 6c17c8fb1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_sandy_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_sandy_side_snowed.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_sandy_side_snowed.png deleted file mode 100644 index b43de2585..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_sandy_side_snowed.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_side_overlay.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_side_overlay.png deleted file mode 100644 index fc3fa9d72..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_side_overlay.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_silty_path_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_silty_path_side.png deleted file mode 100644 index 61b33a2d1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_silty_path_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_silty_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_silty_side.png deleted file mode 100644 index 5114d319b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_silty_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_silty_side_snowed.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_silty_side_snowed.png deleted file mode 100644 index 12f4edd9d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_silty_side_snowed.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/grass_top.png deleted file mode 100644 index eaa7e458f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/grass_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hard_ice.png b/src/main/resources/assets/biomesoplenty/textures/blocks/hard_ice.png deleted file mode 100644 index 3ee1a9053..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/hard_ice.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hellbark_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/hellbark_log.png deleted file mode 100644 index d73ca1951..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/hellbark_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hellbark_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/hellbark_log_top.png deleted file mode 100644 index a462c6358..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/hellbark_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hellbark_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/hellbark_planks.png deleted file mode 100644 index f5611d712..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/hellbark_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hive_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/hive_block.png deleted file mode 100644 index 9d7549e48..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/hive_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/honey_block.png deleted file mode 100644 index d0d1a5a88..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_flowing.png b/src/main/resources/assets/biomesoplenty/textures/blocks/honey_flowing.png deleted file mode 100644 index b5865f15b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_flowing.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_flowing.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/honey_flowing.png.mcmeta deleted file mode 100644 index 8e55e43ba..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_flowing.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 3 - } -} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_still.png b/src/main/resources/assets/biomesoplenty/textures/blocks/honey_still.png deleted file mode 100644 index 6b69e8b2c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_still.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_still.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/honey_still.png.mcmeta deleted file mode 100644 index 04867655f..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/honey_still.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 2, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/honeycomb_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/honeycomb_block.png deleted file mode 100644 index 37f1e1be3..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/honeycomb_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_flowing.png b/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_flowing.png deleted file mode 100644 index c1a3e7faf..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_flowing.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_flowing.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_flowing.png.mcmeta deleted file mode 100644 index 472c7ff43..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_flowing.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - - } -} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_still.png b/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_still.png deleted file mode 100644 index cc2393a71..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_still.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_still.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_still.png.mcmeta deleted file mode 100644 index 0645f48c6..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/hot_spring_water_still.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 2 - } -} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/icy_iris.png b/src/main/resources/assets/biomesoplenty/textures/blocks/icy_iris.png deleted file mode 100644 index c3198161f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/icy_iris.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ivy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ivy.png deleted file mode 100644 index da6565ec9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ivy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log.png deleted file mode 100644 index 880e6e6f5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log_top.png deleted file mode 100644 index a1566b67b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_planks.png deleted file mode 100644 index 325d3670a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/jacaranda_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_bottom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_bottom.png deleted file mode 100644 index 6032a3e1e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_bottom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_middle.png b/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_middle.png deleted file mode 100644 index 2953a0664..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_middle.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_single.png b/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_single.png deleted file mode 100644 index e8aea98bb..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_single.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_top.png deleted file mode 100644 index c8a637af4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/kelp_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/koru.png b/src/main/resources/assets/biomesoplenty/textures/blocks/koru.png deleted file mode 100644 index 9b4fc1c4f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/koru.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/lavender.png b/src/main/resources/assets/biomesoplenty/textures/blocks/lavender.png deleted file mode 100644 index 080fce0f2..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/lavender.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leafpile.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leafpile.png deleted file mode 100644 index aaffbabc5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leafpile.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_bamboo.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_bamboo.png deleted file mode 100644 index c48fff793..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_bamboo.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_dead.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_dead.png deleted file mode 100644 index 6c862ec88..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_dead.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_ebony.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_ebony.png deleted file mode 100644 index 42bbca530..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_ebony.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_ethereal.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_ethereal.png deleted file mode 100644 index db05fef59..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_ethereal.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_eucalyptus.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_eucalyptus.png deleted file mode 100644 index e1ca70f58..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_eucalyptus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_fir.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_fir.png deleted file mode 100644 index c8bd157cc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_fir.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_flowering.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_flowering.png deleted file mode 100644 index 43c76b2f8..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_flowering.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_flowering_fast.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_flowering_fast.png deleted file mode 100644 index 8ab3c467b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_flowering_fast.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_flowering_overlay.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_flowering_overlay.png deleted file mode 100644 index fa7fd2cb0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_flowering_overlay.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_hellbark.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_hellbark.png deleted file mode 100644 index 21be2fc7b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_hellbark.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_jacaranda.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_jacaranda.png deleted file mode 100644 index 7f62f6423..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_jacaranda.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_magic.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_magic.png deleted file mode 100644 index e5c660152..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_magic.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_mahogany.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_mahogany.png deleted file mode 100644 index bfbd17111..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_mahogany.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_mangrove.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_mangrove.png deleted file mode 100644 index 23c7135f1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_mangrove.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_maple.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_maple.png deleted file mode 100644 index 27c403840..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_maple.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_orange_autumn.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_orange_autumn.png deleted file mode 100644 index 32e69a286..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_orange_autumn.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_origin.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_origin.png deleted file mode 100644 index 0d3ae6244..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_origin.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_palm.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_palm.png deleted file mode 100644 index 300bd129e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_palm.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_pine.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_pine.png deleted file mode 100644 index c1c091fd2..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_pine.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_pink_cherry.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_pink_cherry.png deleted file mode 100644 index 340b88250..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_pink_cherry.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_redwood.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_redwood.png deleted file mode 100644 index b7bf2db57..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_redwood.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_sacred_oak.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_sacred_oak.png deleted file mode 100644 index 147b797a7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_sacred_oak.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_umbran.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_umbran.png deleted file mode 100644 index 503399207..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_umbran.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_white_cherry.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_white_cherry.png deleted file mode 100644 index 25e3dfe34..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_white_cherry.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_willow.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_willow.png deleted file mode 100644 index cbaf5c785..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_willow.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_yellow_autumn.png b/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_yellow_autumn.png deleted file mode 100644 index 78ce620c9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/leaves_yellow_autumn.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_medium.png b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_medium.png deleted file mode 100644 index 52f4adfcc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_medium.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_of_the_valley.png b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_of_the_valley.png deleted file mode 100644 index 7d9d03856..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_of_the_valley.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_small.png b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_small.png deleted file mode 100644 index 0020ef745..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_small.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_tiny.png b/src/main/resources/assets/biomesoplenty/textures/blocks/lily_tiny.png deleted file mode 100644 index 7803cc866..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/lily_tiny.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/magic_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/magic_log.png deleted file mode 100644 index aceadc483..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/magic_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/magic_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/magic_log_top.png deleted file mode 100644 index 58f7f5169..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/magic_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/magic_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/magic_planks.png deleted file mode 100644 index 89ec09d41..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/magic_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log.png deleted file mode 100644 index 5bcdf759f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log_top.png deleted file mode 100644 index 703aaf852..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_planks.png deleted file mode 100644 index e56b34d73..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mahogany_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/malachite_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/malachite_block.png deleted file mode 100644 index 0aa38f33a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/malachite_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/malachite_ore.png b/src/main/resources/assets/biomesoplenty/textures/blocks/malachite_ore.png deleted file mode 100644 index 06baa0e47..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/malachite_ore.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mangrove_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mangrove_log.png deleted file mode 100644 index d0b25f655..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mangrove_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mangrove_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mangrove_log_top.png deleted file mode 100644 index 8ebc9fbfe..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mangrove_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mangrove_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mangrove_planks.png deleted file mode 100644 index cff852b76..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mangrove_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mediumgrass.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mediumgrass.png deleted file mode 100644 index 264cd4a3d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mediumgrass.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/miners_delight.png b/src/main/resources/assets/biomesoplenty/textures/blocks/miners_delight.png deleted file mode 100644 index 3280d3eb0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/miners_delight.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mud.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mud.png deleted file mode 100644 index fd2011fc6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mud.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mud_brick_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mud_brick_block.png deleted file mode 100644 index 04f70770e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mud_brick_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/mycelial_netherrack_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/mycelial_netherrack_side.png deleted file mode 100644 index 25ac7120e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/mycelial_netherrack_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/orange_coral.png b/src/main/resources/assets/biomesoplenty/textures/blocks/orange_coral.png deleted file mode 100644 index 7db5d6dbd..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/orange_coral.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/orange_cosmos.png b/src/main/resources/assets/biomesoplenty/textures/blocks/orange_cosmos.png deleted file mode 100644 index 1ceb74dbc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/orange_cosmos.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_netherrack_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_netherrack_side.png deleted file mode 100644 index 8debf60d4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_netherrack_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_netherrack_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_netherrack_top.png deleted file mode 100644 index 4d0291eb8..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_netherrack_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_stone_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_stone_side.png deleted file mode 100644 index df8d46e37..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_stone_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_stone_side_overlay.png b/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_stone_side_overlay.png deleted file mode 100644 index 3397a17c5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_stone_side_overlay.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_stone_side_snowed.png b/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_stone_side_snowed.png deleted file mode 100644 index aac994520..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/overgrown_stone_side_snowed.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/palm_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/palm_log.png deleted file mode 100644 index 50c804b2d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/palm_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/palm_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/palm_log_top.png deleted file mode 100644 index bc426ae45..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/palm_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/palm_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/palm_planks.png deleted file mode 100644 index 789b64d1f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/palm_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/peridot_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/peridot_block.png deleted file mode 100644 index 1e6caac22..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/peridot_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/peridot_ore.png b/src/main/resources/assets/biomesoplenty/textures/blocks/peridot_ore.png deleted file mode 100644 index 999253e20..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/peridot_ore.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/petal_red_big_flower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/petal_red_big_flower.png deleted file mode 100644 index 2aa1e5728..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/petal_red_big_flower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/petal_yellow_big_flower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/petal_yellow_big_flower.png deleted file mode 100644 index 2c51e0f54..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/petal_yellow_big_flower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log.png deleted file mode 100644 index fb50ee9c4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log_top.png deleted file mode 100644 index 4aa526f3a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/pine_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/pine_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/pine_planks.png deleted file mode 100644 index f00a037e9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/pine_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/pink_coral.png b/src/main/resources/assets/biomesoplenty/textures/blocks/pink_coral.png deleted file mode 100644 index fe4b03846..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/pink_coral.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/pink_daffodil.png b/src/main/resources/assets/biomesoplenty/textures/blocks/pink_daffodil.png deleted file mode 100644 index 5585b2dec..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/pink_daffodil.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/pink_hibiscus.png b/src/main/resources/assets/biomesoplenty/textures/blocks/pink_hibiscus.png deleted file mode 100644 index 50b795935..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/pink_hibiscus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/poison_flowing.png b/src/main/resources/assets/biomesoplenty/textures/blocks/poison_flowing.png deleted file mode 100644 index 2acde24b1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/poison_flowing.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/poison_flowing.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/poison_flowing.png.mcmeta deleted file mode 100644 index 8e55e43ba..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/poison_flowing.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 3 - } -} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/poison_still.png b/src/main/resources/assets/biomesoplenty/textures/blocks/poison_still.png deleted file mode 100644 index cd2be9c1f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/poison_still.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/poison_still.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/poison_still.png.mcmeta deleted file mode 100644 index 7ceb36394..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/poison_still.png.mcmeta +++ /dev/null @@ -1,45 +0,0 @@ -{ - "animation": { - "frametime": 2, - "frames": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 18, - 17, - 16, - 15, - 14, - 13, - 12, - 11, - 10, - 9, - 8, - 7, - 6, - 5, - 4, - 3, - 2, - 1 - ] - } -} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/poisonivy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/poisonivy.png deleted file mode 100644 index 03ce80acc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/poisonivy.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/portobello.png b/src/main/resources/assets/biomesoplenty/textures/blocks/portobello.png deleted file mode 100644 index 85f8800f9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/portobello.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/rafflesia.png b/src/main/resources/assets/biomesoplenty/textures/blocks/rafflesia.png deleted file mode 100644 index 8bc7506af..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/rafflesia.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/rafflesia_inside.png b/src/main/resources/assets/biomesoplenty/textures/blocks/rafflesia_inside.png deleted file mode 100644 index af1899d94..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/rafflesia_inside.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/rafflesia_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/rafflesia_side.png deleted file mode 100644 index dee9e3a34..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/rafflesia_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/redwood_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/redwood_log.png deleted file mode 100644 index 19ea81aef..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/redwood_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/redwood_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/redwood_log_top.png deleted file mode 100644 index edcce6eac..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/redwood_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/redwood_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/redwood_planks.png deleted file mode 100644 index bd129a142..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/redwood_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/reed.png b/src/main/resources/assets/biomesoplenty/textures/blocks/reed.png deleted file mode 100644 index 4ae611afc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/reed.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/reed_bottom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/reed_bottom.png deleted file mode 100644 index 0d13678e7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/reed_bottom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/rivercane.png b/src/main/resources/assets/biomesoplenty/textures/blocks/rivercane.png deleted file mode 100644 index 884a55386..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/rivercane.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/root.png b/src/main/resources/assets/biomesoplenty/textures/blocks/root.png deleted file mode 100644 index 75a240fd9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/root.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/rose.png b/src/main/resources/assets/biomesoplenty/textures/blocks/rose.png deleted file mode 100644 index 37504a80c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/rose.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ruby_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ruby_block.png deleted file mode 100644 index 5fc960986..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ruby_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/ruby_ore.png b/src/main/resources/assets/biomesoplenty/textures/blocks/ruby_ore.png deleted file mode 100644 index aa7154033..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/ruby_ore.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sacred_oak_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sacred_oak_log.png deleted file mode 100644 index c4404625a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sacred_oak_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sacred_oak_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sacred_oak_log_top.png deleted file mode 100644 index a3e85977d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sacred_oak_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sacred_oak_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sacred_oak_planks.png deleted file mode 100644 index 1c12aa468..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sacred_oak_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sand_flowing.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sand_flowing.png deleted file mode 100644 index 80375759c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sand_flowing.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sand_flowing.png.mcmeta b/src/main/resources/assets/biomesoplenty/textures/blocks/sand_flowing.png.mcmeta deleted file mode 100644 index 8e55e43ba..000000000 --- a/src/main/resources/assets/biomesoplenty/textures/blocks/sand_flowing.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation": { - "frametime": 3 - } -} diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sand_still.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sand_still.png deleted file mode 100644 index 85aba0fe6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sand_still.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_bamboo.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_bamboo.png deleted file mode 100644 index 4b305fa9e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_bamboo.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_dead.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_dead.png deleted file mode 100644 index 6483cd633..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_dead.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_ebony.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_ebony.png deleted file mode 100644 index 8944cc4a7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_ebony.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_ethereal.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_ethereal.png deleted file mode 100644 index 820a9c3ea..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_ethereal.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_eucalyptus.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_eucalyptus.png deleted file mode 100644 index 5d3dc23c6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_eucalyptus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_fir.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_fir.png deleted file mode 100644 index 6f78e32a6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_fir.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_flowering.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_flowering.png deleted file mode 100644 index e4ee88675..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_flowering.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_hellbark.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_hellbark.png deleted file mode 100644 index 9a7be53e0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_hellbark.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_jacaranda.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_jacaranda.png deleted file mode 100644 index 45ce7eed1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_jacaranda.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_magic.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_magic.png deleted file mode 100644 index ca4b56f0d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_magic.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_mahogany.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_mahogany.png deleted file mode 100644 index 874bac9c0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_mahogany.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_mangrove.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_mangrove.png deleted file mode 100644 index 52b89f735..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_mangrove.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_maple.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_maple.png deleted file mode 100644 index faa1ed1f8..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_maple.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_orange_autumn.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_orange_autumn.png deleted file mode 100644 index 9d4442139..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_orange_autumn.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_origin.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_origin.png deleted file mode 100644 index dfb238cd9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_origin.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_palm.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_palm.png deleted file mode 100644 index b0ada4163..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_palm.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_pine.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_pine.png deleted file mode 100644 index 22ec14ca4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_pine.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_pink_cherry.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_pink_cherry.png deleted file mode 100644 index 1cfe8e21a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_pink_cherry.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_redwood.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_redwood.png deleted file mode 100644 index bc0066561..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_redwood.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_sacred_oak.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_sacred_oak.png deleted file mode 100644 index 08e4c2702..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_sacred_oak.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_umbran.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_umbran.png deleted file mode 100644 index 652af2349..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_umbran.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_white_cherry.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_white_cherry.png deleted file mode 100644 index c15f4a00b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_white_cherry.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_willow.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_willow.png deleted file mode 100644 index 71162514d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_willow.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_yellow_autumn.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_yellow_autumn.png deleted file mode 100644 index 78fbf5eee..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapling_yellow_autumn.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapphire_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapphire_block.png deleted file mode 100644 index f53b4e2b8..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapphire_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sapphire_ore.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sapphire_ore.png deleted file mode 100644 index 030f03134..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sapphire_ore.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sea_oats_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sea_oats_lower.png deleted file mode 100644 index ae3666f2c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sea_oats_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sea_oats_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sea_oats_upper.png deleted file mode 100644 index 292c6fba9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sea_oats_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/shadow_shroom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/shadow_shroom.png deleted file mode 100644 index 3ac9b213c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/shadow_shroom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/shortgrass.png b/src/main/resources/assets/biomesoplenty/textures/blocks/shortgrass.png deleted file mode 100644 index 520c727f6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/shortgrass.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/shrub.png b/src/main/resources/assets/biomesoplenty/textures/blocks/shrub.png deleted file mode 100644 index 544dde02a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/shrub.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/shrub_branch.png b/src/main/resources/assets/biomesoplenty/textures/blocks/shrub_branch.png deleted file mode 100644 index 152de96c3..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/shrub_branch.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/spectral_moss_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/spectral_moss_side.png deleted file mode 100644 index bd43c13e0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/spectral_moss_side.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/spectral_moss_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/spectral_moss_top.png deleted file mode 100644 index b9b2bbd2c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/spectral_moss_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/spectralfern.png b/src/main/resources/assets/biomesoplenty/textures/blocks/spectralfern.png deleted file mode 100644 index 578ed2beb..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/spectralfern.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/sprout.png b/src/main/resources/assets/biomesoplenty/textures/blocks/sprout.png deleted file mode 100644 index b9f6359f6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/sprout.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/swampflower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/swampflower.png deleted file mode 100644 index dea98a029..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/swampflower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/tall_cattail_lower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/tall_cattail_lower.png deleted file mode 100644 index 81e63b2f6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/tall_cattail_lower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/tall_cattail_upper.png b/src/main/resources/assets/biomesoplenty/textures/blocks/tall_cattail_upper.png deleted file mode 100644 index 13f28b547..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/tall_cattail_upper.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/tanzanite_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/tanzanite_block.png deleted file mode 100644 index 15daca7a2..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/tanzanite_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/tanzanite_ore.png b/src/main/resources/assets/biomesoplenty/textures/blocks/tanzanite_ore.png deleted file mode 100644 index cbae3e1dd..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/tanzanite_ore.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium.png deleted file mode 100644 index 920d23198..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_bamboo.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_bamboo.png deleted file mode 100644 index 679579c2b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_bamboo.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_beach.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_beach.png deleted file mode 100644 index 8fa948688..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_beach.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_cactus.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_cactus.png deleted file mode 100644 index 17874b048..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_cactus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_dead.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_dead.png deleted file mode 100644 index b8b28fb34..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_dead.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_ender.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_ender.png deleted file mode 100644 index a707e7e59..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_ender.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_fern.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_fern.png deleted file mode 100644 index ce9c78d1e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_fern.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_flax.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_flax.png deleted file mode 100644 index d8738cad6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_flax.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_flower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_flower.png deleted file mode 100644 index 883e3d058..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_flower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_glowshroom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_glowshroom.png deleted file mode 100644 index 626d10509..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_glowshroom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_koru.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_koru.png deleted file mode 100644 index 296115922..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_koru.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_mushroom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_mushroom.png deleted file mode 100644 index 7304b105f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_mushroom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_mystic.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_mystic.png deleted file mode 100644 index 53d7df946..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_mystic.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_nether.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_nether.png deleted file mode 100644 index 2aa0fac0b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_nether.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_ominous.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_ominous.png deleted file mode 100644 index e7a4adb77..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_ominous.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_origin.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_origin.png deleted file mode 100644 index 4c8c154a7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_origin.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_wasteland.png b/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_wasteland.png deleted file mode 100644 index d2240a58b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/terrarium_wasteland.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/thorn.png b/src/main/resources/assets/biomesoplenty/textures/blocks/thorn.png deleted file mode 100644 index 8b7653f97..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/thorn.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/tinycactus.png b/src/main/resources/assets/biomesoplenty/textures/blocks/tinycactus.png deleted file mode 100644 index 6194f38e4..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/tinycactus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/toadstool.png b/src/main/resources/assets/biomesoplenty/textures/blocks/toadstool.png deleted file mode 100644 index d35f2d131..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/toadstool.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/topaz_block.png b/src/main/resources/assets/biomesoplenty/textures/blocks/topaz_block.png deleted file mode 100644 index 6acd38147..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/topaz_block.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/topaz_ore.png b/src/main/resources/assets/biomesoplenty/textures/blocks/topaz_ore.png deleted file mode 100644 index b2c21e6aa..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/topaz_ore.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/umbran_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/umbran_log.png deleted file mode 100644 index 54bbea70d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/umbran_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/umbran_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/umbran_log_top.png deleted file mode 100644 index 5efaf6937..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/umbran_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/umbran_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/umbran_planks.png deleted file mode 100644 index c94cce9e9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/umbran_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/violet.png b/src/main/resources/assets/biomesoplenty/textures/blocks/violet.png deleted file mode 100644 index 8f3020514..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/violet.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/waterlily.png b/src/main/resources/assets/biomesoplenty/textures/blocks/waterlily.png deleted file mode 100644 index 56392abf9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/waterlily.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/wheatgrass.png b/src/main/resources/assets/biomesoplenty/textures/blocks/wheatgrass.png deleted file mode 100644 index 809093701..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/wheatgrass.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/white_anemone.png b/src/main/resources/assets/biomesoplenty/textures/blocks/white_anemone.png deleted file mode 100644 index 838ae8fb9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/white_anemone.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sand.png b/src/main/resources/assets/biomesoplenty/textures/blocks/white_sand.png deleted file mode 100644 index 1cd14f8f7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sand.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_bottom.png b/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_bottom.png deleted file mode 100644 index aee581664..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_bottom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_carved.png b/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_carved.png deleted file mode 100644 index 1c3b40e85..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_carved.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_normal.png b/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_normal.png deleted file mode 100644 index d181ff872..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_normal.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_smooth.png b/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_smooth.png deleted file mode 100644 index d10474e10..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_smooth.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_top.png deleted file mode 100644 index cb8ff3f31..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/white_sandstone_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/wildflower.png b/src/main/resources/assets/biomesoplenty/textures/blocks/wildflower.png deleted file mode 100644 index 15b2a83df..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/wildflower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/wildrice.png b/src/main/resources/assets/biomesoplenty/textures/blocks/wildrice.png deleted file mode 100644 index 6aa38a15d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/wildrice.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/willow_log.png b/src/main/resources/assets/biomesoplenty/textures/blocks/willow_log.png deleted file mode 100644 index 9ef2ad823..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/willow_log.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/willow_log_top.png b/src/main/resources/assets/biomesoplenty/textures/blocks/willow_log_top.png deleted file mode 100644 index 6f367572b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/willow_log_top.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/willow_planks.png b/src/main/resources/assets/biomesoplenty/textures/blocks/willow_planks.png deleted file mode 100644 index b092ff595..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/willow_planks.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/willow_vine.png b/src/main/resources/assets/biomesoplenty/textures/blocks/willow_vine.png deleted file mode 100644 index 0368de711..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/willow_vine.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/wilted_lily.png b/src/main/resources/assets/biomesoplenty/textures/blocks/wilted_lily.png deleted file mode 100644 index 8ad2c5034..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/blocks/wilted_lily.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_cherry.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_cherry.png deleted file mode 100644 index 2a80e2731..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_cherry.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_ebony.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_ebony.png deleted file mode 100644 index 434a31edb..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_ebony.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_ethereal.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_ethereal.png deleted file mode 100644 index 4cbbfe198..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_ethereal.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_eucalyptus.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_eucalyptus.png deleted file mode 100644 index 41b3b534f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_eucalyptus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_fir.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_fir.png deleted file mode 100644 index 71a773a11..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_fir.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_hellbark.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_hellbark.png deleted file mode 100644 index 47ccb3e1c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_hellbark.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_jacaranda.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_jacaranda.png deleted file mode 100644 index eacc6b0d3..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_jacaranda.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_magic.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_magic.png deleted file mode 100644 index f31f6810a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_magic.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_mahogany.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_mahogany.png deleted file mode 100644 index 72e9e7b41..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_mahogany.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_mangrove.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_mangrove.png deleted file mode 100644 index 38b399d23..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_mangrove.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_palm.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_palm.png deleted file mode 100644 index 6e9ebc36b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_palm.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_pine.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_pine.png deleted file mode 100644 index c5bc71964..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_pine.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_redwood.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_redwood.png deleted file mode 100644 index f4aadf1d7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_redwood.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_sacred_oak.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_sacred_oak.png deleted file mode 100644 index b51cba21b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_sacred_oak.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_umbran.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_umbran.png deleted file mode 100644 index 95a8cbb81..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_umbran.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_willow.png b/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_willow.png deleted file mode 100644 index 86a5bcac6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/boats/boat_willow.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/flowerheads/donator.png b/src/main/resources/assets/biomesoplenty/textures/entity/flowerheads/donator.png deleted file mode 100644 index 1c39b674a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/flowerheads/donator.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/entity/wasp.png b/src/main/resources/assets/biomesoplenty/textures/entity/wasp.png deleted file mode 100644 index 795b4b66b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/entity/wasp.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/gui/advancements/backgrounds/biomesoplenty.png b/src/main/resources/assets/biomesoplenty/textures/gui/advancements/backgrounds/biomesoplenty.png deleted file mode 100644 index a9c17d1fb..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/gui/advancements/backgrounds/biomesoplenty.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/gui/logo.png b/src/main/resources/assets/biomesoplenty/textures/gui/logo.png deleted file mode 100644 index 61c226c85..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/gui/logo.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_0.png b/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_0.png deleted file mode 100644 index 9f9ed4dab..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_0.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_1.png b/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_1.png deleted file mode 100644 index b484a8468..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_1.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_2.png b/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_2.png deleted file mode 100644 index 689782842..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_2.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_3.png b/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_3.png deleted file mode 100644 index 804049830..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_3.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_4.png b/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_4.png deleted file mode 100644 index 075e4d7fc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_4.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_5.png b/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_5.png deleted file mode 100644 index bd6342849..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/gui/title/background/panorama_5.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/amber.png b/src/main/resources/assets/biomesoplenty/textures/items/amber.png deleted file mode 100644 index 10ea77c91..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/amber.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/amethyst.png b/src/main/resources/assets/biomesoplenty/textures/items/amethyst.png deleted file mode 100644 index 9a6ecbe35..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/amethyst.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/ash.png b/src/main/resources/assets/biomesoplenty/textures/items/ash.png deleted file mode 100644 index 21a68d94e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/ash.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/bamboo.png b/src/main/resources/assets/biomesoplenty/textures/items/bamboo.png deleted file mode 100644 index 7f1e8ddff..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/bamboo.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/berries.png b/src/main/resources/assets/biomesoplenty/textures/items/berries.png deleted file mode 100644 index d281b51dc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/berries.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/berrybush.png b/src/main/resources/assets/biomesoplenty/textures/items/berrybush.png deleted file mode 100644 index 9ef672bde..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/berrybush.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_essence.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_essence.png deleted file mode 100644 index 0075e1bc1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_essence.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_00.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_00.png deleted file mode 100644 index 02c69272f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_00.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_01.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_01.png deleted file mode 100644 index 222519ee6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_01.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_02.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_02.png deleted file mode 100644 index 57b943d5b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_02.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_03.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_03.png deleted file mode 100644 index df9f09b2f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_03.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_04.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_04.png deleted file mode 100644 index f5d49632e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_04.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_05.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_05.png deleted file mode 100644 index 66f689e85..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_05.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_06.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_06.png deleted file mode 100644 index 34a022e87..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_06.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_07.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_07.png deleted file mode 100644 index 4cd385cba..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_07.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_08.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_08.png deleted file mode 100644 index ee44771b5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_08.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_09.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_09.png deleted file mode 100644 index 089a83f10..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_09.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_10.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_10.png deleted file mode 100644 index a8d641cf3..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_10.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_11.png b/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_11.png deleted file mode 100644 index 2db9c0f8e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/biome_finder_11.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/black_dye.png b/src/main/resources/assets/biomesoplenty/textures/items/black_dye.png deleted file mode 100644 index 8c6a6a6eb..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/black_dye.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/blood_bucket.png b/src/main/resources/assets/biomesoplenty/textures/items/blood_bucket.png deleted file mode 100644 index d2cde3d46..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/blood_bucket.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/blue_dye.png b/src/main/resources/assets/biomesoplenty/textures/items/blue_dye.png deleted file mode 100644 index 846587b65..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/blue_dye.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_cherry.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_cherry.png deleted file mode 100644 index 605378b89..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_cherry.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_ebony.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_ebony.png deleted file mode 100644 index f15b8d323..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_ebony.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_ethereal.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_ethereal.png deleted file mode 100644 index 6efab1816..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_ethereal.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_eucalyptus.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_eucalyptus.png deleted file mode 100644 index 55404ea84..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_eucalyptus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_fir.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_fir.png deleted file mode 100644 index fc2d12e2d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_fir.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_hellbark.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_hellbark.png deleted file mode 100644 index 6b07e914e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_hellbark.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_jacaranda.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_jacaranda.png deleted file mode 100644 index 6d345277d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_jacaranda.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_magic.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_magic.png deleted file mode 100644 index 83d81d090..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_magic.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_mahogany.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_mahogany.png deleted file mode 100644 index 21c4c0583..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_mahogany.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_mangrove.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_mangrove.png deleted file mode 100644 index ce2db362b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_mangrove.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_palm.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_palm.png deleted file mode 100644 index 2f5948c9c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_palm.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_pine.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_pine.png deleted file mode 100644 index 9982f8bac..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_pine.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_redwood.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_redwood.png deleted file mode 100644 index d7d826384..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_redwood.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_sacred_oak.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_sacred_oak.png deleted file mode 100644 index 33f683bf8..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_sacred_oak.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_umbran.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_umbran.png deleted file mode 100644 index 404a328ae..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_umbran.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/boat_willow.png b/src/main/resources/assets/biomesoplenty/textures/items/boat_willow.png deleted file mode 100644 index f2b31431b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/boat_willow.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/brown_dye.png b/src/main/resources/assets/biomesoplenty/textures/items/brown_dye.png deleted file mode 100644 index fcac6bf92..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/brown_dye.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/bush.png b/src/main/resources/assets/biomesoplenty/textures/items/bush.png deleted file mode 100644 index de0f526bb..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/bush.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/cattail.png b/src/main/resources/assets/biomesoplenty/textures/items/cattail.png deleted file mode 100644 index 1f618dd90..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/cattail.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/cloverpatch.png b/src/main/resources/assets/biomesoplenty/textures/items/cloverpatch.png deleted file mode 100644 index 107c15369..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/cloverpatch.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/crystal_shard.png b/src/main/resources/assets/biomesoplenty/textures/items/crystal_shard.png deleted file mode 100644 index 5e426c885..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/crystal_shard.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_cherry.png b/src/main/resources/assets/biomesoplenty/textures/items/door_cherry.png deleted file mode 100644 index 2b5a105a2..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_cherry.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_ebony.png b/src/main/resources/assets/biomesoplenty/textures/items/door_ebony.png deleted file mode 100644 index 4c3ed5d3f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_ebony.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_ethereal.png b/src/main/resources/assets/biomesoplenty/textures/items/door_ethereal.png deleted file mode 100644 index 3572a0478..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_ethereal.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_eucalyptus.png b/src/main/resources/assets/biomesoplenty/textures/items/door_eucalyptus.png deleted file mode 100644 index 6bab0f8a6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_eucalyptus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_fir.png b/src/main/resources/assets/biomesoplenty/textures/items/door_fir.png deleted file mode 100644 index fd92f248e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_fir.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_hellbark.png b/src/main/resources/assets/biomesoplenty/textures/items/door_hellbark.png deleted file mode 100644 index 5918905cb..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_hellbark.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_jacaranda.png b/src/main/resources/assets/biomesoplenty/textures/items/door_jacaranda.png deleted file mode 100644 index 7fab327c1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_jacaranda.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_magic.png b/src/main/resources/assets/biomesoplenty/textures/items/door_magic.png deleted file mode 100644 index 902cec18f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_magic.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_mahogany.png b/src/main/resources/assets/biomesoplenty/textures/items/door_mahogany.png deleted file mode 100644 index c19a2af6c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_mahogany.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_mangrove.png b/src/main/resources/assets/biomesoplenty/textures/items/door_mangrove.png deleted file mode 100644 index 3a03203ec..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_mangrove.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_palm.png b/src/main/resources/assets/biomesoplenty/textures/items/door_palm.png deleted file mode 100644 index 2a59380b5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_palm.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_pine.png b/src/main/resources/assets/biomesoplenty/textures/items/door_pine.png deleted file mode 100644 index 843b228ec..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_pine.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_redwood.png b/src/main/resources/assets/biomesoplenty/textures/items/door_redwood.png deleted file mode 100644 index 16f713cdf..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_redwood.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_sacred_oak.png b/src/main/resources/assets/biomesoplenty/textures/items/door_sacred_oak.png deleted file mode 100644 index 557d8f1d6..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_sacred_oak.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_umbran.png b/src/main/resources/assets/biomesoplenty/textures/items/door_umbran.png deleted file mode 100644 index abbff5963..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_umbran.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/door_willow.png b/src/main/resources/assets/biomesoplenty/textures/items/door_willow.png deleted file mode 100644 index 9ed9b1755..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/door_willow.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/earth.png b/src/main/resources/assets/biomesoplenty/textures/items/earth.png deleted file mode 100644 index e47cbdde0..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/earth.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/filled_honeycomb.png b/src/main/resources/assets/biomesoplenty/textures/items/filled_honeycomb.png deleted file mode 100644 index d8aa90200..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/filled_honeycomb.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/flax.png b/src/main/resources/assets/biomesoplenty/textures/items/flax.png deleted file mode 100644 index 8b3d2410f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/flax.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/fleshchunk.png b/src/main/resources/assets/biomesoplenty/textures/items/fleshchunk.png deleted file mode 100644 index 9002d08d7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/fleshchunk.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/green_dye.png b/src/main/resources/assets/biomesoplenty/textures/items/green_dye.png deleted file mode 100644 index 0d65f687e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/green_dye.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/honey_bucket.png b/src/main/resources/assets/biomesoplenty/textures/items/honey_bucket.png deleted file mode 100644 index 079595506..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/honey_bucket.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/honeycomb.png b/src/main/resources/assets/biomesoplenty/textures/items/honeycomb.png deleted file mode 100644 index 61eb2053a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/honeycomb.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/hot_spring_water_bucket.png b/src/main/resources/assets/biomesoplenty/textures/items/hot_spring_water_bucket.png deleted file mode 100644 index c6b76d363..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/hot_spring_water_bucket.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/jar_empty.png b/src/main/resources/assets/biomesoplenty/textures/items/jar_empty.png deleted file mode 100644 index 42e1a9c14..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/jar_empty.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/jar_filled_blue_fire.png b/src/main/resources/assets/biomesoplenty/textures/items/jar_filled_blue_fire.png deleted file mode 100644 index be7f2ae5c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/jar_filled_blue_fire.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/jar_filled_honey.png b/src/main/resources/assets/biomesoplenty/textures/items/jar_filled_honey.png deleted file mode 100644 index 4e595caf9..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/jar_filled_honey.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/kelp.png b/src/main/resources/assets/biomesoplenty/textures/items/kelp.png deleted file mode 100644 index 7061fb51d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/kelp.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/leaves_flowering.png b/src/main/resources/assets/biomesoplenty/textures/items/leaves_flowering.png deleted file mode 100644 index af60ea11b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/leaves_flowering.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/lily_flower.png b/src/main/resources/assets/biomesoplenty/textures/items/lily_flower.png deleted file mode 100644 index 303e4aeff..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/lily_flower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/malachite.png b/src/main/resources/assets/biomesoplenty/textures/items/malachite.png deleted file mode 100644 index 93dfc32bd..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/malachite.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/mud_brick.png b/src/main/resources/assets/biomesoplenty/textures/items/mud_brick.png deleted file mode 100644 index 52812717e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/mud_brick.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/mudball.png b/src/main/resources/assets/biomesoplenty/textures/items/mudball.png deleted file mode 100644 index a93d2920c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/mudball.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/peach.png b/src/main/resources/assets/biomesoplenty/textures/items/peach.png deleted file mode 100644 index bc78e023b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/peach.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/pear.png b/src/main/resources/assets/biomesoplenty/textures/items/pear.png deleted file mode 100644 index 8333f50dc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/pear.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/peridot.png b/src/main/resources/assets/biomesoplenty/textures/items/peridot.png deleted file mode 100644 index ec7d282d3..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/peridot.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/persimmon.png b/src/main/resources/assets/biomesoplenty/textures/items/persimmon.png deleted file mode 100644 index bcc011e17..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/persimmon.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/poison_bucket.png b/src/main/resources/assets/biomesoplenty/textures/items/poison_bucket.png deleted file mode 100644 index 9584638c7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/poison_bucket.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/rafflesia.png b/src/main/resources/assets/biomesoplenty/textures/items/rafflesia.png deleted file mode 100644 index 77fe0cc6b..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/rafflesia.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/record_wanderer.png b/src/main/resources/assets/biomesoplenty/textures/items/record_wanderer.png deleted file mode 100644 index fefc66911..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/record_wanderer.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/reed.png b/src/main/resources/assets/biomesoplenty/textures/items/reed.png deleted file mode 100644 index 760945f29..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/reed.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/ricebowl.png b/src/main/resources/assets/biomesoplenty/textures/items/ricebowl.png deleted file mode 100644 index d093226bc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/ricebowl.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/rivercane.png b/src/main/resources/assets/biomesoplenty/textures/items/rivercane.png deleted file mode 100644 index ebc72b33e..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/rivercane.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/root.png b/src/main/resources/assets/biomesoplenty/textures/items/root.png deleted file mode 100644 index ca977ea14..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/root.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/ruby.png b/src/main/resources/assets/biomesoplenty/textures/items/ruby.png deleted file mode 100644 index 1ee90b1e8..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/ruby.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/sand_bucket.png b/src/main/resources/assets/biomesoplenty/textures/items/sand_bucket.png deleted file mode 100644 index 2123b864a..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/sand_bucket.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/sapphire.png b/src/main/resources/assets/biomesoplenty/textures/items/sapphire.png deleted file mode 100644 index 6097a2204..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/sapphire.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/shroompowder.png b/src/main/resources/assets/biomesoplenty/textures/items/shroompowder.png deleted file mode 100644 index 5842bffd5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/shroompowder.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/shrub.png b/src/main/resources/assets/biomesoplenty/textures/items/shrub.png deleted file mode 100644 index c3e8f70e1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/shrub.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/tanzanite.png b/src/main/resources/assets/biomesoplenty/textures/items/tanzanite.png deleted file mode 100644 index 094adfc31..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/tanzanite.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_bamboo.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_bamboo.png deleted file mode 100644 index 8629d6ec5..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_bamboo.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_beach.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_beach.png deleted file mode 100644 index 22f8e1011..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_beach.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_cactus.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_cactus.png deleted file mode 100644 index 51765ee9d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_cactus.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_dead.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_dead.png deleted file mode 100644 index e4201a237..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_dead.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_ender.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_ender.png deleted file mode 100644 index 1703683cc..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_ender.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_fern.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_fern.png deleted file mode 100644 index a54159278..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_fern.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_flax.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_flax.png deleted file mode 100644 index 1f8692eed..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_flax.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_flower.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_flower.png deleted file mode 100644 index be97e9888..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_flower.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_glowshroom.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_glowshroom.png deleted file mode 100644 index 372e99aab..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_glowshroom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_koru.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_koru.png deleted file mode 100644 index 06435a508..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_koru.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_mushroom.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_mushroom.png deleted file mode 100644 index 8974d86b7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_mushroom.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_mystic.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_mystic.png deleted file mode 100644 index 42cd9d0fa..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_mystic.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_nether.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_nether.png deleted file mode 100644 index 9413d8b59..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_nether.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_ominous.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_ominous.png deleted file mode 100644 index 1419dd0c3..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_ominous.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_origin.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_origin.png deleted file mode 100644 index de3350cad..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_origin.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_wasteland.png b/src/main/resources/assets/biomesoplenty/textures/items/terrarium_wasteland.png deleted file mode 100644 index f08e01093..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrarium_wasteland.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/terrestrial_artifact.png b/src/main/resources/assets/biomesoplenty/textures/items/terrestrial_artifact.png deleted file mode 100644 index 683516c0f..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/terrestrial_artifact.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/topaz.png b/src/main/resources/assets/biomesoplenty/textures/items/topaz.png deleted file mode 100644 index 8d45f20f2..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/topaz.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/white_dye.png b/src/main/resources/assets/biomesoplenty/textures/items/white_dye.png deleted file mode 100644 index 18c54bbcd..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/white_dye.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/items/wildrice.png b/src/main/resources/assets/biomesoplenty/textures/items/wildrice.png deleted file mode 100644 index 58d534edd..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/items/wildrice.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/particles/dev_trail.png b/src/main/resources/assets/biomesoplenty/textures/particles/dev_trail.png deleted file mode 100644 index e639008e1..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/particles/dev_trail.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/particles/donator_trail.png b/src/main/resources/assets/biomesoplenty/textures/particles/donator_trail.png deleted file mode 100644 index 8e70ad39c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/particles/donator_trail.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/particles/helper_trail.png b/src/main/resources/assets/biomesoplenty/textures/particles/helper_trail.png deleted file mode 100644 index 7de57f34c..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/particles/helper_trail.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/particles/particles.png b/src/main/resources/assets/biomesoplenty/textures/particles/particles.png deleted file mode 100644 index 89df7922d..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/particles/particles.png and /dev/null differ diff --git a/src/main/resources/assets/biomesoplenty/textures/potions/bop_potion_fx.png b/src/main/resources/assets/biomesoplenty/textures/potions/bop_potion_fx.png deleted file mode 100644 index 302cdc9f7..000000000 Binary files a/src/main/resources/assets/biomesoplenty/textures/potions/bop_potion_fx.png and /dev/null differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info deleted file mode 100755 index ed26699f0..000000000 --- a/src/main/resources/mcmod.info +++ /dev/null @@ -1,11 +0,0 @@ -[{ - "modid": "biomesoplenty", - "name": "Biomes O' Plenty", - "description": "Adds over 50 new biomes, blocks, and more!", - "version": "${mod_version}", - "mcversion": "${minecraft_version}", - "url": "http://mods.curse.com/mc-mods/minecraft/220318-biomes-o-plenty", - "authorList": ["Adubbz", "Amnet", "Cheeserolls", "Forstride", "ted80"], - "credits": "Tim Rurkowski, gamax92, GridMonkey, and many more", - "logoFile": "assets/biomesoplenty/textures/gui/logo.png" -}] diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index 92ebfd360..bf81b4fec 100755 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { - "pack_format": 2, - "description": "Resources used for Biomes O' Plenty" + "description": "Resources used for Biomes O' Plenty", + "pack_format": 4 } } diff --git a/src/main/resources/version.properties b/src/main/resources/version.properties deleted file mode 100755 index c1270b645..000000000 --- a/src/main/resources/version.properties +++ /dev/null @@ -1,2 +0,0 @@ -${modid}.version=${mod_version} -${modid}.build_number=${build_number} \ No newline at end of file