Fixed sounds/tool effectiveness for various blocks, renamed block/item classes to match 1.14 naming convention

This commit is contained in:
Forstride 2019-07-26 06:57:24 -04:00
parent b9eb540c98
commit 4e33f53f8a
28 changed files with 255 additions and 246 deletions

View File

@ -9,6 +9,7 @@ package biomesoplenty.common.block;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity;
import net.minecraft.particles.ParticleTypes;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.shapes.ISelectionContext;
@ -20,11 +21,11 @@ import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.Random;
public class BlockAsh extends Block
public class AshBlock extends Block
{
protected static final VoxelShape SHAPE = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 14.0D, 16.0D);
public BlockAsh(Block.Properties properties)
public AshBlock(Block.Properties properties)
{
super(properties);
}
@ -34,6 +35,12 @@ public class BlockAsh extends Block
{
return SHAPE;
}
@Override
public void onEntityCollision(BlockState state, World worldIn, BlockPos pos, Entity entityIn)
{
entityIn.setMotion(entityIn.getMotion().mul(0.75D, 1.0D, 0.75D));
}
@Override
@OnlyIn(Dist.CLIENT)

View File

@ -22,9 +22,9 @@ import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorld;
import net.minecraft.world.World;
public class BlockBramble extends SixWayBlock
public class BrambleBlock extends SixWayBlock
{
public BlockBramble(Block.Properties builder)
public BrambleBlock(Block.Properties builder)
{
super(0.25F, builder);
this.setDefaultState(this.stateContainer.getBaseState().with(NORTH, Boolean.valueOf(false)).with(EAST, Boolean.valueOf(false)).with(SOUTH, Boolean.valueOf(false)).with(WEST, Boolean.valueOf(false)).with(UP, Boolean.valueOf(false)).with(DOWN, Boolean.valueOf(false)));

View File

@ -18,12 +18,12 @@ import net.minecraft.world.IBlockReader;
import net.minecraftforge.common.IPlantable;
import net.minecraftforge.common.PlantType;
public class BlockDoublePlantBOP extends DoublePlantBlock implements IPlantable
public class DoublePlantBlockBOP extends DoublePlantBlock implements IPlantable
{
public static final EnumProperty<DoubleBlockHalf> field_208063_b = DoublePlantBlock.HALF;
private final Block field_196392_b;
public BlockDoublePlantBOP(Block p_i48335_1_, Block.Properties properties)
public DoublePlantBlockBOP(Block p_i48335_1_, Block.Properties properties)
{
super(properties);
this.field_196392_b = p_i48335_1_;

View File

@ -21,9 +21,9 @@ import net.minecraftforge.common.PlantType;
import java.util.Iterator;
public class BlockDoubleWatersidePlant extends BlockDoublePlantBOP
public class DoubleWatersidePlantBlock extends DoublePlantBlockBOP
{
public BlockDoubleWatersidePlant(Block droppedBlock, Block.Properties properties)
public DoubleWatersidePlantBlock(Block droppedBlock, Block.Properties properties)
{
super(droppedBlock, properties);
}

View File

@ -14,9 +14,9 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
import net.minecraftforge.common.PlantType;
public class BlockDriedSand extends Block
public class DriedSandBlock extends Block
{
public BlockDriedSand(Block.Properties properties)
public DriedSandBlock(Block.Properties properties)
{
super(properties);
}

View File

@ -8,9 +8,9 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
public class BlockFenceBOP extends FenceBlock
public class FenceBlockBOP extends FenceBlock
{
public BlockFenceBOP(Block.Properties p_i48367_2_)
public FenceBlockBOP(Block.Properties p_i48367_2_)
{
super(p_i48367_2_);
}

View File

@ -8,9 +8,9 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
public class BlockFenceGateBOP extends FenceGateBlock
public class FenceGateBlockBOP extends FenceGateBlock
{
public BlockFenceGateBOP(Block.Properties p_i48367_2_)
public FenceGateBlockBOP(Block.Properties p_i48367_2_)
{
super(p_i48367_2_);
}

View File

@ -16,11 +16,11 @@ import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.World;
public class BlockFlesh extends Block
public class FleshBlockBOP extends Block
{
protected static final VoxelShape SHAPE = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 14.0D, 16.0D);
public BlockFlesh(Block.Properties properties)
public FleshBlockBOP(Block.Properties properties)
{
super(properties);
}
@ -34,6 +34,6 @@ public class BlockFlesh extends Block
@Override
public void onEntityCollision(BlockState state, World worldIn, BlockPos pos, Entity entityIn)
{
entityIn.getMotion().mul(0.9D, 1.0D, 0.9D);
entityIn.setMotion(entityIn.getMotion().mul(0.9D, 1.0D, 0.9D));
}
}

View File

@ -28,12 +28,12 @@ import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.Random;
public class BlockFlowerBOP extends FlowerBlock
public class FlowerBlockBOP extends FlowerBlock
{
protected static final VoxelShape NORMAL = Block.makeCuboidShape(5.0D, 0.0D, 5.0D, 11.0D, 10.0D, 11.0D);
protected static final VoxelShape LARGE = Block.makeCuboidShape(1.0D, 0.0D, 1.0D, 15.0D, 14.0D, 15.0D);
public BlockFlowerBOP(Block.Properties properties)
public FlowerBlockBOP(Block.Properties properties)
{
super(Effects.SLOWNESS, 0, properties);
}

View File

@ -29,12 +29,12 @@ import net.minecraftforge.common.PlantType;
import javax.annotation.Nullable;
public class BlockFoliageBOP extends BushBlock implements IPlantable
public class FoliageBlockBOP extends BushBlock implements IPlantable
{
protected static final VoxelShape NORMAL = Block.makeCuboidShape(2.0D, 0.0D, 2.0D, 14.0D, 13.0D, 14.0D);
protected static final VoxelShape SHORT = Block.makeCuboidShape(1.0D, 0.0D, 1.0D, 15.0D, 7.0D, 15.0D);
public BlockFoliageBOP(Block.Properties properties)
public FoliageBlockBOP(Block.Properties properties)
{
super(properties);
}

View File

@ -15,9 +15,9 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
public class BlockLeavesBOP extends LeavesBlock
public class LeavesBlockBOP extends LeavesBlock
{
public BlockLeavesBOP(Block.Properties properties)
public LeavesBlockBOP(Block.Properties properties)
{
super(properties);
}

View File

@ -9,11 +9,11 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
public class BlockLogBOP extends LogBlock
public class LogBlockBOP extends LogBlock
{
private final MaterialColor field_196504_b;
public BlockLogBOP(MaterialColor p_i48367_1_, Block.Properties p_i48367_2_)
public LogBlockBOP(MaterialColor p_i48367_1_, Block.Properties p_i48367_2_)
{
super(p_i48367_1_, p_i48367_2_);
this.field_196504_b = p_i48367_1_;

View File

@ -22,11 +22,11 @@ import net.minecraftforge.common.PlantType;
import java.util.Random;
public class BlockMud extends Block
public class MudBlock extends Block
{
protected static final VoxelShape SHAPE = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 14.0D, 16.0D);
public BlockMud(Block.Properties properties)
public MudBlock(Block.Properties properties)
{
super(properties);
}
@ -40,7 +40,7 @@ public class BlockMud extends Block
@Override
public void onEntityCollision(BlockState state, World worldIn, BlockPos pos, Entity entityIn)
{
entityIn.getMotion().mul(0.4D, 1.0D, 0.4D);
entityIn.setMotion(entityIn.getMotion().mul(0.5D, 1.0D, 0.5D));
}
@Override

View File

@ -18,9 +18,9 @@ import net.minecraft.world.World;
import java.util.Random;
public class BlockMushroomBOP extends MushroomBlock
public class MushroomBlockBOP extends MushroomBlock
{
public BlockMushroomBOP(Block.Properties properties)
public MushroomBlockBOP(Block.Properties properties)
{
super(properties);
}

View File

@ -7,9 +7,9 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
public class BlockPlanksBOP extends Block
public class PlanksBlockBOP extends Block
{
public BlockPlanksBOP(Block.Properties p_i48367_2_)
public PlanksBlockBOP(Block.Properties p_i48367_2_)
{
super(p_i48367_2_);
}

View File

@ -23,11 +23,11 @@ import net.minecraft.world.World;
import net.minecraftforge.common.IPlantable;
import net.minecraftforge.common.PlantType;
public class BlockPlantBOP extends BushBlock implements IPlantable
public class PlantBlockBOP extends BushBlock implements IPlantable
{
protected static final VoxelShape NORMAL = Block.makeCuboidShape(2.0D, 0.0D, 2.0D, 14.0D, 13.0D, 14.0D);
public BlockPlantBOP(Block.Properties properties)
public PlantBlockBOP(Block.Properties properties)
{
super(properties);
}

View File

@ -24,13 +24,13 @@ import net.minecraft.world.World;
import java.util.Random;
public class BlockSaplingBOP extends SaplingBlock implements IGrowable
public class SaplingBlockBOP extends SaplingBlock implements IGrowable
{
public static final IntegerProperty STAGE = BlockStateProperties.STAGE_0_1;
public static final VoxelShape SHAPE = Block.makeCuboidShape(2.0D, 0.0D, 2.0D, 14.0D, 12.0D, 14.0D);
private final Tree tree;
public BlockSaplingBOP(Tree tree, Block.Properties properties)
public SaplingBlockBOP(Tree tree, Block.Properties properties)
{
super(tree, properties);
this.tree = tree;

View File

@ -9,9 +9,9 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
public class BlockSlabBOP extends SlabBlock
public class SlabBlockBOP extends SlabBlock
{
public BlockSlabBOP(Block.Properties properties)
public SlabBlockBOP(Block.Properties properties)
{
super(properties);
}

View File

@ -9,12 +9,12 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
public class BlockStairsBOP extends StairsBlock
public class StairsBlockBOP extends StairsBlock
{
private BlockState modelState;
private Block modelBlock;
public BlockStairsBOP(BlockState state, Block.Properties properties)
public StairsBlockBOP(BlockState state, Block.Properties properties)
{
super(state, properties);
this.modelBlock = state.getBlock();

View File

@ -8,9 +8,9 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
public class BlockVineBOP extends VineBlock
public class VineBlockBOP extends VineBlock
{
public BlockVineBOP(Block.Properties p_i48367_2_)
public VineBlockBOP(Block.Properties p_i48367_2_)
{
super(p_i48367_2_);
}

View File

@ -28,11 +28,11 @@ import net.minecraft.world.World;
import javax.annotation.Nullable;
public class BlockWaterPlant extends BlockPlantBOP
public class WaterPlantBlock extends PlantBlockBOP
{
protected static final VoxelShape NORMAL = Block.makeCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 16.0D, 16.0D);
public BlockWaterPlant(Block.Properties properties)
public WaterPlantBlock(Block.Properties properties)
{
super(properties);
}

View File

@ -20,9 +20,9 @@ import net.minecraftforge.common.PlantType;
import java.util.Iterator;
public class BlockWatersidePlant extends BlockPlantBOP
public class WatersidePlantBlock extends PlantBlockBOP
{
public BlockWatersidePlant(Block.Properties properties)
public WatersidePlantBlock(Block.Properties properties)
{
super(properties);
}

View File

@ -8,9 +8,9 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockReader;
public class BlockWoodBOP extends RotatedPillarBlock
public class WoodBlockBOP extends RotatedPillarBlock
{
public BlockWoodBOP(Block.Properties p_i48367_2_)
public WoodBlockBOP(Block.Properties p_i48367_2_)
{
super(p_i48367_2_);
}

View File

@ -13,9 +13,9 @@ import net.minecraft.item.MusicDiscItem;
import net.minecraft.item.Rarity;
import net.minecraft.util.SoundEvent;
public class ItemMusicDiscBOP extends MusicDiscItem
public class MusicDiscItemBOP extends MusicDiscItem
{
public ItemMusicDiscBOP(SoundEvent record)
public MusicDiscItemBOP(SoundEvent record)
{
super(0, record, new Item.Properties().group(ItemGroupBOP.instance).rarity(Rarity.RARE).maxStackSize(1));
}

View File

@ -22,9 +22,9 @@ import net.minecraft.util.math.RayTraceContext;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.world.World;
public class ItemWaterPlant extends BlockItem
public class WaterPlantItem extends BlockItem
{
public ItemWaterPlant(Block blockIn, Item.Properties builder)
public WaterPlantItem(Block blockIn, Item.Properties builder)
{
super(blockIn, builder);
}

View File

@ -8,7 +8,7 @@
package biomesoplenty.common.world.gen.feature;
import biomesoplenty.api.block.BOPBlocks;
import biomesoplenty.common.block.BlockBramble;
import biomesoplenty.common.block.BrambleBlock;
import biomesoplenty.common.util.biome.GeneratorUtil;
import biomesoplenty.common.util.block.IBlockPosQuery;
import com.mojang.datafixers.Dynamic;
@ -58,15 +58,15 @@ public class BrambleFeature extends Feature<NoFeatureConfig>
for (int length = 0; length <= targetLength && replace.matches(world, genPos); length++)
{
//if (BlockBramble.canPlaceBlockAt(world, genPos))
//if (BrambleBlock.canPlaceBlockAt(world, genPos))
//{
world.setBlockState(genPos, ((BlockBramble)BOPBlocks.bramble).makeConnections(world, genPos), 2);
world.setBlockState(genPos, ((BrambleBlock)BOPBlocks.bramble).makeConnections(world, genPos), 2);
for (Direction face : Direction.values())
{
if (world.getBlockState(genPos.offset(face)).getBlock() == BOPBlocks.bramble)
{
world.setBlockState(genPos.offset(face), ((BlockBramble)BOPBlocks.bramble).makeConnections(world, genPos.offset(face)), 2);
world.setBlockState(genPos.offset(face), ((BrambleBlock)BOPBlocks.bramble).makeConnections(world, genPos.offset(face)), 2);
}
}
@ -86,7 +86,7 @@ public class BrambleFeature extends Feature<NoFeatureConfig>
{
if (world.getBlockState(leafPos.offset(face)).getBlock() == BOPBlocks.bramble)
{
world.setBlockState(leafPos.offset(face), ((BlockBramble)BOPBlocks.bramble).makeConnections(world, leafPos.offset(face)), 2);
world.setBlockState(leafPos.offset(face), ((BrambleBlock)BOPBlocks.bramble).makeConnections(world, leafPos.offset(face)), 2);
}
}
}

View File

@ -10,13 +10,15 @@ package biomesoplenty.init;
import biomesoplenty.api.block.BOPBlocks;
import biomesoplenty.common.block.*;
import biomesoplenty.common.block.trees.*;
import biomesoplenty.common.item.ItemWaterPlant;
import biomesoplenty.common.item.WaterPlantItem;
import biomesoplenty.common.util.inventory.ItemGroupBOP;
import net.minecraft.block.*;
import net.minecraft.block.material.Material;
import net.minecraft.block.material.MaterialColor;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.util.SoundEvents;
import net.minecraftforge.common.ToolType;
import net.minecraftforge.registries.ForgeRegistries;
import static biomesoplenty.api.block.BOPBlocks.*;
@ -25,269 +27,269 @@ public class ModBlocks
{
public static void init()
{
white_sand = registerBlock(new SandBlock(0xF3F1E4, Block.Properties.create(Material.SAND, MaterialColor.QUARTZ).hardnessAndResistance(0.5F).sound(SoundType.SAND)), "white_sand");
white_sand = registerBlock(new SandBlock(0xF3F1E4, Block.Properties.create(Material.SAND, MaterialColor.QUARTZ).hardnessAndResistance(0.5F).sound(SoundType.SAND).harvestLevel(0).harvestTool(ToolType.SHOVEL)), "white_sand");
white_sandstone = registerBlock(new Block(Block.Properties.create(Material.ROCK, MaterialColor.QUARTZ).hardnessAndResistance(0.8F)), "white_sandstone");
chiseled_white_sandstone = registerBlock(new Block(Block.Properties.create(Material.ROCK, MaterialColor.QUARTZ).hardnessAndResistance(0.8F)), "chiseled_white_sandstone");
cut_white_sandstone = registerBlock(new Block(Block.Properties.create(Material.ROCK, MaterialColor.QUARTZ).hardnessAndResistance(0.8F)), "cut_white_sandstone");
cut_white_sandstone_slab = registerBlock(new BlockSlabBOP(Block.Properties.from(cut_white_sandstone)), "cut_white_sandstone_slab");
cut_white_sandstone_slab = registerBlock(new SlabBlockBOP(Block.Properties.from(cut_white_sandstone)), "cut_white_sandstone_slab");
smooth_white_sandstone = registerBlock(new Block(Block.Properties.create(Material.ROCK, MaterialColor.QUARTZ).hardnessAndResistance(2.0F, 6.0F)), "smooth_white_sandstone");
smooth_white_sandstone_slab = registerBlock(new BlockSlabBOP(Block.Properties.from(smooth_white_sandstone)), "smooth_white_sandstone_slab");
smooth_white_sandstone_stairs = registerBlock(new BlockStairsBOP(white_sandstone.getDefaultState(), Block.Properties.from(smooth_white_sandstone)), "smooth_white_sandstone_stairs");
white_sandstone_slab = registerBlock(new BlockSlabBOP(Block.Properties.from(white_sandstone)), "white_sandstone_slab");
white_sandstone_stairs = registerBlock(new BlockStairsBOP(white_sandstone.getDefaultState(), Block.Properties.from(white_sandstone)), "white_sandstone_stairs");
smooth_white_sandstone_slab = registerBlock(new SlabBlockBOP(Block.Properties.from(smooth_white_sandstone)), "smooth_white_sandstone_slab");
smooth_white_sandstone_stairs = registerBlock(new StairsBlockBOP(white_sandstone.getDefaultState(), Block.Properties.from(smooth_white_sandstone)), "smooth_white_sandstone_stairs");
white_sandstone_slab = registerBlock(new SlabBlockBOP(Block.Properties.from(white_sandstone)), "white_sandstone_slab");
white_sandstone_stairs = registerBlock(new StairsBlockBOP(white_sandstone.getDefaultState(), Block.Properties.from(white_sandstone)), "white_sandstone_stairs");
white_sandstone_wall = registerBlock(new WallBlock(Block.Properties.from(white_sandstone)),"white_sandstone_wall");
mud = registerBlock(new BlockMud(Block.Properties.create(Material.EARTH, MaterialColor.BROWN_TERRACOTTA).hardnessAndResistance(0.6F)), "mud");
mud = registerBlock(new MudBlock(Block.Properties.create(Material.EARTH, MaterialColor.BROWN_TERRACOTTA).hardnessAndResistance(0.6F).harvestLevel(0).harvestTool(ToolType.SHOVEL).sound(new SoundType(1.0F, 0.5F, SoundEvents.BLOCK_SLIME_BLOCK_BREAK, SoundEvents.BLOCK_SLIME_BLOCK_STEP, SoundEvents.BLOCK_SLIME_BLOCK_PLACE, SoundEvents.BLOCK_SLIME_BLOCK_HIT, SoundEvents.BLOCK_SLIME_BLOCK_FALL))), "mud");
mud_bricks = registerBlock(new Block(Block.Properties.create(Material.ROCK, MaterialColor.BROWN_TERRACOTTA).hardnessAndResistance(1.0F)), "mud_bricks");
mud_brick_slab = registerBlock(new BlockSlabBOP(Block.Properties.from(mud_bricks)), "mud_brick_slab");
mud_brick_stairs = registerBlock(new BlockStairsBOP(mud_bricks.getDefaultState(), Block.Properties.from(mud_bricks)), "mud_brick_stairs");
mud_brick_slab = registerBlock(new SlabBlockBOP(Block.Properties.from(mud_bricks)), "mud_brick_slab");
mud_brick_stairs = registerBlock(new StairsBlockBOP(mud_bricks.getDefaultState(), Block.Properties.from(mud_bricks)), "mud_brick_stairs");
mud_brick_wall = registerBlock(new WallBlock(Block.Properties.from(mud_bricks)),"mud_brick_wall");
dried_sand = registerBlock(new BlockDriedSand(Block.Properties.create(Material.EARTH, MaterialColor.WOOD).hardnessAndResistance(1.0F)), "dried_sand");
ash_block = registerBlock(new BlockAsh(Block.Properties.create(Material.SAND, MaterialColor.BLACK_TERRACOTTA).hardnessAndResistance(0.4F).sound(SoundType.SAND)), "ash_block");
flesh = registerBlock(new BlockFlesh(Block.Properties.create(Material.SPONGE, MaterialColor.RED_TERRACOTTA).hardnessAndResistance(0.4F).sound(SoundType.SLIME)), "flesh");
dried_sand = registerBlock(new DriedSandBlock(Block.Properties.create(Material.EARTH, MaterialColor.WOOD).hardnessAndResistance(1.0F).harvestLevel(0).harvestTool(ToolType.PICKAXE).sound(new SoundType(1.0F, 0.5F, SoundEvents.BLOCK_GRAVEL_BREAK, SoundEvents.BLOCK_GRAVEL_STEP, SoundEvents.BLOCK_GRAVEL_PLACE, SoundEvents.BLOCK_GRAVEL_HIT, SoundEvents.BLOCK_GRAVEL_FALL))), "dried_sand");
ash_block = registerBlock(new AshBlock(Block.Properties.create(Material.SAND, MaterialColor.BLACK_TERRACOTTA).hardnessAndResistance(0.4F).harvestLevel(0).harvestTool(ToolType.SHOVEL).sound(SoundType.SAND)), "ash_block");
flesh = registerBlock(new FleshBlockBOP(Block.Properties.create(Material.SPONGE, MaterialColor.RED_TERRACOTTA).hardnessAndResistance(0.4F).sound(SoundType.SLIME).harvestLevel(0).harvestTool(ToolType.AXE)), "flesh");
origin_sapling = registerBlock(new BlockSaplingBOP(new OriginTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "origin_sapling");
origin_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.EMERALD).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "origin_leaves");
flowering_oak_sapling = registerBlock(new BlockSaplingBOP(new FloweringOakTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "flowering_oak_sapling");
flowering_oak_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "flowering_oak_leaves");
yellow_autumn_sapling = registerBlock(new BlockSaplingBOP(new YellowAutumnTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "yellow_autumn_sapling");
yellow_autumn_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "yellow_autumn_leaves");
orange_autumn_sapling = registerBlock(new BlockSaplingBOP(new OrangeAutumnTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "orange_autumn_sapling");
orange_autumn_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "orange_autumn_leaves");
maple_sapling = registerBlock(new BlockSaplingBOP(new MapleTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "maple_sapling");
maple_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.RED).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "maple_leaves");
origin_sapling = registerBlock(new SaplingBlockBOP(new OriginTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "origin_sapling");
origin_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.EMERALD).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "origin_leaves");
flowering_oak_sapling = registerBlock(new SaplingBlockBOP(new FloweringOakTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "flowering_oak_sapling");
flowering_oak_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "flowering_oak_leaves");
yellow_autumn_sapling = registerBlock(new SaplingBlockBOP(new YellowAutumnTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "yellow_autumn_sapling");
yellow_autumn_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "yellow_autumn_leaves");
orange_autumn_sapling = registerBlock(new SaplingBlockBOP(new OrangeAutumnTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "orange_autumn_sapling");
orange_autumn_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "orange_autumn_leaves");
maple_sapling = registerBlock(new SaplingBlockBOP(new MapleTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "maple_sapling");
maple_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.RED).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "maple_leaves");
fir_sapling = registerBlock(new BlockSaplingBOP(new FirTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "fir_sapling");
fir_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "fir_leaves");
fir_log = registerBlock(new BlockLogBOP(MaterialColor.WHITE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIGHT_GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "fir_log");
fir_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "fir_wood");
stripped_fir_log = registerBlock(new BlockLogBOP(MaterialColor.WHITE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_fir_log");
stripped_fir_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_fir_wood");
fir_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_planks");
fir_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_slab");
fir_stairs = registerBlock(new BlockStairsBOP(fir_planks.getDefaultState(), Block.Properties.from(fir_planks)), "fir_stairs");
fir_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, fir_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_fence");
fir_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, fir_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_fence_gate");
fir_sapling = registerBlock(new SaplingBlockBOP(new FirTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "fir_sapling");
fir_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "fir_leaves");
fir_log = registerBlock(new LogBlockBOP(MaterialColor.WHITE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIGHT_GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "fir_log");
fir_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "fir_wood");
stripped_fir_log = registerBlock(new LogBlockBOP(MaterialColor.WHITE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_fir_log");
stripped_fir_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_fir_wood");
fir_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_planks");
fir_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_slab");
fir_stairs = registerBlock(new StairsBlockBOP(fir_planks.getDefaultState(), Block.Properties.from(fir_planks)), "fir_stairs");
fir_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, fir_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_fence");
fir_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, fir_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "fir_fence_gate");
fir_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, fir_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "fir_door");
fir_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "fir_trapdoor");
fir_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, fir_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "fir_pressure_plate");
fir_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "fir_button");
redwood_sapling = registerBlock(new BlockSaplingBOP(new RedwoodTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "redwood_sapling");
redwood_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "redwood_leaves");
redwood_log = registerBlock(new BlockLogBOP(MaterialColor.ORANGE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "redwood_log");
redwood_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "redwood_wood");
stripped_redwood_log = registerBlock(new BlockLogBOP(MaterialColor.ORANGE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_redwood_log");
stripped_redwood_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_redwood_wood");
redwood_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_planks");
redwood_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_slab");
redwood_stairs = registerBlock(new BlockStairsBOP(redwood_planks.getDefaultState(), Block.Properties.from(redwood_planks)), "redwood_stairs");
redwood_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, redwood_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_fence");
redwood_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, redwood_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_fence_gate");
redwood_sapling = registerBlock(new SaplingBlockBOP(new RedwoodTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "redwood_sapling");
redwood_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "redwood_leaves");
redwood_log = registerBlock(new LogBlockBOP(MaterialColor.ORANGE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "redwood_log");
redwood_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "redwood_wood");
stripped_redwood_log = registerBlock(new LogBlockBOP(MaterialColor.ORANGE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_redwood_log");
stripped_redwood_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_redwood_wood");
redwood_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_planks");
redwood_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_slab");
redwood_stairs = registerBlock(new StairsBlockBOP(redwood_planks.getDefaultState(), Block.Properties.from(redwood_planks)), "redwood_stairs");
redwood_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, redwood_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_fence");
redwood_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, redwood_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "redwood_fence_gate");
redwood_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, redwood_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "redwood_door");
redwood_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.ORANGE_TERRACOTTA).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "redwood_trapdoor");
redwood_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, redwood_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "redwood_pressure_plate");
redwood_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "redwood_button");
white_cherry_sapling = registerBlock(new BlockSaplingBOP(new WhiteCherryTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "white_cherry_sapling");
white_cherry_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.SNOW).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "white_cherry_leaves");
pink_cherry_sapling = registerBlock(new BlockSaplingBOP(new PinkCherryTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "pink_cherry_sapling");
pink_cherry_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.PINK).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "pink_cherry_leaves");
cherry_log = registerBlock(new BlockLogBOP(MaterialColor.RED, Block.Properties.create(Material.WOOD, MaterialColor.RED_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "cherry_log");
cherry_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "cherry_wood");
stripped_cherry_log = registerBlock(new BlockLogBOP(MaterialColor.RED, Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_cherry_log");
stripped_cherry_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_cherry_wood");
cherry_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "cherry_planks");
cherry_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "cherry_slab");
cherry_stairs = registerBlock(new BlockStairsBOP(cherry_planks.getDefaultState(), Block.Properties.from(cherry_planks)), "cherry_stairs");
cherry_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, cherry_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "cherry_fence");
cherry_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, cherry_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "cherry_fence_gate");
white_cherry_sapling = registerBlock(new SaplingBlockBOP(new WhiteCherryTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "white_cherry_sapling");
white_cherry_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.SNOW).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "white_cherry_leaves");
pink_cherry_sapling = registerBlock(new SaplingBlockBOP(new PinkCherryTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "pink_cherry_sapling");
pink_cherry_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.PINK).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "pink_cherry_leaves");
cherry_log = registerBlock(new LogBlockBOP(MaterialColor.RED, Block.Properties.create(Material.WOOD, MaterialColor.RED_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "cherry_log");
cherry_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "cherry_wood");
stripped_cherry_log = registerBlock(new LogBlockBOP(MaterialColor.RED, Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_cherry_log");
stripped_cherry_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_cherry_wood");
cherry_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "cherry_planks");
cherry_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "cherry_slab");
cherry_stairs = registerBlock(new StairsBlockBOP(cherry_planks.getDefaultState(), Block.Properties.from(cherry_planks)), "cherry_stairs");
cherry_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, cherry_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "cherry_fence");
cherry_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, cherry_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "cherry_fence_gate");
cherry_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, cherry_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "cherry_door");
cherry_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.RED).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "cherry_trapdoor");
cherry_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, cherry_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "cherry_pressure_plate");
cherry_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "cherry_button");
mahogany_sapling = registerBlock(new BlockSaplingBOP(new MahoganyTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "mahogany_sapling");
mahogany_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "mahogany_leaves");
mahogany_log = registerBlock(new BlockLogBOP(MaterialColor.PINK_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.DIRT).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "mahogany_log");
mahogany_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "mahogany_wood");
stripped_mahogany_log = registerBlock(new BlockLogBOP(MaterialColor.PINK_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_mahogany_log");
stripped_mahogany_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_mahogany_wood");
mahogany_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_planks");
mahogany_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_slab");
mahogany_stairs = registerBlock(new BlockStairsBOP(mahogany_planks.getDefaultState(), Block.Properties.from(mahogany_planks)), "mahogany_stairs");
mahogany_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, mahogany_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_fence");
mahogany_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, mahogany_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_fence_gate");
mahogany_sapling = registerBlock(new SaplingBlockBOP(new MahoganyTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "mahogany_sapling");
mahogany_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "mahogany_leaves");
mahogany_log = registerBlock(new LogBlockBOP(MaterialColor.PINK_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.DIRT).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "mahogany_log");
mahogany_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "mahogany_wood");
stripped_mahogany_log = registerBlock(new LogBlockBOP(MaterialColor.PINK_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_mahogany_log");
stripped_mahogany_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_mahogany_wood");
mahogany_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_planks");
mahogany_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_slab");
mahogany_stairs = registerBlock(new StairsBlockBOP(mahogany_planks.getDefaultState(), Block.Properties.from(mahogany_planks)), "mahogany_stairs");
mahogany_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, mahogany_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_fence");
mahogany_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, mahogany_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "mahogany_fence_gate");
mahogany_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, mahogany_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "mahogany_door");
mahogany_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.PINK_TERRACOTTA).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "mahogany_trapdoor");
mahogany_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, mahogany_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "mahogany_pressure_plate");
mahogany_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "mahogany_button");
jacaranda_sapling = registerBlock(new BlockSaplingBOP(new JacarandaTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "jacaranda_sapling");
jacaranda_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.PURPLE).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "jacaranda_leaves");
jacaranda_log = registerBlock(new BlockLogBOP(MaterialColor.WHITE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIGHT_GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "jacaranda_log");
jacaranda_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "jacaranda_wood");
stripped_jacaranda_log = registerBlock(new BlockLogBOP(MaterialColor.WHITE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_jacaranda_log");
stripped_jacaranda_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_jacaranda_wood");
jacaranda_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_planks");
jacaranda_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_slab");
jacaranda_stairs = registerBlock(new BlockStairsBOP(jacaranda_planks.getDefaultState(), Block.Properties.from(jacaranda_planks)), "jacaranda_stairs");
jacaranda_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, jacaranda_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_fence");
jacaranda_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, jacaranda_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_fence_gate");
jacaranda_sapling = registerBlock(new SaplingBlockBOP(new JacarandaTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "jacaranda_sapling");
jacaranda_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.PURPLE).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "jacaranda_leaves");
jacaranda_log = registerBlock(new LogBlockBOP(MaterialColor.WHITE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIGHT_GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "jacaranda_log");
jacaranda_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "jacaranda_wood");
stripped_jacaranda_log = registerBlock(new LogBlockBOP(MaterialColor.WHITE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_jacaranda_log");
stripped_jacaranda_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_jacaranda_wood");
jacaranda_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_planks");
jacaranda_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_slab");
jacaranda_stairs = registerBlock(new StairsBlockBOP(jacaranda_planks.getDefaultState(), Block.Properties.from(jacaranda_planks)), "jacaranda_stairs");
jacaranda_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, jacaranda_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_fence");
jacaranda_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, jacaranda_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "jacaranda_fence_gate");
jacaranda_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, jacaranda_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "jacaranda_door");
jacaranda_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "jacaranda_trapdoor");
jacaranda_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, jacaranda_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "jacaranda_pressure_plate");
jacaranda_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "jacaranda_button");
palm_sapling = registerBlock(new BlockSaplingBOP(new PalmTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "palm_sapling");
palm_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "palm_leaves");
palm_log = registerBlock(new BlockLogBOP(MaterialColor.YELLOW_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.OBSIDIAN).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "palm_log");
palm_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "palm_wood");
stripped_palm_log = registerBlock(new BlockLogBOP(MaterialColor.YELLOW_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_palm_log");
stripped_palm_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_palm_wood");
palm_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_planks");
palm_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_slab");
palm_stairs = registerBlock(new BlockStairsBOP(palm_planks.getDefaultState(), Block.Properties.from(palm_planks)), "palm_stairs");
palm_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, palm_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_fence");
palm_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, palm_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_fence_gate");
palm_sapling = registerBlock(new SaplingBlockBOP(new PalmTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "palm_sapling");
palm_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "palm_leaves");
palm_log = registerBlock(new LogBlockBOP(MaterialColor.YELLOW_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.OBSIDIAN).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "palm_log");
palm_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "palm_wood");
stripped_palm_log = registerBlock(new LogBlockBOP(MaterialColor.YELLOW_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_palm_log");
stripped_palm_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_palm_wood");
palm_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_planks");
palm_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_slab");
palm_stairs = registerBlock(new StairsBlockBOP(palm_planks.getDefaultState(), Block.Properties.from(palm_planks)), "palm_stairs");
palm_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, palm_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_fence");
palm_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, palm_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "palm_fence_gate");
palm_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, palm_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "palm_door");
palm_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.YELLOW_TERRACOTTA).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "palm_trapdoor");
palm_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, palm_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "palm_pressure_plate");
palm_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "palm_button");
willow_sapling = registerBlock(new BlockSaplingBOP(new WillowTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "willow_sapling");
willow_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "willow_leaves");
willow_log = registerBlock(new BlockLogBOP(MaterialColor.LIME_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "willow_log");
willow_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "willow_wood");
stripped_willow_log = registerBlock(new BlockLogBOP(MaterialColor.LIME_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_willow_log");
stripped_willow_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_willow_wood");
willow_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_planks");
willow_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_slab");
willow_stairs = registerBlock(new BlockStairsBOP(willow_planks.getDefaultState(), Block.Properties.from(willow_planks)), "willow_stairs");
willow_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, willow_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_fence");
willow_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, willow_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_fence_gate");
willow_sapling = registerBlock(new SaplingBlockBOP(new WillowTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "willow_sapling");
willow_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "willow_leaves");
willow_log = registerBlock(new LogBlockBOP(MaterialColor.LIME_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "willow_log");
willow_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "willow_wood");
stripped_willow_log = registerBlock(new LogBlockBOP(MaterialColor.LIME_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_willow_log");
stripped_willow_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_willow_wood");
willow_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_planks");
willow_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_slab");
willow_stairs = registerBlock(new StairsBlockBOP(willow_planks.getDefaultState(), Block.Properties.from(willow_planks)), "willow_stairs");
willow_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, willow_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_fence");
willow_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, willow_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "willow_fence_gate");
willow_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, willow_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "willow_door");
willow_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "willow_trapdoor");
willow_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, willow_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "willow_pressure_plate");
willow_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "willow_button");
dead_sapling = registerBlock(new BlockSaplingBOP(new DeadTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "dead_sapling");
dead_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.WOOD).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "dead_leaves");
dead_log = registerBlock(new BlockLogBOP(MaterialColor.STONE, Block.Properties.create(Material.WOOD, MaterialColor.GRAY).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "dead_log");
dead_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "dead_wood");
stripped_dead_log = registerBlock(new BlockLogBOP(MaterialColor.STONE, Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_dead_log");
stripped_dead_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_dead_wood");
dead_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_planks");
dead_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_slab");
dead_stairs = registerBlock(new BlockStairsBOP(dead_planks.getDefaultState(), Block.Properties.from(dead_planks)), "dead_stairs");
dead_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, dead_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_fence");
dead_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, dead_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_fence_gate");
dead_sapling = registerBlock(new SaplingBlockBOP(new DeadTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "dead_sapling");
dead_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.WOOD).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "dead_leaves");
dead_log = registerBlock(new LogBlockBOP(MaterialColor.STONE, Block.Properties.create(Material.WOOD, MaterialColor.GRAY).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "dead_log");
dead_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "dead_wood");
stripped_dead_log = registerBlock(new LogBlockBOP(MaterialColor.STONE, Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_dead_log");
stripped_dead_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_dead_wood");
dead_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_planks");
dead_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_slab");
dead_stairs = registerBlock(new StairsBlockBOP(dead_planks.getDefaultState(), Block.Properties.from(dead_planks)), "dead_stairs");
dead_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, dead_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_fence");
dead_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, dead_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "dead_fence_gate");
dead_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, dead_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "dead_door");
dead_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.STONE).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "dead_trapdoor");
dead_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, dead_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "dead_pressure_plate");
dead_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "dead_button");
magic_sapling = registerBlock(new BlockSaplingBOP(new MagicTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "magic_sapling");
magic_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.CYAN).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "magic_leaves");
magic_log = registerBlock(new BlockLogBOP(MaterialColor.BLUE, Block.Properties.create(Material.WOOD, MaterialColor.LIGHT_BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "magic_log");
magic_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "magic_wood");
stripped_magic_log = registerBlock(new BlockLogBOP(MaterialColor.BLUE, Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_magic_log");
stripped_magic_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_magic_wood");
magic_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_planks");
magic_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_slab");
magic_stairs = registerBlock(new BlockStairsBOP(magic_planks.getDefaultState(), Block.Properties.from(magic_planks)), "magic_stairs");
magic_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, magic_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_fence");
magic_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, magic_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_fence_gate");
magic_sapling = registerBlock(new SaplingBlockBOP(new MagicTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "magic_sapling");
magic_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.CYAN).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "magic_leaves");
magic_log = registerBlock(new LogBlockBOP(MaterialColor.BLUE, Block.Properties.create(Material.WOOD, MaterialColor.LIGHT_BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "magic_log");
magic_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "magic_wood");
stripped_magic_log = registerBlock(new LogBlockBOP(MaterialColor.BLUE, Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_magic_log");
stripped_magic_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_magic_wood");
magic_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_planks");
magic_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_slab");
magic_stairs = registerBlock(new StairsBlockBOP(magic_planks.getDefaultState(), Block.Properties.from(magic_planks)), "magic_stairs");
magic_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, magic_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_fence");
magic_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, magic_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "magic_fence_gate");
magic_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, magic_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "magic_door");
magic_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.BLUE).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "magic_trapdoor");
magic_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, magic_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "magic_pressure_plate");
magic_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "magic_button");
umbran_sapling = registerBlock(new BlockSaplingBOP(new UmbranTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "umbran_sapling");
umbran_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "umbran_leaves");
umbran_log = registerBlock(new BlockLogBOP(MaterialColor.BLUE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "umbran_log");
umbran_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "umbran_wood");
stripped_umbran_log = registerBlock(new BlockLogBOP(MaterialColor.BLUE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_umbran_log");
stripped_umbran_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_umbran_wood");
umbran_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_planks");
umbran_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_slab");
umbran_stairs = registerBlock(new BlockStairsBOP(umbran_planks.getDefaultState(), Block.Properties.from(umbran_planks)), "umbran_stairs");
umbran_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, umbran_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_fence");
umbran_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, umbran_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_fence_gate");
umbran_sapling = registerBlock(new SaplingBlockBOP(new UmbranTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "umbran_sapling");
umbran_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "umbran_leaves");
umbran_log = registerBlock(new LogBlockBOP(MaterialColor.BLUE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "umbran_log");
umbran_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "umbran_wood");
stripped_umbran_log = registerBlock(new LogBlockBOP(MaterialColor.BLUE_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_umbran_log");
stripped_umbran_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_umbran_wood");
umbran_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_planks");
umbran_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_slab");
umbran_stairs = registerBlock(new StairsBlockBOP(umbran_planks.getDefaultState(), Block.Properties.from(umbran_planks)), "umbran_stairs");
umbran_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, umbran_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_fence");
umbran_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, umbran_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "umbran_fence_gate");
umbran_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, umbran_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "umbran_door");
umbran_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.BLUE_TERRACOTTA).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "umbran_trapdoor");
umbran_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, umbran_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "umbran_pressure_plate");
umbran_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "umbran_button");
hellbark_sapling = registerBlock(new BlockSaplingBOP(new HellbarkTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "hellbark_sapling");
hellbark_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES, MaterialColor.PURPLE_TERRACOTTA).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "hellbark_leaves");
hellbark_log = registerBlock(new BlockLogBOP(MaterialColor.GRAY_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIGHT_GRAY).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "hellbark_log");
hellbark_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "hellbark_wood");
stripped_hellbark_log = registerBlock(new BlockLogBOP(MaterialColor.GRAY_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_hellbark_log");
stripped_hellbark_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_hellbark_wood");
hellbark_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_planks");
hellbark_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_slab");
hellbark_stairs = registerBlock(new BlockStairsBOP(hellbark_planks.getDefaultState(), Block.Properties.from(hellbark_planks)), "hellbark_stairs");
hellbark_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, hellbark_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_fence");
hellbark_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, hellbark_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_fence_gate");
hellbark_sapling = registerBlock(new SaplingBlockBOP(new HellbarkTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "hellbark_sapling");
hellbark_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES, MaterialColor.PURPLE_TERRACOTTA).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "hellbark_leaves");
hellbark_log = registerBlock(new LogBlockBOP(MaterialColor.GRAY_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.LIGHT_GRAY).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "hellbark_log");
hellbark_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "hellbark_wood");
stripped_hellbark_log = registerBlock(new LogBlockBOP(MaterialColor.GRAY_TERRACOTTA, Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_hellbark_log");
stripped_hellbark_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_hellbark_wood");
hellbark_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_planks");
hellbark_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_slab");
hellbark_stairs = registerBlock(new StairsBlockBOP(hellbark_planks.getDefaultState(), Block.Properties.from(hellbark_planks)), "hellbark_stairs");
hellbark_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, hellbark_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_fence");
hellbark_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, hellbark_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "hellbark_fence_gate");
hellbark_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, hellbark_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "hellbark_door");
hellbark_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.GRAY_TERRACOTTA).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "hellbark_trapdoor");
hellbark_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, hellbark_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "hellbark_pressure_plate");
hellbark_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "hellbark_button");
ethereal_sapling = registerBlock(new BlockSaplingBOP(new EtherealTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "ethereal_sapling");
ethereal_leaves = registerBlock(new BlockLeavesBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "ethereal_leaves");
ethereal_log = registerBlock(new BlockLogBOP(MaterialColor.CYAN, Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "ethereal_log");
ethereal_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "ethereal_wood");
stripped_ethereal_log = registerBlock(new BlockLogBOP(MaterialColor.CYAN, Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_ethereal_log");
stripped_ethereal_wood = registerBlock(new BlockWoodBOP(Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_ethereal_wood");
ethereal_planks = registerBlock(new BlockPlanksBOP(Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_planks");
ethereal_slab = registerBlock(new BlockSlabBOP(Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_slab");
ethereal_stairs = registerBlock(new BlockStairsBOP(ethereal_planks.getDefaultState(), Block.Properties.from(ethereal_planks)), "ethereal_stairs");
ethereal_fence = registerBlock(new BlockFenceBOP(Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_fence");
ethereal_fence_gate = registerBlock(new BlockFenceGateBOP(Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_fence_gate");
ethereal_sapling = registerBlock(new SaplingBlockBOP(new EtherealTree(), Block.Properties.create(Material.PLANTS).doesNotBlockMovement().tickRandomly().zeroHardnessAndResistance().sound(SoundType.PLANT)), "ethereal_sapling");
ethereal_leaves = registerBlock(new LeavesBlockBOP(Block.Properties.create(Material.LEAVES).hardnessAndResistance(0.2F).tickRandomly().sound(SoundType.PLANT)), "ethereal_leaves");
ethereal_log = registerBlock(new LogBlockBOP(MaterialColor.CYAN, Block.Properties.create(Material.WOOD, MaterialColor.LIME_TERRACOTTA).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "ethereal_log");
ethereal_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "ethereal_wood");
stripped_ethereal_log = registerBlock(new LogBlockBOP(MaterialColor.CYAN, Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_ethereal_log");
stripped_ethereal_wood = registerBlock(new WoodBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F).sound(SoundType.WOOD)), "stripped_ethereal_wood");
ethereal_planks = registerBlock(new PlanksBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_planks");
ethereal_slab = registerBlock(new SlabBlockBOP(Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_slab");
ethereal_stairs = registerBlock(new StairsBlockBOP(ethereal_planks.getDefaultState(), Block.Properties.from(ethereal_planks)), "ethereal_stairs");
ethereal_fence = registerBlock(new FenceBlockBOP(Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_fence");
ethereal_fence_gate = registerBlock(new FenceGateBlockBOP(Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).hardnessAndResistance(2.0F, 3.0F).sound(SoundType.WOOD)), "ethereal_fence_gate");
ethereal_door = registerBlock(new DoorBlock(Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "ethereal_door");
ethereal_trapdoor = registerBlock(new TrapDoorBlock(Block.Properties.create(Material.WOOD, MaterialColor.CYAN).hardnessAndResistance(3.0F).sound(SoundType.WOOD)), "ethereal_trapdoor");
ethereal_pressure_plate = registerBlock(new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.create(Material.WOOD, ethereal_planks.materialColor).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "ethereal_pressure_plate");
ethereal_button = registerBlock(new WoodButtonBlock(Block.Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.5F).sound(SoundType.WOOD)), "ethereal_button");
rose = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "rose");
blue_hydrangea = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "blue_hydrangea");
violet = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "violet");
lavender = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS, MaterialColor.MAGENTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "lavender");
goldenrod = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS, MaterialColor.YELLOW_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "goldenrod");
wildflower = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "wildflower");
orange_cosmos = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "orange_cosmos");
pink_daffodil = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "pink_daffodil");
pink_hibiscus = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "pink_hibiscus");
glowflower = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT).lightValue(9)), "glowflower");
wilted_lily = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "wilted_lily");
burning_blossom = registerBlock(new BlockFlowerBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT).lightValue(8)), "burning_blossom");
rose = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "rose");
blue_hydrangea = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "blue_hydrangea");
violet = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "violet");
lavender = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS, MaterialColor.MAGENTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "lavender");
goldenrod = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS, MaterialColor.YELLOW_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "goldenrod");
wildflower = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "wildflower");
orange_cosmos = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "orange_cosmos");
pink_daffodil = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "pink_daffodil");
pink_hibiscus = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "pink_hibiscus");
glowflower = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT).lightValue(9)), "glowflower");
wilted_lily = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "wilted_lily");
burning_blossom = registerBlock(new FlowerBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT).lightValue(8)), "burning_blossom");
willow_vine = registerBlock(new BlockVineBOP(Block.Properties.create(Material.TALL_PLANTS).doesNotBlockMovement().tickRandomly().hardnessAndResistance(0.2F).sound(SoundType.PLANT)), "willow_vine");
willow_vine = registerBlock(new VineBlockBOP(Block.Properties.create(Material.TALL_PLANTS).doesNotBlockMovement().tickRandomly().hardnessAndResistance(0.2F).sound(SoundType.PLANT)), "willow_vine");
bush = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.TALL_PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "bush");
barley = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.YELLOW_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "barley");
dune_grass = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.LIME_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "dune_grass");
desert_grass = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.ORANGE_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "desert_grass");
dead_grass = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.WOOD).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "dead_grass");
spectral_fern = registerBlock(new BlockFoliageBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.RED).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "spectral_fern");
bush = registerBlock(new FoliageBlockBOP(Block.Properties.create(Material.TALL_PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "bush");
barley = registerBlock(new FoliageBlockBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.YELLOW_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "barley");
dune_grass = registerBlock(new FoliageBlockBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.LIME_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "dune_grass");
desert_grass = registerBlock(new FoliageBlockBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.ORANGE_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "desert_grass");
dead_grass = registerBlock(new FoliageBlockBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.WOOD).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "dead_grass");
spectral_fern = registerBlock(new FoliageBlockBOP(Block.Properties.create(Material.TALL_PLANTS, MaterialColor.RED).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "spectral_fern");
cattail = registerBlock(new BlockWatersidePlant(Block.Properties.create(Material.PLANTS, MaterialColor.DIRT).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "cattail");
tall_cattail = registerBlock(new BlockDoubleWatersidePlant(cattail, Block.Properties.create(Material.PLANTS, MaterialColor.DIRT).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "tall_cattail");
cattail = registerBlock(new WatersidePlantBlock(Block.Properties.create(Material.PLANTS, MaterialColor.DIRT).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "cattail");
tall_cattail = registerBlock(new DoubleWatersidePlantBlock(cattail, Block.Properties.create(Material.PLANTS, MaterialColor.DIRT).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "tall_cattail");
reed = new BlockWaterPlant(Block.Properties.create(Material.PLANTS, MaterialColor.DIRT).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT));
registerBlock(reed, new ItemWaterPlant(BOPBlocks.reed, new Item.Properties().group(ItemGroupBOP.instance)), "reed");
watergrass = new BlockWaterPlant(Block.Properties.create(Material.PLANTS, MaterialColor.GRASS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT));
registerBlock(watergrass, new ItemWaterPlant(BOPBlocks.watergrass, new Item.Properties().group(ItemGroupBOP.instance)), "watergrass");
mangrove_root = new BlockWaterPlant(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.WOOD));
registerBlock(mangrove_root, new ItemWaterPlant(BOPBlocks.mangrove_root, new Item.Properties().group(ItemGroupBOP.instance)), "mangrove_root");
reed = new WaterPlantBlock(Block.Properties.create(Material.PLANTS, MaterialColor.DIRT).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT));
registerBlock(reed, new WaterPlantItem(BOPBlocks.reed, new Item.Properties().group(ItemGroupBOP.instance)), "reed");
watergrass = new WaterPlantBlock(Block.Properties.create(Material.PLANTS, MaterialColor.GRASS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT));
registerBlock(watergrass, new WaterPlantItem(BOPBlocks.watergrass, new Item.Properties().group(ItemGroupBOP.instance)), "watergrass");
mangrove_root = new WaterPlantBlock(Block.Properties.create(Material.WOOD, MaterialColor.WHITE_TERRACOTTA).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.WOOD));
registerBlock(mangrove_root, new WaterPlantItem(BOPBlocks.mangrove_root, new Item.Properties().group(ItemGroupBOP.instance)), "mangrove_root");
bramble = registerBlock(new BlockBramble(Block.Properties.create(Material.PLANTS, MaterialColor.NETHERRACK).hardnessAndResistance(0.4F).sound(SoundType.WOOD)), "bramble");
bramble = registerBlock(new BrambleBlock(Block.Properties.create(Material.PLANTS, MaterialColor.NETHERRACK).hardnessAndResistance(0.4F).harvestLevel(0).harvestTool(ToolType.AXE).sound(SoundType.WOOD)), "bramble");
toadstool = registerBlock(new BlockMushroomBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "toadstool");
glowshroom = registerBlock(new BlockMushroomBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT).lightValue(6)), "glowshroom");
toadstool = registerBlock(new MushroomBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT)), "toadstool");
glowshroom = registerBlock(new MushroomBlockBOP(Block.Properties.create(Material.PLANTS).doesNotBlockMovement().zeroHardnessAndResistance().sound(SoundType.PLANT).lightValue(6)), "glowshroom");
}
public static Block registerBlock(Block block, String name)

