Remove getCubes patch as under some circumstances it can loop around itself forever. For anyone wishing to reimplement this patch, the rationale behind it is quite simple, get all cubes within each chunk at the same time.
By: md_5 <git@md-5.net>
This commit is contained in:
36
CraftBukkit-Patches/0022-Prevent-NPE-in-CraftSign.patch
Normal file
36
CraftBukkit-Patches/0022-Prevent-NPE-in-CraftSign.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
From b85faba904f9bb8b5fb40390b7d7728e28005143 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <md_5@live.com.au>
|
||||
Date: Mon, 18 Mar 2013 20:01:44 +1100
|
||||
Subject: [PATCH] Prevent NPE in CraftSign
|
||||
|
||||
This commit prevents the constructor of CraftSign throwing an NPE when it cannot get the sign tile entity. Instead it will fallback to a 4 empty lined sign, and not try to do anything to those lines on .update().
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
|
||||
index 1647100..43c4434 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
|
||||
@@ -14,6 +14,12 @@ public class CraftSign extends CraftBlockState implements Sign {
|
||||
|
||||
CraftWorld world = (CraftWorld) block.getWorld();
|
||||
sign = (TileEntitySign) world.getTileEntityAt(getX(), getY(), getZ());
|
||||
+ // Spigot start
|
||||
+ if (sign == null) {
|
||||
+ lines = new String[]{"", "", "", ""};
|
||||
+ return;
|
||||
+ }
|
||||
+ // Spigot end
|
||||
lines = new String[sign.lines.length];
|
||||
System.arraycopy(sign.lines, 0, lines, 0, lines.length);
|
||||
}
|
||||
@@ -34,7 +40,7 @@ public class CraftSign extends CraftBlockState implements Sign {
|
||||
public boolean update(boolean force, boolean applyPhysics) {
|
||||
boolean result = super.update(force, applyPhysics);
|
||||
|
||||
- if (result) {
|
||||
+ if (result && sign != null) { // Spigot, add null check
|
||||
for(int i = 0; i < 4; i++) {
|
||||
if(lines[i] != null) {
|
||||
sign.lines[i] = lines[i];
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
Reference in New Issue
Block a user