From 53db3a416cca660d252ddb280cd1ce2525cc012a Mon Sep 17 00:00:00 2001 From: Matt Caughey Date: Thu, 15 May 2014 08:00:25 -0400 Subject: [PATCH] Replaced the Purified Grass/Dirt/Tall Grass blocks with new ones for the End --- .../common/blocks/BlockBOPFlower.java | 2 +- .../common/blocks/BlockBOPGeneric.java | 8 +- .../common/blocks/BlockBOPGrass.java | 18 +- .../common/blocks/BlockBOPPlant.java | 6 +- .../common/blocks/BlockBOPSapling.java | 2 +- .../biomesoplenty/common/core/BOPBlocks.java | 2 +- .../common/itemblocks/ItemBlockGrass.java | 2 +- .../common/itemblocks/ItemBlockPlant.java | 2 +- .../features/trees/WorldGenPromisedTree.java | 146 ------------- .../features/trees/WorldGenPromisedTree2.java | 123 ----------- .../features/trees/WorldGenPromisedTree3.java | 165 --------------- .../trees/WorldGenPromisedWillowTree.java | 194 ------------------ .../assets/biomesoplenty/lang/en_US.lang | 6 +- .../textures/blocks/holybrick.png | Bin 314 -> 0 bytes .../textures/blocks/holycobble.png | Bin 542 -> 0 bytes .../textures/blocks/holydirt.png | Bin 339 -> 0 bytes .../textures/blocks/holygrass_side.png | Bin 600 -> 0 bytes .../textures/blocks/holygrass_top.png | Bin 660 -> 0 bytes .../textures/blocks/holymossycobble.png | Bin 695 -> 0 bytes .../textures/blocks/holystone.png | Bin 512 -> 0 bytes .../textures/blocks/holystonemossy.png | Bin 612 -> 0 bytes .../textures/blocks/holytallgrass.png | Bin 576 -> 0 bytes .../textures/blocks/spectralfern.png | Bin 0 -> 282 bytes .../textures/blocks/spectralmoss_side.png | Bin 0 -> 485 bytes .../textures/blocks/spectralmoss_top.png | Bin 0 -> 509 bytes .../textures/blocks/spectralsoil.png | Bin 0 -> 339 bytes 26 files changed, 24 insertions(+), 652 deletions(-) delete mode 100644 src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree.java delete mode 100644 src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree2.java delete mode 100644 src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree3.java delete mode 100644 src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedWillowTree.java delete mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/holybrick.png delete mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/holycobble.png delete mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/holydirt.png delete mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/holygrass_side.png delete mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/holygrass_top.png delete mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/holymossycobble.png delete mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/holystone.png delete mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/holystonemossy.png delete mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/holytallgrass.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/spectralfern.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/spectralmoss_side.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/spectralmoss_top.png create mode 100644 src/main/resources/assets/biomesoplenty/textures/blocks/spectralsoil.png diff --git a/src/main/java/biomesoplenty/common/blocks/BlockBOPFlower.java b/src/main/java/biomesoplenty/common/blocks/BlockBOPFlower.java index 795cbdcdd..64c77d6aa 100644 --- a/src/main/java/biomesoplenty/common/blocks/BlockBOPFlower.java +++ b/src/main/java/biomesoplenty/common/blocks/BlockBOPFlower.java @@ -223,7 +223,7 @@ public class BlockBOPFlower extends BOPBlockWorldDecor return block == Blocks.waterlily; case 11: // Rainbow Flower - return block == BOPBlockHelper.get("grass") || block == BOPBlockHelper.get("holyDirt") || block == Blocks.grass || block == Blocks.dirt; + return block == BOPBlockHelper.get("grass") || block == Blocks.grass || block == Blocks.dirt; case 12: // Bromeliad return block == BOPBlockHelper.get("hardDirt") || block == Blocks.hardened_clay || block == Blocks.sand; diff --git a/src/main/java/biomesoplenty/common/blocks/BlockBOPGeneric.java b/src/main/java/biomesoplenty/common/blocks/BlockBOPGeneric.java index 1277c0c90..3d934afc0 100644 --- a/src/main/java/biomesoplenty/common/blocks/BlockBOPGeneric.java +++ b/src/main/java/biomesoplenty/common/blocks/BlockBOPGeneric.java @@ -14,7 +14,7 @@ public class BlockBOPGeneric extends Block { public enum BlockType { - ASH_STONE, HARD_SAND, HARD_DIRT, HARD_ICE, DRIED_DIRT, CRAG_ROCK, MUD_BRICK, HOLY_DIRT, CRYSTAL; + ASH_STONE, HARD_SAND, HARD_DIRT, HARD_ICE, DRIED_DIRT, CRAG_ROCK, MUD_BRICK, SPECTRAL_SOIL, CRYSTAL; } private IIcon texture; @@ -85,7 +85,7 @@ public class BlockBOPGeneric extends Block this.setStepSound(Block.soundTypePiston); break; - case HOLY_DIRT: + case SPECTRAL_SOIL: //TODO: this.setHardness this.setHardness(0.6F); //TODO setStepSound(Block.soundGravelFootstep) @@ -142,8 +142,8 @@ public class BlockBOPGeneric extends Block texture = iconRegister.registerIcon("biomesoplenty:mudbrick"); break; - case HOLY_DIRT: - texture = iconRegister.registerIcon("biomesoplenty:holydirt"); + case SPECTRAL_SOIL: + texture = iconRegister.registerIcon("biomesoplenty:spectralsoil"); break; case CRYSTAL: diff --git a/src/main/java/biomesoplenty/common/blocks/BlockBOPGrass.java b/src/main/java/biomesoplenty/common/blocks/BlockBOPGrass.java index c38b2775a..15918d55f 100644 --- a/src/main/java/biomesoplenty/common/blocks/BlockBOPGrass.java +++ b/src/main/java/biomesoplenty/common/blocks/BlockBOPGrass.java @@ -47,13 +47,13 @@ public class BlockBOPGrass extends Block //TODO: registerIcons() public void registerBlockIcons(IIconRegister iconRegister) { - this.icon[0][0] = iconRegister.registerIcon("biomesoplenty:holydirt"); + this.icon[0][0] = iconRegister.registerIcon("biomesoplenty:spectralsoil"); - this.icon[0][1] = iconRegister.registerIcon("biomesoplenty:holygrass_top"); - this.icon[0][2] = iconRegister.registerIcon("biomesoplenty:holygrass_side"); - this.icon[0][3] = iconRegister.registerIcon("biomesoplenty:holygrass_side"); - this.icon[0][4] = iconRegister.registerIcon("biomesoplenty:holygrass_side"); - this.icon[0][5] = iconRegister.registerIcon("biomesoplenty:holygrass_side"); + this.icon[0][1] = iconRegister.registerIcon("biomesoplenty:spectralmoss_top"); + this.icon[0][2] = iconRegister.registerIcon("biomesoplenty:spectralmoss_side"); + this.icon[0][3] = iconRegister.registerIcon("biomesoplenty:spectralmoss_side"); + this.icon[0][4] = iconRegister.registerIcon("biomesoplenty:spectralmoss_side"); + this.icon[0][5] = iconRegister.registerIcon("biomesoplenty:spectralmoss_side"); this.icon[1][0] = iconRegister.registerIcon("biomesoplenty:smolderinggrass_bottom"); this.icon[1][1] = iconRegister.registerIcon("biomesoplenty:smolderinggrass_top"); @@ -165,7 +165,7 @@ public class BlockBOPGrass extends Block if (world.getBlockLightValue(x, y + 1, z) < 4 && world.getBlockLightOpacity(x, y + 1, z) > 2) { //TODO: setBlock() - world.setBlock(x, y, z, BOPBlockHelper.get("holyDirt"), 0, 2); + world.setBlock(x, y, z, BOPBlockHelper.get("spectralSoil"), 0, 2); } else if (world.getBlockLightValue(x, y + 1, z) >= 9) { @@ -178,7 +178,7 @@ public class BlockBOPGrass extends Block Block block = world.getBlock(rX, rY + 1, rZ); //TODO: getBlock() - if (world.getBlock(rX, rY, rZ) == BOPBlockHelper.get("holyDirt") && world.getBlockLightValue(rX, rY + 1, rZ) >= 4 && world.getBlockLightOpacity(rX, rY + 1, rZ) <= 2) + if (world.getBlock(rX, rY, rZ) == BOPBlockHelper.get("spectralSoil") && world.getBlockLightValue(rX, rY + 1, rZ) >= 4 && world.getBlockLightOpacity(rX, rY + 1, rZ) <= 2) { //TODO: setBlock() world.setBlock(rX, rY, rZ, BOPBlockHelper.get("grass"), 0, 2); @@ -217,7 +217,7 @@ public class BlockBOPGrass extends Block public Item getItemDropped(int metadata, Random random, int fortune) { //TODO: getItemFromBlock() getItemFromBlock() - return metadata == 0 ? Item.getItemFromBlock(BOPBlockHelper.get("holyDirt")) : Item.getItemFromBlock(Blocks.dirt); + return metadata == 0 ? Item.getItemFromBlock(BOPBlockHelper.get("spectralSoil")) : Item.getItemFromBlock(Blocks.dirt); } } diff --git a/src/main/java/biomesoplenty/common/blocks/BlockBOPPlant.java b/src/main/java/biomesoplenty/common/blocks/BlockBOPPlant.java index 37b829312..4afd206a1 100644 --- a/src/main/java/biomesoplenty/common/blocks/BlockBOPPlant.java +++ b/src/main/java/biomesoplenty/common/blocks/BlockBOPPlant.java @@ -34,7 +34,7 @@ import cpw.mods.fml.relauncher.SideOnly; public class BlockBOPPlant extends BOPBlockWorldDecor implements IShearable { - private static final String[] plants = new String[] {"deadgrass", "desertgrass", "desertsprouts", "dunegrass", "holytallgrass", "thorn", "barley", "cattail", "rivercane", "cattailtop", "cattailbottom", "wildcarrot", "cactus", "witherwart", "reed", "root"}; + private static final String[] plants = new String[] {"deadgrass", "desertgrass", "desertsprouts", "dunegrass", "spectralfern", "thorn", "barley", "cattail", "rivercane", "cattailtop", "cattailbottom", "wildcarrot", "cactus", "witherwart", "reed", "root"}; private IIcon[] textures; public IIcon reedbottom; @@ -141,7 +141,7 @@ public class BlockBOPPlant extends BOPBlockWorldDecor implements IShearable case 3: // Dune Grass return block == Blocks.sand; - case 4: // Holy Tall Grass + case 4: // Spectral Fern return block == BOPBlockHelper.get("grass"); case 5: // Thorns @@ -172,7 +172,7 @@ public class BlockBOPPlant extends BOPBlockWorldDecor implements IShearable return block == Blocks.water && reedwater != Blocks.water; case 15: // Root - return root != Blocks.air && (root == Blocks.grass || root == Blocks.dirt || root == Blocks.farmland || root == BOPBlockHelper.get("longGrass") || root == BOPBlockHelper.get("grass") || root == BOPBlockHelper.get("holyDirt")); + return root != Blocks.air && (root == Blocks.grass || root == Blocks.dirt || root == Blocks.farmland || root == BOPBlockHelper.get("longGrass") || root == BOPBlockHelper.get("grass") || root == BOPBlockHelper.get("spectralSoil")); default: return block == Blocks.grass || block == Blocks.dirt || block == Blocks.farmland || block == BOPBlockHelper.get("overgrownNetherrack"); diff --git a/src/main/java/biomesoplenty/common/blocks/BlockBOPSapling.java b/src/main/java/biomesoplenty/common/blocks/BlockBOPSapling.java index 1840e42fa..c4385097a 100644 --- a/src/main/java/biomesoplenty/common/blocks/BlockBOPSapling.java +++ b/src/main/java/biomesoplenty/common/blocks/BlockBOPSapling.java @@ -80,7 +80,7 @@ public class BlockBOPSapling extends BlockSapling switch (metadata) { case 7: // Loftwood - return block == BOPBlockHelper.get("grass") || block == BOPBlockHelper.get("holyDirt"); + return block == BOPBlockHelper.get("grass"); default: return block == Blocks.grass || block == Blocks.dirt || block == Blocks.farmland || block.canSustainPlant(world, x, y - 1, z, ForgeDirection.UP, this); diff --git a/src/main/java/biomesoplenty/common/core/BOPBlocks.java b/src/main/java/biomesoplenty/common/core/BOPBlocks.java index 5fc7fff50..79843f9ff 100644 --- a/src/main/java/biomesoplenty/common/core/BOPBlocks.java +++ b/src/main/java/biomesoplenty/common/core/BOPBlocks.java @@ -142,7 +142,7 @@ public class BOPBlocks registerBlock(new BlockBOPGeneric(Material.sand, BlockType.HARD_SAND).setBlockName("hardSand")); registerBlock(new BlockBOPGeneric(Material.rock, BlockType.HARD_DIRT).setBlockName("hardDirt")); - registerBlock(new BlockBOPGeneric(Material.sand, BlockType.HOLY_DIRT).setBlockName("holyDirt")); + registerBlock(new BlockBOPGeneric(Material.sand, BlockType.SPECTRAL_SOIL).setBlockName("spectralSoil")); registerBlock(new BlockBOPGeneric(Material.glass, BlockType.CRYSTAL).setBlockName("crystal")); diff --git a/src/main/java/biomesoplenty/common/itemblocks/ItemBlockGrass.java b/src/main/java/biomesoplenty/common/itemblocks/ItemBlockGrass.java index d5ba63715..a63ac79fb 100644 --- a/src/main/java/biomesoplenty/common/itemblocks/ItemBlockGrass.java +++ b/src/main/java/biomesoplenty/common/itemblocks/ItemBlockGrass.java @@ -6,7 +6,7 @@ import net.minecraft.item.ItemStack; public class ItemBlockGrass extends ItemBlock { - private static final String[] types = new String[] {"holygrass", "smolderinggrass"}; + private static final String[] types = new String[] {"spectralmoss", "smolderinggrass"}; public ItemBlockGrass(Block block) { diff --git a/src/main/java/biomesoplenty/common/itemblocks/ItemBlockPlant.java b/src/main/java/biomesoplenty/common/itemblocks/ItemBlockPlant.java index b66092178..22fa2adba 100644 --- a/src/main/java/biomesoplenty/common/itemblocks/ItemBlockPlant.java +++ b/src/main/java/biomesoplenty/common/itemblocks/ItemBlockPlant.java @@ -15,7 +15,7 @@ import cpw.mods.fml.relauncher.SideOnly; public class ItemBlockPlant extends ItemBlock { - private static final String[] plants = new String[] {"deadgrass", "desertgrass", "desertsprouts", "dunegrass", "holytallgrass", "thorn", "barley", "cattail", "rivercane", "cattailtop", "cattailbottom", "wildcarrot", "cactus", "witherwart", "reed", "root"}; + private static final String[] plants = new String[] {"deadgrass", "desertgrass", "desertsprouts", "dunegrass", "spectralfern", "thorn", "barley", "cattail", "rivercane", "cattailtop", "cattailbottom", "wildcarrot", "cactus", "witherwart", "reed", "root"}; @SideOnly(Side.CLIENT) private IIcon[] textures; diff --git a/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree.java b/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree.java deleted file mode 100644 index 82468d555..000000000 --- a/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree.java +++ /dev/null @@ -1,146 +0,0 @@ -package biomesoplenty.common.world.features.trees; - -import java.util.Random; - -import biomesoplenty.api.BOPBlockHelper; -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenAbstractTree; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class WorldGenPromisedTree extends WorldGenAbstractTree -{ - public WorldGenPromisedTree(boolean par1) - { - super(par1); - } - - @Override - public boolean generate(World world, Random par2Random, int par3, int par4, int par5) - { - int var6 = par2Random.nextInt(9) + 9; - int var7 = 2 + par2Random.nextInt(4); - int var8 = var6 - var7; - int var9 = 2 + par2Random.nextInt(2); - boolean var10 = true; - - Block block; - - if (par4 >= 1 && par4 + var6 + 1 <= 256) - { - int var11; - int var13; - //int var15; - int var21; - - for (var11 = par4; var11 <= par4 + 1 + var6 && var10; ++var11) - { - boolean var12 = true; - - if (var11 - par4 < var7) - { - var21 = 0; - } - else - { - var21 = var9; - } - - for (var13 = par3 - var21; var13 <= par3 + var21 && var10; ++var13) - { - for (int var14 = par5 - var21; var14 <= par5 + var21 && var10; ++var14) - { - if (var11 >= 0 && var11 < 256) - { - block = world.getBlock(var13, var11, var14); - - if (!(block.isAir(world, var13, var11, var14) || block.isLeaves(world, var13, var11, var14))) - { - var10 = false; - } - } - else - { - var10 = false; - } - } - } - } - - if (!var10) - return false; - else - { - //var11 = world.getBlockId(par3, par4 - 1, par5); - block = world.getBlock(par3, par4 - 1, par5); - - if ((block == BOPBlockHelper.get("grass") || block == BOPBlockHelper.get("holyDirt")) && par4 < 256 - var6 - 1) - { - //this.setBlockAndMetadata(world, par3, par4 - 1, par5, Blocks.holyDirt.get().blockID, 0); - this.setBlockAndNotifyAdequately(world, par3, par4 - 1, par5, BOPBlockHelper.get("holyDirt"), 0); - var21 = par2Random.nextInt(2); - var13 = 1; - byte var22 = 0; - int var17; - int var16; - int var15; - - for (var15 = 0; var15 <= var8; ++var15) - { - var16 = par4 + var6 - var15; - - for (var17 = par3 - var21; var17 <= par3 + var21; ++var17) - { - int var18 = var17 - par3; - - for (int var19 = par5 - var21; var19 <= par5 + var21; ++var19) - { - int var20 = var19 - par5; - - if ((Math.abs(var18) != var21 || Math.abs(var20) != var21 || var21 <= 0) && !world.getBlock(var17, var16, var19).isOpaqueCube()) - { - //this.setBlockAndMetadata(world, var17, var16, var19, Blocks.leaves2.get().blockID, 2); - this.setBlockAndNotifyAdequately(world, var17, var16, var19, BOPBlockHelper.get("leaves2"), 2); - } - } - } - - if (var21 >= var13) - { - var21 = var22; - var22 = 1; - ++var13; - - if (var13 > var9) - { - var13 = var9; - } - } - else - { - ++var21; - } - } - - var15 = par2Random.nextInt(3); - - for (var16 = 0; var16 < var6 - var15; ++var16) - { - //var17 = world.getBlockId(par3, par4 + var16, par5); - block = world.getBlock(par3, par4 + var16, par5); - - if (block.isAir(world, par3, par4 + var16, par5) || block.isLeaves(world, par3, par4 + var16, par5)) - { - //this.setBlockAndMetadata(world, par3, par4 + var16, par5, Blocks.logs2.get().blockID,0); - this.setBlockAndNotifyAdequately(world, par3, par4 + var16, par5, BOPBlockHelper.get("logs2"), 0); - } - } - - return true; - } else - return false; - } - } else - return false; - } -} diff --git a/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree2.java b/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree2.java deleted file mode 100644 index ba6be1663..000000000 --- a/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree2.java +++ /dev/null @@ -1,123 +0,0 @@ -package biomesoplenty.common.world.features.trees; - -import java.util.Random; - -import biomesoplenty.api.BOPBlockHelper; -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenAbstractTree; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class WorldGenPromisedTree2 extends WorldGenAbstractTree -{ - public WorldGenPromisedTree2(boolean par1) - { - super(par1); - } - - @Override - public boolean generate(World world, Random par2Random, int par3, int par4, int par5) - { - int var6 = par2Random.nextInt(3) + 5; - boolean var7 = true; - - Block block; - - if (par4 >= 1 && par4 + var6 + 1 <= 256) - { - int var8; - int var10; - int var11; - int var12; - - for (var8 = par4; var8 <= par4 + 1 + var6; ++var8) - { - byte var9 = 1; - - if (var8 == par4) - { - var9 = 0; - } - - if (var8 >= par4 + 1 + var6 - 2) - { - var9 = 2; - } - - for (var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10) - { - for (var11 = par5 - var9; var11 <= par5 + var9 && var7; ++var11) - { - if (var8 >= 0 && var8 < 256) - { - //var12 = world.getBlockId(var10, var8, var11); - block = world.getBlock(var10, var8, var11); - - //if (var12 != 0 && var12 != Blocks.leaves1.get().blockID) - //{ - if (block.isAir(world, var10, var8, var11) || block.isLeaves(world, var10, var8, var11)) - { - var7 = false; - } - } - else - { - var7 = false; - } - } - } - } - - if (!var7) - return false; - else - { - block = world.getBlock(par3, par4 - 1, par5); - - if ((block == BOPBlockHelper.get("grass") || block == BOPBlockHelper.get("holyDirt")) && par4 < 256 - var6 - 1) - { - //this.setBlockAndMetadata(world, par3, par4 - 1, par5, Blocks.holyDirt.get().blockID, 0); - this.setBlockAndNotifyAdequately(world, par3, par4 - 1, par5, BOPBlockHelper.get("holyDirt"), 0); - int var16; - - for (var16 = par4 - 3 + var6; var16 <= par4 + var6; ++var16) - { - var10 = var16 - (par4 + var6); - var11 = 1 - var10 / 2; - - for (var12 = par3 - var11; var12 <= par3 + var11; ++var12) - { - int var13 = var12 - par3; - - for (int var14 = par5 - var11; var14 <= par5 + var11; ++var14) - { - int var15 = var14 - par5; - - if ((Math.abs(var13) != var11 || Math.abs(var15) != var11 || par2Random.nextInt(2) != 0 && var10 != 0) && !world.getBlock(var12, var16, var14).isOpaqueCube()) - { - //this.setBlockAndMetadata(world, var12, var16, var14, Blocks.leaves1.get().blockID, 2); - this.setBlockAndNotifyAdequately(world, var12, var16, var14, BOPBlockHelper.get("leaves1"), 2);} - } - } - } - - for (var16 = 0; var16 < var6; ++var16) - { - //var10 = world.getBlockId(par3, par4 + var16, par5); - block = world.getBlock(par3, par4 + var16, par5); - - if (!(block.isAir(world, par3, par4 + var16, par5) || block.isLeaves(world, par3, par4 + var16, par5))) - { - //this.setBlockAndMetadata(world, par3, par4 + var16, par5, Blocks.logs2.get().blockID,1); - this.setBlockAndNotifyAdequately(world, par3, par4 + var16, par5, BOPBlockHelper.get("logs2"), 1); - } - } - - return true; - } else - return false; - } - } else - return false; - } -} diff --git a/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree3.java b/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree3.java deleted file mode 100644 index c2fca1a09..000000000 --- a/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedTree3.java +++ /dev/null @@ -1,165 +0,0 @@ -package biomesoplenty.common.world.features.trees; - -import java.util.Random; - -import biomesoplenty.api.BOPBlockHelper; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenAbstractTree; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class WorldGenPromisedTree3 extends WorldGenAbstractTree -{ - public WorldGenPromisedTree3(boolean var1) - { - super(var1); - } - - @Override - public boolean generate(World world, Random var2, int var3, int var4, int var5) - { - int var6 = var2.nextInt(20) + 30; - int var7 = var2.nextInt(5) + 10; - int var8 = var6 - var7; - int var9 = 2 + var2.nextInt(3); - boolean var10 = true; - - if (var4 >= 1 && var4 + var6 + 1 <= 256) - { - int var11; - int var13; - int var14; - //int var15; - int var24; - - for (var11 = var4; var11 <= var4 + 1 + var6 && var10; ++var11) - { - boolean var12 = true; - - if (var11 - var4 < var7) - { - var24 = 0; - } - else - { - var24 = var9; - } - - for (var13 = var3 - var24; var13 <= var3 + var24 && var10; ++var13) - { - for (var14 = var5 - var24; var14 <= var5 + var24 && var10; ++var14) - { - if (var11 >= 0 && var11 < 256) - { - Block block = world.getBlock(var13, var11, var14); - - if (block.isAir(world, var13, var11, var14) || block.isLeaves(world, var13, var11, var14)) - { - var10 = false; - } - } - else - { - var10 = false; - } - } - } - } - - if (!var10) - return false; - else - { - Block block11 = world.getBlock(var3, var4 - 1, var5); - Block block24 = world.getBlock(var3 - 1, var4 - 1, var5); - Block block13 = world.getBlock(var3, var4 - 1, var5 - 1); - Block block14 = world.getBlock(var3 - 1, var4 - 1, var5 - 1); - - if ((block11 == BOPBlockHelper.get("grass") || block11 == BOPBlockHelper.get("holyDirt")) && var4 < 256 - var6 - 1) - { - if ((block24 == BOPBlockHelper.get("grass") || block24 == BOPBlockHelper.get("holyDirt")) && var4 < 256 - var6 - 1) - { - if ((block13 == BOPBlockHelper.get("grass") || block13 == BOPBlockHelper.get("holyDirt")) && var4 < 256 - var6 - 1) - { - if ((block14 == BOPBlockHelper.get("grass") | block14 == BOPBlockHelper.get("holyDirt")) && var4 < 256 - var6 - 1) - { - world.setBlock(var3, var4 - 1, var5, BOPBlockHelper.get("holyDirt"), 0, 2); - world.setBlock(var3 - 1, var4 - 1, var5, BOPBlockHelper.get("holyDirt"), 0, 2); - world.setBlock(var3, var4 - 1, var5 - 1, BOPBlockHelper.get("holyDirt"), 0, 2); - world.setBlock(var3 - 1, var4 - 1, var5 - 1, BOPBlockHelper.get("holyDirt"), 0, 2); - int var15 = var2.nextInt(2); - int var16 = 1; - boolean var17 = false; - int var19; - int var18; - int var20; - - for (var18 = 0; var18 <= var8; ++var18) - { - var19 = var4 + var6 - var18; - - for (var20 = var3 - var15; var20 <= var3 + var15; ++var20) - { - int var21 = var20 - var3; - - for (int var22 = var5 - var15; var22 <= var5 + var15; ++var22) - { - int var23 = var22 - var5; - - if ((Math.abs(var21) != var15 || Math.abs(var23) != var15 || var15 <= 0) && !world.getBlock(var20, var19, var22).isOpaqueCube()) - { - this.setBlockAndNotifyAdequately(world, var20, var19, var22, Blocks.leaves, 0); - this.setBlockAndNotifyAdequately(world, var20 - 1, var19, var22, Blocks.leaves, 0); - this.setBlockAndNotifyAdequately(world, var20, var19, var22 - 1, Blocks.leaves, 0); - this.setBlockAndNotifyAdequately(world, var20 - 1, var19, var22 - 1, Blocks.leaves, 0); - } - } - } - - if (var15 >= var16) - { - var15 = var17 ? 1 : 0; - var17 = true; - ++var16; - - if (var16 > var9) - { - var16 = var9; - } - } - else - { - ++var15; - } - } - - var18 = var2.nextInt(3); - - for (var19 = 0; var19 < var6 - var18; ++var19) - { - Block block = world.getBlock(var3, var4 + var19, var5); - - if (block.isAir(world, var3, var4 + var19, var5) || block == Blocks.leaves) - { - this.setBlockAndNotifyAdequately(world, var3, var4 + var19, var5, Blocks.log, 0); - this.setBlockAndNotifyAdequately(world, var3 - 1, var4 + var19, var5, Blocks.log, 0); - this.setBlockAndNotifyAdequately(world, var3, var4 + var19, var5 - 1, Blocks.log, 0); - this.setBlockAndNotifyAdequately(world, var3 - 1, var4 + var19, var5 - 1, Blocks.log, 0); - } - } - - return true; - } else - return false; - } else - return false; - } else - return false; - } else - return false; - } - } else - return false; - } -} diff --git a/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedWillowTree.java b/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedWillowTree.java deleted file mode 100644 index 16858d7a7..000000000 --- a/src/main/java/biomesoplenty/common/world/features/trees/WorldGenPromisedWillowTree.java +++ /dev/null @@ -1,194 +0,0 @@ -package biomesoplenty.common.world.features.trees; - -import java.util.Random; - -import biomesoplenty.api.BOPBlockHelper; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenAbstractTree; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class WorldGenPromisedWillowTree extends WorldGenAbstractTree -{ - public WorldGenPromisedWillowTree(boolean p_i45448_1_) { - super(p_i45448_1_); - // TODO Auto-generated constructor stub - } - - @Override - public boolean generate(World world, Random par2Random, int par3, int par4, int par5) - { - int var6; - Block block; - - for (var6 = par2Random.nextInt(8) + 6; world.getBlock(par3, par4 - 1, par5) == Blocks.water; --par4) - { - ; - } - - boolean var7 = true; - - if (par4 >= 1 && par4 + var6 + 1 <= 128) - { - int var8; - int var10; - int var11; - int var12; - - for (var8 = par4; var8 <= par4 + 1 + var6; ++var8) - { - byte var9 = 1; - - if (var8 == par4) - { - var9 = 0; - } - - if (var8 >= par4 + 1 + var6 - 2) - { - var9 = 3; - } - - for (var10 = par3 - var9; var10 <= par3 + var9 && var7; ++var10) - { - for (var11 = par5 - var9; var11 <= par5 + var9 && var7; ++var11) - { - if (var8 >= 0 && var8 < 128) - { - block = world.getBlock(var10, var8, var11); - - if (block.isAir(world, var10, var8, var11) || block.isLeaves(world, var10, var8, var11)) - { - if (block != Blocks.water) - { - var7 = false; - } - else if (var8 > par4) - { - var7 = false; - } - } - } - else - { - var7 = false; - } - } - } - } - - if (!var7) - return false; - else - { - block = world.getBlock(par3, par4 - 1, par5); - - if ((block == BOPBlockHelper.get("holyGrass") || block == BOPBlockHelper.get("holyDirt")) && par4 < 128 - var6 - 1) - { - this.setBlockAndNotifyAdequately(world, par3, par4 - 1, par5, BOPBlockHelper.get("holyDirt"), 0); - int var13; - int var16; - - for (var16 = par4 - 3 + var6; var16 <= par4 + var6; ++var16) - { - var10 = var16 - (par4 + var6); - var11 = 2 - var10 / 2; - - for (var12 = par3 - var11; var12 <= par3 + var11; ++var12) - { - var13 = var12 - par3; - - for (int var14 = par5 - var11; var14 <= par5 + var11; ++var14) - { - int var15 = var14 - par5; - - if ((Math.abs(var13) != var11 || Math.abs(var15) != var11 || par2Random.nextInt(2) != 0 && var10 != 0) && !world.getBlock(var12, var16, var14).isOpaqueCube()) - { - this.setBlockAndNotifyAdequately(world, var12, var16, var14, Blocks.leaves, 4); - } - } - } - } - - for (var16 = 0; var16 < var6; ++var16) - { - Block block2 = world.getBlock(par3, par4 + var16, par5); - - //if (var10 == 0 || var10 == Block.leaves.blockID || block2 == Blocks.water) - if (block.isAir(world, par3, par4 + var16, par5) || block.isLeaves(world, par3, par4 + var16, par5) || block2 == Blocks.water) - { - this.setBlockAndNotifyAdequately(world, par3, par4 + var16, par5, Blocks.log, 0); - } - } - - var16 = par4 - 3 + var6; - for (var16 = par4 - 3 + var6; var16 <= par4 + var6; ++var16) - { - var10 = var16 - (par4 + var6); - var11 = 2 - var10 / 2; - - for (var12 = par3 - var11; var12 <= par3 + var11; ++var12) - { - for (var13 = par5 - var11; var13 <= par5 + var11; ++var13) - { - //if (world.getBlockId(var12, var16, var13) == Block.leaves.blockID) - Block block2 = world.getBlock(var12, var16, var13); - if (!(block.isAir(world, var12, var16, var13) || block.isLeaves(world, var12, var16, var13))) - { - if (par2Random.nextInt(4) == 0 && world.getBlock(var12 - 1, var16, var13).isAir(world, var12 - 1, var16, var13)) - { - this.generateVines(world, var12 - 1, var16, var13, 8); - } - - if (par2Random.nextInt(4) == 0 && world.getBlock(var12 + 1, var16, var13).isAir(world, var12 + 1, var16, var13)) - { { - this.generateVines(world, var12 + 1, var16, var13, 2); - } - - if (par2Random.nextInt(4) == 0 && world.getBlock(var12, var16, var13 - 1).isAir(world, var12, var16, var13 - 1)) - { - this.generateVines(world, var12, var16, var13 - 1, 1); - } - - if (par2Random.nextInt(4) == 0 && world.getBlock(var12, var16, var13 + 1).isAir(world, var12, var16, var13 + 1)) - { - this.generateVines(world, var12, var16, var13 + 1, 4); - } - } - } - } - } - - return true; - } - } - else - return false; - } - } else - return false; - return false; - } - - /** - * Generates vines at the given position until it hits a block. - */ - private void generateVines(World par1World, int par2, int par3, int par4, int par5) - { - this.setBlockAndNotifyAdequately(par1World, par2, par3, par4, Blocks.leaves, 4); - int var6 = 24; - - while (true) - { - --par3; - - if (!par1World.getBlock(par2, par3, par4).isAir(par1World, par2, par3, par4) || var6 <= 0) - return; - - this.setBlockAndNotifyAdequately(par1World, par2, par3, par4, Blocks.leaves, 4); - --var6; - } - } -} diff --git a/src/main/resources/assets/biomesoplenty/lang/en_US.lang b/src/main/resources/assets/biomesoplenty/lang/en_US.lang index bd0d48065..bafa3b72d 100644 --- a/src/main/resources/assets/biomesoplenty/lang/en_US.lang +++ b/src/main/resources/assets/biomesoplenty/lang/en_US.lang @@ -8,7 +8,7 @@ tile.hardIce.name=Hardened Ice tile.driedDirt.name=Dried Dirt tile.cragRock.name=Crag Rock tile.mudBricks.name=Mud Bricks -tile.holyDirt.name=Purified Dirt +tile.spectralSoil.name=Spectral Soil tile.crystal.name=Celestial Crystal tile.rocks.limestone.name=Limestone @@ -25,7 +25,7 @@ tile.plants.deadgrass.name=Dead Grass tile.plants.desertgrass.name=Desert Grass tile.plants.desertsprouts.name=Desert Sprouts tile.plants.dunegrass.name=Dune Grass -tile.plants.holytallgrass.name=Purified Tall Grass +tile.plants.spectralfern.name=Spectral Fern tile.plants.thorn.name=Thorns tile.plants.barley.name=Barley tile.plants.cattail.name=Cattail @@ -135,7 +135,7 @@ tile.coral.bluecoral.name=Blue Coral tile.coral.glowcoral.name=Glowing Coral tile.coral.algae.name=Algae -tile.holyGrass.holygrass.name=Purified Grass Block +tile.holyGrass.spectralmoss.name=Spectral Moss Block tile.holyGrass.smolderinggrass.name=Smoldering Grass Block tile.gemOre.amethystore.name=Ender Amethyst Ore diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/holybrick.png b/src/main/resources/assets/biomesoplenty/textures/blocks/holybrick.png deleted file mode 100644 index 5cb0569cee906082b7906f54f8790d02f08d4d7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP}Me1 z7sn6_|F;tjxmpYaT%Z3d-zX3m+!1wytI3OHwr(nC(}aY@56UMgZJ2$O`HlXe=dCGm z9CPQ?-p_U1a_yMJZF@`Ef}!8yBd0{fIeXGboFyt=akR{ E0Ml)9ng9R* diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/holycobble.png b/src/main/resources/assets/biomesoplenty/textures/blocks/holycobble.png deleted file mode 100644 index 015681d9687e50c228ef8c60a7973842ff9de74d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 542 zcmV+(0^$9MP)N2bPDNB8 zb~7$DE-^4L^m3s900EjwL_t(IPgRoJs{v6M#rOaJH{ii#ib!rHOvD34gBS6DsflA0 zrCc9Qo!_3NUFUn4zROzQW$iJ$-LBW`bvm8j#KJI~&1UlV`#q(6K3}a?CzFYi=6bz4 z^!a=q33?~liWYPZ`Zq!(s{-fT9C=|}kad=#Eer&6ipRyZDymY{&$f*_y_ zE{dY(^NB-PE|;kaRwxt<0Y<^ua5w~-&1Q?mqN;XQ7($p%rO*1r>aUYjpz@M8N2bPDNB8 zb~7$DE-^4L^m3s900GoVL_t(IPi0Q)E5l(Fe*X<@SZ+zp=DHhO+w|LJ6B`Q|=91e& z?g~lnw_#cvk`l@-AC#q(TO=QlLOvk=5zjjMS=95M_c`Z0&pC&g-+adBMa$>1`Q4v= zG@!qpFg(tqVtNTeeLSc=AK~uZ5O5D})2o+pceCb?C9s^^Db2}H)?uISatuA=lLs;9 zW)f4ByItf@S*T&j6XjqSue%t96cIMd*9z2-ssjVs(_#J9I5tRToU-*+rrhsNUuhDL zmdUr;F;9CoES;;Cx~n9!PAK5PlvHmWG>YxcG=BpV6v&i&-I;66BBw5SvI0xdlW(>m zqAj#5p%ztYRR_HptFE{vBa3sHqRQ05B87O|0YjRvKE62@Qfv>mq$jlHVT5?h5mV14 z_S$0VIEERbDjh_^LWN|yGR0F1oxm!?!lZt?z$TAvFkqH+z6M22zLnvH8Kh`{Ai^Kp zXvFHsk}O<;VzfgOS*(i4%K-10S!8%%ln{X@sxV0cso0YZB`Hg*C4NN@vv zp;bg0K@||B1ayNZ;UgPB9^wR~Jol9uH{|ul20000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv00065NklHL z*)F{w^l!I=o%^1rfXchv=$fnoj!~AGfl446Z2ztzg&!6JD!a=Bib3_RH1R|LBrMaVrBs5B+9=V}d%3V4KySbzf{!;NJdVl{U*j22r|aYN-`ss#@6L uC=JIkqGST=z++K`VHt{~;D;nM%lHQbMcQ^AC<+t+0000<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO00J{fL_t(IPbHG)a@s%?h4=k`WkLxMCkBKhBs!8n64ek8MVMlY zaA+}jT*fbvk7Q;wvwQd6v!_U`4u|f1&f2}aoZjE>ce|TrUia+7>+5{K?=6=#&ujR; zw_YFL-nN&E;G;@6YkfM!9X)sGN`adl)P7$sK(u@xIK5>&9FNQWUPLSfFm{qvNOsC! zJpIqdhwRq@%9usox5wjHQT|rX$~^-_5pU-cW>&Q;KU>A|X7jZ!)5JXRR6@CwJDqBS z8t{``bx$dsMQq&gTt*MEA7*3`(T$UFL`m24I_&(DK@b%7MbjUFG>zM1uH zfMFadNH=qXD>O(`i!pi>yPPPiV!GY(NTj1{!+N@3xixd}i8TCBy;AfV{BTr@Iy45rz`R1c%t91WR(k^8fbT zEf)3BC^a(CbIrlgh!qNe3fxRMdT5Yq&t~)i12%n7E%kcW$V^2E8q!@A+BhU=!U5SW zXB*W>A(N~Xu#4>VuBEya@`05;cS)0^LBHmJ#EfSl1Me{|Y$>q1ZI@_59u*{U%aLTS zFMy}Cs?gwqDn$9g7{gzV3=k`ltl=r;L15lZcaFH50f@(ie9%=*jJB dtgNgKhrg3tO={gR1IGXW002ovPDHLkV1nHiID!BG diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/holystone.png b/src/main/resources/assets/biomesoplenty/textures/blocks/holystone.png deleted file mode 100644 index 1d8b7ee7f10424f84407a665c8f911bcb4b83de7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{JqP)N2bPDNB8 zb~7$DE-^7j^FlWO00DeSL_t(IPd(CCjsigp1kk?!J(ip`fPf(g5IOV5Y4$ai@W;sA zuCmM3lghH}^?KcI_x*m~?{~-Ha45N4E>WshtIcM!D2m(d29s8+6*R>2`CKlS{eE9A zQCqLqo6Sa51YabF^Z7iTPUEZ}!gjlj<6^O>*Xto+zu(X2^Gp!O<577u8Yu@QsEba!2q;UsmPT8z8y*g>!sK0HJi=!mJn(ag`j;tpVR3C8q+N1 zGEF8ES-ah)io{svJ3oiq>Wr}!47(Bp&Uif5_3s-J2qr=Up_xy;oQHX7LL&k})o!M_js5jajBmACG$=qT2+NV{CN4XjPN4HUQ0(jr0m>+L zDcDM{;JfjH@tRo@@0jf&qbm;SkH?TLBI;db&(wN8be9CUM2);1QSjUi8mgPTb+%AidQ(I~P0000 diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/holystonemossy.png b/src/main/resources/assets/biomesoplenty/textures/blocks/holystonemossy.png deleted file mode 100644 index a52e9a0a5985d72e0523d95ac63c305b6c845796..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmV-q0-ODbP)N2bPDNB8 zb~7$DE-^7j^FlWO00H1hL_t(IPd$6$88wGow?`SIrpBiwx8c>wVF<+Ns{Q$Qzfs_XxtLp?O-rqyWj68 zlgW+HY&LC`7Tjq2+2|;D=03DA< zndXOY|I9*Luh*0W#7IyQh9L?$w-9YS!WZO{BW|@?@Kqy^1JnXQ?W>f;VxxNj&6z#p zhcKJXh`Eh<7%{+bO?;q$tWE($yWJ*Dz*{hGFa!EgNnl`PZ%;$K{J%o+UOlIYNnr(7 z$;p*t;h$`xoEX^;=)_clcDY;_D_L_J?k%NGCWYhCHX`y#=W_j{gC~v;f!sZSPS40000AxPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv00056Nklexb4;!{nU|LNIIc1q7hb zW62x_VmAL`FYl^6vRfRZh;Z=5_T30`CEKrS>GNLh_ews3_o=+h`j$3a3A-+Dl2>$9 z%$komnHkhIa6Uh#&+voNtE7riLb*i`O{hWU__>E7IUkLmd8%~yC$u0_&U`|}By|fH z`3q6z(3zjSHz78RW`h)bh*Ru!n&1m)F^ZI?D4<4-fc`>)+Qk41APQPfCj3ixt4U_x zZQKax%%{jAJS>>$$R?_E=hY-huQQi40_ug2+Fv$UKrh*vUm){rxlB>Z&77|32Lj6e zyvDR#q?oq5C8pzDROwbNT^#_U^JAAf-Zt6LoSk8|J+6|quxJE)|9}J3G&P+jjF5(- zFg2dU_|jfl*Ly72?Rc4((M!U^%lMYS(Aks%eYq*Mfm~*XMfLVk0Vn6 O0000!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsA`(0 zi(`m||I&bif(;5h$@204YOI==H?%ujsz@os=u~t)IhXBudCS$W4?aYn$h5CB|6SSD z`+FD5v-t}iEqpoS%*$A5ff@JiuDIOx&&KCVi;uX==k1)g)_lBnyq!x!DV_209JP=m ztfpbbS=~ED4Yv6-9^ahH$o6ARb=6q%lQEz)k@EX}wpkTp8QnZdNk^Z6al Y#;S>0DYDE7Ko>H2y85}Sb4q9e0L9g1e*gdg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/spectralmoss_side.png b/src/main/resources/assets/biomesoplenty/textures/blocks/spectralmoss_side.png new file mode 100644 index 0000000000000000000000000000000000000000..d90c0b73f6eee2b7c9641759e147ff7ec5925d05 GIT binary patch literal 485 zcmVN2bPDNB8 zb~7$DE-^7j^FlWO00Ci1L_t(IPi2okOT$nU#ozaE5gc4xItj5wj4`cA{}^K{SVE;> z7lV_VVCm8fLQzpf@efWqxY)su;Nq9^_dMmH2q!P+o_o%H_nDjR>PNo=E?XPtjrGsN z41T|}sq!wZoyBXf-4?d@UP{+Y_tU3NG_I}UnACmLucIF2X|O^Y5jTJ=%+CSymL(c? z;(Lr?o=V)ZmX;Q|2gE^{mSH@_^KL9FvxzZf6jmzBCESQFd(FpogwqDJJv|2Cb|zvh z0J%=WtF2HaEu$MrW91S~8YJ~9-0}$wHGG-`NQxi=9JfEK54wqN9v%;DKvB)3!HZEK zk?%<%AjJmwD3Bl*%|InqPVGrcU=dCm05~Xk14LX?gonuxpx~SZq-tG=M#zUEPf-+b z8{p?u=g9M13MFAj%N2bPDNB8 zb~7$DE-^7j^FlWO00DVPL_t(IPd(D@DuhuK1>pC(2pP5Ohrf})UeBfzOUo?%(w!ER%$XQBLqQb zaZnwC=kD~|YKu>mfs`hop|Wh5L}3F8B&;%Tl6^mQr@ps3BCgA|3_^@@twP>71Ej_y z7>^;SgJH6Lk6UQO*GD2$n;~Jm{#4-hwCtvQ2QorPC(Vkl#n#H{K9=jG#mES~m+pTg z-6(|w=}#p$hF$@Z0=9&aOep8%f;gx@s*n5w1H3cOJ=(BI00000NkvXXu0mjf>!;Zr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/biomesoplenty/textures/blocks/spectralsoil.png b/src/main/resources/assets/biomesoplenty/textures/blocks/spectralsoil.png new file mode 100644 index 0000000000000000000000000000000000000000..7aaf4e3f0ef6f81c7fdc1ac68cd3036f020aec83 GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L2E{@KYKsOr3@ zi(`m|f9gbAzC#8Q&c*BcWOo}HD7smdro5lgEB$5No>#7Z8k0nG>i;j5nO|GKKB4x` z0av}xBKNm{aJFEqSR0yI$f0JTKBJ4nT=P!IT&I`Ya=Ut*4&}aIeVMCdZRQ!?LFFgK6o6YaYMS_g?vPxUp9CL)E>hR(VIc+h1&-+T*EI>NDX>lSxB$ g%##z-D}OOPZ8lkKzw^LUpw}2YUHx3vIVCg!05Y$EK>z>% literal 0 HcmV?d00001