}else { if(ItemUse.invoke(result) == DENY){ ((PlayerInteractEvent.RightClickBlock) playerInteracted).setUseItem(Event.Result.DENY);
@SubscribeEvent public void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) { if (CROPS.contains(event.getWorld().getBlockState(event.getPos()).getBlock())) { event.setUseItem(Result.DENY); } } }
((PlayerInteractEvent.RightClickBlock) event).setUseItem(Event.Result.DENY); }else if(((IFlagHolder) tile).addFlag(mainHandItem)){ if(!event.getEntityPlayer().capabilities.isCreativeMode){
event.setUseItem(net.minecraftforge.fml.common.eventhandler.Event.Result.DENY);
/** * Make a complete copy of the argument. * @param event to copy over * @return the copy */ private static PlayerInteractEvent copy(PlayerInteractEvent event){ PlayerInteractEvent copy = null; if(event instanceof PlayerInteractEvent.RightClickEmpty) copy = new PlayerInteractEvent.RightClickEmpty(event.getEntityPlayer(), event.getHand()); else if(event instanceof PlayerInteractEvent.LeftClickBlock) { copy = new PlayerInteractEvent.LeftClickBlock(event.getEntityPlayer(), event.getPos(), event.getFace(), ((PlayerInteractEvent.LeftClickBlock) event).getHitVec()); ((PlayerInteractEvent.LeftClickBlock)copy).setUseItem(((PlayerInteractEvent.LeftClickBlock) event).getUseItem()); ((PlayerInteractEvent.LeftClickBlock)copy).setUseBlock(((PlayerInteractEvent.LeftClickBlock) event).getUseBlock()); } else if(event instanceof PlayerInteractEvent.EntityInteractSpecific) copy = new PlayerInteractEvent.EntityInteractSpecific(event.getEntityPlayer(), event.getHand(), ((PlayerInteractEvent.EntityInteractSpecific) event).getTarget(), ((PlayerInteractEvent.EntityInteractSpecific) event).getLocalPos()); else if(event instanceof PlayerInteractEvent.EntityInteract) copy = new PlayerInteractEvent.EntityInteract(event.getEntityPlayer(), event.getHand(), ((PlayerInteractEvent.EntityInteract) event).getTarget()); else if(event instanceof PlayerInteractEvent.RightClickBlock) { copy = new PlayerInteractEvent.RightClickBlock(event.getEntityPlayer(), event.getHand(), event.getPos(), event.getFace(), ((PlayerInteractEvent.RightClickBlock) event).getHitVec()); ((PlayerInteractEvent.RightClickBlock)copy).setUseItem(((PlayerInteractEvent.RightClickBlock) event).getUseItem()); ((PlayerInteractEvent.RightClickBlock)copy).setUseBlock(((PlayerInteractEvent.RightClickBlock) event).getUseBlock()); } else if(event instanceof PlayerInteractEvent.RightClickItem) copy = new PlayerInteractEvent.RightClickItem(event.getEntityPlayer(),event.getHand()); if(event.isCanceled()){ copy.setCanceled(true); } return copy; }
@SubscribeEvent public void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) { ItemStack held = event.getItemStack(); if (held != null) { if (SEEDS_BLACKLIST.contains(held)) { event.setUseItem(Result.DENY); } } } }
private static void disableItemBlock(PlayerInteractEvent.RightClickBlock event) { if (event.getEntityPlayer().getHeldItem(event.getHand()).getItem() instanceof ItemBlock) event.setUseItem(Event.Result.DENY); } }
@SubscribeEvent public void onInteract(PlayerInteractEvent.RightClickBlock event) { // does the player clicks on an echanting table with moss with 5 levels? if(ItemStack.areItemsEqual(event.getItemStack(), TinkerCommons.matMoss)) { World world = event.getWorld(); BlockPos pos = event.getPos(); if(world.getBlockState(pos).getBlock().getEnchantPowerBonus(world, pos) >= 1.0f) { EntityPlayer player = event.getEntityPlayer(); if(event.getEntityPlayer().experienceLevel >= ModMendingMoss.MENDING_MOSS_LEVELS) { // convert moss to mending moss player.playSound(SoundEvents.ENTITY_EXPERIENCE_ORB_PICKUP, 1f, 1f); if(!event.getWorld().isRemote) { event.getItemStack().shrink(1); player.onEnchant(null, ModMendingMoss.MENDING_MOSS_LEVELS); ItemHandlerHelper.giveItemToPlayer(player, TinkerCommons.matMendingMoss.copy()); event.setUseBlock(Event.Result.DENY); event.setUseItem(Event.Result.DENY); event.setCanceled(true); } } else { player.sendStatusMessage(new TextComponentTranslation("message.mending_moss.not_enough_levels", ModMendingMoss.MENDING_MOSS_LEVELS), true); } } } }