From b5b33a5f288c33fbe6b7d59c2a3ccea215168a00 Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Thu, 10 Mar 2011 05:36:41 +1100 Subject: [PATCH 1/3] Added LivingEntity.getEyeLocation() for getting the eyes location. By: Andrew Ardill --- .../src/main/java/org/bukkit/entity/LivingEntity.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/paper-api/src/main/java/org/bukkit/entity/LivingEntity.java b/paper-api/src/main/java/org/bukkit/entity/LivingEntity.java index 97cd6281aa..f9b221ee3b 100644 --- a/paper-api/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/paper-api/src/main/java/org/bukkit/entity/LivingEntity.java @@ -3,6 +3,8 @@ package org.bukkit.entity; import java.util.HashSet; import java.util.List; + +import org.bukkit.Location; import org.bukkit.block.Block; /** @@ -38,6 +40,13 @@ public interface LivingEntity extends Entity { */ public double getEyeHeight(boolean ignoreSneaking); + /** + * Get a Location detailing the current eye position of the LivingEntity. + * + * @return a Location at the eyes of the LivingEntity. + */ + public Location getEyeLocation(); + /** * Gets all blocks along the player's line of sight * List iterates from player's position to target inclusive From 16c73e630d5dec70ef13394d2877dce650791c4a Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Mon, 7 Mar 2011 14:06:15 -0500 Subject: [PATCH 2/3] Chunk hooks By: Tahg --- paper-api/src/main/java/org/bukkit/Chunk.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/paper-api/src/main/java/org/bukkit/Chunk.java b/paper-api/src/main/java/org/bukkit/Chunk.java index 82e611fee2..cf97c5a589 100644 --- a/paper-api/src/main/java/org/bukkit/Chunk.java +++ b/paper-api/src/main/java/org/bukkit/Chunk.java @@ -2,6 +2,8 @@ package org.bukkit; import org.bukkit.block.Block; +import org.bukkit.block.BlockState; +import org.bukkit.entity.Entity; /** * Represents a chunk of blocks @@ -38,4 +40,8 @@ public interface Chunk { * @return the Block */ Block getBlock(int x, int y, int z); + + Entity[] getEntities(); + + BlockState[] getTileEntities(); } From 1ddbee3e408368732d9ce6b617f8758fd0743610 Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Thu, 10 Mar 2011 13:23:54 -0500 Subject: [PATCH 3/3] added methods for getting redstone power By: Tahg --- .../src/main/java/org/bukkit/block/Block.java | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/paper-api/src/main/java/org/bukkit/block/Block.java b/paper-api/src/main/java/org/bukkit/block/Block.java index fb02f36215..0ec7e0ed22 100644 --- a/paper-api/src/main/java/org/bukkit/block/Block.java +++ b/paper-api/src/main/java/org/bukkit/block/Block.java @@ -4,7 +4,6 @@ import org.bukkit.Chunk; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.Location; -import org.bukkit.block.BlockState; /** * Represents a block. This is a live object, and only one Block may exist for @@ -136,6 +135,8 @@ public interface Block { * @param data New block specific metadata */ void setData(byte data); + + void setData(byte data, boolean applyPhyiscs); /** * Sets the type of this block @@ -151,6 +152,10 @@ public interface Block { * @return whether the block was changed */ boolean setTypeId(int type); + + boolean setTypeId(int type, boolean applyPhysics); + + boolean setTypeIdAndData(int type, byte data, boolean applyPhyiscs); /** * Gets the face relation of this block compared to the given block
@@ -201,4 +206,33 @@ public interface Block { * @return */ boolean isBlockIndirectlyPowered(); + + /** + * Returns true if the block face is being powered by Redstone. + * + * @return + */ + boolean isBlockFacePowered(BlockFace face); + + /** + * Returns true if the block face is being indirectly powered by Redstone. + * + * @return + */ + boolean isBlockFaceIndirectlyPowered(BlockFace face); + + /** + * Returns the redstone power being provided to this block face + * + * @param face the face of the block to query or BlockFace.SELF for the block itself + * @return + */ + int getBlockPower(BlockFace face); + + /** + * Returns the redstone power being provided to this block + * + * @return + */ + int getBlockPower(); }