From 9279cc7547ada4245668ed78800f23e07d30f0ef Mon Sep 17 00:00:00 2001 From: Forstride Date: Mon, 5 Oct 2020 21:01:09 -0400 Subject: [PATCH] - Added Lush Desert biome - Added Orange Sand/Sandstone (And all matching blocks for it) - Changed the Brushland into a new biome called the Dryland - Renamed the Origin Hills to Origin Valley - Renamed the Rainbow Valley to Rainbow Hills - Removed Xeric Shrubland sub-biome - Removed Oasis sub-biome - Improved various textures --- .github/ISSUE_TEMPLATE/1-standalone-bug.md | 4 +- .github/ISSUE_TEMPLATE/2-standalone-crash.md | 4 +- .github/ISSUE_TEMPLATE/3-feature-request.md | 4 +- .../biomesoplenty/api/biome/BOPBiomes.java | 9 +- .../biomesoplenty/api/block/BOPBlocks.java | 12 +++ .../common/biome/overworld/BogBiome.java | 2 +- .../biome/overworld/ColdDesertBiome.java | 2 +- .../overworld/ConiferousForestBiome.java | 2 +- ...cShrublandBiome.java => DrylandBiome.java} | 38 ++++--- .../biome/overworld/FirClearingBiome.java | 2 +- .../biome/overworld/FloodplainBiome.java | 2 +- .../biome/overworld/HighlandMoorBiome.java | 2 +- ...ushlandBiome.java => LushDesertBiome.java} | 37 +++---- .../common/biome/overworld/MangroveBiome.java | 2 +- .../common/biome/overworld/MarshBiome.java | 2 +- .../common/biome/overworld/MireBiome.java | 2 +- .../common/biome/overworld/MuskegBiome.java | 2 +- .../biome/overworld/MysticGroveBiome.java | 2 +- .../common/biome/overworld/OasisBiome.java | 82 -------------- .../biome/overworld/OminousWoodsBiome.java | 2 +- ...HillsBiome.java => OriginValleyBiome.java} | 8 +- .../common/biome/overworld/OutbackBiome.java | 4 +- ...alleyBiome.java => RainbowHillsBiome.java} | 8 +- .../biome/overworld/RedwoodForestBiome.java | 2 +- .../overworld/RedwoodForestEdgeBiome.java | 2 +- .../biome/overworld/ScrublandBiome.java | 9 +- .../overworld/SnowyConiferousForestBiome.java | 2 +- .../overworld/SnowyFirClearingBiome.java | 2 +- .../overworld/TemperateRainforestBiome.java | 2 +- .../TemperateRainforestHillsBiome.java | 2 +- .../common/biome/overworld/VolcanoBiome.java | 2 +- .../biome/overworld/WastelandBiome.java | 2 +- .../common/biome/overworld/WetlandBiome.java | 2 +- .../common/block/FlowerBlockBOP.java | 2 +- .../common/block/FoliageBlockBOP.java | 4 +- .../common/block/SaplingBlockBOP.java | 2 +- .../gen/feature/BOPConfiguredFeatures.java | 27 +++-- .../common/world/gen/feature/BOPFeatures.java | 12 +-- .../world/gen/feature/BoneSpineFeature.java | 5 +- ...e.java => RainbowHillsFlowersFeature.java} | 2 +- .../feature/XericShrublandFlowersFeature.java | 31 ------ .../surfacebuilders/BOPSurfaceBuilders.java | 10 +- .../BrushlandSurfaceBuilder.java | 38 ------- .../ChaparralSurfaceBuilder.java | 2 +- .../ColdDesertSurfaceBuilder.java | 2 +- .../FleshSurfaceBuilder.java | 2 +- .../LushDesertSurfaceBuilder.java | 32 ++++++ .../MangroveSurfaceBuilder.java | 2 +- .../MarshSurfaceBuilder.java | 2 +- .../MudSurfaceBuilder.java | 2 +- .../OrangeSandstoneSurfaceBuilder.java | 100 ++++++++++++++++++ ...r.java => OriginValleySurfaceBuilder.java} | 4 +- .../java/biomesoplenty/init/ModBiomes.java | 36 +++---- .../java/biomesoplenty/init/ModBlocks.java | 12 +++ .../chiseled_orange_sandstone.json | 5 + .../blockstates/cut_orange_sandstone.json | 5 + .../cut_orange_sandstone_slab.json | 7 ++ .../blockstates/orange_sand.json | 10 ++ .../blockstates/orange_sandstone.json | 5 + .../blockstates/orange_sandstone_slab.json | 7 ++ .../blockstates/orange_sandstone_stairs.json | 44 ++++++++ .../blockstates/orange_sandstone_wall.json | 90 ++++++++++++++++ .../blockstates/origin_grass_block.json | 20 +++- .../blockstates/smooth_orange_sandstone.json | 5 + .../smooth_orange_sandstone_slab.json | 7 ++ .../smooth_orange_sandstone_stairs.json | 44 ++++++++ .../biomesoplenty/blockstates/umbran_log.json | 15 ++- .../blockstates/umbran_wood.json | 15 ++- .../assets/biomesoplenty/lang/en_us.json | 20 +++- .../block/chiseled_orange_sandstone.json | 7 ++ .../models/block/cut_orange_sandstone.json | 7 ++ .../block/cut_orange_sandstone_slab.json | 8 ++ .../block/cut_orange_sandstone_slab_top.json | 8 ++ .../models/block/orange_sand.json | 6 ++ .../models/block/orange_sandstone.json | 8 ++ .../models/block/orange_sandstone_slab.json | 8 ++ .../block/orange_sandstone_slab_top.json | 8 ++ .../models/block/orange_sandstone_stairs.json | 8 ++ .../block/orange_sandstone_stairs_inner.json | 8 ++ .../block/orange_sandstone_stairs_outer.json | 8 ++ .../orange_sandstone_wall_inventory.json | 6 ++ .../block/orange_sandstone_wall_post.json | 6 ++ .../block/orange_sandstone_wall_side.json | 6 ++ .../orange_sandstone_wall_side_tall.json | 6 ++ .../models/block/origin_grass_block_snow.json | 2 +- .../models/block/smooth_orange_sandstone.json | 6 ++ .../block/smooth_orange_sandstone_slab.json | 8 ++ .../smooth_orange_sandstone_slab_top.json | 8 ++ .../block/smooth_orange_sandstone_stairs.json | 8 ++ .../smooth_orange_sandstone_stairs_inner.json | 8 ++ .../smooth_orange_sandstone_stairs_outer.json | 8 ++ .../models/block/umbran_log_holes.json | 7 ++ .../models/block/umbran_wood_holes.json | 7 ++ .../item/chiseled_orange_sandstone.json | 3 + .../models/item/cut_orange_sandstone.json | 3 + .../item/cut_orange_sandstone_slab.json | 3 + .../models/item/orange_sand.json | 3 + .../models/item/orange_sandstone.json | 3 + .../models/item/orange_sandstone_slab.json | 3 + .../models/item/orange_sandstone_stairs.json | 3 + .../models/item/orange_sandstone_wall.json | 3 + .../models/item/smooth_orange_sandstone.json | 3 + .../item/smooth_orange_sandstone_slab.json | 3 + .../item/smooth_orange_sandstone_stairs.json | 3 + .../textures/block/cattail_bottom.png | Bin 362 -> 365 bytes .../textures/block/cattail_top.png | Bin 381 -> 306 bytes .../block/chiseled_orange_sandstone.png | Bin 0 -> 478 bytes .../textures/block/cut_orange_sandstone.png | Bin 0 -> 414 bytes .../textures/block/dune_grass.png | Bin 582 -> 532 bytes .../textures/block/orange_sand.png | Bin 0 -> 435 bytes .../textures/block/orange_sandstone.png | Bin 0 -> 517 bytes .../block/orange_sandstone_bottom.png | Bin 0 -> 518 bytes .../textures/block/orange_sandstone_top.png | Bin 0 -> 419 bytes .../block/origin_grass_block_side.png | Bin 645 -> 652 bytes .../block/origin_grass_block_snow.png | Bin 294 -> 0 bytes .../textures/block/origin_grass_block_top.png | Bin 727 -> 805 bytes .../textures/block/origin_leaves.png | Bin 768 -> 469 bytes .../textures/block/origin_sapling.png | Bin 403 -> 484 bytes .../textures/block/redwood_log.png | Bin 406 -> 440 bytes .../textures/block/redwood_log_top.png | Bin 462 -> 447 bytes .../textures/block/redwood_sapling.png | Bin 451 -> 461 bytes .../biomesoplenty/textures/block/rose.png | Bin 249 -> 259 bytes .../textures/block/umbran_log.png | Bin 343 -> 437 bytes .../textures/block/umbran_log_holes.png | Bin 0 -> 503 bytes .../biomesoplenty/textures/item/cattail.png | Bin 424 -> 403 bytes .../biomesoplenty/all_biomes.json | 38 +++---- .../advancements/biomesoplenty/root.json | 49 ++++----- .../chiseled_orange_sandstone.json | 53 ++++++++++ ...ne_from_orange_sandstone_stonecutting.json | 32 ++++++ ...ne_from_orange_sandstone_stonecutting.json | 32 ++++++ .../cut_orange_sandstone_slab.json | 32 ++++++ ...rom_cut_orange_sandstone_stonecutting.json | 32 ++++++ ...ab_from_orange_sandstone_stonecutting.json | 32 ++++++ .../building_blocks/orange_sandstone.json | 31 ++++++ .../orange_sandstone_slab.json | 31 ++++++ ...ab_from_orange_sandstone_stonecutting.json | 32 ++++++ .../orange_sandstone_stairs.json | 31 ++++++ ...rs_from_orange_sandstone_stonecutting.json | 32 ++++++ .../smooth_orange_sandstone.json | 31 ++++++ .../smooth_orange_sandstone_slab.json | 32 ++++++ ..._smooth_orange_sandstone_stonecutting.json | 32 ++++++ .../smooth_orange_sandstone_stairs.json | 32 ++++++ ..._smooth_orange_sandstone_stonecutting.json | 32 ++++++ .../decorations/orange_sandstone_wall.json | 32 ++++++ ...ll_from_orange_sandstone_stonecutting.json | 32 ++++++ .../blocks/chiseled_orange_sandstone.json | 19 ++++ .../blocks/cut_orange_sandstone.json | 19 ++++ .../blocks/cut_orange_sandstone_slab.json | 32 ++++++ .../loot_tables/blocks/orange_sand.json | 19 ++++ .../loot_tables/blocks/orange_sandstone.json | 19 ++++ .../blocks/orange_sandstone_slab.json | 32 ++++++ .../blocks/orange_sandstone_stairs.json | 19 ++++ .../blocks/orange_sandstone_wall.json | 19 ++++ .../blocks/smooth_orange_sandstone.json | 19 ++++ .../blocks/smooth_orange_sandstone_slab.json | 32 ++++++ .../smooth_orange_sandstone_stairs.json | 19 ++++ .../recipes/chiseled_orange_sandstone.json | 15 +++ ...ne_from_orange_sandstone_stonecutting.json | 8 ++ .../recipes/cut_orange_sandstone.json | 16 +++ ...ne_from_orange_sandstone_stonecutting.json | 8 ++ .../recipes/cut_orange_sandstone_slab.json | 15 +++ ...rom_cut_orange_sandstone_stonecutting.json | 8 ++ ...ab_from_orange_sandstone_stonecutting.json | 8 ++ .../recipes/orange_sandstone.json | 15 +++ ...ge_from_orange_sandstone_stonecutting.json | 8 ++ .../recipes/orange_sandstone_slab.json | 23 ++++ .../recipes/orange_sandstone_stairs.json | 25 +++++ ...rs_from_orange_sandstone_stonecutting.json | 8 ++ .../recipes/orange_sandstone_wall.json | 16 +++ ...ll_from_orange_sandstone_stonecutting.json | 8 ++ .../recipes/smooth_orange_sandstone.json | 9 ++ .../recipes/smooth_orange_sandstone_slab.json | 15 +++ ..._smooth_orange_sandstone_stonecutting.json | 8 ++ .../smooth_orange_sandstone_stairs.json | 17 +++ ..._smooth_orange_sandstone_stonecutting.json | 8 ++ .../data/forge/tags/blocks/sand.json | 1 + .../data/forge/tags/blocks/sandstone.json | 4 + .../resources/data/forge/tags/items/sand.json | 1 + .../data/forge/tags/items/sandstone.json | 4 + .../tags/blocks/enderman_holdable.json | 1 + .../data/minecraft/tags/blocks/sand.json | 1 + .../data/minecraft/tags/blocks/slabs.json | 3 + .../data/minecraft/tags/blocks/stairs.json | 2 + .../data/minecraft/tags/blocks/walls.json | 5 +- .../data/minecraft/tags/items/sand.json | 1 + .../data/minecraft/tags/items/slabs.json | 3 + .../data/minecraft/tags/items/stairs.json | 2 + .../data/minecraft/tags/items/walls.json | 5 +- 188 files changed, 1929 insertions(+), 362 deletions(-) rename src/main/java/biomesoplenty/common/biome/overworld/{XericShrublandBiome.java => DrylandBiome.java} (77%) rename src/main/java/biomesoplenty/common/biome/overworld/{BrushlandBiome.java => LushDesertBiome.java} (79%) delete mode 100644 src/main/java/biomesoplenty/common/biome/overworld/OasisBiome.java rename src/main/java/biomesoplenty/common/biome/overworld/{OriginHillsBiome.java => OriginValleyBiome.java} (95%) rename src/main/java/biomesoplenty/common/biome/overworld/{RainbowValleyBiome.java => RainbowHillsBiome.java} (96%) rename src/main/java/biomesoplenty/common/world/gen/feature/{RainbowValleyFlowersFeature.java => RainbowHillsFlowersFeature.java} (95%) delete mode 100644 src/main/java/biomesoplenty/common/world/gen/feature/XericShrublandFlowersFeature.java delete mode 100644 src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BrushlandSurfaceBuilder.java rename src/main/java/biomesoplenty/common/world/gen/{feature => surfacebuilders}/ChaparralSurfaceBuilder.java (96%) rename src/main/java/biomesoplenty/common/world/gen/{feature => surfacebuilders}/ColdDesertSurfaceBuilder.java (96%) rename src/main/java/biomesoplenty/common/world/gen/{feature => surfacebuilders}/FleshSurfaceBuilder.java (95%) create mode 100644 src/main/java/biomesoplenty/common/world/gen/surfacebuilders/LushDesertSurfaceBuilder.java rename src/main/java/biomesoplenty/common/world/gen/{feature => surfacebuilders}/MangroveSurfaceBuilder.java (97%) rename src/main/java/biomesoplenty/common/world/gen/{feature => surfacebuilders}/MarshSurfaceBuilder.java (97%) rename src/main/java/biomesoplenty/common/world/gen/{feature => surfacebuilders}/MudSurfaceBuilder.java (96%) create mode 100644 src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OrangeSandstoneSurfaceBuilder.java rename src/main/java/biomesoplenty/common/world/gen/surfacebuilders/{OriginHillsSurfaceBuilder.java => OriginValleySurfaceBuilder.java} (96%) create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/chiseled_orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone_slab.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/orange_sand.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_slab.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_stairs.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_wall.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_slab.json create mode 100644 src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_stairs.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/chiseled_orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab_top.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sand.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab_top.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_inner.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_outer.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_inventory.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_post.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side_tall.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab_top.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_inner.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_outer.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/umbran_log_holes.json create mode 100644 src/main/resources/assets/biomesoplenty/models/block/umbran_wood_holes.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/chiseled_orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone_slab.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/orange_sand.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_slab.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_stairs.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_wall.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_slab.json create mode 100644 src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_stairs.json create mode 100644 src/main/resources/assets/biomesoplenty/textures/block/chiseled_orange_sandstone.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/block/cut_orange_sandstone.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/block/orange_sand.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_bottom.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_top.png delete mode 100644 src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_snow.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/block/umbran_log_holes.png create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_slab_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/building_blocks/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall.json create mode 100644 src/main/resources/data/biomesoplenty/advancements/recipes/decorations/orange_sandstone_wall_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/chiseled_orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/cut_orange_sandstone_slab.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sand.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_slab.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_stairs.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/orange_sandstone_wall.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_slab.json create mode 100644 src/main/resources/data/biomesoplenty/loot_tables/blocks/smooth_orange_sandstone_stairs.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/chiseled_orange_sandstone_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_cut_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/cut_orange_sandstone_slab_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/orange_sandstone_orange_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/orange_sandstone_slab.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/orange_sandstone_stairs_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/orange_sandstone_wall_from_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_slab_from_smooth_orange_sandstone_stonecutting.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs.json create mode 100644 src/main/resources/data/biomesoplenty/recipes/smooth_orange_sandstone_stairs_from_smooth_orange_sandstone_stonecutting.json diff --git a/.github/ISSUE_TEMPLATE/1-standalone-bug.md b/.github/ISSUE_TEMPLATE/1-standalone-bug.md index 9c218810f..6b80eec4c 100644 --- a/.github/ISSUE_TEMPLATE/1-standalone-bug.md +++ b/.github/ISSUE_TEMPLATE/1-standalone-bug.md @@ -1,6 +1,6 @@ --- -name: 1.16.1 Standalone Bug -about: For bugs that occur with Biomes O' Plenty for 1.16.1. We do not support older versions! +name: 1.16.3 Standalone Bug +about: For bugs that occur with Biomes O' Plenty for 1.16.3. We do not support older versions! title: '' labels: bug-minor assignees: '' diff --git a/.github/ISSUE_TEMPLATE/2-standalone-crash.md b/.github/ISSUE_TEMPLATE/2-standalone-crash.md index 293b0782d..399741986 100644 --- a/.github/ISSUE_TEMPLATE/2-standalone-crash.md +++ b/.github/ISSUE_TEMPLATE/2-standalone-crash.md @@ -1,6 +1,6 @@ --- -name: 1.16.1 Standalone Crash -about: For crashes that occur with Biomes O' Plenty for 1.16.1. We do not support older versions! +name: 1.16.3 Standalone Crash +about: For crashes that occur with Biomes O' Plenty for 1.16.3. We do not support older versions! title: '' labels: crash assignees: '' diff --git a/.github/ISSUE_TEMPLATE/3-feature-request.md b/.github/ISSUE_TEMPLATE/3-feature-request.md index ea69b7910..b5a2f54a5 100644 --- a/.github/ISSUE_TEMPLATE/3-feature-request.md +++ b/.github/ISSUE_TEMPLATE/3-feature-request.md @@ -1,6 +1,6 @@ --- -name: 1.16.1 Feature Request -about: Feature requests for Biomes O' Plenty for 1.16.1. We do not support older versions! +name: 1.16.3 Feature Request +about: Feature requests for Biomes O' Plenty for 1.16.3. We do not support older versions! title: '' labels: feature assignees: '' diff --git a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java index 3d00ab64a..4e0809bce 100644 --- a/src/main/java/biomesoplenty/api/biome/BOPBiomes.java +++ b/src/main/java/biomesoplenty/api/biome/BOPBiomes.java @@ -22,12 +22,12 @@ public class BOPBiomes public static RegistryKey bayou = register("bayou"); public static RegistryKey bog = register("bog"); public static RegistryKey boreal_forest = register("boreal_forest"); - public static RegistryKey brushland = register("brushland"); public static RegistryKey chaparral = register("chaparral"); public static RegistryKey cherry_blossom_grove = register("cherry_blossom_grove"); public static RegistryKey cold_desert = register("cold_desert"); public static RegistryKey coniferous_forest = register("coniferous_forest"); public static RegistryKey dead_forest = register("dead_forest"); + public static RegistryKey dryland = register("dryland"); public static RegistryKey fir_clearing = register("fir_clearing"); public static RegistryKey floodplain = register("floodplain"); public static RegistryKey flower_meadow = register("flower_meadow"); @@ -39,6 +39,7 @@ public class BOPBiomes public static RegistryKey highland_moor = register("highland_moor"); public static RegistryKey jade_cliffs = register("jade_cliffs"); public static RegistryKey lavender_field = register("lavender_field"); + public static RegistryKey lush_desert = register("lush_desert"); public static RegistryKey lush_grassland = register("lush_grassland"); public static RegistryKey lush_swamp = register("lush_swamp"); public static RegistryKey mangrove = register("mangrove"); @@ -48,17 +49,16 @@ public class BOPBiomes public static RegistryKey mire = register("mire"); public static RegistryKey muskeg = register("muskeg"); public static RegistryKey mystic_grove = register("mystic_grove"); - public static RegistryKey oasis = register("oasis"); public static RegistryKey ominous_woods = register("ominous_woods"); public static RegistryKey orchard = register("orchard"); - public static RegistryKey origin_hills = register("origin_hills"); + public static RegistryKey origin_valley = register("origin_valley"); public static RegistryKey outback = register("outback"); public static RegistryKey overgrown_cliffs = register("overgrown_cliffs"); public static RegistryKey pasture = register("pasture"); public static RegistryKey poppy_field = register("poppy_field"); public static RegistryKey prairie = register("prairie"); public static RegistryKey pumpkin_patch = register("pumpkin_patch"); - public static RegistryKey rainbow_valley = register("rainbow_valley"); + public static RegistryKey rainbow_hills = register("rainbow_hills"); public static RegistryKey rainforest = register("rainforest"); public static RegistryKey redwood_forest = register("redwood_forest"); public static RegistryKey redwood_forest_edge = register("redwood_forest_edge"); @@ -82,7 +82,6 @@ public class BOPBiomes public static RegistryKey wasteland = register("wasteland"); public static RegistryKey wetland = register("wetland"); public static RegistryKey woodland = register("woodland"); - public static RegistryKey xeric_shrubland = register("xeric_shrubland"); public static RegistryKey crystalline_chasm = register("crystalline_chasm"); public static RegistryKey undergrowth = register("undergrowth"); diff --git a/src/main/java/biomesoplenty/api/block/BOPBlocks.java b/src/main/java/biomesoplenty/api/block/BOPBlocks.java index e92453402..527ea9943 100644 --- a/src/main/java/biomesoplenty/api/block/BOPBlocks.java +++ b/src/main/java/biomesoplenty/api/block/BOPBlocks.java @@ -23,6 +23,18 @@ public class BOPBlocks public static Block white_sandstone_stairs; public static Block white_sandstone_wall; + public static Block orange_sand; + public static Block orange_sandstone; + public static Block cut_orange_sandstone; + public static Block cut_orange_sandstone_slab; + public static Block chiseled_orange_sandstone; + public static Block smooth_orange_sandstone; + public static Block smooth_orange_sandstone_slab; + public static Block smooth_orange_sandstone_stairs; + public static Block orange_sandstone_slab; + public static Block orange_sandstone_stairs; + public static Block orange_sandstone_wall; + public static Block black_sand; public static Block black_sandstone; public static Block cut_black_sandstone; diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BogBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/BogBiome.java index 9248d2575..b360c16a6 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/BogBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/BogBiome.java @@ -47,7 +47,7 @@ public class BogBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, BOPConfiguredFeatures.WATER_LAKE_UNCOMMON); + builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.WATER_LAKE_UNCOMMON); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/ColdDesertBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/ColdDesertBiome.java index 9f04b5b0d..bf9452b62 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/ColdDesertBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/ColdDesertBiome.java @@ -52,7 +52,7 @@ public class ColdDesertBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_LAVA); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_LAVA); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java index 026409556..8b7bc63bb 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/ConiferousForestBiome.java @@ -52,7 +52,7 @@ public class ConiferousForestBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/XericShrublandBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/DrylandBiome.java similarity index 77% rename from src/main/java/biomesoplenty/common/biome/overworld/XericShrublandBiome.java rename to src/main/java/biomesoplenty/common/biome/overworld/DrylandBiome.java index c52c86584..1abfed5f9 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/XericShrublandBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/DrylandBiome.java @@ -7,45 +7,52 @@ ******************************************************************************/ package biomesoplenty.common.biome.overworld; +import biomesoplenty.api.enums.BOPClimates; import biomesoplenty.common.biome.BiomeTemplate; import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; +import biomesoplenty.common.world.gen.surfacebuilders.BOPSurfaceBuilders; import net.minecraft.entity.EntityClassification; import net.minecraft.entity.EntityType; import net.minecraft.world.biome.*; import net.minecraft.world.gen.GenerationStage; -import net.minecraft.world.gen.feature.Features; +import net.minecraft.world.gen.feature.*; import net.minecraft.world.gen.feature.structure.StructureFeatures; import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; -public class XericShrublandBiome extends BiomeTemplate +public class DrylandBiome extends BiomeTemplate { - public XericShrublandBiome() {} + public DrylandBiome() + { + this.addWeight(BOPClimates.SAVANNA, 1); + this.setRiverBiome(null); + this.setBeachBiome(null); + } @Override protected void configureBiome(Biome.Builder builder) { - builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.SAVANNA).depth(0.0F).scale(-0.05F).temperature(1.75F).downfall(0.1F); + builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.SAVANNA).depth(0.1F).scale(0.1F).temperature(1.5F).downfall(0.1F); - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(1.75F)).grassColorOverride(0xE5DFA9).foliageColorOverride(0xDAE0B3).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(0x9E9DFF).grassColorOverride(0xDBBA9F).foliageColorOverride(0xD6C7A8).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } @Override protected void configureGeneration(BiomeGenerationSettings.Builder builder) { - builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_FULL_SAND)); + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_GRASS)); // Structures builder.addStructureStart(StructureFeatures.VILLAGE_DESERT); builder.addStructureStart(StructureFeatures.PILLAGER_OUTPOST); - builder.addStructureStart(StructureFeatures.DESERT_PYRAMID); DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); - builder.addStructureStart(StructureFeatures.RUINED_PORTAL_DESERT); + builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD); + builder.addStructureStart(StructureFeatures.NETHER_FOSSIL); // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_LAVA); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_LAVA); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); @@ -55,19 +62,17 @@ public class XericShrublandBiome extends BiomeTemplate //////////////////////////////////////////////////////////// // Vegetation - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.XERIC_SHRUBLAND_TREES); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.XERIC_SHRUBLAND_FLOWERS); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DRYLAND_TREES); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_2); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_10); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DUNE_GRASS_100); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_DEAD_BUSH_2); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BUSH_10); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_5); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_6); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_DEAD_BUSH); //////////////////////////////////////////////////////////// // Other Features DefaultBiomeFeatures.addDefaultSprings(builder); - DefaultBiomeFeatures.addDesertExtraDecoration(builder); DefaultBiomeFeatures.addSurfaceFreezing(builder); } @@ -85,6 +90,5 @@ public class XericShrublandBiome extends BiomeTemplate builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4)); builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4)); builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 5, 1, 1)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.HUSK, 80, 4, 4)); } } diff --git a/src/main/java/biomesoplenty/common/biome/overworld/FirClearingBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/FirClearingBiome.java index 333276e0f..913956107 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/FirClearingBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/FirClearingBiome.java @@ -46,7 +46,7 @@ public class FirClearingBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/FloodplainBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/FloodplainBiome.java index d5ae95b28..0a1b7c343 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/FloodplainBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/FloodplainBiome.java @@ -48,7 +48,7 @@ public class FloodplainBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, BOPConfiguredFeatures.WATER_LAKE_COMMON); + builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.WATER_LAKE_COMMON); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/HighlandMoorBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/HighlandMoorBiome.java index aff1936dc..558f48cd9 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/HighlandMoorBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/HighlandMoorBiome.java @@ -45,7 +45,7 @@ public class HighlandMoorBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, BOPConfiguredFeatures.WATER_LAKE_COMMON); + builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.WATER_LAKE_COMMON); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/BrushlandBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/LushDesertBiome.java similarity index 79% rename from src/main/java/biomesoplenty/common/biome/overworld/BrushlandBiome.java rename to src/main/java/biomesoplenty/common/biome/overworld/LushDesertBiome.java index 286715bc2..2e717b3d4 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/BrushlandBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/LushDesertBiome.java @@ -7,6 +7,7 @@ ******************************************************************************/ package biomesoplenty.common.biome.overworld; +import biomesoplenty.api.biome.BOPBiomes; import biomesoplenty.api.enums.BOPClimates; import biomesoplenty.common.biome.BiomeTemplate; import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; @@ -15,42 +16,39 @@ import net.minecraft.entity.EntityClassification; import net.minecraft.entity.EntityType; import net.minecraft.world.biome.*; import net.minecraft.world.gen.GenerationStage; -import net.minecraft.world.gen.feature.*; +import net.minecraft.world.gen.feature.Features; import net.minecraft.world.gen.feature.structure.StructureFeatures; import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; -public class BrushlandBiome extends BiomeTemplate +public class LushDesertBiome extends BiomeTemplate { - public BrushlandBiome() + public LushDesertBiome() { - this.addWeight(BOPClimates.SAVANNA, 5); + this.addWeight(BOPClimates.HOT_DESERT, 1); + this.setBeachBiome(null); } @Override protected void configureBiome(Biome.Builder builder) { - builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.SAVANNA).depth(0.1F).scale(0.1F).temperature(1.5F).downfall(0.1F); + builder.precipitation(Biome.RainType.RAIN).biomeCategory(Biome.Category.DESERT).depth(0.6F).scale(0.6F).temperature(1.8F).downfall(0.15F); - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(1.5F)).grassColorOverride(0xE5DFA9).foliageColorOverride(0xDAE0B3).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); + builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4566514).waterFogColor(267827).fogColor(12638463).skyColor(calculateSkyColor(1.8F)).grassColorOverride(0xEFE182).foliageColorOverride(0xD3D156).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } @Override protected void configureGeneration(BiomeGenerationSettings.Builder builder) { - builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.BRUSHLAND, SurfaceBuilder.CONFIG_GRASS)); + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.LUSH_DESERT, BOPSurfaceBuilders.ORANGE_SAND_SURFACE)); // Structures - builder.addStructureStart(StructureFeatures.VILLAGE_SAVANNA); - builder.addStructureStart(StructureFeatures.PILLAGER_OUTPOST); DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); - builder.addStructureStart(StructureFeatures.RUINED_PORTAL_STANDARD); + builder.addStructureStart(StructureFeatures.RUINED_PORTAL_DESERT); // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_LAVA); - + DefaultBiomeFeatures.addDefaultLakes(builder); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); DefaultBiomeFeatures.addDefaultOres(builder); @@ -59,19 +57,22 @@ public class BrushlandBiome extends BiomeTemplate //////////////////////////////////////////////////////////// // Vegetation - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BRUSHLAND_TREES); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LUSH_DESERT_TREES); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.LUSH_DESERT_FLOWERS); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BUSH_15); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_5); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DEAD_GRASS_2); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_10); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DUNE_GRASS_10); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_12); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DUNE_GRASS_128); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_DEAD_BUSH_2); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_SUGAR_CANE); //////////////////////////////////////////////////////////// // Other Features DefaultBiomeFeatures.addDefaultSprings(builder); + + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.OVERGROWN_CLIFFS_SPRING); + DefaultBiomeFeatures.addSurfaceFreezing(builder); } diff --git a/src/main/java/biomesoplenty/common/biome/overworld/MangroveBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/MangroveBiome.java index ad87241b4..5bd0051e2 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/MangroveBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/MangroveBiome.java @@ -48,7 +48,7 @@ public class MangroveBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, BOPConfiguredFeatures.WATER_LAKE_COMMON); + builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.WATER_LAKE_COMMON); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/MarshBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/MarshBiome.java index 7e9467389..041a7ded6 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/MarshBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/MarshBiome.java @@ -48,7 +48,7 @@ public class MarshBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, BOPConfiguredFeatures.WATER_LAKE_COMMON); + builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.WATER_LAKE_COMMON); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/MireBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/MireBiome.java index f730df302..ecd4df9bf 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/MireBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/MireBiome.java @@ -50,7 +50,7 @@ public class MireBiome extends BiomeTemplate DefaultBiomeFeatures.addDefaultCarvers(builder); DefaultBiomeFeatures.addDefaultLakes(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, BOPConfiguredFeatures.MUD_LAKE); + builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.MUD_LAKE); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/MuskegBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/MuskegBiome.java index 3a97c8a29..b837a6a61 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/MuskegBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/MuskegBiome.java @@ -49,7 +49,7 @@ public class MuskegBiome extends BiomeTemplate DefaultBiomeFeatures.addDefaultCarvers(builder); DefaultBiomeFeatures.addDefaultLakes(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, BOPConfiguredFeatures.WATER_LAKE_UNCOMMON); + builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.WATER_LAKE_UNCOMMON); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/MysticGroveBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/MysticGroveBiome.java index 65efa0ef3..28867c5d3 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/MysticGroveBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/MysticGroveBiome.java @@ -48,7 +48,7 @@ public class MysticGroveBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/OasisBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/OasisBiome.java deleted file mode 100644 index 9e475f6c1..000000000 --- a/src/main/java/biomesoplenty/common/biome/overworld/OasisBiome.java +++ /dev/null @@ -1,82 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2019, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 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.common.biome.BiomeTemplate; -import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; -import net.minecraft.entity.EntityClassification; -import net.minecraft.entity.EntityType; -import net.minecraft.world.biome.*; -import net.minecraft.world.gen.GenerationStage; -import net.minecraft.world.gen.feature.Features; -import net.minecraft.world.gen.feature.structure.StructureFeatures; -import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; -import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; - -public class OasisBiome extends BiomeTemplate -{ - public OasisBiome() {} - - @Override - protected void configureBiome(Biome.Builder builder) - { - builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.DESERT).depth(-0.275F).scale(-0.05F).temperature(2.0F).downfall(0.5F); - - builder.specialEffects((new BiomeAmbience.Builder()).waterColor(4159204).waterFogColor(329011).fogColor(12638463).skyColor(calculateSkyColor(2.0F)).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); - } - - @Override - protected void configureGeneration(BiomeGenerationSettings.Builder builder) - { - builder.surfaceBuilder(new ConfiguredSurfaceBuilder(SurfaceBuilder.DEFAULT, SurfaceBuilder.CONFIG_FULL_SAND)); - - // Structures - DefaultBiomeFeatures.addDefaultOverworldLandStructures(builder); - builder.addStructureStart(StructureFeatures.RUINED_PORTAL_DESERT); - - // Underground - DefaultBiomeFeatures.addDefaultCarvers(builder); - DefaultBiomeFeatures.addDefaultLakes(builder); - DefaultBiomeFeatures.addDefaultMonsterRoom(builder); - DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); - DefaultBiomeFeatures.addDefaultOres(builder); - DefaultBiomeFeatures.addDefaultSoftDisks(builder); - - //////////////////////////////////////////////////////////// - - // Vegetation - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.OASIS_TREES); - - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_10); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DUNE_GRASS_20); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_SUGAR_CANE); - - //////////////////////////////////////////////////////////// - - // Other Features - DefaultBiomeFeatures.addDefaultSprings(builder); - DefaultBiomeFeatures.addSurfaceFreezing(builder); - } - - @Override - protected void configureMobSpawns(MobSpawnInfo.Builder builder) - { - // Entities - builder.addSpawn(EntityClassification.CREATURE, new MobSpawnInfo.Spawners(EntityType.RABBIT, 4, 2, 3)); - builder.addSpawn(EntityClassification.AMBIENT, new MobSpawnInfo.Spawners(EntityType.BAT, 10, 8, 8)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SPIDER, 100, 4, 4)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE, 95, 4, 4)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ZOMBIE_VILLAGER, 5, 1, 1)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SKELETON, 100, 4, 4)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.CREEPER, 100, 4, 4)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.SLIME, 100, 4, 4)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.ENDERMAN, 10, 1, 4)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.WITCH, 5, 1, 1)); - builder.addSpawn(EntityClassification.MONSTER, new MobSpawnInfo.Spawners(EntityType.HUSK, 80, 4, 4)); - } -} diff --git a/src/main/java/biomesoplenty/common/biome/overworld/OminousWoodsBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/OminousWoodsBiome.java index 1f36756f5..e95e37c6c 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/OminousWoodsBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/OminousWoodsBiome.java @@ -50,7 +50,7 @@ public class OminousWoodsBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/OriginHillsBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/OriginValleyBiome.java similarity index 95% rename from src/main/java/biomesoplenty/common/biome/overworld/OriginHillsBiome.java rename to src/main/java/biomesoplenty/common/biome/overworld/OriginValleyBiome.java index bcab3eba1..f09dee770 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/OriginHillsBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/OriginValleyBiome.java @@ -20,9 +20,9 @@ import net.minecraft.world.gen.GenerationStage; import net.minecraft.world.gen.feature.*; import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; -public class OriginHillsBiome extends BiomeTemplate +public class OriginValleyBiome extends BiomeTemplate { - public OriginHillsBiome() + public OriginValleyBiome() { this.setBeachBiome(null); this.setRiverBiome(null); @@ -39,7 +39,7 @@ public class OriginHillsBiome extends BiomeTemplate @Override protected void configureGeneration(BiomeGenerationSettings.Builder builder) { - builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.ORIGIN_HILLS, BOPSurfaceBuilders.ORIGIN_GRASS_SURFACE)); + builder.surfaceBuilder(new ConfiguredSurfaceBuilder(BOPSurfaceBuilders.ORIGIN_VALLEY, BOPSurfaceBuilders.ORIGIN_GRASS_SURFACE)); // Underground builder.addCarver(GenerationStage.Carving.AIR, BOPConfiguredCarvers.ORIGIN_CAVE); @@ -58,7 +58,7 @@ public class OriginHillsBiome extends BiomeTemplate //////////////////////////////////////////////////////////// // Vegetation - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.ORIGIN_HILLS_TREES); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.ORIGIN_VALLEY_TREES); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.ORIGIN_FLOWERS); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_SUGAR_CANE); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/OutbackBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/OutbackBiome.java index f7f8fd64c..2bb3b5986 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/OutbackBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/OutbackBiome.java @@ -49,7 +49,7 @@ public class OutbackBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_LAVA); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_LAVA); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); @@ -61,7 +61,7 @@ public class OutbackBiome extends BiomeTemplate // Vegetation builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.OUTBACK_TREES); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_5); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.DESERT_GRASS_20); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_CACTUS_DESERT); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_DEAD_BUSH_2); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/RainbowValleyBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/RainbowHillsBiome.java similarity index 96% rename from src/main/java/biomesoplenty/common/biome/overworld/RainbowValleyBiome.java rename to src/main/java/biomesoplenty/common/biome/overworld/RainbowHillsBiome.java index c0c65fc90..5e444dae1 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/RainbowValleyBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/RainbowHillsBiome.java @@ -18,9 +18,9 @@ import net.minecraft.world.gen.feature.*; import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; -public class RainbowValleyBiome extends BiomeTemplate +public class RainbowHillsBiome extends BiomeTemplate { - public RainbowValleyBiome() + public RainbowHillsBiome() { this.setBeachBiome(null); this.setGrassColorFunction(this::getGrassColor); @@ -53,8 +53,8 @@ public class RainbowValleyBiome extends BiomeTemplate //////////////////////////////////////////////////////////// // Vegetation - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.RAINBOW_VALLEY_TREES); - builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.RAINBOW_VALLEY_FLOWERS); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.RAINBOW_HILLS_TREES); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.RAINBOW_HILLS_FLOWERS); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.BLUE_HYDRANGEA_4); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.GOLDENROD_2); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestBiome.java index 28b2d29b0..5f814e46c 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestBiome.java @@ -46,7 +46,7 @@ public class RedwoodForestBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestEdgeBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestEdgeBiome.java index 2e418c815..13646396d 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestEdgeBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/RedwoodForestEdgeBiome.java @@ -43,7 +43,7 @@ public class RedwoodForestEdgeBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/ScrublandBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/ScrublandBiome.java index b3db9d42d..2a8245655 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/ScrublandBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/ScrublandBiome.java @@ -10,19 +10,22 @@ package biomesoplenty.common.biome.overworld; import biomesoplenty.api.enums.BOPClimates; import biomesoplenty.common.biome.BiomeTemplate; import biomesoplenty.common.world.gen.feature.BOPConfiguredFeatures; +import biomesoplenty.common.world.gen.surfacebuilders.BOPSurfaceBuilders; import net.minecraft.entity.EntityClassification; import net.minecraft.entity.EntityType; import net.minecraft.world.biome.*; import net.minecraft.world.gen.GenerationStage; +import net.minecraft.world.gen.feature.Features; import net.minecraft.world.gen.feature.structure.StructureFeatures; import net.minecraft.world.gen.surfacebuilders.ConfiguredSurfaceBuilder; import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; +import sun.java2d.Surface; public class ScrublandBiome extends BiomeTemplate { public ScrublandBiome() { - this.addWeight(BOPClimates.SAVANNA, 7); + this.addWeight(BOPClimates.SAVANNA, 5); } @Override @@ -50,7 +53,8 @@ public class ScrublandBiome extends BiomeTemplate DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); DefaultBiomeFeatures.addDefaultOres(builder); - DefaultBiomeFeatures.addDefaultSoftDisks(builder); + + builder.addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, BOPConfiguredFeatures.ORANGE_SAND_DISK); //////////////////////////////////////////////////////////// @@ -60,6 +64,7 @@ public class ScrublandBiome extends BiomeTemplate builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.SCRUB_EXTRA); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.STANDARD_GRASS_12); builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, BOPConfiguredFeatures.TALL_GRASS_6); + builder.addFeature(GenerationStage.Decoration.VEGETAL_DECORATION, Features.PATCH_DEAD_BUSH); //////////////////////////////////////////////////////////// diff --git a/src/main/java/biomesoplenty/common/biome/overworld/SnowyConiferousForestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/SnowyConiferousForestBiome.java index aeb02710d..031ab1d70 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/SnowyConiferousForestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/SnowyConiferousForestBiome.java @@ -47,7 +47,7 @@ public class SnowyConiferousForestBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/SnowyFirClearingBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/SnowyFirClearingBiome.java index 0a4830cc0..2008b84b2 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/SnowyFirClearingBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/SnowyFirClearingBiome.java @@ -43,7 +43,7 @@ public class SnowyFirClearingBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/TemperateRainforestBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/TemperateRainforestBiome.java index 73e724ff4..3eefd2518 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/TemperateRainforestBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/TemperateRainforestBiome.java @@ -48,7 +48,7 @@ public class TemperateRainforestBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/TemperateRainforestHillsBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/TemperateRainforestHillsBiome.java index e15c822bf..20be4f60e 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/TemperateRainforestHillsBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/TemperateRainforestHillsBiome.java @@ -46,7 +46,7 @@ public class TemperateRainforestHillsBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, Features.LAKE_WATER); + builder.addFeature(GenerationStage.Decoration.LAKES, Features.LAKE_WATER); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/VolcanoBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/VolcanoBiome.java index 69b3ac63f..b627c8eed 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/VolcanoBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/VolcanoBiome.java @@ -47,7 +47,7 @@ public class VolcanoBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, BOPConfiguredFeatures.LAVA_LAKE_COMMON); + builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.LAVA_LAKE_COMMON); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/biome/overworld/WastelandBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/WastelandBiome.java index e68362c40..5194526ad 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/WastelandBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/WastelandBiome.java @@ -31,7 +31,7 @@ public class WastelandBiome extends BiomeTemplate @Override protected void configureBiome(Biome.Builder builder) { - builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.DESERT).depth(-0.05F).scale(-0.05F).temperature(2.0F).downfall(0.0F); + builder.precipitation(Biome.RainType.NONE).biomeCategory(Biome.Category.DESERT).depth(0.0F).scale(-0.1F).temperature(2.0F).downfall(0.0F); builder.specialEffects((new BiomeAmbience.Builder()).waterColor(0x433721).waterFogColor(0x0C0C03).fogColor(0xDBDDC1).skyColor(0x70ADEF).grassColorOverride(0xAD9364).foliageColorOverride(0xB5A76C).ambientMoodSound(MoodSoundAmbience.LEGACY_CAVE_SETTINGS).build()); } diff --git a/src/main/java/biomesoplenty/common/biome/overworld/WetlandBiome.java b/src/main/java/biomesoplenty/common/biome/overworld/WetlandBiome.java index 280b29a14..95c67d082 100644 --- a/src/main/java/biomesoplenty/common/biome/overworld/WetlandBiome.java +++ b/src/main/java/biomesoplenty/common/biome/overworld/WetlandBiome.java @@ -48,7 +48,7 @@ public class WetlandBiome extends BiomeTemplate // Underground DefaultBiomeFeatures.addDefaultCarvers(builder); - builder.addFeature(GenerationStage.Decoration.LOCAL_MODIFICATIONS, BOPConfiguredFeatures.WATER_LAKE_UNCOMMON); + builder.addFeature(GenerationStage.Decoration.LAKES, BOPConfiguredFeatures.WATER_LAKE_UNCOMMON); DefaultBiomeFeatures.addDefaultMonsterRoom(builder); DefaultBiomeFeatures.addDefaultUndergroundVariety(builder); diff --git a/src/main/java/biomesoplenty/common/block/FlowerBlockBOP.java b/src/main/java/biomesoplenty/common/block/FlowerBlockBOP.java index d0d0cb519..8884f8e6b 100644 --- a/src/main/java/biomesoplenty/common/block/FlowerBlockBOP.java +++ b/src/main/java/biomesoplenty/common/block/FlowerBlockBOP.java @@ -66,7 +66,7 @@ public class FlowerBlockBOP extends FlowerBlock if (this == BOPBlocks.wildflower) { - return ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.white_sand || super.canSurvive(state, worldIn, pos); + return ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.white_sand || ground == BOPBlocks.orange_sand || ground == BOPBlocks.black_sand || super.canSurvive(state, worldIn, pos); } if (this == BOPBlocks.burning_blossom) { diff --git a/src/main/java/biomesoplenty/common/block/FoliageBlockBOP.java b/src/main/java/biomesoplenty/common/block/FoliageBlockBOP.java index 7bd337835..a74472f11 100644 --- a/src/main/java/biomesoplenty/common/block/FoliageBlockBOP.java +++ b/src/main/java/biomesoplenty/common/block/FoliageBlockBOP.java @@ -85,11 +85,11 @@ public class FoliageBlockBOP extends BushBlock implements IPlantable } if (this == BOPBlocks.dune_grass) { - return ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.white_sand || ground == BOPBlocks.black_sand; + return ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.white_sand || ground == BOPBlocks.orange_sand || ground == BOPBlocks.black_sand; } if (this == BOPBlocks.desert_grass || this == BOPBlocks.dead_grass) { - return ground == BOPBlocks.dried_salt || ground == Blocks.GRAVEL || ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.white_sand || ground == BOPBlocks.black_sand || ground == Blocks.NETHERRACK || super.canSurvive(state, worldIn, pos); + return ground == BOPBlocks.dried_salt || ground == Blocks.GRAVEL || ground == Blocks.SAND || ground == Blocks.RED_SAND || ground == BOPBlocks.white_sand || ground == BOPBlocks.orange_sand || ground == BOPBlocks.black_sand || ground == Blocks.NETHERRACK || super.canSurvive(state, worldIn, pos); } return super.canSurvive(state, worldIn, pos); diff --git a/src/main/java/biomesoplenty/common/block/SaplingBlockBOP.java b/src/main/java/biomesoplenty/common/block/SaplingBlockBOP.java index d740aeec3..c7c6b011d 100644 --- a/src/main/java/biomesoplenty/common/block/SaplingBlockBOP.java +++ b/src/main/java/biomesoplenty/common/block/SaplingBlockBOP.java @@ -97,7 +97,7 @@ public class SaplingBlockBOP extends SaplingBlock implements IGrowable if (this == BOPBlocks.palm_sapling) { - return ground == BOPBlocks.white_sand || ground == Blocks.RED_SAND || ground == Blocks.SAND || super.canSurvive(state, worldIn, pos); + return ground == BOPBlocks.white_sand || ground == BOPBlocks.orange_sand || ground == BOPBlocks.black_sand || ground == Blocks.RED_SAND || ground == Blocks.SAND || super.canSurvive(state, worldIn, pos); } if (this == BOPBlocks.hellbark_sapling) { diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/BOPConfiguredFeatures.java b/src/main/java/biomesoplenty/common/world/gen/feature/BOPConfiguredFeatures.java index f99bae5dc..d8c322bbc 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/BOPConfiguredFeatures.java +++ b/src/main/java/biomesoplenty/common/world/gen/feature/BOPConfiguredFeatures.java @@ -77,7 +77,6 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature MAHOGANY_TREE = register("mahogany_tree", BOPFeatures.MAHOGANY_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature MAPLE_TREE = register("maple_tree", BOPFeatures.MAPLE_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature MAPLE_TWIGLET_TREE = register("maple_twiglet_tree", BOPFeatures.MAPLE_TWIGLET_TREE.configured(Features.OAK.config())); - public static final ConfiguredFeature OASIS_JUNGLE_TWIGLET_TREE = register("oasis_jungle_twiglet_tree", BOPFeatures.OASIS_JUNGLE_TWIGLET_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature ORANGE_AUTUMN_TREE = register("orange_autumn_tree", BOPFeatures.ORANGE_AUTUMN_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature ORIGIN_TREE = register("origin_tree", BOPFeatures.ORIGIN_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature PALM_TREE = register("palm_tree", BOPFeatures.PALM_TREE.configured(Features.OAK.config())); @@ -91,6 +90,7 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature SILK_TREE = register("silk_tree", BOPFeatures.SILK_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature SMALL_DEAD_TREE = register("small_dead_tree", BOPFeatures.SMALL_DEAD_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature SMALL_JUNGLE_TREE = register("small_jungle_tree", BOPFeatures.SMALL_JUNGLE_TREE.configured(Features.OAK.config())); + public static final ConfiguredFeature SPARSE_ACACIA_TREE = register("sparse_acacia_tree", BOPFeatures.SPARSE_ACACIA_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature SPARSE_OAK_TREE = register("sparse_oak_tree", BOPFeatures.SPARSE_OAK_TREE.configured(Features.OAK.config())); public static final ConfiguredFeature SPRUCE_BUSH = register("spruce_bush", BOPFeatures.SPRUCE_BUSH.configured(Features.OAK.config())); public static final ConfiguredFeature SPRUCE_POPLAR = register("spruce_poplar", BOPFeatures.SPRUCE_POPLAR.configured(Features.OAK.config())); @@ -115,11 +115,11 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature BAYOU_TREES = register("bayou_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(CYPRESS_TREE_MEDIUM.weighted(0.3F)), CYPRESS_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(3, 0.6F, 1)))); public static final ConfiguredFeature BOG_TREES = register("bog_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(SPRUCE_TWIGLET_TREE.weighted(0.4F), MAPLE_TWIGLET_TREE.weighted(0.6F)), TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.4F, 1)))); public static final ConfiguredFeature BOREAL_FOREST_TREES = register("boreal_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_OAK_TREE.weighted(0.075F), Features.OAK.weighted(0.15F), YELLOW_POPLAR_TREE.weighted(0.3F), YELLOW_AUTUMN_TREE.weighted(0.15F)), TALL_SPRUCE_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.4F, 1)))); - public static final ConfiguredFeature BRUSHLAND_TREES = register("brushland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TWIGLET_TREE.weighted(0.4F), DYING_TREE.weighted(0.1F), SPARSE_OAK_TREE.weighted(0.2F)), ACACIA_TWIGLET_SMALL)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(3, 0.4F, 1)))); public static final ConfiguredFeature CHAPARRAL_TREES = register("chaparral_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TWIGLET_TREE.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(12, 0.3F, 1)))); public static final ConfiguredFeature CHERRY_BLOSSOM_GROVE_TREES = register("cherry_blossom_grove_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(WHITE_CHERRY_TREE_BEES.weighted(0.1F), PINK_CHERRY_TREE_BEES.weighted(0.2F), BIG_WHITE_CHERRY_TREE.weighted(0.3F), FLOWERING_OAK_TREE_BEES.weighted(0.15F), FLOWERING_BUSH.weighted(0.3F)), BIG_PINK_CHERRY_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.3F, 1)))); public static final ConfiguredFeature CONIFEROUS_FOREST_TREES = register("coniferous_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FIR_TREE.weighted(0.33333334F)), FIR_TREE_LARGE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.1F, 1)))); public static final ConfiguredFeature DEAD_FOREST_TREES = register("dead_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DYING_TREE.weighted(0.2F), DEAD_TREE.weighted(0.1F), TALL_SPRUCE_TREE.weighted(0.3F), SMALL_DEAD_TREE.weighted(0.3F)), Features.OAK)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.5F, 1)))); + public static final ConfiguredFeature DRYLAND_TREES = register("dry_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TWIGLET_TREE.weighted(0.4F), DYING_TREE.weighted(0.1F), SPARSE_OAK_TREE.weighted(0.2F)), ACACIA_TWIGLET_SMALL)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.4F, 1)))); public static final ConfiguredFeature FIR_CLEARING_TREES = register("fir_clearing_trees", FIR_TREE_SMALL.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.1F, 1)))); public static final ConfiguredFeature FLOODPLAIN_TREES = register("floodplain_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(SPARSE_OAK_TREE.weighted(0.3F), BIG_OAK_TREE.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.3F, 1)))); public static final ConfiguredFeature FLOWER_MEADOW_TREES = register("flower_meadow_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE_BEES.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.3F, 1)))); @@ -127,6 +127,7 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature GROVE_TREES = register("grove_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(SPARSE_OAK_TREE.weighted(0.05F), DARK_OAK_POPLAR.weighted(0.2F), SPRUCE_POPLAR.weighted(0.4F), FLOWERING_BUSH.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(3, 0.5F, 1)))); public static final ConfiguredFeature JADE_CLIFFS_TREES = register("jade_cliffs_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE.weighted(0.075F), Features.PINE.weighted(0.025F)), SPRUCE_BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(35, 0.1F, 1)))); public static final ConfiguredFeature LAVENDER_FIELD_TREES = register("lavender_field_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(FLOWERING_OAK_TREE_BEES.weighted(0.2F), BIG_FLOWERING_OAK_TREE.weighted(0.1F), BIG_JACARANDA_TREE.weighted(0.1F)), JACARANDA_TREE_BEES)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1)))); + public static final ConfiguredFeature LUSH_DESERT_TREES = register("lush_desert_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(ACACIA_BUSH.weighted(0.4F), SPARSE_ACACIA_TREE.weighted(0.2F)), ACACIA_TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.4F, 1)))); public static final ConfiguredFeature LUSH_GRASSLAND_TREES = register("lush_grassland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(SMALL_JUNGLE_TREE.weighted(0.1F), Features.OAK_BEES_0002.weighted(0.2F), PALM_TREE.weighted(0.05F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig((int)0.95F, 0.6F, 1)))); public static final ConfiguredFeature LUSH_SWAMP_TREES = register("lush_swamp_trees", TALL_SWAMP_TREE.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(3, 0.1F, 1)))); public static final ConfiguredFeature MANGROVE_TREES = register("mangrove_trees", BUSH.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(15, 0.3F, 1)))); @@ -135,15 +136,14 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature MIRE_TREES = register("mire_trees", DARK_OAK_TWIGLET_TREE.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(3, 0.1F, 1)))); public static final ConfiguredFeature MUSKEG_TREES = register("muskeg_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DARK_OAK_TWIGLET_TREE.weighted(0.4F), DEAD_TREE.weighted(0.3F), DYING_TREE.weighted(0.075F), DEAD_TWIGLET_TREE_TALL.weighted(0.1F)), DEAD_TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.2F, 1)))); public static final ConfiguredFeature MYSTIC_GROVE_TREES = register("mystic_grove_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(GIANT_TREE.weighted(0.01F), TALL_SWAMP_TREE.weighted(0.1F), BIG_FLOWERING_OAK_TREE.weighted(0.2F), JACARANDA_TREE.weighted(0.3F), BIG_MAGIC_TREE.weighted(0.3F)), MAGIC_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.5F, 1)))); - public static final ConfiguredFeature OASIS_TREES = register("oasis_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(PALM_TREE.weighted(0.3F)), OASIS_JUNGLE_TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.2F, 1)))); public static final ConfiguredFeature OMINOUS_WOODS_TREES = register("ominous_woods_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DEAD_TREE.weighted(0.05F), DYING_TREE.weighted(0.15F), WILLOW_TREE.weighted(0.15F), TALL_UMBRAN_TREE.weighted(0.7F)), UMBRAN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(7, 0.5F, 1)))); public static final ConfiguredFeature ORCHARD_TREES = register("orchard_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_FLOWERING_OAK_TREE.weighted(0.1F)), FLOWERING_OAK_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(2, 0.3F, 1)))); - public static final ConfiguredFeature ORIGIN_HILLS_TREES = register("origin_hills_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_ORIGIN_TREE.weighted(0.1F)), ORIGIN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(BOPPlacements.ALPHA_TREE.configured(NoPlacementConfig.INSTANCE))); - public static final ConfiguredFeature OUTBACK_TREES = register("outback_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(ACACIA_BUSH.weighted(0.1F)), ACACIA_TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig((int)0.5F, 0.3F, 1)))); + public static final ConfiguredFeature ORIGIN_VALLEY_TREES = register("origin_valley_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_ORIGIN_TREE.weighted(0.1F)), ORIGIN_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(BOPPlacements.ALPHA_TREE.configured(NoPlacementConfig.INSTANCE))); + public static final ConfiguredFeature OUTBACK_TREES = register("outback_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(ACACIA_TWIGLET_TREE.weighted(0.15F)), ACACIA_TWIGLET_SMALL)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(1, 0.6F, 1)))); public static final ConfiguredFeature OVERGROWN_CLIFFS_TREES = register("overgrown_cliffs_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(JUNGLE_TWIGLET_TREE.weighted(0.3F), MAHOGANY_TREE.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(16, 0.4F, 1)))); public static final ConfiguredFeature PRAIRIE_TREES = register("prairie_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BIG_OAK_TREE.weighted(0.1F)), SPARSE_OAK_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig((int)0.85F, 0.3F, 1)))); public static final ConfiguredFeature PUMPKIN_PATCH_TREES = register("pumpkin_patch_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.2F)), TWIGLET_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.5F, 1)))); - public static final ConfiguredFeature RAINBOW_VALLEY_TREES = register("rainbow_valley_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.2F), FIR_TREE_SMALL.weighted(0.1F), FIR_TREE.weighted(0.025F), BIG_RAINBOW_BIRCH_TREE.weighted(0.2F)), RAINBOW_BIRCH_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(15, 0.5F, 1)))); + public static final ConfiguredFeature RAINBOW_HILLS_TREES = register("rainbow_hills_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(BUSH.weighted(0.2F), FIR_TREE_SMALL.weighted(0.1F), FIR_TREE.weighted(0.025F), BIG_RAINBOW_BIRCH_TREE.weighted(0.2F)), RAINBOW_BIRCH_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(15, 0.5F, 1)))); public static final ConfiguredFeature RAINFOREST_TREES = register("rainforest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(Features.BIRCH.weighted(0.1F), BIG_OAK_TREE.weighted(0.4F)), Features.OAK)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(10, 0.5F, 1)))); public static final ConfiguredFeature REDWOOD_FOREST_EDGE_TREES = register("redwood_forest_edge_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(REDWOOD_TREE.weighted(0.3F), REDWOOD_TREE_MEDIUM.weighted(0.1F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.3F, 1)))); public static final ConfiguredFeature REDWOOD_FOREST_TREES = register("redwood_forest_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(REDWOOD_TREE.weighted(0.1F), REDWOOD_TREE_MEDIUM.weighted(0.3F), REDWOOD_TREE_LARGE.weighted(0.5F)), BUSH)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(18, 0.2F, 1)))); @@ -164,12 +164,12 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature WASTELAND_TREES = register("wasteland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(DEAD_TREE_WASTELAND.weighted(0.2F)), DYING_TREE_WASTELAND)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig((int)0.75F, 0.1F, 1)))); public static final ConfiguredFeature WETLAND_TREES = register("wetland_trees", Feature.RANDOM_SELECTOR.configured(new MultipleRandomFeatureConfig(ImmutableList.of(TALL_SPRUCE_TREE.weighted(0.5F)), WILLOW_TREE)).decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(5, 0.1F, 1)))); public static final ConfiguredFeature WOODLAND_TREES = register("woodland_trees", Features.OAK.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig(7, 0.1F, 1)))); - public static final ConfiguredFeature XERIC_SHRUBLAND_TREES = register("xeric_shrubland_trees", ACACIA_TWIGLET_SMALL.decorated(Features.Placements.HEIGHTMAP_SQUARE).decorated(Placement.COUNT_EXTRA.configured(new AtSurfaceWithExtraConfig((int)1F, 0.1F, 1)))); // Biome Flower Listings public static final ConfiguredFeature CHAPARRAL_FLOWERS = register("chaparral_flowers", BOPFeatures.CHAPARRAL_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(17))); public static final ConfiguredFeature CHERRY_BLOSSOM_GROVE_FLOWERS = register("cherry_blossom_grove_flowers", BOPFeatures.CHERRY_BLOSSOM_GROVE_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(5))); public static final ConfiguredFeature CONIFEROUS_FOREST_FLOWERS = register("coniferous_forest_flowers", BOPFeatures.CONIFEROUS_FOREST_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(4))); + public static final ConfiguredFeature LUSH_DESERT_FLOWERS = register("lush_desert_flowers", BOPFeatures.WILDFLOWER_FEATURE.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(6))); public static final ConfiguredFeature FLOWER_MEADOW_FLOWERS = register("flower_meadow_flowers", BOPFeatures.FLOWER_MEADOW_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(150))); public static final ConfiguredFeature GROVE_FLOWERS = register("grove_flowers", BOPFeatures.EXTENDED_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(6))); public static final ConfiguredFeature JUNGLE_FLOWERS = register("jungle_flowers", BOPFeatures.JUNGLE_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(5))); @@ -185,7 +185,7 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature ORCHARD_FLOWERS = register("orchard_flowers", BOPFeatures.EXTENDED_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(15))); public static final ConfiguredFeature ORIGIN_FLOWERS = register("origin_flowers", BOPFeatures.ORIGIN_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(4))); public static final ConfiguredFeature POPPY_FIELD_FLOWERS = register("poppy_field_flowers", BOPFeatures.POPPY_FEATURE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(500))); - public static final ConfiguredFeature RAINBOW_VALLEY_FLOWERS = register("rainbow_valley_flowers", BOPFeatures.RAINBOW_VALLEY_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(25))); + public static final ConfiguredFeature RAINBOW_HILLS_FLOWERS = register("rainbow_hills_flowers", BOPFeatures.RAINBOW_HILLS_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(25))); public static final ConfiguredFeature RAINFOREST_FLOWERS = register("rainforest_flowers", BOPFeatures.RAINFOREST_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(6))); public static final ConfiguredFeature SHRUBLAND_FLOWERS = register("shrubland_flowers", BOPFeatures.SHRUBLAND_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(3))); public static final ConfiguredFeature SNOWY_FLOWERS = register("snowy_flowers", BOPFeatures.SNOWY_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(3))); @@ -193,7 +193,6 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature UNDERGROWTH_FLOWERS = register("undergrowth_flowers", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.burning_blossom.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(8))); public static final ConfiguredFeature WASTELAND_FLOWERS = register("wasteland_flowers", BOPFeatures.WASTELAND_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(1))); public static final ConfiguredFeature WETLAND_FLOWERS = register("wetland_flowers", BOPFeatures.WETLAND_FLOWERS.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(3))); - public static final ConfiguredFeature XERIC_SHRUBLAND_FLOWERS = register("xeric_shrubland_flowers", BOPFeatures.WILDFLOWER_FEATURE.configured(IFeatureConfig.NONE).decorated(Features.Placements.ADD_32).decorated(Features.Placements.HEIGHTMAP_SQUARE.count(1))); ///////////////////////////////////////////////////////////////////// @@ -223,11 +222,8 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature SPROUTS_75 = register("sprouts_75", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(75))); public static final ConfiguredFeature SPROUTS_200 = register("sprouts_200", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.sprout.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(200))); - public static final ConfiguredFeature DUNE_GRASS_10 = register("dune_grass_10", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.dune_grass.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(10))); - public static final ConfiguredFeature DUNE_GRASS_20 = register("dune_grass_20", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.dune_grass.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(20))); - public static final ConfiguredFeature DUNE_GRASS_100 = register("dune_grass_100", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.dune_grass.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(100))); + public static final ConfiguredFeature DUNE_GRASS_128 = register("dune_grass_128", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.dune_grass.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(128))); - public static final ConfiguredFeature DESERT_GRASS_5 = register("desert_grass_5", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.desert_grass.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(5))); public static final ConfiguredFeature DESERT_GRASS_10 = register("desert_grass_10", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.desert_grass.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(10))); public static final ConfiguredFeature DESERT_GRASS_20 = register("desert_grass_20", Feature.RANDOM_PATCH.configured(BiomeFeatureHelper.createClusterConfiguration(BOPBlocks.desert_grass.defaultBlockState())).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(20))); @@ -298,7 +294,7 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature BIG_PUMPKIN = register("big_pumpkin", BOPFeatures.BIG_PUMPKIN.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(3))); public static final ConfiguredFeature BLACK_SANDSTONE_COLUMN = register("black_sandstone_column", BOPFeatures.BLACK_SANDSTONE_COLUMN.configured(new ColumnConfig(FeatureSpread.fixed(1), FeatureSpread.of(1, 3))).decorated(Placement.COUNT_MULTILAYER.configured(new FeatureSpreadConfig(2))).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(1))); public static final ConfiguredFeature BLACK_SAND_DISK = register("black_sand_disk", Feature.DISK.configured(new SphereReplaceConfig(BOPBlocks.black_sand.defaultBlockState(), FeatureSpread.of(4, 2), 1, ImmutableList.of(Blocks.DIRT.defaultBlockState(), Blocks.GRASS_BLOCK.defaultBlockState()))).decorated(Features.Placements.TOP_SOLID_HEIGHTMAP_SQUARE).count(4)); - public static final ConfiguredFeature BONE_SPINE = register("bone_spine", BOPFeatures.BONE_SPINE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(6))); + public static final ConfiguredFeature BONE_SPINE = register("bone_spine", BOPFeatures.BONE_SPINE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(3))); public static final ConfiguredFeature BRAMBLE = register("bramble", BOPFeatures.BRAMBLE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(3))); public static final ConfiguredFeature FLESH_TENDON = register("flesh_tendon", BOPFeatures.FLESH_TENDON.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(65))); public static final ConfiguredFeature GRAVEL_DISK_EXTRA = register("gravel_disk_extra", Feature.DISK.configured(new SphereReplaceConfig(Blocks.GRAVEL.defaultBlockState(), FeatureSpread.of(4, 2), 1, ImmutableList.of(Blocks.DIRT.defaultBlockState(), Blocks.GRASS_BLOCK.defaultBlockState()))).decorated(Features.Placements.TOP_SOLID_HEIGHTMAP_SQUARE).count(6)); @@ -314,7 +310,8 @@ public class BOPConfiguredFeatures public static final ConfiguredFeature NETHER_BRAMBLE = register("nether_bramble", BOPFeatures.BRAMBLE.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(50))); public static final ConfiguredFeature NETHER_VINES = register("nether_vines", BOPFeatures.NETHER_VINES.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(150))); public static final ConfiguredFeature OBSIDIAN_SPLATTER = register("obsidian_splatter", BOPFeatures.OBSIDIAN_SPLATTER.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(12))); - public static final ConfiguredFeature OVERGROWN_CLIFFS_SPRING = register("overgrown_cliffs_spring", Feature.SPRING.configured(BOPFeatures.OVERGROWN_CLIFFS_SPRING_CONFIG).decorated(Placement.RANGE_VERY_BIASED.configured(new TopSolidRangeConfig(8, 16, 256))).squared().decorated(FeatureUtil.denseCount(150))); + public static final ConfiguredFeature ORANGE_SAND_DISK = register("orange_sand_disk", Feature.DISK.configured(new SphereReplaceConfig(BOPBlocks.orange_sand.defaultBlockState(), FeatureSpread.of(4, 2), 1, ImmutableList.of(Blocks.DIRT.defaultBlockState(), Blocks.GRASS_BLOCK.defaultBlockState()))).decorated(Features.Placements.TOP_SOLID_HEIGHTMAP_SQUARE).count(5)); + public static final ConfiguredFeature OVERGROWN_CLIFFS_SPRING = register("overgrown_cliffs_spring", Feature.SPRING.configured(BOPFeatures.OVERGROWN_CLIFFS_SPRING_CONFIG).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).count(128)); public static final ConfiguredFeature OVERGROWN_CLIFFS_VINES = register("overgrown_cliffs_vines", BOPFeatures.OVERGROWN_CLIFFS_VINES.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE).decorated(FeatureUtil.denseCount(150))); public static final ConfiguredFeature PODZOL_SPLATTER = register("podzol_splatter", BOPFeatures.PODZOL_SPLATTER.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(14))); public static final ConfiguredFeature PUMPKIN_PATCH = register("pumpkin_patch", BOPFeatures.PUMPKIN_PATCH.configured(IFeatureConfig.NONE).decorated(Features.Placements.HEIGHTMAP_DOUBLE_SQUARE.count(35))); diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/BOPFeatures.java b/src/main/java/biomesoplenty/common/world/gen/feature/BOPFeatures.java index e29a3c9e2..edef8dc40 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/BOPFeatures.java +++ b/src/main/java/biomesoplenty/common/world/gen/feature/BOPFeatures.java @@ -8,7 +8,6 @@ package biomesoplenty.common.world.gen.feature; import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.common.world.gen.carver.OriginCaveWorldCarver; import biomesoplenty.common.world.gen.feature.tree.*; import biomesoplenty.core.BiomesOPlenty; import com.google.common.collect.ImmutableSet; @@ -19,7 +18,6 @@ import net.minecraft.fluid.Fluids; import net.minecraft.util.Direction; import net.minecraft.util.ResourceLocation; import net.minecraft.util.registry.Registry; -import net.minecraft.world.gen.carver.WorldCarver; import net.minecraft.world.gen.feature.*; public class BOPFeatures @@ -79,6 +77,7 @@ public class BOPFeatures public static final Feature WILLOW_TREE = register("willow_tree", new BasicTreeFeature.Builder().log(BOPBlocks.willow_log.defaultBlockState()).leaves(BOPBlocks.willow_leaves.defaultBlockState()).vine(BOPBlocks.willow_vine.defaultBlockState()).minHeight(6).maxHeight(10).maxLeavesRadius(2).leavesOffset(0).create()); //Sparse Trees + public static final Feature SPARSE_ACACIA_TREE = register("sparse_acacia_tree", new BigTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.orange_sand).log(Blocks.ACACIA_LOG.defaultBlockState()).leaves(Blocks.ACACIA_LEAVES.defaultBlockState()).maxHeight(8).foliageHeight(1).create()); public static final Feature SPARSE_OAK_TREE = register("sparse_oak_tree", new BigTreeFeature.Builder().maxHeight(10).foliageHeight(2).create()); public static final Feature DYING_TREE = register("dying_tree", new BigTreeFeature.Builder().log(BOPBlocks.dead_log.defaultBlockState()).leaves(BOPBlocks.dead_leaves.defaultBlockState()).maxHeight(10).foliageHeight(2).create()); public static final Feature DYING_TREE_WASTELAND = register("dying_tree_wasteland", new BigTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.dried_salt).log(BOPBlocks.dead_log.defaultBlockState()).leaves(BOPBlocks.dead_leaves.defaultBlockState()).maxHeight(10).foliageHeight(1).create()); @@ -86,7 +85,7 @@ public class BOPFeatures //Bushes/Twiglets public static final Feature BUSH = register("bush", new BushTreeFeature.Builder().create()); public static final Feature SPRUCE_BUSH = register("spruce_bush", new BushTreeFeature.Builder().log(Blocks.SPRUCE_LOG.defaultBlockState()).leaves(Blocks.SPRUCE_LEAVES.defaultBlockState()).create()); - public static final Feature ACACIA_BUSH = register("acacia_bush", new BushTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.RED_SAND).log(Blocks.ACACIA_LOG.defaultBlockState()).leaves(Blocks.ACACIA_LEAVES.defaultBlockState()).create()); + public static final Feature ACACIA_BUSH = register("acacia_bush", new BushTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.orange_sand).log(Blocks.ACACIA_LOG.defaultBlockState()).leaves(Blocks.ACACIA_LEAVES.defaultBlockState()).create()); public static final Feature FLOWERING_BUSH = register("flowering_bush", new BushTreeFeature.Builder().altLeaves(BOPBlocks.flowering_oak_leaves.defaultBlockState()).create()); public static final Feature COBWEB_BUSH = register("cobweb_bush", new BushTreeFeature.Builder().altLeaves(Blocks.COBWEB.defaultBlockState()).create()); public static final Feature FULL_COBWEB_BUSH = register("full_cobweb_bush", new BushTreeFeature.Builder().leaves(Blocks.COBWEB.defaultBlockState()).create()); @@ -96,10 +95,9 @@ public class BOPFeatures public static final Feature TALL_TWIGLET_TREE = register("tall_twiglet_tree", new TwigletTreeFeature.Builder().minHeight(2).maxHeight(4).create()); public static final Feature SPRUCE_TWIGLET_TREE = register("spruce_twiglet_tree", new TwigletTreeFeature.Builder().log(Blocks.SPRUCE_LOG.defaultBlockState()).leaves(Blocks.SPRUCE_LEAVES.defaultBlockState()).minHeight(1).maxHeight(2).create()); public static final Feature JUNGLE_TWIGLET_TREE = register("jungle_twiglet_tree", new TwigletTreeFeature.Builder().log(Blocks.JUNGLE_LOG.defaultBlockState()).leaves(Blocks.JUNGLE_LEAVES.defaultBlockState()).minHeight(1).maxHeight(2).trunkFruit(Blocks.COCOA.defaultBlockState()).create()); - public static final Feature OASIS_JUNGLE_TWIGLET_TREE = register("oasis_jungle_twiglet_tree", new TwigletTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.SAND).log(Blocks.JUNGLE_LOG.defaultBlockState()).leaves(Blocks.JUNGLE_LEAVES.defaultBlockState()).minHeight(1).maxHeight(2).trunkFruit(Blocks.COCOA.defaultBlockState()).create()); public static final Feature DARK_OAK_TWIGLET_TREE = register("dark_oak_twiglet_tree", new TwigletTreeFeature.Builder().log(Blocks.DARK_OAK_LOG.defaultBlockState()).leaves(Blocks.DARK_OAK_LEAVES.defaultBlockState()).minHeight(1).maxHeight(2).create()); public static final Feature ACACIA_TWIGLET_TREE = register("acacia_twiglet_tree", new TwigletTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.RED_SAND).log(Blocks.ACACIA_LOG.defaultBlockState()).leaves(Blocks.ACACIA_LEAVES.defaultBlockState()).create()); - public static final Feature ACACIA_TWIGLET_SMALL = register("acacia_twiglet_small", new TwigletTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.SAND).log(Blocks.ACACIA_LOG.defaultBlockState()).leaves(Blocks.ACACIA_LEAVES.defaultBlockState()).minHeight(1).maxHeight(2).create()); + public static final Feature ACACIA_TWIGLET_SMALL = register("acacia_twiglet_small", new TwigletTreeFeature.Builder().placeOn((world, pos) -> world.getBlockState(pos).getBlock() == Blocks.SAND || world.getBlockState(pos).getBlock() == BOPBlocks.orange_sand).log(Blocks.ACACIA_LOG.defaultBlockState()).leaves(Blocks.ACACIA_LEAVES.defaultBlockState()).minHeight(1).maxHeight(2).create()); public static final Feature ACACIA_TWIGLET = register("acacia_twiglet", new TwigletTreeFeature.Builder().log(Blocks.ACACIA_LOG.defaultBlockState()).leaves(Blocks.ACACIA_LEAVES.defaultBlockState()).minHeight(1).maxHeight(2).create()); public static final Feature MAPLE_TWIGLET_TREE = register("maple_twiglet_tree", new TwigletTreeFeature.Builder().minHeight(1).maxHeight(2).leaves(BOPBlocks.maple_leaves.defaultBlockState()).create()); public static final Feature DEAD_TWIGLET_TREE_SMALL = register("dead_twiglet_tree_small", new TwigletTreeFeature.Builder().minHeight(1).maxHeight(1).leaves(BOPBlocks.dead_leaves.defaultBlockState()).log(BOPBlocks.dead_log.defaultBlockState()).create()); @@ -162,7 +160,7 @@ public class BOPFeatures public static final FlowersFeature MYSTIC_GROVE_FLOWERS = register("mystic_grove_flowers", new MysticGroveFlowersFeature()); public static final FlowersFeature OMINOUS_WOODS_FLOWERS = register("ominous_woods_flowers", new OminousWoodsFlowersFeature()); public static final FlowersFeature ORIGIN_FLOWERS = register("origin_flowers", new OriginFlowersFeature()); - public static final FlowersFeature RAINBOW_VALLEY_FLOWERS = register("rainbow_valley_flowers", new RainbowValleyFlowersFeature()); + public static final FlowersFeature RAINBOW_HILLS_FLOWERS = register("rainbow_hills_flowers", new RainbowHillsFlowersFeature()); public static final FlowersFeature RAINFOREST_FLOWERS = register("rainforest_flowers", new RainforestFlowersFeature()); public static final FlowersFeature SHRUBLAND_FLOWERS = register("shrubland_flowers", new ShrublandFlowersFeature()); public static final FlowersFeature SNOWY_FLOWERS = register("snowy_flowers", new SnowyFlowersFeature()); @@ -177,7 +175,7 @@ public class BOPFeatures //Other public static final LiquidsConfig VOLCANO_SPRING_CONFIG = new LiquidsConfig(Fluids.LAVA.defaultFluidState(), true, 4, 1, ImmutableSet.of(Blocks.BASALT, Blocks.MAGMA_BLOCK, BOPBlocks.black_sand, BOPBlocks.black_sandstone, Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE)); - public static final LiquidsConfig OVERGROWN_CLIFFS_SPRING_CONFIG = new LiquidsConfig(Fluids.WATER.defaultFluidState(), true, 4, 1, ImmutableSet.of(Blocks.DIRT, Blocks.TERRACOTTA, Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE)); + public static final LiquidsConfig OVERGROWN_CLIFFS_SPRING_CONFIG = new LiquidsConfig(Fluids.WATER.defaultFluidState(), true, 4, 1, ImmutableSet.of(Blocks.DIRT, Blocks.TERRACOTTA, Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE, BOPBlocks.orange_sandstone)); private static > F register(String key, F value) { diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/BoneSpineFeature.java b/src/main/java/biomesoplenty/common/world/gen/feature/BoneSpineFeature.java index 91ed9b271..25a5a9a44 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/BoneSpineFeature.java +++ b/src/main/java/biomesoplenty/common/world/gen/feature/BoneSpineFeature.java @@ -5,6 +5,7 @@ import biomesoplenty.common.util.block.IBlockPosQuery; import com.mojang.serialization.Codec; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; +import net.minecraft.block.material.Material; import net.minecraft.util.math.BlockPos; import net.minecraft.world.ISeedReader; import net.minecraft.world.IWorld; @@ -17,8 +18,8 @@ import java.util.Random; public class BoneSpineFeature extends Feature { - protected IBlockPosQuery placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.flesh; - protected IBlockPosQuery replace = (world, pos) -> world.getBlockState(pos).isAir(world, pos); + protected IBlockPosQuery placeOn = (world, pos) -> world.getBlockState(pos).getBlock() == BOPBlocks.flesh || world.getBlockState(pos).getBlock() == Blocks.GRASS_BLOCK; + protected IBlockPosQuery replace = (world, pos) -> world.getBlockState(pos).isAir(world, pos) || world.getBlockState(pos).canBeReplacedByLeaves(world, pos) || world.getBlockState(pos).getMaterial() == Material.WATER; private int maxHeight = 3; public BoneSpineFeature(Codec deserializer) diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/RainbowValleyFlowersFeature.java b/src/main/java/biomesoplenty/common/world/gen/feature/RainbowHillsFlowersFeature.java similarity index 95% rename from src/main/java/biomesoplenty/common/world/gen/feature/RainbowValleyFlowersFeature.java rename to src/main/java/biomesoplenty/common/world/gen/feature/RainbowHillsFlowersFeature.java index eaaaddfb0..82430cef9 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/RainbowValleyFlowersFeature.java +++ b/src/main/java/biomesoplenty/common/world/gen/feature/RainbowHillsFlowersFeature.java @@ -18,7 +18,7 @@ import net.minecraft.world.gen.feature.NoFeatureConfig; import java.util.Random; -public class RainbowValleyFlowersFeature extends DefaultFlowersFeatureNoConfig +public class RainbowHillsFlowersFeature extends DefaultFlowersFeatureNoConfig { private static final Block[] FLOWERS = new Block[]{BOPBlocks.pink_daffodil, BOPBlocks.orange_cosmos, Blocks.ALLIUM, Blocks.AZURE_BLUET, Blocks.ORANGE_TULIP, Blocks.PINK_TULIP, Blocks.RED_TULIP, Blocks.WHITE_TULIP, Blocks.CORNFLOWER, Blocks.LILY_OF_THE_VALLEY, Blocks.BLUE_ORCHID, Blocks.OXEYE_DAISY, Blocks.DANDELION, Blocks.POPPY}; diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/XericShrublandFlowersFeature.java b/src/main/java/biomesoplenty/common/world/gen/feature/XericShrublandFlowersFeature.java deleted file mode 100644 index d49f51c52..000000000 --- a/src/main/java/biomesoplenty/common/world/gen/feature/XericShrublandFlowersFeature.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2019, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 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.gen.feature; - -import biomesoplenty.api.block.BOPBlocks; -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.gen.feature.NoFeatureConfig; - -import java.util.Random; - -public class XericShrublandFlowersFeature extends DefaultFlowersFeatureNoConfig -{ - private static final Block[] FLOWERS = new Block[]{BOPBlocks.wildflower}; - - @Override - public BlockState getRandomFlower(Random p_202355_1_, BlockPos p_202355_2_, NoFeatureConfig config) - { - double d0 = MathHelper.clamp((1.0D + Biome.BIOME_INFO_NOISE.getValue((double)p_202355_2_.getX() / 48.0D, (double)p_202355_2_.getZ() / 48.0D, false)) / 2.0D, 0.0D, 0.9999D); - Block block = FLOWERS[(int)(d0 * (double)FLOWERS.length)]; - return block.defaultBlockState(); - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BOPSurfaceBuilders.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BOPSurfaceBuilders.java index d10465026..10547665f 100644 --- a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BOPSurfaceBuilders.java +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BOPSurfaceBuilders.java @@ -8,7 +8,6 @@ package biomesoplenty.common.world.gen.surfacebuilders; import biomesoplenty.api.block.BOPBlocks; -import biomesoplenty.common.world.gen.feature.*; import biomesoplenty.core.BiomesOPlenty; import net.minecraft.block.Blocks; import net.minecraft.util.ResourceLocation; @@ -27,11 +26,12 @@ public class BOPSurfaceBuilders public static final SurfaceBuilderConfig RED_SAND_SURFACE = new SurfaceBuilderConfig(Blocks.RED_SAND.defaultBlockState(), Blocks.RED_SAND.defaultBlockState(), Blocks.RED_SAND.defaultBlockState()); public static final SurfaceBuilderConfig SNOW_SNOW_GRAVEL_SURFACE = new SurfaceBuilderConfig(Blocks.SNOW_BLOCK.defaultBlockState(), Blocks.SNOW_BLOCK.defaultBlockState(), Blocks.GRAVEL.defaultBlockState()); public static final SurfaceBuilderConfig WHITE_SAND_SURFACE = new SurfaceBuilderConfig(BOPBlocks.white_sand.defaultBlockState(), BOPBlocks.white_sand.defaultBlockState(), BOPBlocks.white_sand.defaultBlockState()); + public static final SurfaceBuilderConfig ORANGE_SAND_SURFACE = new SurfaceBuilderConfig(BOPBlocks.orange_sand.defaultBlockState(), BOPBlocks.orange_sand.defaultBlockState(), BOPBlocks.orange_sand.defaultBlockState()); + public static final SurfaceBuilderConfig ORANGE_SANDSTONE_SURFACE = new SurfaceBuilderConfig(BOPBlocks.orange_sandstone.defaultBlockState(), BOPBlocks.orange_sandstone.defaultBlockState(), BOPBlocks.orange_sandstone.defaultBlockState()); public static final SurfaceBuilderConfig BLACK_SAND_SURFACE = new SurfaceBuilderConfig(BOPBlocks.black_sand.defaultBlockState(), BOPBlocks.black_sand.defaultBlockState(), BOPBlocks.black_sand.defaultBlockState()); public static final SurfaceBuilderConfig DRIED_SALT_SURFACE = new SurfaceBuilderConfig(BOPBlocks.dried_salt.defaultBlockState(), BOPBlocks.dried_salt.defaultBlockState(), BOPBlocks.dried_salt.defaultBlockState()); public static final SurfaceBuilderConfig ORIGIN_GRASS_SURFACE = new SurfaceBuilderConfig(BOPBlocks.origin_grass_block.defaultBlockState(), Blocks.DIRT.defaultBlockState(), Blocks.GRAVEL.defaultBlockState()); - - public static final SurfaceBuilder BRUSHLAND = register("brushland", new BrushlandSurfaceBuilder(SurfaceBuilderConfig.CODEC)); + public static final SurfaceBuilder CHAPARRAL = register("chaparral", new ChaparralSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder COLD_DESERT = register("cold_desert", new ColdDesertSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder TERRACOTTA = register("terracotta", new TerracottaSurfaceBuilder(SurfaceBuilderConfig.CODEC)); @@ -41,11 +41,13 @@ public class BOPSurfaceBuilders public static final SurfaceBuilder PODZOL = register("podzol", new PodzolSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder VOLCANO = register("volcano", new VolcanoSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder DEEP_TOP_LAYER = register("deep_top_layer", new DeepTopLayerSurfaceBuilder(SurfaceBuilderConfig.CODEC)); + public static final SurfaceBuilder ORANGE_SANDSTONE = register("orange_sandstone", new OrangeSandstoneSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder POPPY_FIELD = register("poppy_field", new PoppyFieldSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder WITHERED_ABYSS = register("withered_abyss", new WitheredAbyssSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder FLESH = register("flesh", new FleshSurfaceBuilder(SurfaceBuilderConfig.CODEC)); - public static final SurfaceBuilder ORIGIN_HILLS = register("origin_hills", new OriginHillsSurfaceBuilder(SurfaceBuilderConfig.CODEC)); + public static final SurfaceBuilder ORIGIN_VALLEY = register("origin_valley", new OriginValleySurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder TROPICS = register("tropics", new TropicsSurfaceBuilder(SurfaceBuilderConfig.CODEC)); + public static final SurfaceBuilder LUSH_DESERT = register("lush_desert", new LushDesertSurfaceBuilder(SurfaceBuilderConfig.CODEC)); public static final SurfaceBuilder BLACK_SAND = register("black_sand", new BlackSandSurfaceBuilder(SurfaceBuilderConfig.CODEC)); private static > F register(String key, F builder) diff --git a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BrushlandSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BrushlandSurfaceBuilder.java deleted file mode 100644 index 64c5c7759..000000000 --- a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/BrushlandSurfaceBuilder.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright 2014-2019, the Biomes O' Plenty Team - * - * This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 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.gen.surfacebuilders; - -import com.mojang.serialization.Codec; -import net.minecraft.block.BlockState; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.IChunk; -import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; -import net.minecraft.world.gen.surfacebuilders.SurfaceBuilderConfig; - -import java.util.Random; - -public class BrushlandSurfaceBuilder extends SurfaceBuilder -{ - public BrushlandSurfaceBuilder(Codec deserializer) - { - super(deserializer); - } - - @Override - public void apply(Random random, IChunk chunkIn, Biome biomeIn, int x, int z, int startHeight, double noise, BlockState defaultBlock, BlockState defaultFluid, int seaLevel, long seed, SurfaceBuilderConfig config) - { - if (noise > 1.9D) - { - SurfaceBuilder.DEFAULT.apply(random, chunkIn, biomeIn, x, z, startHeight, noise, defaultBlock, defaultFluid, seaLevel, seed, SurfaceBuilder.CONFIG_FULL_SAND); - } - else - { - SurfaceBuilder.DEFAULT.apply(random, chunkIn, biomeIn, x, z, startHeight, noise, defaultBlock, defaultFluid, seaLevel, seed, SurfaceBuilder.CONFIG_GRASS); - } - } -} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/ChaparralSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/ChaparralSurfaceBuilder.java similarity index 96% rename from src/main/java/biomesoplenty/common/world/gen/feature/ChaparralSurfaceBuilder.java rename to src/main/java/biomesoplenty/common/world/gen/surfacebuilders/ChaparralSurfaceBuilder.java index f15125de4..54ab33ffc 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/ChaparralSurfaceBuilder.java +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/ChaparralSurfaceBuilder.java @@ -5,7 +5,7 @@ * * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. ******************************************************************************/ -package biomesoplenty.common.world.gen.feature; +package biomesoplenty.common.world.gen.surfacebuilders; import com.mojang.serialization.Codec; import net.minecraft.block.BlockState; diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/ColdDesertSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/ColdDesertSurfaceBuilder.java similarity index 96% rename from src/main/java/biomesoplenty/common/world/gen/feature/ColdDesertSurfaceBuilder.java rename to src/main/java/biomesoplenty/common/world/gen/surfacebuilders/ColdDesertSurfaceBuilder.java index c5d3fae8b..d986f168f 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/ColdDesertSurfaceBuilder.java +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/ColdDesertSurfaceBuilder.java @@ -5,7 +5,7 @@ * * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. ******************************************************************************/ -package biomesoplenty.common.world.gen.feature; +package biomesoplenty.common.world.gen.surfacebuilders; import biomesoplenty.common.world.gen.surfacebuilders.BOPSurfaceBuilders; import com.mojang.serialization.Codec; diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/FleshSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/FleshSurfaceBuilder.java similarity index 95% rename from src/main/java/biomesoplenty/common/world/gen/feature/FleshSurfaceBuilder.java rename to src/main/java/biomesoplenty/common/world/gen/surfacebuilders/FleshSurfaceBuilder.java index bc611d447..9033f822c 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/FleshSurfaceBuilder.java +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/FleshSurfaceBuilder.java @@ -5,7 +5,7 @@ * * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. ******************************************************************************/ -package biomesoplenty.common.world.gen.feature; +package biomesoplenty.common.world.gen.surfacebuilders; import biomesoplenty.api.block.BOPBlocks; import com.google.common.collect.ImmutableList; diff --git a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/LushDesertSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/LushDesertSurfaceBuilder.java new file mode 100644 index 000000000..db457106e --- /dev/null +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/LushDesertSurfaceBuilder.java @@ -0,0 +1,32 @@ +package biomesoplenty.common.world.gen.surfacebuilders; + +import biomesoplenty.api.block.BOPBlocks; +import com.mojang.serialization.Codec; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.chunk.IChunk; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilderConfig; + +import java.util.Random; + +public class LushDesertSurfaceBuilder extends SurfaceBuilder { + public LushDesertSurfaceBuilder(Codec p_i232124_1_) { + super(p_i232124_1_); + } + + @Override + public void apply(Random random, IChunk chunkIn, Biome biomeIn, int x, int z, int startHeight, double noise, BlockState defaultBlock, BlockState defaultFluid, int seaLevel, long seed, SurfaceBuilderConfig config) + { + if (noise > 1.9D) + { + BOPSurfaceBuilders.ORANGE_SANDSTONE.apply(random, chunkIn, biomeIn, x, z, startHeight, noise, defaultBlock, defaultFluid, seaLevel, seed, BOPSurfaceBuilders.ORANGE_SANDSTONE_SURFACE); + } + else + { + BOPSurfaceBuilders.ORANGE_SANDSTONE.apply(random, chunkIn, biomeIn, x, z, startHeight, noise, defaultBlock, defaultFluid, seaLevel, seed, BOPSurfaceBuilders.ORANGE_SAND_SURFACE); + } + } +} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/MangroveSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/MangroveSurfaceBuilder.java similarity index 97% rename from src/main/java/biomesoplenty/common/world/gen/feature/MangroveSurfaceBuilder.java rename to src/main/java/biomesoplenty/common/world/gen/surfacebuilders/MangroveSurfaceBuilder.java index 001873a80..ed532e34a 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/MangroveSurfaceBuilder.java +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/MangroveSurfaceBuilder.java @@ -5,7 +5,7 @@ * * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. ******************************************************************************/ -package biomesoplenty.common.world.gen.feature; +package biomesoplenty.common.world.gen.surfacebuilders; import com.mojang.serialization.Codec; import net.minecraft.block.BlockState; diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/MarshSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/MarshSurfaceBuilder.java similarity index 97% rename from src/main/java/biomesoplenty/common/world/gen/feature/MarshSurfaceBuilder.java rename to src/main/java/biomesoplenty/common/world/gen/surfacebuilders/MarshSurfaceBuilder.java index bb95ea8eb..f901294ab 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/MarshSurfaceBuilder.java +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/MarshSurfaceBuilder.java @@ -5,7 +5,7 @@ * * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. ******************************************************************************/ -package biomesoplenty.common.world.gen.feature; +package biomesoplenty.common.world.gen.surfacebuilders; import com.mojang.serialization.Codec; import net.minecraft.block.BlockState; diff --git a/src/main/java/biomesoplenty/common/world/gen/feature/MudSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/MudSurfaceBuilder.java similarity index 96% rename from src/main/java/biomesoplenty/common/world/gen/feature/MudSurfaceBuilder.java rename to src/main/java/biomesoplenty/common/world/gen/surfacebuilders/MudSurfaceBuilder.java index fb329ce7e..73079ba3a 100644 --- a/src/main/java/biomesoplenty/common/world/gen/feature/MudSurfaceBuilder.java +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/MudSurfaceBuilder.java @@ -5,7 +5,7 @@ * * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. ******************************************************************************/ -package biomesoplenty.common.world.gen.feature; +package biomesoplenty.common.world.gen.surfacebuilders; import biomesoplenty.common.world.gen.surfacebuilders.BOPSurfaceBuilders; import com.mojang.serialization.Codec; diff --git a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OrangeSandstoneSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OrangeSandstoneSurfaceBuilder.java new file mode 100644 index 000000000..a300c7a3e --- /dev/null +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OrangeSandstoneSurfaceBuilder.java @@ -0,0 +1,100 @@ +package biomesoplenty.common.world.gen.surfacebuilders; + +import biomesoplenty.api.block.BOPBlocks; +import com.mojang.serialization.Codec; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.chunk.IChunk; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilder; +import net.minecraft.world.gen.surfacebuilders.SurfaceBuilderConfig; + +import java.util.Random; + +public class OrangeSandstoneSurfaceBuilder extends SurfaceBuilder { + public OrangeSandstoneSurfaceBuilder(Codec p_i232124_1_) { + super(p_i232124_1_); + } + + public void apply(Random random, IChunk chunkIn, Biome biomeIn, int x, int z, int startHeight, double noise, BlockState defaultBlock, BlockState defaultFluid, int seaLevel, long seed, SurfaceBuilderConfig config) { + this.apply(random, chunkIn, biomeIn, x, z, startHeight, noise, defaultBlock, defaultFluid, config.getTopMaterial(), config.getUnderMaterial(), config.getUnderwaterMaterial(), seaLevel); + } + + protected void apply(Random random, IChunk chunkIn, Biome biomeIn, int x, int z, int startHeight, double noise, BlockState defaultBlock, BlockState defaultFluid, BlockState top, BlockState middle, BlockState bottom, int sealevel) { + BlockState blockstate = top; + BlockState blockstate1 = middle; + BlockPos.Mutable blockpos$mutable = new BlockPos.Mutable(); + int i = -1; + int j = (int)(noise / 3.0D + 4.0D + random.nextDouble() * 0.25D); + int k = x & 15; + int l = z & 15; + + for(int i1 = startHeight; i1 >= 0; --i1) + { + blockpos$mutable.set(k, i1, l); + BlockState blockstate2 = chunkIn.getBlockState(blockpos$mutable); + if (blockstate2.isAir()) + { + i = -1; + } + else if (blockstate2.is(defaultBlock.getBlock())) + { + if (i == -1) + { + if (j <= 0) + { + blockstate = Blocks.AIR.defaultBlockState(); + blockstate1 = defaultBlock; + } + else if (i1 >= sealevel - 4 && i1 <= sealevel + 1) + { + blockstate = top; + blockstate1 = middle; + } + + if (i1 < sealevel && (blockstate == null || blockstate.isAir())) + { + if (biomeIn.getTemperature(blockpos$mutable.set(x, i1, z)) < 0.15F) + { + blockstate = Blocks.ICE.defaultBlockState(); + } + else + { + blockstate = defaultFluid; + } + + blockpos$mutable.set(k, i1, l); + } + + i = j; + if (i1 >= sealevel - 1) + { + chunkIn.setBlockState(blockpos$mutable, blockstate, false); + } + else if (i1 < sealevel - 7 - j) + { + blockstate = Blocks.AIR.defaultBlockState(); + blockstate1 = defaultBlock; + chunkIn.setBlockState(blockpos$mutable, bottom, false); + } + else + { + chunkIn.setBlockState(blockpos$mutable, blockstate1, false); + } + } + else if (i > 0) + { + --i; + chunkIn.setBlockState(blockpos$mutable, blockstate1, false); + if (i == 0 && blockstate1.is(BOPBlocks.orange_sand) && j > 1) + { + i = random.nextInt(4) + Math.max(0, i1 - 63); + blockstate1 = BOPBlocks.orange_sandstone.defaultBlockState(); + } + } + } + } + + } +} \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OriginHillsSurfaceBuilder.java b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OriginValleySurfaceBuilder.java similarity index 96% rename from src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OriginHillsSurfaceBuilder.java rename to src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OriginValleySurfaceBuilder.java index 64f826f52..e0360ea48 100644 --- a/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OriginHillsSurfaceBuilder.java +++ b/src/main/java/biomesoplenty/common/world/gen/surfacebuilders/OriginValleySurfaceBuilder.java @@ -16,12 +16,12 @@ import net.minecraft.world.gen.surfacebuilders.SurfaceBuilderConfig; import java.util.Random; import java.util.stream.IntStream; -public class OriginHillsSurfaceBuilder extends SurfaceBuilder +public class OriginValleySurfaceBuilder extends SurfaceBuilder { protected long seed; protected AlphaOctavePerlinNoise sandNoise; protected AlphaOctavePerlinNoise gravelNoise; - public OriginHillsSurfaceBuilder(Codec p_i232124_1_) + public OriginValleySurfaceBuilder(Codec p_i232124_1_) { super(p_i232124_1_); } diff --git a/src/main/java/biomesoplenty/init/ModBiomes.java b/src/main/java/biomesoplenty/init/ModBiomes.java index 26e477754..d0646a071 100644 --- a/src/main/java/biomesoplenty/init/ModBiomes.java +++ b/src/main/java/biomesoplenty/init/ModBiomes.java @@ -7,7 +7,6 @@ ******************************************************************************/ package biomesoplenty.init; -import biomesoplenty.api.biome.BOPBiomes; import biomesoplenty.api.enums.BOPClimates; import biomesoplenty.common.biome.BiomeMetadata; import biomesoplenty.common.biome.BiomeRegistry; @@ -21,16 +20,13 @@ import biomesoplenty.common.util.biome.BiomeUtil; import biomesoplenty.common.world.BOPBiomeGeneratorTypeScreen; import biomesoplenty.common.world.BOPBiomeProvider; import biomesoplenty.common.world.BOPNetherBiomeProvider; -import biomesoplenty.core.BiomesOPlenty; import com.google.common.collect.HashMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; -import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screen.BiomeGeneratorTypeScreens; import net.minecraft.entity.villager.VillagerType; import net.minecraft.util.RegistryKey; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.registry.Registry; import net.minecraft.world.biome.Biome; import net.minecraft.world.biome.BiomeColors; @@ -134,12 +130,12 @@ public class ModBiomes registerBiome(new BayouBiome(), "bayou"); registerBiome(new BogBiome(), "bog"); registerBiome(new BorealForestBiome(), "boreal_forest"); - registerBiome(new BrushlandBiome(), "brushland"); registerBiome(new ChaparralBiome(), "chaparral"); registerBiome(new CherryBlossomGroveBiome(), "cherry_blossom_grove"); registerBiome(new ColdDesertBiome(), "cold_desert"); registerBiome(new ConiferousForestBiome(), "coniferous_forest"); registerBiome(new DeadForestBiome(), "dead_forest"); + registerBiome(new DrylandBiome(), "dryland"); registerBiome(new FirClearingBiome(), "fir_clearing"); registerBiome(new FloodplainBiome(), "floodplain"); registerBiome(new FlowerMeadowBiome(), "flower_meadow"); @@ -150,6 +146,7 @@ public class ModBiomes registerBiome(new HighlandMoorBiome(), "highland_moor"); registerBiome(new JadeCliffsBiome(), "jade_cliffs"); registerBiome(new LavenderFieldBiome(), "lavender_field"); + registerBiome(new LushDesertBiome(), "lush_desert"); registerBiome(new LushGrasslandBiome(), "lush_grassland"); registerBiome(new LushSwampBiome(), "lush_swamp"); registerBiome(new MapleWoodsBiome(), "maple_woods"); @@ -158,16 +155,15 @@ public class ModBiomes registerBiome(new MireBiome(), "mire"); registerBiome(new MuskegBiome(), "muskeg"); registerBiome(new MysticGroveBiome(), "mystic_grove"); - registerBiome(new OasisBiome(), "oasis"); registerBiome(new OminousWoodsBiome(), "ominous_woods"); - registerBiome(new OriginHillsBiome(), "origin_hills"); + registerBiome(new OriginValleyBiome(), "origin_valley"); registerBiome(new OutbackBiome(), "outback"); registerBiome(new OvergrownCliffsBiome(), "overgrown_cliffs"); registerBiome(new PastureBiome(), "pasture"); registerBiome(new PoppyFieldBiome(), "poppy_field"); registerBiome(new PrairieBiome(), "prairie"); registerBiome(new PumpkinPatchBiome(), "pumpkin_patch"); - registerBiome(new RainbowValleyBiome(), "rainbow_valley"); + registerBiome(new RainbowHillsBiome(), "rainbow_hills"); registerBiome(new RainforestBiome(), "rainforest"); registerBiome(new RedwoodForestBiome(), "redwood_forest"); registerBiome(new ScrublandBiome(), "scrubland"); @@ -188,7 +184,6 @@ public class ModBiomes registerBiome(new WastelandBiome(), "wasteland"); registerBiome(new WetlandBiome(), "wetland"); registerBiome(new WoodlandBiome(), "woodland"); - registerBiome(new XericShrublandBiome(), "xeric_shrubland"); //Nether Biomes registerBiome(new CrystallineChasmBiome(), "crystalline_chasm"); @@ -200,8 +195,6 @@ public class ModBiomes BiomeRegistry.finalizeRegistrations(BiomeRegistry.RegistrationType.STANDARD_BIOME); //Sub/Island Biomes (Note: Rarity supports two decimal places) - registerSubBiome(Biomes.DESERT, oasis, 0.1F, 100); - registerSubBiome(brushland, xeric_shrubland, 1.0F, 100); registerSubBiome(coniferous_forest, fir_clearing, 0.38F, 100); registerSubBiome(highland, highland_moor, 0.75F, 100); registerSubBiome(meadow, flower_meadow, 0.5F, 100); @@ -213,17 +206,17 @@ public class ModBiomes BiomeRegistry.configureSubBiomes(); BiomeRegistry.finalizeRegistrations(BiomeRegistry.RegistrationType.SUB_BIOME); - registerIslandBiome(origin_hills, BOPClimates.COOL_TEMPERATE, 50); - registerIslandBiome(origin_hills, BOPClimates.DRY_TEMPERATE, 50); - registerIslandBiome(origin_hills, BOPClimates.WET_TEMPERATE, 75); + registerIslandBiome(origin_valley, BOPClimates.COOL_TEMPERATE, 50); + registerIslandBiome(origin_valley, BOPClimates.DRY_TEMPERATE, 50); + registerIslandBiome(origin_valley, BOPClimates.WET_TEMPERATE, 75); registerIslandBiome(volcano, BOPClimates.WARM_TEMPERATE, 75); registerIslandBiome(volcano, BOPClimates.MEDITERRANEAN, 75); registerIslandBiome(volcano, BOPClimates.SAVANNA, 50); - registerIslandBiome(rainbow_valley, BOPClimates.WET_TEMPERATE, 25); - registerIslandBiome(rainbow_valley, BOPClimates.WARM_TEMPERATE, 25); - registerIslandBiome(rainbow_valley, BOPClimates.MEDITERRANEAN, 25); + registerIslandBiome(rainbow_hills, BOPClimates.WET_TEMPERATE, 25); + registerIslandBiome(rainbow_hills, BOPClimates.WARM_TEMPERATE, 25); + registerIslandBiome(rainbow_hills, BOPClimates.MEDITERRANEAN, 25); registerIslandBiome(tropics, BOPClimates.SUBTROPICAL, 75); registerIslandBiome(tropics, BOPClimates.TROPICAL, 50); @@ -268,12 +261,12 @@ public class ModBiomes registerVillagerType(bayou, VillagerType.SWAMP); registerVillagerType(bog, VillagerType.SWAMP); registerVillagerType(boreal_forest, VillagerType.TAIGA); - registerVillagerType(brushland, VillagerType.SAVANNA); registerVillagerType(chaparral, VillagerType.PLAINS); registerVillagerType(cherry_blossom_grove, VillagerType.PLAINS); registerVillagerType(cold_desert, VillagerType.SNOW); registerVillagerType(coniferous_forest, VillagerType.TAIGA); registerVillagerType(dead_forest, VillagerType.TAIGA); + registerVillagerType(dryland, VillagerType.SAVANNA); registerVillagerType(fir_clearing, VillagerType.TAIGA); registerVillagerType(floodplain, VillagerType.JUNGLE); registerVillagerType(flower_meadow, VillagerType.TAIGA); @@ -285,6 +278,7 @@ public class ModBiomes registerVillagerType(highland_moor, VillagerType.PLAINS); registerVillagerType(jade_cliffs, VillagerType.PLAINS); registerVillagerType(lavender_field, VillagerType.PLAINS); + registerVillagerType(lush_desert, VillagerType.DESERT); registerVillagerType(lush_grassland, VillagerType.JUNGLE); registerVillagerType(lush_swamp, VillagerType.JUNGLE); registerVillagerType(mangrove, VillagerType.SWAMP); @@ -294,17 +288,16 @@ public class ModBiomes registerVillagerType(mire, VillagerType.SWAMP); registerVillagerType(muskeg, VillagerType.SNOW); registerVillagerType(mystic_grove, VillagerType.PLAINS); - registerVillagerType(oasis, VillagerType.DESERT); registerVillagerType(ominous_woods, VillagerType.SWAMP); registerVillagerType(orchard, VillagerType.PLAINS); - registerVillagerType(origin_hills, VillagerType.PLAINS); + registerVillagerType(origin_valley, VillagerType.PLAINS); registerVillagerType(outback, VillagerType.SAVANNA); registerVillagerType(overgrown_cliffs, VillagerType.JUNGLE); registerVillagerType(pasture, VillagerType.PLAINS); registerVillagerType(poppy_field, VillagerType.PLAINS); registerVillagerType(prairie, VillagerType.PLAINS); registerVillagerType(pumpkin_patch, VillagerType.PLAINS); - registerVillagerType(rainbow_valley, VillagerType.PLAINS); + registerVillagerType(rainbow_hills, VillagerType.PLAINS); registerVillagerType(rainforest, VillagerType.JUNGLE); registerVillagerType(redwood_forest, VillagerType.PLAINS); registerVillagerType(redwood_forest_edge, VillagerType.PLAINS); @@ -328,7 +321,6 @@ public class ModBiomes registerVillagerType(wasteland, VillagerType.DESERT); registerVillagerType(wetland, VillagerType.SWAMP); registerVillagerType(woodland, VillagerType.PLAINS); - registerVillagerType(xeric_shrubland, VillagerType.DESERT); } private static void registerVillagerType(RegistryKey key, VillagerType type) diff --git a/src/main/java/biomesoplenty/init/ModBlocks.java b/src/main/java/biomesoplenty/init/ModBlocks.java index 6300416f3..2e02e597d 100644 --- a/src/main/java/biomesoplenty/init/ModBlocks.java +++ b/src/main/java/biomesoplenty/init/ModBlocks.java @@ -48,6 +48,18 @@ public class ModBlocks cut_white_sandstone_slab = registerBlock(new SlabBlock(Block.Properties.copy(cut_white_sandstone)), "cut_white_sandstone_slab"); chiseled_white_sandstone = registerBlock(new Block(AbstractBlock.Properties.of(Material.STONE, MaterialColor.QUARTZ).strength(0.8F)), "chiseled_white_sandstone"); + orange_sand = registerBlock(new SandBlockBOP(0xCC9A61, AbstractBlock.Properties.of(Material.SAND, MaterialColor.COLOR_ORANGE).strength(0.5F).sound(SoundType.SAND).harvestLevel(0).harvestTool(ToolType.SHOVEL)), "orange_sand"); + orange_sandstone = registerBlock(new Block(AbstractBlock.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(0.8F)), "orange_sandstone"); + orange_sandstone_stairs = registerBlock(new StairsBlock(orange_sandstone.defaultBlockState(), Block.Properties.copy(orange_sandstone)), "orange_sandstone_stairs"); + orange_sandstone_slab = registerBlock(new SlabBlock(Block.Properties.copy(orange_sandstone)), "orange_sandstone_slab"); + orange_sandstone_wall = registerBlock(new WallBlock(Block.Properties.copy(orange_sandstone)),"orange_sandstone_wall"); + smooth_orange_sandstone = registerBlock(new Block(AbstractBlock.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(2.0F, 6.0F)), "smooth_orange_sandstone"); + smooth_orange_sandstone_stairs = registerBlock(new StairsBlock(orange_sandstone.defaultBlockState(), Block.Properties.copy(smooth_orange_sandstone)), "smooth_orange_sandstone_stairs"); + smooth_orange_sandstone_slab = registerBlock(new SlabBlock(Block.Properties.copy(smooth_orange_sandstone)), "smooth_orange_sandstone_slab"); + cut_orange_sandstone = registerBlock(new Block(AbstractBlock.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(0.8F)), "cut_orange_sandstone"); + cut_orange_sandstone_slab = registerBlock(new SlabBlock(Block.Properties.copy(cut_orange_sandstone)), "cut_orange_sandstone_slab"); + chiseled_orange_sandstone = registerBlock(new Block(AbstractBlock.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(0.8F)), "chiseled_orange_sandstone"); + black_sand = registerBlock(new SandBlockBOP(0x2D2C2F, AbstractBlock.Properties.of(Material.SAND, MaterialColor.COLOR_BLACK).strength(0.5F).sound(SoundType.SAND).harvestLevel(0).harvestTool(ToolType.SHOVEL)), "black_sand"); black_sandstone = registerBlock(new Block(AbstractBlock.Properties.of(Material.STONE, MaterialColor.COLOR_BLACK).strength(0.8F)), "black_sandstone"); black_sandstone_stairs = registerBlock(new StairsBlock(black_sandstone.defaultBlockState(), Block.Properties.copy(black_sandstone)), "black_sandstone_stairs"); diff --git a/src/main/resources/assets/biomesoplenty/blockstates/chiseled_orange_sandstone.json b/src/main/resources/assets/biomesoplenty/blockstates/chiseled_orange_sandstone.json new file mode 100644 index 000000000..801d89909 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/chiseled_orange_sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "biomesoplenty:block/chiseled_orange_sandstone" } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone.json b/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone.json new file mode 100644 index 000000000..a0a298502 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "biomesoplenty:block/cut_orange_sandstone" } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone_slab.json new file mode 100644 index 000000000..cee840dbd --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/cut_orange_sandstone_slab.json @@ -0,0 +1,7 @@ +{ + "variants": { + "type=bottom": { "model": "biomesoplenty:block/cut_orange_sandstone_slab" }, + "type=top": { "model": "biomesoplenty:block/cut_orange_sandstone_slab_top" }, + "type=double": { "model": "biomesoplenty:block/cut_orange_sandstone" } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/orange_sand.json b/src/main/resources/assets/biomesoplenty/blockstates/orange_sand.json new file mode 100644 index 000000000..9ceebac8b --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/orange_sand.json @@ -0,0 +1,10 @@ +{ + "variants": { + "": [ + { "model": "biomesoplenty:block/orange_sand" }, + { "model": "biomesoplenty:block/orange_sand", "y": 90 }, + { "model": "biomesoplenty:block/orange_sand", "y": 180 }, + { "model": "biomesoplenty:block/orange_sand", "y": 270 } + ] + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone.json b/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone.json new file mode 100644 index 000000000..b3f70b723 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "biomesoplenty:block/orange_sandstone" } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_slab.json new file mode 100644 index 000000000..8a49a2108 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_slab.json @@ -0,0 +1,7 @@ +{ + "variants": { + "type=bottom": { "model": "biomesoplenty:block/orange_sandstone_slab" }, + "type=top": { "model": "biomesoplenty:block/orange_sandstone_slab_top" }, + "type=double": { "model": "biomesoplenty:block/orange_sandstone" } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_stairs.json new file mode 100644 index 000000000..02b4d280c --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:block/orange_sandstone_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:block/orange_sandstone_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:block/orange_sandstone_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:block/orange_sandstone_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer" }, + "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer" }, + "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner" }, + "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner" }, + "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "biomesoplenty:block/orange_sandstone_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "biomesoplenty:block/orange_sandstone_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "biomesoplenty:block/orange_sandstone_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "biomesoplenty:block/orange_sandstone_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_outer", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:block/orange_sandstone_stairs_inner", "x": 180, "y": 270, "uvlock": true } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_wall.json b/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_wall.json new file mode 100644 index 000000000..dd96d6b94 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/orange_sandstone_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "biomesoplenty:block/orange_sandstone_wall_post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "biomesoplenty:block/orange_sandstone_wall_side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "biomesoplenty:block/orange_sandstone_wall_side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "biomesoplenty:block/orange_sandstone_wall_side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "biomesoplenty:block/orange_sandstone_wall_side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "biomesoplenty:block/orange_sandstone_wall_side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "biomesoplenty:block/orange_sandstone_wall_side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "biomesoplenty:block/orange_sandstone_wall_side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "biomesoplenty:block/orange_sandstone_wall_side_tall", + "y": 270, + "uvlock": true + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/blockstates/origin_grass_block.json b/src/main/resources/assets/biomesoplenty/blockstates/origin_grass_block.json index c4ac86ab2..72fe55468 100644 --- a/src/main/resources/assets/biomesoplenty/blockstates/origin_grass_block.json +++ b/src/main/resources/assets/biomesoplenty/blockstates/origin_grass_block.json @@ -1,8 +1,22 @@ { "variants": { - "snowy=false": { - "model": "biomesoplenty:block/origin_grass_block" - }, + "snowy=false": [ + { + "model": "biomesoplenty:block/origin_grass_block" + }, + { + "model": "biomesoplenty:block/origin_grass_block", + "y": 90 + }, + { + "model": "biomesoplenty:block/origin_grass_block", + "y": 180 + }, + { + "model": "biomesoplenty:block/origin_grass_block", + "y": 270 + } + ], "snowy=true": { "model": "biomesoplenty:block/origin_grass_block_snow" } diff --git a/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone.json b/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone.json new file mode 100644 index 000000000..7d7e3e120 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "biomesoplenty:block/smooth_orange_sandstone" } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_slab.json new file mode 100644 index 000000000..7c678b301 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_slab.json @@ -0,0 +1,7 @@ +{ + "variants": { + "type=bottom": { "model": "biomesoplenty:block/smooth_orange_sandstone_slab" }, + "type=top": { "model": "biomesoplenty:block/smooth_orange_sandstone_slab_top" }, + "type=double": { "model": "biomesoplenty:block/smooth_orange_sandstone" } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_stairs.json new file mode 100644 index 000000000..59c1954af --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/blockstates/smooth_orange_sandstone_stairs.json @@ -0,0 +1,44 @@ +{ + "variants": { + "facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs" }, + "facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer" }, + "facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer" }, + "facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "y": 180, "uvlock": true }, + "facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner" }, + "facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "y": 180, "uvlock": true }, + "facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "y": 90, "uvlock": true }, + "facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "y": 270, "uvlock": true }, + "facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "y": 270, "uvlock": true }, + "facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "y": 90, "uvlock": true }, + "facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner" }, + "facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "y": 180, "uvlock": true }, + "facing=east,half=top,shape=straight": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=straight": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=straight": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=straight": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_outer", "x": 180, "y": 270, "uvlock": true }, + "facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "x": 180, "y": 90, "uvlock": true }, + "facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "x": 180, "y": 270, "uvlock": true }, + "facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "x": 180, "y": 180, "uvlock": true }, + "facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "x": 180, "uvlock": true }, + "facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "x": 180, "uvlock": true }, + "facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "x": 180, "y": 180, "uvlock": true }, + "facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "x": 180, "y": 90, "uvlock": true }, + "facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:block/smooth_orange_sandstone_stairs_inner", "x": 180, "y": 270, "uvlock": true } + } +} diff --git a/src/main/resources/assets/biomesoplenty/blockstates/umbran_log.json b/src/main/resources/assets/biomesoplenty/blockstates/umbran_log.json index c48cb4dfe..21708c335 100644 --- a/src/main/resources/assets/biomesoplenty/blockstates/umbran_log.json +++ b/src/main/resources/assets/biomesoplenty/blockstates/umbran_log.json @@ -1,7 +1,16 @@ { "variants": { - "axis=y": { "model": "biomesoplenty:block/umbran_log" }, - "axis=z": { "model": "biomesoplenty:block/umbran_log", "x": 90 }, - "axis=x": { "model": "biomesoplenty:block/umbran_log", "x": 90, "y": 90 } + "axis=y": [ + { "model": "biomesoplenty:block/umbran_log" }, + { "model": "biomesoplenty:block/umbran_log_holes" } + ], + "axis=z": [ + { "model": "biomesoplenty:block/umbran_log", "x": 90 }, + { "model": "biomesoplenty:block/umbran_log_holes", "x": 90 } + ], + "axis=x": [ + { "model": "biomesoplenty:block/umbran_log", "x": 90, "y": 90 }, + { "model": "biomesoplenty:block/umbran_log_holes", "x": 90, "y": 90 } + ] } } diff --git a/src/main/resources/assets/biomesoplenty/blockstates/umbran_wood.json b/src/main/resources/assets/biomesoplenty/blockstates/umbran_wood.json index 0bccb9837..93f78323e 100644 --- a/src/main/resources/assets/biomesoplenty/blockstates/umbran_wood.json +++ b/src/main/resources/assets/biomesoplenty/blockstates/umbran_wood.json @@ -1,7 +1,16 @@ { "variants": { - "axis=y": { "model": "biomesoplenty:block/umbran_wood" }, - "axis=z": { "model": "biomesoplenty:block/umbran_wood", "x": 90 }, - "axis=x": { "model": "biomesoplenty:block/umbran_wood", "x": 90, "y": 90 } + "axis=y": [ + { "model": "biomesoplenty:block/umbran_wood" }, + { "model": "biomesoplenty:block/umbran_wood_holes" } + ], + "axis=z": [ + { "model": "biomesoplenty:block/umbran_wood", "x": 90 }, + { "model": "biomesoplenty:block/umbran_wood_holes", "x": 90 } + ], + "axis=x": [ + { "model": "biomesoplenty:block/umbran_wood", "x": 90, "y": 90 }, + { "model": "biomesoplenty:block/umbran_wood_holes", "x": 90, "y": 90 } + ] } } diff --git a/src/main/resources/assets/biomesoplenty/lang/en_us.json b/src/main/resources/assets/biomesoplenty/lang/en_us.json index 320694d43..d97463dd7 100644 --- a/src/main/resources/assets/biomesoplenty/lang/en_us.json +++ b/src/main/resources/assets/biomesoplenty/lang/en_us.json @@ -12,13 +12,13 @@ "biome.biomesoplenty.bayou": "Bayou", "biome.biomesoplenty.bog": "Bog", "biome.biomesoplenty.boreal_forest": "Boreal Forest", - "biome.biomesoplenty.brushland": "Brushland", "biome.biomesoplenty.chaparral": "Chaparral", "biome.biomesoplenty.cherry_blossom_grove": "Cherry Blossom Grove", "biome.biomesoplenty.cold_desert": "Cold Desert", "biome.biomesoplenty.coniferous_forest": "Coniferous Forest", "biome.biomesoplenty.crystalline_chasm": "Crystalline Chasm", "biome.biomesoplenty.dead_forest": "Dead Forest", + "biome.biomesoplenty.dryland": "Dryland", "biome.biomesoplenty.fir_clearing": "Fir Clearing", "biome.biomesoplenty.floodplain": "Floodplain", "biome.biomesoplenty.flower_meadow": "Flower Meadow", @@ -30,6 +30,7 @@ "biome.biomesoplenty.highland_moor": "Highland Moor", "biome.biomesoplenty.jade_cliffs": "Jade Cliffs", "biome.biomesoplenty.lavender_field": "Lavender Field", + "biome.biomesoplenty.lush_desert": "Lush Desert", "biome.biomesoplenty.lush_grassland": "Lush Grassland", "biome.biomesoplenty.lush_swamp": "Lush Swamp", "biome.biomesoplenty.mangrove": "Mangrove", @@ -39,17 +40,16 @@ "biome.biomesoplenty.mire": "Mire", "biome.biomesoplenty.muskeg": "Muskeg", "biome.biomesoplenty.mystic_grove": "Mystic Grove", - "biome.biomesoplenty.oasis": "Oasis", "biome.biomesoplenty.ominous_woods": "Ominous Woods", "biome.biomesoplenty.orchard": "Orchard", - "biome.biomesoplenty.origin_hills": "Origin Hills", + "biome.biomesoplenty.origin_valley": "Origin Valley", "biome.biomesoplenty.outback": "Outback", "biome.biomesoplenty.overgrown_cliffs": "Overgrown Cliffs", "biome.biomesoplenty.pasture": "Pasture", "biome.biomesoplenty.poppy_field": "Poppy Field", "biome.biomesoplenty.prairie": "Prairie", "biome.biomesoplenty.pumpkin_patch": "Pumpkin Patch", - "biome.biomesoplenty.rainbow_valley": "Rainbow Valley", + "biome.biomesoplenty.rainbow_hills": "Rainbow Hills", "biome.biomesoplenty.rainforest": "Rainforest", "biome.biomesoplenty.redwood_forest": "Redwood Forest", "biome.biomesoplenty.redwood_forest_edge": "Redwood Forest Edge", @@ -76,7 +76,6 @@ "biome.biomesoplenty.wetland": "Wetland", "biome.biomesoplenty.withered_abyss": "Withered Abyss", "biome.biomesoplenty.woodland": "Woodland", - "biome.biomesoplenty.xeric_shrubland": "Xeric Shrubland", "item.biomesoplenty.bop_icon": "BOP Icon", "item.biomesoplenty.cherry_boat": "Cherry Boat", @@ -121,6 +120,9 @@ "block.biomesoplenty.chiseled_black_sandstone": "Chiseled Black Sandstone", "block.biomesoplenty.cut_black_sandstone": "Cut Black Sandstone", "block.biomesoplenty.cut_black_sandstone_slab": "Cut Black Sandstone Slab", + "block.biomesoplenty.chiseled_orange_sandstone": "Chiseled Orange Sandstone", + "block.biomesoplenty.cut_orange_sandstone": "Cut Orange Sandstone", + "block.biomesoplenty.cut_orange_sandstone_slab": "Cut Orange Sandstone Slab", "block.biomesoplenty.chiseled_white_sandstone": "Chiseled White Sandstone", "block.biomesoplenty.cut_white_sandstone": "Cut White Sandstone", "block.biomesoplenty.cut_white_sandstone_slab": "Cut White Sandstone Slab", @@ -240,6 +242,11 @@ "block.biomesoplenty.orange_autumn_leaves": "Orange Autumn Leaves", "block.biomesoplenty.orange_autumn_sapling": "Orange Autumn Sapling", "block.biomesoplenty.orange_cosmos": "Orange Cosmos", + "block.biomesoplenty.orange_sand": "Orange Sand", + "block.biomesoplenty.orange_sandstone": "Orange Sandstone", + "block.biomesoplenty.orange_sandstone_slab": "Orange Sandstone Slab", + "block.biomesoplenty.orange_sandstone_stairs": "Orange Sandstone Stairs", + "block.biomesoplenty.orange_sandstone_wall": "Orange Sandstone Wall", "block.biomesoplenty.origin_grass_block": "Origin Grass Block", "block.biomesoplenty.origin_leaves": "Origin Leaves", "block.biomesoplenty.origin_sapling": "Origin Sapling", @@ -315,6 +322,9 @@ "block.biomesoplenty.smooth_black_sandstone": "Smooth Black Sandstone", "block.biomesoplenty.smooth_black_sandstone_slab": "Smooth Black Sandstone Slab", "block.biomesoplenty.smooth_black_sandstone_stairs": "Smooth Black Sandstone Stairs", + "block.biomesoplenty.smooth_orange_sandstone": "Smooth Orange Sandstone", + "block.biomesoplenty.smooth_orange_sandstone_slab": "Smooth Orange Sandstone Slab", + "block.biomesoplenty.smooth_orange_sandstone_stairs": "Smooth Orange Sandstone Stairs", "block.biomesoplenty.smooth_white_sandstone": "Smooth White Sandstone", "block.biomesoplenty.smooth_white_sandstone_slab": "Smooth White Sandstone Slab", "block.biomesoplenty.smooth_white_sandstone_stairs": "Smooth White Sandstone Stairs", diff --git a/src/main/resources/assets/biomesoplenty/models/block/chiseled_orange_sandstone.json b/src/main/resources/assets/biomesoplenty/models/block/chiseled_orange_sandstone.json new file mode 100644 index 000000000..b30247501 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/chiseled_orange_sandstone.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/chiseled_orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone.json b/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone.json new file mode 100644 index 000000000..b2da47739 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/cut_orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab.json new file mode 100644 index 000000000..9e5d450d8 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "block/slab", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_top", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/cut_orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab_top.json b/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab_top.json new file mode 100644 index 000000000..6c729c304 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/cut_orange_sandstone_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "block/slab_top", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_top", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/cut_orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sand.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sand.json new file mode 100644 index 000000000..dc5bd6084 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sand.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "biomesoplenty:block/orange_sand" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone.json new file mode 100644 index 000000000..384a219ba --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_bottom", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab.json new file mode 100644 index 000000000..5bdae15d2 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "block/slab", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_bottom", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab_top.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab_top.json new file mode 100644 index 000000000..fa090bfac --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "block/slab_top", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_bottom", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs.json new file mode 100644 index 000000000..ad8006bf2 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_bottom", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_inner.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_inner.json new file mode 100644 index 000000000..f832cc1f8 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_bottom", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_outer.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_outer.json new file mode 100644 index 000000000..503712b3d --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_bottom", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_inventory.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_inventory.json new file mode 100644 index 000000000..702344a76 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "biomesoplenty:block/orange_sandstone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_post.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_post.json new file mode 100644 index 000000000..d6f748b4b --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "biomesoplenty:block/orange_sandstone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side.json new file mode 100644 index 000000000..92dfe74b6 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "biomesoplenty:block/orange_sandstone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side_tall.json b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side_tall.json new file mode 100644 index 000000000..202275fba --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/orange_sandstone_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "biomesoplenty:block/orange_sandstone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snow.json b/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snow.json index ed6bd5acc..b7846792e 100644 --- a/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snow.json +++ b/src/main/resources/assets/biomesoplenty/models/block/origin_grass_block_snow.json @@ -3,7 +3,7 @@ "textures": { "top": "biomesoplenty:block/origin_grass_block_top", "bottom": "minecraft:block/dirt", - "side": "biomesoplenty:block/origin_grass_block_snow", + "side": "minecraft:block/grass_block_snow", "particle": "minecraft:block/dirt" } } \ No newline at end of file diff --git a/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone.json b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone.json new file mode 100644 index 000000000..8fb8f5060 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "biomesoplenty:block/orange_sandstone_top" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab.json new file mode 100644 index 000000000..a145f0035 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "block/slab", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_top", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone_top" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab_top.json b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab_top.json new file mode 100644 index 000000000..f6d6d8cf5 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "block/slab_top", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_top", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone_top" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs.json new file mode 100644 index 000000000..9acb61d19 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "block/stairs", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_top", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone_top" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_inner.json b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_inner.json new file mode 100644 index 000000000..b9dda3576 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "block/inner_stairs", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_top", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone_top" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_outer.json b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_outer.json new file mode 100644 index 000000000..14c556569 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/smooth_orange_sandstone_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "block/outer_stairs", + "textures": { + "bottom": "biomesoplenty:block/orange_sandstone_top", + "top": "biomesoplenty:block/orange_sandstone_top", + "side": "biomesoplenty:block/orange_sandstone_top" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_log_holes.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_log_holes.json new file mode 100644 index 000000000..70af6923f --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/umbran_log_holes.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:block/umbran_log_top", + "side": "biomesoplenty:block/umbran_log_holes" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/block/umbran_wood_holes.json b/src/main/resources/assets/biomesoplenty/models/block/umbran_wood_holes.json new file mode 100644 index 000000000..f5d273854 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/block/umbran_wood_holes.json @@ -0,0 +1,7 @@ +{ + "parent": "block/cube_column", + "textures": { + "end": "biomesoplenty:block/umbran_log_holes", + "side": "biomesoplenty:block/umbran_log_holes" + } +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/chiseled_orange_sandstone.json b/src/main/resources/assets/biomesoplenty/models/item/chiseled_orange_sandstone.json new file mode 100644 index 000000000..85514370d --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/chiseled_orange_sandstone.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/chiseled_orange_sandstone" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone.json b/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone.json new file mode 100644 index 000000000..b638a29bd --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/cut_orange_sandstone" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone_slab.json new file mode 100644 index 000000000..3e98c6567 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/cut_orange_sandstone_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/cut_orange_sandstone_slab" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/orange_sand.json b/src/main/resources/assets/biomesoplenty/models/item/orange_sand.json new file mode 100644 index 000000000..125120f27 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/orange_sand.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/orange_sand" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone.json b/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone.json new file mode 100644 index 000000000..c8f1a1b76 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/orange_sandstone" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_slab.json new file mode 100644 index 000000000..5fc762d79 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/orange_sandstone_slab" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_stairs.json new file mode 100644 index 000000000..1cbb92beb --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/orange_sandstone_stairs" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_wall.json b/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_wall.json new file mode 100644 index 000000000..acb7fdd4f --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/orange_sandstone_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/orange_sandstone_wall_inventory" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone.json b/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone.json new file mode 100644 index 000000000..763a0511b --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/smooth_orange_sandstone" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_slab.json b/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_slab.json new file mode 100644 index 000000000..eb335c25b --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/smooth_orange_sandstone_slab" +} diff --git a/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_stairs.json b/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_stairs.json new file mode 100644 index 000000000..5540c9430 --- /dev/null +++ b/src/main/resources/assets/biomesoplenty/models/item/smooth_orange_sandstone_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "biomesoplenty:block/smooth_orange_sandstone_stairs" +} diff --git a/src/main/resources/assets/biomesoplenty/textures/block/cattail_bottom.png b/src/main/resources/assets/biomesoplenty/textures/block/cattail_bottom.png index 07dc1f0eb9cf26639f2fb6b118ee4310b5811755..8bd26640fdbb36ecf8ae83f14aa23625edf03bc4 100644 GIT binary patch delta 289 zcmV++0p9-V0__5jReu2jNklb;@5JlHS5e*G;lk`*(TqQksNKTVGhWa1Rx zpZkvJy35aBjn&}zvFo^0atiKcBGYOBZLx%peMr*vbiUKYt$!S0YMS4#L)V%N_654B z7@?zyT5b&31(9O9)nvgZ@;rpWR0j&jCK6$QNG5F;pQvpV2JLbj6)#^`wU~v=C=3v} zi3I*P`V`U)w*?>FUkUU~o}-1rIh{w(DMQiYXzgT00000NkvXXu0mjfjzWZ0 delta 286 zcmV+(0pb4b0_p;gReu2gNkl+yK(C=x=@XRw-nUirCNjP;Ir%PZv%9+y{&zQB37o`rOb z$OJ&>%|}W&Zx2NZBc8W=O|<6Vx;w@qc4}9p^p}$uBL@+S#(xn|Y&&@;HkS#Y8;gA> zf)0sH;I!GtB#J%JFOR!Y0Z$;{#*YNBfeMg_*mt)h`9>vkl7G4Anjq@PQq8+NjS90_r4iB#rD1O+_`{80cF)arKB8UPV4j-Reu1-Nklsz~;-&IW#(arvR)7XSv|$k$N);pAS~dk z45T1zWGs=R1Ef&Jkk!InfX%760J2)jQzDdRU=_x1mSnCjJepC|!u$fl*!(LTsr4US f9LAT((fJPm{gjK<7utq_E3@FcSkFQ0#5+UxbefOhbh* z0A2$?fR~#S%EAud2H>*=8-S??8-UNLpTB;GvJe1SJ=_J@ociL^FBBRXz|><61Ib)n zxJ%xA`UYiT2Vetww_aep|NJcj%vsMTUuHx$1R21b4^j`(2Y+_~x^sWO{l~CVmXTo| z^B0Dthp#b$1%Uuv9f}u_o%?3lRmQ(xeljrgutP-<09hT@Fc68-CMrt7>X4JAfUoj@ z;YckY6CnoUOXTQ)X%I$MhvEW|b3x8V2CTwN;8+2L2@D{s0~>%G;_o-zfd?22fHb2U z3{wX-0AI9$04hi`vcVu%!2p~EvISX!kgFg8&APx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0dq-2K~y+TeUm#* z!$1%~*Oo9g=BorLK!7F@4OieI+<=xohu{vBRJj5r6%vYsNCO0jgdwDDpq@EHzH&^r(2xK17iwnMj);^hILRJ*cm9esU-o ze5P-r_>EB#k9V{DS;Esp-)wBv#+q43zk7Z4{lI7#iIP$l{CU&w^`@dOhO4GlubaW( zRm#wEhS9Teao_?A1&?rfbGJEJoY7MzK1c$gcS)Dca&=uK26()^nUY}pDKZ6W0a8_C zV{c!g0#WTt_{{}N<|Vo}PWSA%pkeli?5H>ck;~vGW27dHpceq$T6J6Y>Z5k`mkeZA zqH}p6k_$VHrtE?7d44b%qf8-=W0|`yjC3EU6+1d?jFPkBVgPzjsjSGJ=4l`F3)P0| znTJ3!P;}Nn2BcqZo}RVo@&I2Ji*ezgKMLuqO?74Iv|9%Sk?c8xJq@t!KmNvi0b5WV UKQDWF_y7O^07*qoM6N<$f_dQ03;+NC literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/biomesoplenty/textures/block/cut_orange_sandstone.png b/src/main/resources/assets/biomesoplenty/textures/block/cut_orange_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..281afc4c04ee96a9e9a8b2c5b083e80a9e9add01 GIT binary patch literal 414 zcmV;P0b%}$P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0W(QNK~y+TeUo8I z!$1&)C;KC&Mo{P<#j|)3Z{Q(%2=CwtdIhf_g5WPf6l_6jV`BUf{ic0o*xEh_GduhC z?VH_f@id(bmZ9$(E6dvBKJ;B{#r@6I@YQ{Lp=~;k5u>{D$eeN@ZgG2k=?;F{PcQt3 zW%Itywz0E?m*-bIJ3n1lwt@Y}hr5-)axwEFtsGVd9tEt9$H$(}=O5mN+F8urEcwhI zSj0qJ3?NeDi)X+_w3e`|MG%;XKvV}NM4?140z_;gA|a7AR)hyqS&cS3K<3-k28eFK z<_vP1xk%oMau<*qz+xoIG7vA$C+-_k6w$Q-^%`q%HBRwo(QeVcg!7g(_FK?^m=gt^ zf$X!{QGK#H1NF_HB^N~H0`CP!v0h9k7XwQ9gP{iYJtQ-;Uvf{$7D|x(P5=M^07*qo IM6N<$f?Q6mB>(^b literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/biomesoplenty/textures/block/dune_grass.png b/src/main/resources/assets/biomesoplenty/textures/block/dune_grass.png index f6a3b5107f70f91f3eb02305d54c6e621e26e43d..1120db639399519b8b97ecdfc9b27710902cb193 100644 GIT binary patch delta 456 zcmV;(0XP1}1e64jR)48UL_t(IPkmA`EJINgeeVyNNLvwYLK7s!%4#y1*lHFrAYs8` zAko3Vpcoh>V((_sNradLwNR33@{v~1U*uQhbB^Ah7m1#vefQpX-#O>q_m$^)|Nf5l zSAUk;bxYNNeVbFq>7-Xp3FN2?NMJT?t;PK~*3nK9AhkQfdVl65qaNS#tN|o2l_qCW zT1Zd_iHXnp7xqX$2}DT_Hb+8OScl@mY`^zVbXdclc@5tInoV`!^x{yB&2Q^iYnXeu zMtpcjo6an-4UKPTC;?a5q7pR#>f%W1;ux?HfTXGIi-q;g1C4bhG3Y@x6b`Ts*!dDy zi1`jow&|%p+JARmT@`8wFn3C>y1ps$70PafeHf%TrUQ_`UQ6`XYFB53cSel+&n5P> z*as2zF6}IHIsluf0%(T1TnE5Da&tZyxP?jQp6;kpt+QDmv5-p+GQ<}CmXc{6HV+E! z3l3kRnkvi$z>pF1J3xX}Hi2NE&R=DCe*s|&*5x1uHbF7kOJ?)X$9u(hhaNbRGkSS( yfJx!Gta`d*>g?QB(Z-;k{yC;&;e7=X=ln ze$PF5?tj?Xewv)6f57L%v-nROe5w5^?TW ziUShxor(`$2POiKh>u3lQjhgZz?|%2F3J$Z<9O%pwWM*}7RQcbmv~n;3*7dQa}Rh*z820dc*!l;D~k z8xarc2j3Ji8-GsVtF5eF)%fl2KU`*Tk-9U;tJP!u3!Pr9J{D;cYXU?VFQ15Y0p!TJl$xUKq$1qWQPVvv-PCTV*$H6DVb0yVznt{rpDvRgcUy0Y2^aeDFW2jy{sZ(dQR;j~-$;o2;^iy4 wNW;v`B{gyhOy_foW2uQ@PqWn(-|5Bf1XYAGm~GrV)&Kwi07*qoM6N<$g1x#1M*si- diff --git a/src/main/resources/assets/biomesoplenty/textures/block/orange_sand.png b/src/main/resources/assets/biomesoplenty/textures/block/orange_sand.png new file mode 100644 index 0000000000000000000000000000000000000000..a2628dc33b4c7a82ccc198fa2ac586e447078481 GIT binary patch literal 435 zcmV;k0ZjghP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940Z2(iK~y+Tb&|_U z13?f)D-CKUXao~v#Q8zDev?bT$Cb+wLr9`V$tW%&r{IKE@WN2lw_dkvdh~dIyMNuh z1ei?5vDHp&M_&?!fL&o?gr|21l-qi02i2KyJI9#+eU==GO5- zp@fNb6P_!7g=ugA9-q9TOsulFvm96a*sgx5vw12opk*4*y5?%j4)9e|{w6RD)SS}* d&5cDw`~YwZI668<;b8y(002ovPDHLkV1hDCyGsB7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone.png b/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c13040144593363e85ac0de5bd05185c4efdb5 GIT binary patch literal 517 zcmV+g0{Z=lP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0h&ofK~y+TeUrON z15pr$XBUhc<0X;^QKL2qf(TZYK7ub{XKSC{hp@D?$^-ZU+6WSmY-5ZXFv0b*CdOjr zo6RhnMf~A#cJ4F(oOL?QMkE=G$D!nM1-<{ncr+BJb$%RujlNYe3`csWkuP|9W3z8y zzD~1oFxA0)p{Vy~80ZcD(it58;v{O_T&Yu~T9urapO|8F{I+b?>JurJNrXRoHwa>3 zvAiOK!J8mIKlT!5k}@lL4u0m3?BYnK_x_9g3_oPfo0U>&DX9eD2tD9NUo6IBIoD@L z2?rzr+4-pkAdVttU)!orCm<_))V6mMF6d+?zo3C>j;ur1sy^MfRY@={+sp)6FnZ&| zh*b^<22`>)VKe%7w^|83Bbc2e6w?umAhxi&UQr{UJF8?H0hR>2c7THO+J8_-IzBQc{g zvTO4Y2v9;Aqd=quF`f~MOqV22-T_L3?VBW7nN0y!D1e-r54-p5C00000NkvXX Hu0mjf=7iEu literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_bottom.png b/src/main/resources/assets/biomesoplenty/textures/block/orange_sandstone_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..d71731aeda6e37bef64ad36a9f183f6f2814e25c GIT binary patch literal 518 zcmV+h0{Q)kP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0h>ugK~y+TU6V~p z13?glYX;Pe@n<9vqDI{$2qL(0=@Gny_i*naJcS4F0=f}IkYuAq4Vd8g6KB-L=vVSW z>w{sYtNXorRb3MuAMBP3^;N6Y<_+|FJ)5g9+RNb48qKD?7atx6X`0$ix8wWMl_`(K zB6CoO@2@-dHp;Afb>V9PGI5cI!)J?54);nFfwBs?fiP1|{SB7a+n#{LU-_#=XGi-b z0S<+h^HE_*wc?^{t+vMiE&zg?+dCGsfQ$<)0mw@$jj^N8BDXBd{E=Inuyz45a2QL} zM^98Qz?JIeO`L`TFTuZlfCvx~$Q{5LNy2{o5kU3w{M1?-TQ*rqJcg5rWY&q46UGsW zm6b*kgp6g?3`u0->W3QZJ%9|zq+3vp%mSH+Q-bypA(@vD4hG$46NFcYJ6r&Xui)Q@K*+ZC8 zDLGa>5CK7&MkzE>B+64mS>qD%@f;8obl-^lUvpF7cc3!+275YMC9}t@g8%>k07*qo IM6N<$f?Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0XRuSK~y+TU6X-s z!Y~X(Ll9-1s%@HJKgMVAOZzCws&y?wTi%iDte#XH+ZX%dkj>}$^!t81rg@qZX!cEd ze%hx?|0Um;Z}-&fw#v&dd}6tKc~!t5@%=N2=nrDowX(4h$V){!cta(jgf*QV8?L?9 zd=$+l;Q$k{C;@H)hvNdP$(9>Il1{+6$dTHj3S_FdE6@?fAvJ9$e;7ttlmh!k=7);1 zwGcAt09nI}$KfWJN!^ommeMh*V2u)QHrd_Dxky&UBG+g3W=oFh#N~*gsIHNOfe)f& zS$H)U_h<$R6cw%-2NuajJmO=BC4gfh-P!EfK*p{?Y`Fy!fj6VdF+d!3#Kd8UBsA?R zAK>#w*0aI)BeUY=kMwbPQ$m%i8a~#B)i{PP1zcf#zH6eb<^SjB^asN|{2Ms{NCN-> N002ovPDHLkV1fwAw6OpH literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_side.png b/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_side.png index 82a9a9cfdde5dd331790446a3acb2c556f64b7c7..fe3c32edf790527f8e668b32db4698d2fc9eccc2 100644 GIT binary patch delta 602 zcmV-g0;TSp;!cK3kw??xyDW;TG$BU|6rqqD2PQ6 zgSkQwyhIYc4=>4{aW~luEUUkPITjyy*?DK4nR#a3b>`mArpuk5lFQ|!+wID+LVsDf zj}9D`)vzVN_k9_ZyaW;fmT|_bp#`o`-Va&akY_)qmwkaZtWD1C3!jPj6pJS6dw^4GqZHq5bmW)hC&m z92I=P$bd%utp(-2UtHD#E<_{M8XM{a__Ccirji`)=T03J=kATNM8UTBzuE^%X zOSK^Y;#nI7rrIkN{0adGRNbn7m3@AnY(}vvNYYfQwTATP`y>dr)z2XrxPN9)nGtMu zKmqRT1Y~3EfV+2c!g?(M_60#izyJpGY?EyW147pIkg3iD&5lEbc4 z!Hx4LDkhD2nR9ACVsWLhyBgD=3gQAhL@NHEf_WJ_&)Y#JZ?K#jddR+)GC^mv60Up;$VD>65; ovZOtKR(gBMzCRoqRBH|S3um8M>w3F}#Q*>R07*qoM6N<$f;F8KdH?_b delta 595 zcmV-Z0<8Uv1%(BW83+OZ005AYXf}}{D1XBM01m?e$8V@)0006SNkldSQKxYrab!6ym=@9x3DmR{sYAt=TCspYEG!`Y05c0ix6Vkg!qnfuiiA`|Sr8@S zQ)&pIC~inwJC5VrP@M8aSIU5Ob93&w=e*~AZRO#M>#C~8aolRP5{X1Ine=@>oqtZ7 zrYVF7!;mWkV9)a$$59nUiK56pnmsXWIfniF@h?0u)oPXFlr?S`2I^EQW!rYI*HiOD z=H3&RdfQ>W*4ZUQ*Y(b`re#^XaX{^f+$r%qXfzt#Zg>Cbj+Uz&H?WrSpZ?YhN$To~Fx;k=$GF z+oHEE$_=$$1V8IOyjC2ue(ZQ-`K%XqkRCVmQrY!Gftq?K-12Akpe@+1&YjU#?p@j3 za*;wEo4?uEDsgf9;<>qrQ3|1uz_Bw3;=@Dj{&JCeTu?8neItPj6x4)o@Q4J` ze1}1p@p%4<6rf@KJ52mE@0@f>W5jWWhziCjtU<0**7x-#9<>1T4x@yJVnJrkr_Qxs z7Cd`JiB(T4#jL{P^^}^|Cbw<-xO(T^;B_mEb=t2M`l>$u@#UAlm^aUoSXcLT_cf5K NJzf1=);T3K0RZoyYp(zR diff --git a/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_top.png b/src/main/resources/assets/biomesoplenty/textures/block/origin_grass_block_top.png index 5502b46855c3704c340f0a87d11c5c884b5597f1..d3e7868c408a76288d86322102eff6b16d14c9f6 100644 GIT binary patch delta 756 zcmVM8<(02G~0hxdt3@Qgb!WpX26@t|6*!teK^)oLM=$;i7|cNi9n1rHbQ zA)C#@V;GG_n3$LlGpN zsP@HSoJD+Lx7$HPgkC5VWMipR5`XyhUJK1(M}~5EBoe{ek98=qSWKW?nVys4i<2RQ ztUkE)He7H8@#y9fYPFi^<2OzU75*nRS@`1ZlM}=vq|<3E&dp4ZWd8K}^b-SS_7x^=XN{HT|DyFfvose_#ruTF! z91crXR8@sS3%P}j+{g_~8h@J^pa=7J1ulh6rBbqpn`tG*Rp__PW;+v(g&%*dNq|a& z8rJ{(6nab_b-EgeqTOyIm&*w)g=u0E`9P@5I)g->gvmQC<#3)cD-^Zg?@OI(TO7nm zVKcX*<36ZMLb>{8k?GxXdg6>P%f9Dh8}BiPW_$P7GZRz6Yh;uJxpCabVj{|Xg!%g mG#W*6ZwozjD3pW2ApQfl0DC0&(&{My0000R delta 678 zcmV;X0$Kf~2G<3U83+OZ005AYXf}}{D1XBM01m?e$8V@)0007PNkl;U@%x;%t#-;q&*&w&1M5*I2@ubm&-U=ABO8;aKd;z zmSq_#kxr-CemcKWtJRhQ@wgh%t$&`))cU*U+s$T^i$$FQ!1%$=>-9>XzwJ$@(_*ps zVkLWY_6HKC-l^-XRRIj$Xf*0{I!FOy$O~^2uA2zQO3f=y=THu;)T@Mn6c=65hVq2N z`<9WlWeT6qhZIV-k#e(WG|H9ye*aoL^*#6dXW{5^y;7;LB>**)a3m604Szp@^ZdXbO09|Nf|a!DHg$C@Z|O!fZWaL@l_$|okN$e7JvLbWF2(kr!$E}f=YrCWQQ42 zTyZiC12rvso85we4D$Irc6j%CJz|hocC=)~IIW!dU0%zKoGTUZYYscN-3A%(On4mx zN*}<(UA)S?EH*Bg06<@9AAh(!kb{E*pt&xKsmLM$Jl4p2A2;l#d~#7FY>-F;-TwBj z=JaG!8QVly-44?sm9ER#WI7gz%3JT3C>=bAa8pO*yv2c6Lm?B z)B1(eVwdAP3I-Unp$2`m_I=|r#wu#M_UrhNH-FRmHgaB!A_bP$IY z2dVB(9efA}2j4)!r%>!0I5_A#h&bsaqT(R!AQh@0&LXU%pKV)5kA2Ivja9z<QjByj}g}fpO+#D3|ukA;DS6ttHB+Z5f=T z*L#~Gflap?GBzCry7KchKU`4HAh}G&E0nWnl7Hgu@p~;*l!Mib0GZ?rlH`HG0Rus% zcY^h`fj6gQWDS^VOs7&y)U*0zDFI-wY=ig@0Vgz7LJ#SqfdBvi07*qoM6N<$f(Dtk AasU7T delta 707 zcmV;!0zCcI1AqpQNq@iq01m(bYSxJf0007&Nkl&*wq?k!9X&Hp6C6 z2Xs>6Q>hg5xqn;^vH=Nrfg{U1v3qGp>Dc;+3Bsc~&NIIRBoYZ&9a$AGOdo|LX?w03!wL)CJG=+_zPF>Q zsv!BN6!4C%@W3ylVMwRbF!y9m=yW=G)iNu{G!ve$La*2J7^SF>_iSsAR& zZ*YD(-i%~h%E!#pqGidb?@yo@nAUV5_{LR^e+NtRi(Lj3J$gB!)yB1h+g4Jqek30w=*pVb?Vj;tNKu>7*fA{YFrs+cO pPWPtIMdsmV0rc_6mHo+9`~wC$QR|0oFQ)(i002ovPDHLkV1gThRTTgL diff --git a/src/main/resources/assets/biomesoplenty/textures/block/origin_sapling.png b/src/main/resources/assets/biomesoplenty/textures/block/origin_sapling.png index f2edc9c71e91070dd0ffc88d88d40eb8691a10ed..13c54d7a16aaaea78eb3137778af25b19a67742f 100644 GIT binary patch delta 421 zcmV;W0b2f(1LOmcNq@fp01m$aI0aKA0004bNklY5QgUjuM%RaSZEQO zC@6klkxmd4i}ZrAu!z6FBKR8wD?2UHx~z&ey&(bM$ZQJT5Eq=`dm541#_OgzdeT5Y=eJ=M;FkNq>n0HBxLPm{(V8PabTI zT$z0~Spfu}#CiIDo8+62gks%RMAZ#n?FI?;!sihcSpfup4L&IhLt`OM#;vn6dFsa> z{0ysLX*TDz1vQnMrt8}W+TL8}TanmYO^GhalX-OaBR3Zgkq623N`Ysy+*3U+uzyb5 z&|YwmkZdLc@=B*A1^IHuZ8+nRGY9K8x1!-Kz=^>?Di2E|{{sdI_(qYg-`Eh~094$iMU%&Xo%Gae=xj4dFm{2QVl(EQBw+a(u9 P00000NkvXXu0mjf%MrNJ delta 339 zcmV-Z0j&Py1Cs-gNq@iq01m(bYSxJf0003fNkl{ub3VO zPQw~%0wld7GPlo5V2PL7ivuBg1To*V&&q_k4Te&S5d=t{<$vwRMw?7*k)xw-)1i##JO^B4q0n&;lFZs3q95McIb zzq#iM_6a`y3QS)ji*{u)EDzh86ZsZwaM1uoz{qidXQp-9z2-g5Mo?~j1`%wS@fAuT l!tX!Rn`XmD0lxV=fICGqo1|br8#e#|002ovPDHLkV1k?Bl12ak diff --git a/src/main/resources/assets/biomesoplenty/textures/block/redwood_log.png b/src/main/resources/assets/biomesoplenty/textures/block/redwood_log.png index 6f00c1e72f46b65575bb291b11ab79ea04cc7601..9b7fb83131a924c566b33d8ec4faaf3aeeb936e9 100644 GIT binary patch delta 388 zcmV-~0ek+I1Goc_83+ad001BJ|6!3KD1W~I01m$aI0aKA0003^NklY z5QZmPcnL{7$S35wfLH}d=})ltKU-UhkS>CW5n>c`X=0v%cNq?Rn%mubXXf3xxz@v? zI)CoJ?QvPzdVjK~)z(E>b7mzZrPyhxeFn^JGhzlT}WUQ$|}TQIYa9S2*%d! zu;VWTXH?=nP)NvG?g7XanOVnX0YPf6NQh%+A=(99O`y#^z;?6Spliu05Txpyli05i zEj6nXq$K(}>J20ovV;I+mve$8CULpeA|Vi}PBp4Tl$>XrPQQZgs>({*tOf)r86=J8 ze?AjUm(}u#UvmJ$QoH()Qv*OH`dr0OdYg(r>DBAr}6kO z{#xxO)7x@YB}p=WE${9}#wX)E@3-f(r5d(X?KlAGbxQG{8zcezg>rLvfB94$BY*ES z`9)r(;F!o?tDUK)saUMVv#TJdQl0*jlmt5-jJhJjLDuWvkQ0uszo41|4PCCke|+yr z)wtk3-ikm^zy^ttIPQ<~3D=Pjwq#D!gs`ne8&e+O=#W25Ta#eRRa_xth;xJZrZS-W z{Ir0CK{5?Nl{4O0-!EnYe?gWmfKNl^As%lJkqc-0MoeDKv1QOxDtE|WLs0cMJ54zR z7Ec4+-@$p6o@@?qdotu~YzQsboOo&R!)>ej7ivqN`SKmayZ`_I07*qoM6N<$g5Ni$ A;Q#;t diff --git a/src/main/resources/assets/biomesoplenty/textures/block/redwood_log_top.png b/src/main/resources/assets/biomesoplenty/textures/block/redwood_log_top.png index 73ccf3c1714e1aea3d36dfaf81ca6cc7068d7bda..e3d20171b0a729641c706d46c133660f5470b121 100644 GIT binary patch delta 395 zcmV;60d)S(1HS{183+ad001BJ|6!3KD1W~I01m$aI0aKA00040NklnMiFw6+rf7@hbqoPn1a1osc++4NB&jnU{1IVd>g`1bVHF{$3-c- zomx5u=7jHHQGDw?fC9QqBdGvTA$ZmLE$Ht*P%a~|bM;^yRz4MQW#Bykwkv>Xx7oy- zNvz>Z9uTaGahA6Km`RqlK=T0Sh>HWq+JbNWQGP9Q?F=Q0+gSxpeb+kn{rne%lQ p$~S-%dqr)&>N=maV!ievB0sIs)`8Y2zY+id002ovPDHLkV1j4!wWR<6 delta 411 zcmV;M0c8Ha1I`1G83+OZ005AYXf}}{D1X5K01m+cxRGn^0004FNklX zn=;nz#bKmUr&8M9b^Nc0TnK@1HVw#460mO0I+w!}20)Yqj$MPVJJm%LB7=}ez<=G- zvwhv)>o)55qw(uPu2kR$Dzek%-1DqdCEEOzn$JF^=d~LdrT&+_-&;!{u#0Y?oiG<1T7)H*#lG%HemM}h^ zB4&X}7$3B>7#K))S@(fQU0lv*Kz|2*4QPXB2j<}^A(w>Tzn}*CBGEID6=C$S18Zx- z8Nf^d0E0e`ryQLb^HtVnAVFc+X}@VkXMRl*#|22>i-sNHDS*p*`Oc4z-b0BR=u_0T z0sP+&qnG>vQ|5b<{N2C&fmZdqy@qeB_kOd6D%PDHLk FV1mhV#DM?+ diff --git a/src/main/resources/assets/biomesoplenty/textures/block/redwood_sapling.png b/src/main/resources/assets/biomesoplenty/textures/block/redwood_sapling.png index ea28c3e36100da0e91933d162e3c196a93303d4b..0aed7d93e79a3751ca1889ac3d4403a7f3b60db8 100644 GIT binary patch delta 384 zcmV-`0e}9(1I+`FR)1niL_t(IPkoZHFGEoj#?Lb-4F*YLP|6^Yh(+=wFX<$P#-fYS zAHZUaAbW+d61biYC;nvA~E;ZOb zy$-@K)Zgs{-hU!)8pvj3Fx#(UaJaf?AhgB6F<^mR1S3GBzjzan_vUA^6FG0V&qul% e;70b}9g!avN3~Su5zICK0000BB^ckCn^e{k&X-MqJNc2E9e^PuP! z*T-D43=$=y?C%wH+}W+@Na56YUY=`JxjuePYkhi>(Eu@o4}WiU6=R-X?p4F>lX wx&klIF3|cO1=g&_$i{H}?=P&HK>)7{ z4*&ZD)(iq5!*Cgb6@XkJ*3R%>AejMg7~lobu4a^J2Dt#rB{2_xoKMIQtg!$CALc>= mnQX6sG*T3ZAb{Th1_l7G@;8#U`rk(Y000083+ad001BJ|6!3KD1X2J01m(bYSxJf0003>Nkl4qH z5Qe7<6~P$652$)5-lR|vdh7rH5#FSSRv}SHsv!2z_8EAWA>eb#?&h7DcPEpFm-XB4 z_qnyr>$^4W$#x%GTRpFBHhHq!&&@vfJG)*lhKBP|Id&bKFO4N%{lg&#z?0zKV}H;0 zqCS4PjwDdkdrM>n1p^fklB5`ntluBluqfSyklr24rgIk(7=^M5F<8#fdIEy6HJvQ{ zh2V@zyax&iIm?}mPpsNYAxd+(pb{ljpSp|YropTcV6{4kX zb%K;cUq`)x#6p%3fb4Qku*4+ST5co+Le;58m57q_jMM2?&|OtoNxRj6ASHvO@w`X0 z5Bv`})IN_gE_l(M0jjAYgCw^aDxU)a_>{}}Dt8+YvIlhhJm_M7@+bpU5iuJQ#UxN2 f5B}tQSd{h$vRU!nePxDU00000NkvXXu0mjfn)I$6 delta 291 zcmV+;0o?wz1J?qO83+OZ005AYXf}}{D1XBM01m?e$8V@)0000ObVXQnQ*UN;cVTj6 z0B~VxZgehgWpp4kE-@}P{Z0w!0002UNklVFr| zN8SM}a8oy_v%)6M0=g-1&N1WhGd94Q9GEQ7I|XEc0HqzrW(_;Qo7i$O!j6VC>sfsq zO_?crE`WgPKm?{-##Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940gOpRK~y+TeUn{F z0#Oi#r?a_jX!fCk+J#6r5(Pnb{W^bL*Fjx$6VgQqWm%?X>&NCZ@Wv9+19El`^Ul08 zvu+%B&a;p4$aYF)t5%xUyT7$|t7ElF-O_n#5B;9aW)mZZ``z+^y^mfE#*=po{iW`3#a+LH!ONqINdnJmnw`6*Z&wNJc~+Nf0#4RwRpk6gBftX-f1v$y%Ezs*C-VLqWaftuh1PUTpx$NhHS*2oS1H z5cV}FP;ySSM7+14UR9ZILaY4^A|-=>6|L((kCE7PF#P8@$8KI8msqIJfuDk2!Zz4&vZ t-m)m#v^Y*|m92hU@SbdKyNl&AwQtPA2M)Dlwsrsj002ovPDHLkV1lBk-2VUo literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/biomesoplenty/textures/item/cattail.png b/src/main/resources/assets/biomesoplenty/textures/item/cattail.png index af4c35de9ea4c7ab60aadb29d6af356f41d31ee1..dcb8440244e29392dd287b67c8e4182319d3d5c3 100644 GIT binary patch delta 339 zcmV-Z0j&P01Cs-gNq@Bf01mYQV{w?s0003fNkllUIRdi6(xn?n$Y0o9}mAXaF_{zHG*6O67yo?1&0B80D=JA06{;M{~%2aFMophAX`B$0vUoF2FRL0 z0O10tMv(0wS4@C3gA4)jVPSx-83f=4yg&Jv@$Z+PV9oD0-2t;UcW le3gL|Zay|V(7BO;0RUW#-)SUkl)3-_002ovPDHLkV1g@4l;HpX delta 360 zcmV-u0hj)h1E>R#Nq@Eg01mbR&d9l?0003!Nkl^+vr!k5Ey!5lAEkl190R6scho-(hB&{o`fO2gBKKIlpht z9LqV`qW`V4MpfWQ8}qiTi9+M%T3))ihb&oRI;wArito~0cYjEo?i+3R1v33*=at#S z0Ki2jP5seS!=_g-q@Un<9u-e30`gM*rYRK>Htn*VO7T&@5W=NUil1ODU+}zq< z;s445j_$z5jW|%M>~Nhuj`-$