diff --git a/src/main/java/appeng/block/AEBaseTileBlock.java b/src/main/java/appeng/block/AEBaseTileBlock.java index 3adc87f087f..1f1c3259633 100644 --- a/src/main/java/appeng/block/AEBaseTileBlock.java +++ b/src/main/java/appeng/block/AEBaseTileBlock.java @@ -50,6 +50,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.event.ForgeEventFactory; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -243,6 +244,8 @@ public final boolean onBlockActivated( final World w, final int x, final int y, { if( Platform.isWrench( player, is, x, y, z ) && player.isSneaking() ) { + if( ForgeEventFactory.onItemUseStart( player, is, 1 ) <= 0 ) + return false; final Block id = w.getBlock( x, y, z ); if( id != null ) { @@ -284,6 +287,8 @@ public final boolean onBlockActivated( final World w, final int x, final int y, if( is.getItem() instanceof IMemoryCard && !( this instanceof BlockCableBus ) ) { + if( ForgeEventFactory.onItemUseStart( player, is, 1 ) <= 0 ) + return false; final IMemoryCard memoryCard = (IMemoryCard) is.getItem(); if( player.isSneaking() ) { diff --git a/src/main/java/appeng/items/tools/ToolBiometricCard.java b/src/main/java/appeng/items/tools/ToolBiometricCard.java index b670bed69f7..1cd86812b52 100644 --- a/src/main/java/appeng/items/tools/ToolBiometricCard.java +++ b/src/main/java/appeng/items/tools/ToolBiometricCard.java @@ -36,6 +36,7 @@ import net.minecraft.nbt.NBTUtil; import net.minecraft.world.World; import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.event.ForgeEventFactory; import java.util.EnumSet; import java.util.List; @@ -57,7 +58,7 @@ public ToolBiometricCard() @Override public ItemStack onItemRightClick( final ItemStack is, final World w, final EntityPlayer p ) { - if( p.isSneaking() ) + if( ForgeEventFactory.onItemUseStart( p, is, 1 ) > 0 && p.isSneaking() ) { this.encode( is, p ); p.swingItem(); diff --git a/src/main/java/appeng/items/tools/ToolMemoryCard.java b/src/main/java/appeng/items/tools/ToolMemoryCard.java index 2b527f94429..48f66d139dc 100644 --- a/src/main/java/appeng/items/tools/ToolMemoryCard.java +++ b/src/main/java/appeng/items/tools/ToolMemoryCard.java @@ -31,6 +31,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; import net.minecraft.world.World; +import net.minecraftforge.event.ForgeEventFactory; import java.util.EnumSet; import java.util.List; @@ -140,6 +141,8 @@ public boolean onItemUse( final ItemStack is, final EntityPlayer player, final W { if( player.isSneaking() && !w.isRemote ) { + if( ForgeEventFactory.onItemUseStart( player, is, 1 ) <= 0 ) + return false; final IMemoryCard mem = (IMemoryCard) is.getItem(); mem.notifyUser( player, MemoryCardMessages.SETTINGS_CLEARED ); is.setTagCompound( null ); diff --git a/src/main/java/appeng/items/tools/ToolNetworkTool.java b/src/main/java/appeng/items/tools/ToolNetworkTool.java index afc1687119e..db77176b398 100644 --- a/src/main/java/appeng/items/tools/ToolNetworkTool.java +++ b/src/main/java/appeng/items/tools/ToolNetworkTool.java @@ -48,6 +48,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.event.ForgeEventFactory; import java.util.EnumSet; @@ -102,6 +103,9 @@ public ItemStack onItemRightClick( final ItemStack it, final World w, final Enti @Override public boolean onItemUseFirst( final ItemStack is, final EntityPlayer player, final World world, final int x, final int y, final int z, final int side, final float hitX, final float hitY, final float hitZ ) { + if( ForgeEventFactory.onItemUseStart( player, is, 1 ) <= 0 ) + return false; + final MovingObjectPosition mop = new MovingObjectPosition( x, y, z, side, Vec3.createVectorHelper( hitX, hitY, hitZ ) ); final TileEntity te = world.getTileEntity( x, y, z ); if( te instanceof IPartHost ) diff --git a/src/main/java/appeng/items/tools/powered/ToolChargedStaff.java b/src/main/java/appeng/items/tools/powered/ToolChargedStaff.java index 946edee4c8d..65c2e54d2a3 100644 --- a/src/main/java/appeng/items/tools/powered/ToolChargedStaff.java +++ b/src/main/java/appeng/items/tools/powered/ToolChargedStaff.java @@ -27,8 +27,10 @@ import appeng.util.Platform; import com.google.common.base.Optional; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; +import net.minecraftforge.event.ForgeEventFactory; import java.util.EnumSet; @@ -45,6 +47,9 @@ public ToolChargedStaff() @Override public boolean hitEntity( final ItemStack item, final EntityLivingBase target, final EntityLivingBase hitter ) { + if( hitter instanceof EntityPlayer && ForgeEventFactory.onItemUseStart( (EntityPlayer) hitter, item, 1 ) <= 0 ) + return false; + if( this.getAECurrentPower( item ) > 300 ) { this.extractAEPower( item, 300 ); diff --git a/src/main/java/appeng/items/tools/powered/ToolWirelessTerminal.java b/src/main/java/appeng/items/tools/powered/ToolWirelessTerminal.java index 09b8124386f..0717831322f 100644 --- a/src/main/java/appeng/items/tools/powered/ToolWirelessTerminal.java +++ b/src/main/java/appeng/items/tools/powered/ToolWirelessTerminal.java @@ -41,6 +41,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; import net.minecraft.world.World; +import net.minecraftforge.event.ForgeEventFactory; import java.util.EnumSet; import java.util.List; @@ -58,7 +59,8 @@ public ToolWirelessTerminal() @Override public ItemStack onItemRightClick( final ItemStack item, final World w, final EntityPlayer player ) { - AEApi.instance().registries().wireless().openWirelessTerminalGui( item, w, player ); + if( ForgeEventFactory.onItemUseStart( player, item, 1 ) > 0 ) + AEApi.instance().registries().wireless().openWirelessTerminalGui( item, w, player ); return item; } diff --git a/src/main/java/appeng/items/tools/quartz/ToolQuartzWrench.java b/src/main/java/appeng/items/tools/quartz/ToolQuartzWrench.java index 06bc208d68d..28706d8c0d9 100644 --- a/src/main/java/appeng/items/tools/quartz/ToolQuartzWrench.java +++ b/src/main/java/appeng/items/tools/quartz/ToolQuartzWrench.java @@ -33,6 +33,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.event.ForgeEventFactory; import java.util.EnumSet; @@ -53,6 +54,9 @@ public ToolQuartzWrench( final AEFeature type ) @Override public boolean onItemUseFirst( final ItemStack is, final EntityPlayer player, final World world, final int x, final int y, final int z, final int side, final float hitX, final float hitY, final float hitZ ) { + if( ForgeEventFactory.onItemUseStart( player, is, 1 ) <= 0 ) + return false; + final Block b = world.getBlock( x, y, z ); if( b != null && !player.isSneaking() && Platform.hasPermissions( new DimensionalCoord( world, x, y, z ), player ) ) { diff --git a/src/main/java/appeng/parts/p2p/PartP2PTunnel.java b/src/main/java/appeng/parts/p2p/PartP2PTunnel.java index 7bc83725217..10e371021d2 100644 --- a/src/main/java/appeng/parts/p2p/PartP2PTunnel.java +++ b/src/main/java/appeng/parts/p2p/PartP2PTunnel.java @@ -47,6 +47,7 @@ import net.minecraft.util.IIcon; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.event.ForgeEventFactory; import java.util.ArrayList; import java.util.Collection; @@ -229,6 +230,9 @@ public boolean onPartActivate( final EntityPlayer player, final Vec3 pos ) final TunnelType tt = AEApi.instance().registries().p2pTunnel().getTunnelTypeByItem( is ); if( is != null && is.getItem() instanceof IMemoryCard ) { + if( ForgeEventFactory.onItemUseStart( player, is, 1 ) <= 0 ) + return false; + final IMemoryCard mc = (IMemoryCard) is.getItem(); final NBTTagCompound data = mc.getData( is ); @@ -386,6 +390,9 @@ public boolean onPartShiftActivate( final EntityPlayer player, final Vec3 pos ) final ItemStack is = player.inventory.getCurrentItem(); if( is != null && is.getItem() instanceof IMemoryCard ) { + if( ForgeEventFactory.onItemUseStart( player, is, 1 ) <= 0 ) + return false; + final IMemoryCard mc = (IMemoryCard) is.getItem(); final NBTTagCompound data = new NBTTagCompound();