package minestrapteam.mods.minestrappolation.item; import minestrapteam.mods.minestrappolation.block.biomeores.BlockBiomeStones; import minestrapteam.mods.minestrappolation.block.biomeores.BlockTerraCreep; import minestrapteam.mods.minestrappolation.enumtypes.MCreepType; import minestrapteam.mods.minestrappolation.enumtypes.MStoneType; import minestrapteam.mods.minestrappolation.lib.MBlocks; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.world.World; public class ItemTerracreepSpore extends Item { public ItemTerracreepSpore() { } @Override public boolean onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ) { if (!playerIn.canPlayerEdit(pos.offset(side), side, stack)) { return false; } else { if (worldIn.getBlockState(pos) == Blocks.stone.getDefaultState() || worldIn.getBlockState(pos) == Blocks.netherrack.getDefaultState() || worldIn.getBlockState(pos) == Blocks.end_stone.getDefaultState() || worldIn.getBlockState(pos).getBlock() == MBlocks.biome_stones) { IBlockState block = worldIn.getBlockState(pos); if (block == Blocks.stone.getDefaultState()) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.STONE)); else if (block == MBlocks.biome_stones.getDefaultState() .withProperty(BlockBiomeStones.VARIANT, MStoneType.DEEPSTONE)) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.DEEPSTONE)); else if (block == MBlocks.biome_stones.getDefaultState() .withProperty(BlockBiomeStones.VARIANT, MStoneType.REDROCK)) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.REDROCK)); else if (block == MBlocks.biome_stones.getDefaultState() .withProperty(BlockBiomeStones.VARIANT, MStoneType.DEEPREDROCK)) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.DEEPREDROCK)); else if (block == MBlocks.biome_stones.getDefaultState() .withProperty(BlockBiomeStones.VARIANT, MStoneType.COLDSTONE)) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.COLDSTONE)); else if (block == MBlocks.biome_stones.getDefaultState() .withProperty(BlockBiomeStones.VARIANT, MStoneType.DEEPCOLDSTONE)) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.DEEPCOLDSTONE)); else if (block == MBlocks.biome_stones.getDefaultState() .withProperty(BlockBiomeStones.VARIANT, MStoneType.ICESTONE)) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.ICESTONE)); else if (block == MBlocks.biome_stones.getDefaultState() .withProperty(BlockBiomeStones.VARIANT, MStoneType.GLACIERSTONE)) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.GLACIERSTONE)); else if (block == MBlocks.biome_stones.getDefaultState() .withProperty(BlockBiomeStones.VARIANT, MStoneType.OCEANSTONE)) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.OCEANSTONE)); else if (block == MBlocks.biome_stones.getDefaultState() .withProperty(BlockBiomeStones.VARIANT, MStoneType.POCEANSTONE)) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.POCEANSTONE)); else if (block == Blocks.netherrack.getDefaultState()) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.NETHERRACK)); else if (block == Blocks.end_stone.getDefaultState()) worldIn.setBlockState(pos, MBlocks.terracreep.getDefaultState() .withProperty(BlockTerraCreep.VARIANT, MCreepType.ENDSTONE)); stack.stackSize--; return true; } else return false; } } }