Posted October 16, 20168 yr So I have a block with an TileEntity and an Item with the method onItemRightClick(). The onBlockActivate() method runs before the onItemRightClick() and then never runs the onItemRightClick(). This is how the code looks: @Override public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn, EnumHand hand) { RayTraceResult raytraceresult = this.rayTrace(worldIn, playerIn, false); if (raytraceresult == null) { return super.onItemRightClick(itemStackIn, worldIn, playerIn, hand); } else if (raytraceresult.typeOfHit != RayTraceResult.Type.BLOCK) { return super.onItemRightClick(itemStackIn, worldIn, playerIn, hand); } else { BlockPos blockpos = raytraceresult.getBlockPos(); TileEntity tileEntity = worldIn.getTileEntity(blockpos); System.out.println(blockpos.getX()); System.out.println(blockpos.getY()); System.out.println(blockpos.getZ()); if(tileEntity instanceof TileEntitySunTotem){ System.out.println("Hey"); TileEntitySunTotem tileEntitySunTotem = (TileEntitySunTotem) tileEntity; } } return super.onItemRightClick(itemStackIn, worldIn, playerIn, hand); } public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ){ if(!worldIn.isRemote){ TileEntity tileEntity = worldIn.getTileEntity(pos); if(tileEntity instanceof TileEntitySunTotem){ TileEntitySunTotem tileEntitySunTotem = (TileEntitySunTotem) tileEntity; playerIn.addChatMessage(new TextComponentString("" + tileEntitySunTotem.getSolarEnergy())); } } return true; } It does work when I shift + right click with the item. But I want it to work without.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.