Advertisement
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
Advertisement