View File

@ -8,7 +8,7 @@
package biomesoplenty.init;
import biomesoplenty.api.sound.BOPSounds;
import biomesoplenty.common.item.ItemMusicDiscBOP;
import biomesoplenty.common.item.MusicDiscItemBOP;
import biomesoplenty.common.util.inventory.ItemGroupBOP;
import net.minecraft.item.Item;
import net.minecraftforge.registries.ForgeRegistries;
@ -22,7 +22,7 @@ public class ModItems
mud_ball = registerItem(new Item(new Item.Properties().group(ItemGroupBOP.instance)), "mud_ball");
mud_brick = registerItem(new Item(new Item.Properties().group(ItemGroupBOP.instance)), "mud_brick");
music_disc_wanderer = registerItem(new ItemMusicDiscBOP(BOPSounds.music_disc_wanderer), "music_disc_wanderer");
music_disc_wanderer = registerItem(new MusicDiscItemBOP(BOPSounds.music_disc_wanderer), "music_disc_wanderer");
/*fir_boat = registerItem(new ItemBoatBOP(EntityBoatBOP.Type.FIR, (new Item.Properties()).maxStackSize(1).group(ItemGroupBOP.instance)), "fir_boat");
redwood_boat = registerItem(new ItemBoatBOP(EntityBoatBOP.Type.REDWOOD, (new Item.Properties()).maxStackSize(1).group(ItemGroupBOP.instance)), "redwood_boat");