summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/net/minecraft/server/NetServerHandler.java30
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftBlock.java2
2 files changed, 30 insertions, 2 deletions
diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java
index 033e36c9..7cfe5ff5 100644
--- a/src/main/java/net/minecraft/server/NetServerHandler.java
+++ b/src/main/java/net/minecraft/server/NetServerHandler.java
@@ -1,9 +1,9 @@
package net.minecraft.server;
-
import java.util.*;
import java.util.logging.Logger;
import org.bukkit.Location;
+import org.bukkit.craftbukkit.CraftBlock;
import org.bukkit.craftbukkit.CraftPlayer;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.event.Event.Type;
@@ -289,11 +289,39 @@ implements ICommandListener {
}
d.e.B = false;
}
+
+ // Craftbukkit start
+ CraftBlock lastRightClicked;
+ // Craftbukkit stop
public void a(Packet15Place packet15place) {
ItemStack itemstack = e.an.e();
boolean flag = d.e.B = d.f.g(e.aw);
+ // Craftbukkit start
+ CraftBlock blockClicked = null;
+ CraftBlock blockPlaced = null;
+
+ if (packet15place.d == 255) {
+ // ITEM_USE -- if we have a lastRightClicked then it could be a usable location
+ blockClicked = lastRightClicked;
+ lastRightClicked = null;
+ } else {
+ // RIGHTCLICK or BLOCK_PLACE .. or nothing
+ blockClicked = (CraftBlock) d.e.getWorld().getBlockAt(packet15place.a, packet15place.b, packet15place.c);
+ // TODO: we don't have "faceclicked" concept in bukkit
+ // blockClicked.setFaceClicked(Block.Face.fromId(paramgt.d));
+ lastRightClicked = blockClicked;
+ }
+
+ // If we clicked on something then we also have a location to place the block
+ if (blockClicked != null && itemstack != null) {
+ blockPlaced = (CraftBlock) blockClicked.getFace(CraftBlock.notchToBlockFace(packet15place.d));
+ // TODO: in hMod we've set the new type already. We haven't yet here.
+ // blockPlaced = new Block( localil.c, blockClicked.getX(), blockClicked.getY(), blockClicked.getZ());
+ }
+ // Craftbukkit stop
+
if (packet15place.d == 255) {
if (itemstack == null) {
return;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/CraftBlock.java
index 4b0520a9..19dce3c7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftBlock.java
@@ -175,7 +175,7 @@ public class CraftBlock implements Block {
/**
* Notch uses a 0-5 to mean Down, Up, East, West, North, South
- * in that order all over. This method is convience to convert for us.
+ * in that order all over. This method is convenience to convert for us.
*
* @return BlockFace the BlockFace represented by this number
*/