From bb9d82a69e839119fbd304e6893f501d20c920fe Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Sun, 11 Mar 2012 13:12:19 -0700 Subject: [PATCH] [Bleeding] Added swamp trees and small jungle trees to TreeType. Addresses BUKKIT-1162 - Also added in xpansive's tweaks to BlockChangeDelegate for extra methods By: zml2008 --- .../java/org/bukkit/BlockChangeDelegate.java | 31 +++++++++++++++++-- .../src/main/java/org/bukkit/TreeType.java | 14 ++++++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/paper-api/src/main/java/org/bukkit/BlockChangeDelegate.java b/paper-api/src/main/java/org/bukkit/BlockChangeDelegate.java index 7f4261e636..734106053b 100644 --- a/paper-api/src/main/java/org/bukkit/BlockChangeDelegate.java +++ b/paper-api/src/main/java/org/bukkit/BlockChangeDelegate.java @@ -8,7 +8,8 @@ package org.bukkit; public interface BlockChangeDelegate { /** - * Set a block type at the specified coordinates. + * Set a block type at the specified coordinates without doing all world updates and notifications. + * It is safe to have this call World.setTypeId, but it may be slower than World.setRawTypeId. * * @param x X coordinate * @param y Y coordinate @@ -19,7 +20,8 @@ public interface BlockChangeDelegate { public boolean setRawTypeId(int x, int y, int z, int typeId); /** - * Set a block type and data at the specified coordinates. + * Set a block type and data at the specified coordinates without doing all world updates and notifications. + * It is safe to have this call World.setTypeId, but it may be slower than World.setRawTypeId. * * @param x X coordinate * @param y Y coordinate @@ -30,6 +32,31 @@ public interface BlockChangeDelegate { */ public boolean setRawTypeIdAndData(int x, int y, int z, int typeId, int data); + /** + * Set a block type at the specified coordinates. + * This method cannot call World.setRawTypeId, a full update is needed. + * + * @param x X coordinate + * @param y Y coordinate + * @param z Z coordinate + * @param typeId New block ID + * @return true if the block was set successfully + */ + public boolean setTypeId(int x, int y, int z, int typeId); + + /** + * Set a block type and data at the specified coordinates. + * This method cannot call World.setRawTypeId, a full update is needed. + * + * @param x X coordinate + * @param y Y coordinate + * @param z Z coordinate + * @param typeId New block ID + * @param data Block data + * @return true if the block was set successfully + */ + public boolean setTypeIdAndData(int x, int y, int z, int typeId, int data); + /** * Get the block type at the location. * diff --git a/paper-api/src/main/java/org/bukkit/TreeType.java b/paper-api/src/main/java/org/bukkit/TreeType.java index 0f85eaab29..93a729f9fe 100644 --- a/paper-api/src/main/java/org/bukkit/TreeType.java +++ b/paper-api/src/main/java/org/bukkit/TreeType.java @@ -28,6 +28,14 @@ public enum TreeType { * Standard jungle tree; 4 blocks wide and tall */ JUNGLE, + /** + * Smaller jungle tree; 1 block wide + */ + SMALL_JUNGLE, + /** + * Small bush that grows in the jungle + */ + JUNGLE_BUSH, /** * Big red mushroom; short and fat */ @@ -35,5 +43,9 @@ public enum TreeType { /** * Big brown mushroom; tall and umbrella-like */ - BROWN_MUSHROOM + BROWN_MUSHROOM, + /** + * Swamp tree (regular with vines on the side) + */ + SWAMP, }