From bdcee9025c1bb91158b0cabfb4985e53f356cf27 Mon Sep 17 00:00:00 2001 From: sk89q Date: Mon, 2 May 2011 01:51:53 -0700 Subject: [PATCH] Added method to fake a block change request for a player. --- .../org/bukkit/craftbukkit/entity/CraftPlayer.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index c94685b91b..9d1c9f5a4a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -7,6 +7,7 @@ import net.minecraft.server.EntityPlayer; import net.minecraft.server.ItemInWorldManager; import net.minecraft.server.Packet200Statistic; import net.minecraft.server.Packet3Chat; +import net.minecraft.server.Packet53BlockChange; import net.minecraft.server.Packet54PlayNoteBlock; import net.minecraft.server.Packet6SpawnPosition; import net.minecraft.server.ServerConfigurationManager; @@ -147,6 +148,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { new Packet54PlayNoteBlock(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), instrument, note)); } + public void sendBlockChange(Location loc, Material material, byte data) { + sendBlockChange(loc, material.getId(), data); + } + + public void sendBlockChange(Location loc, int material, byte data) { + Packet53BlockChange packet = new Packet53BlockChange( + loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), + ((CraftWorld) loc.getWorld()).getHandle()); + packet.d = material; + packet.e = data; + getHandle().netServerHandler.sendPacket(packet); + } + @Override public boolean teleport(Location location) { WorldServer oldWorld = ((CraftWorld)getWorld()).getHandle();