summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
authorTomyLobo <tomylobo@nurfuerspam.de>2012-02-25 14:47:55 +0100
committerEvilSeph <evilseph@gmail.com>2012-02-26 12:15:00 -0500
commitf2d9d4174f9e9472a84ecebb20a18ff6b1a89abb (patch)
tree2cdd47dc18046a5c08b89e3dcc022dcfbae98878 /src/main/java
parent57bd84510f4d11c5a132539074ecd5320bd54fab (diff)
downloadcraftbukkit-f2d9d4174f9e9472a84ecebb20a18ff6b1a89abb.tar
craftbukkit-f2d9d4174f9e9472a84ecebb20a18ff6b1a89abb.tar.gz
craftbukkit-f2d9d4174f9e9472a84ecebb20a18ff6b1a89abb.tar.lz
craftbukkit-f2d9d4174f9e9472a84ecebb20a18ff6b1a89abb.tar.xz
craftbukkit-f2d9d4174f9e9472a84ecebb20a18ff6b1a89abb.zip
CraftSign changes. Addresses BUKKIT-824
- Removed the useless world field. - Made it so changes to a CraftSign (which is a Block*State*) no longer reflect into the world without calling sign.update().
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/block/CraftSign.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
index 49238871..ae54e0f4 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
@@ -6,26 +6,28 @@ import org.bukkit.block.Sign;
import org.bukkit.craftbukkit.CraftWorld;
public class CraftSign extends CraftBlockState implements Sign {
- private final CraftWorld world;
private final TileEntitySign sign;
+ private final String[] lines;
public CraftSign(final Block block) {
super(block);
- world = (CraftWorld) block.getWorld();
+ CraftWorld world = (CraftWorld) block.getWorld();
sign = (TileEntitySign) world.getTileEntityAt(getX(), getY(), getZ());
+ lines = new String[sign.lines.length];
+ System.arraycopy(sign.lines, 0, lines, 0, lines.length);
}
public String[] getLines() {
- return sign.lines;
+ return lines;
}
public String getLine(int index) throws IndexOutOfBoundsException {
- return sign.lines[index];
+ return lines[index];
}
public void setLine(int index, String line) throws IndexOutOfBoundsException {
- sign.lines[index] = line;
+ lines[index] = line;
}
@Override
@@ -33,6 +35,7 @@ public class CraftSign extends CraftBlockState implements Sign {
boolean result = super.update(force);
if (result) {
+ System.arraycopy(lines, 0, sign.lines, 0, lines.length);
sign.update();
}