From 4f7a9f5237629c8452233370a13a8a701e73d957 Mon Sep 17 00:00:00 2001 From: xsun2001 <1563770452@qq.com> Date: Sun, 31 Dec 2017 13:39:57 +0800 Subject: [PATCH] fix the wrench can break ME network using shift + right click. --- src/main/java/appeng/parts/PartPlacement.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/appeng/parts/PartPlacement.java b/src/main/java/appeng/parts/PartPlacement.java index fbb8bc75954..5802f76a839 100644 --- a/src/main/java/appeng/parts/PartPlacement.java +++ b/src/main/java/appeng/parts/PartPlacement.java @@ -54,6 +54,7 @@ import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent.Action; +import net.minecraftforge.event.world.BlockEvent; import java.util.LinkedList; import java.util.List; @@ -102,6 +103,10 @@ public static boolean place( final ItemStack held, final int x, final int y, fin final List is = new LinkedList(); final SelectedPart sp = selectPart( player, host, mop.hitVec.addVector( -mop.blockX, -mop.blockY, -mop.blockZ ) ); + BlockEvent.BreakEvent event = new BlockEvent.BreakEvent( x, y, z, world, block, world.getBlockMetadata( x, y, z ), player ); + MinecraftForge.EVENT_BUS.post(event); + if(event.isCanceled()) return true; + if( sp.part != null ) { is.add( sp.part.getItemStack( PartItemStack.Wrench ) ); @@ -423,6 +428,16 @@ public static IFacadePart isFacade( final ItemStack held, final ForgeDirection s return null; } + private static float getEyeHeight() + { + return eyeHeight; + } + + public static void setEyeHeight( final float eyeHeight ) + { + PartPlacement.eyeHeight = eyeHeight; + } + @SubscribeEvent public void playerInteract( final TickEvent.ClientTickEvent event ) { @@ -485,16 +500,6 @@ else if( event.action == Action.RIGHT_CLICK_BLOCK && event.entityPlayer.worldObj } } - private static float getEyeHeight() - { - return eyeHeight; - } - - public static void setEyeHeight( final float eyeHeight ) - { - PartPlacement.eyeHeight = eyeHeight; - } - public enum PlaceType { PLACE_ITEM, INTERACT_FIRST_PASS, INTERACT_SECOND_PASS