You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
2.1 KiB
45 lines
2.1 KiB
--- ../src-base/minecraft/net/minecraftforge/common/ForgeHooks.java |
|
+++ ../src-work/minecraft/net/minecraftforge/common/ForgeHooks.java |
|
@@ -63,6 +63,7 @@ |
|
import net.minecraftforge.event.world.BlockEvent; |
|
import net.minecraftforge.event.world.NoteBlockEvent; |
|
import static net.minecraft.init.Blocks.*; |
|
+import net.minecraftforge.common.util.FakePlayer; // Cauldron |
|
|
|
public class ForgeHooks |
|
{ |
|
@@ -439,6 +440,8 @@ |
|
|
|
public static BlockEvent.BreakEvent onBlockBreakEvent(World world, GameType gameType, EntityPlayerMP entityPlayer, int x, int y, int z) |
|
{ |
|
+ // Cauldron - pre-cancel handled in BreakEvent |
|
+ /* |
|
// Logic from tryHarvestBlock for pre-canceling the event |
|
boolean preCancelEvent = false; |
|
if (gameType.isAdventure() && !entityPlayer.isCurrentToolAdventureModeExempt(x, y, z)) |
|
@@ -449,9 +452,9 @@ |
|
{ |
|
preCancelEvent = true; |
|
} |
|
- |
|
+ */ |
|
// Tell client the block is gone immediately then process events |
|
- if (world.getTileEntity(x, y, z) == null) |
|
+ if (world.getTileEntity(x, y, z) == null && !(entityPlayer instanceof FakePlayer)) // Cauldron - don't send packets to fakeplayers |
|
{ |
|
S23PacketBlockChange packet = new S23PacketBlockChange(x, y, z, world); |
|
packet.field_148883_d = Blocks.air; |
|
@@ -463,11 +466,11 @@ |
|
Block block = world.getBlock(x, y, z); |
|
int blockMetadata = world.getBlockMetadata(x, y, z); |
|
BlockEvent.BreakEvent event = new BlockEvent.BreakEvent(x, y, z, world, block, blockMetadata, entityPlayer); |
|
- event.setCanceled(preCancelEvent); |
|
+ // event.setCanceled(preCancelEvent); // Cauldron |
|
MinecraftForge.EVENT_BUS.post(event); |
|
|
|
// Handle if the event is canceled |
|
- if (event.isCanceled()) |
|
+ if (event.isCanceled() && !(entityPlayer instanceof FakePlayer)) // Cauldron - don't send packets to fakeplayers |
|
{ |
|
// Let the client know the block still exists |
|
entityPlayer.playerNetServerHandler.sendPacket(new S23PacketBlockChange(x, y, z, world));
|
|
|