Not a member of Pastebin yet?
                        Sign Up,
                        it unlocks many cool features!                    
                - package tuunaa.stardew.items;
 - import net.minecraft.block.Block;
 - import net.minecraft.block.BlockCrops;
 - import net.minecraft.block.material.Material;
 - import net.minecraft.block.state.IBlockState;
 - import net.minecraft.entity.Entity;
 - import net.minecraft.entity.player.EntityPlayer;
 - import net.minecraft.init.Blocks;
 - import net.minecraft.item.Item;
 - import net.minecraft.item.ItemStack;
 - import net.minecraft.util.ActionResult;
 - import net.minecraft.util.EnumActionResult;
 - import net.minecraft.util.EnumFacing;
 - import net.minecraft.util.EnumHand;
 - import net.minecraft.util.math.BlockPos;
 - import net.minecraft.util.text.TextComponentString;
 - import net.minecraft.world.World;
 - import net.minecraftforge.common.IPlantable;
 - public class ItemScythe extends ItemBase {
 - public ItemScythe(String name) {
 - super(name);
 - }
 - public void centerDestroy(Block block, IBlockState state, World worldIn, BlockPos pos) {
 - if (block == Blocks.WHEAT || block == Blocks.CARROTS || block == Blocks.BEETROOTS || block == Blocks.POTATOES || block == Blocks.NETHER_WART) {
 - if ((int)state.getValue(BlockCrops.AGE) == ((BlockCrops)block).getMaxAge()) {
 - worldIn.destroyBlock(pos, true);
 - worldIn.setBlockState(pos, block.getDefaultState());
 - }
 - }
 - }
 - public void posCompare(BlockPos pos, World worldIn, EnumFacing facing, EntityPlayer entity) {
 - for (EnumFacing direction : EnumFacing.HORIZONTALS) {
 - EnumFacing facingHoriz = entity.getHorizontalFacing();
 - EnumFacing facingOpp = facingHoriz.getOpposite();
 - BlockPos neighborPos = pos.offset(direction);
 - IBlockState neighborState = worldIn.getBlockState(neighborPos);
 - Block neighborBlock = neighborState.getBlock();
 - BlockPos facingPos = pos.offset(facingHoriz);
 - BlockPos oppPos = pos.offset(facingOpp);
 - System.out.println("opposite direction " + facingOpp);
 - System.out.println("neighborPos " + neighborPos);
 - System.out.println("oppPos " + oppPos);
 - if (neighborPos != oppPos || neighborPos != facingPos) {
 - if (neighborBlock == Blocks.WHEAT || neighborBlock == Blocks.CARROTS || neighborBlock == Blocks.BEETROOTS || neighborBlock == Blocks.POTATOES || neighborBlock == Blocks.NETHER_WART) {
 - if ((int)neighborState.getValue(BlockCrops.AGE) == ((BlockCrops)neighborBlock).getMaxAge()) {
 - worldIn.destroyBlock(neighborPos, true);
 - worldIn.setBlockState(neighborPos, neighborBlock.getDefaultState());
 - }
 - }
 - } else {
 - break;
 - }
 - }
 - }
 - @Override
 - public EnumActionResult onItemUse(EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
 - if (!worldIn.isRemote) {
 - EnumFacing facingHoriz = playerIn.getHorizontalFacing();
 - BlockPos clicked = pos;
 - IBlockState clickedState = worldIn.getBlockState(clicked);
 - BlockPos facingPos = pos.offset(facingHoriz);
 - posCompare(facingPos, worldIn, facing, playerIn);
 - posCompare(pos, worldIn, facing, playerIn);
 - centerDestroy(clickedState.getBlock(), clickedState, worldIn, pos);
 - return EnumActionResult.SUCCESS;
 - } else {
 - return EnumActionResult.FAIL;
 - }
 - }
 - }
 
Advertisement
 
                    Add Comment                
                
                        Please, Sign In to add comment