diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/interfaces/NMSManager.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/interfaces/NMSManager.java index 0ba9cdc8..2acd883f 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/interfaces/NMSManager.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/interfaces/NMSManager.java @@ -32,5 +32,7 @@ public interface NMSManager { public NMSEntityBase getNMSEntityBase(org.bukkit.entity.Entity bukkitEntity); public FancyMessage newFancyMessage(String text); + + public boolean isUnloadUnsure(org.bukkit.Chunk bukkitChunk); } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_10_R1/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_10_R1/NmsManagerImpl.java index 6878bb55..312a0518 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_10_R1/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_10_R1/NmsManagerImpl.java @@ -2,14 +2,10 @@ package com.gmail.filoghost.holographicdisplays.nms.v1_10_R1; import java.lang.reflect.Method; -import net.minecraft.server.v1_10_R1.Entity; -import net.minecraft.server.v1_10_R1.EntityTypes; -import net.minecraft.server.v1_10_R1.MathHelper; -import net.minecraft.server.v1_10_R1.World; -import net.minecraft.server.v1_10_R1.WorldServer; - import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; +import org.bukkit.craftbukkit.v1_10_R1.CraftChunk; import org.bukkit.craftbukkit.v1_10_R1.CraftWorld; import org.bukkit.craftbukkit.v1_10_R1.entity.CraftEntity; import org.bukkit.inventory.ItemStack; @@ -29,6 +25,12 @@ import com.gmail.filoghost.holographicdisplays.util.ReflectionUtils; import com.gmail.filoghost.holographicdisplays.util.Validator; import com.gmail.filoghost.holographicdisplays.util.VersionUtils; +import net.minecraft.server.v1_10_R1.Entity; +import net.minecraft.server.v1_10_R1.EntityTypes; +import net.minecraft.server.v1_10_R1.MathHelper; +import net.minecraft.server.v1_10_R1.World; +import net.minecraft.server.v1_10_R1.WorldServer; + public class NmsManagerImpl implements NMSManager { private Method validateEntityMethod; @@ -143,5 +145,10 @@ public class NmsManagerImpl implements NMSManager { public FancyMessage newFancyMessage(String text) { return new FancyMessageImpl(text); } + + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()) || !((CraftChunk) bukkitChunk).getHandle().d; // Field probably representing if the chunk is scheduled to be unloaded in ChunkProviderServer + } } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R1/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R1/NmsManagerImpl.java index 8590b6d9..877d4912 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R1/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R1/NmsManagerImpl.java @@ -10,6 +10,7 @@ import net.minecraft.server.v1_7_R1.MathHelper; import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; import org.bukkit.craftbukkit.v1_7_R1.CraftWorld; import org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -160,4 +161,10 @@ public class NmsManagerImpl implements NMSManager { public NMSArmorStand spawnNMSArmorStand(org.bukkit.World world, double x, double y, double z, CraftHologramLine parentPiece) { throw new NotImplementedException("Method can only be used on 1.8 or higher"); } + + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()); + } + } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R2/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R2/NmsManagerImpl.java index 25468efd..954204de 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R2/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R2/NmsManagerImpl.java @@ -10,6 +10,7 @@ import net.minecraft.server.v1_7_R2.MathHelper; import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; import org.bukkit.craftbukkit.v1_7_R2.CraftWorld; import org.bukkit.craftbukkit.v1_7_R2.entity.CraftEntity; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -160,4 +161,10 @@ public class NmsManagerImpl implements NMSManager { public NMSArmorStand spawnNMSArmorStand(org.bukkit.World world, double x, double y, double z, CraftHologramLine parentPiece) { throw new NotImplementedException("Method can only be used on 1.8 or higher"); } + + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()); + } + } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R3/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R3/NmsManagerImpl.java index d83da805..3bb89195 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R3/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R3/NmsManagerImpl.java @@ -10,6 +10,7 @@ import net.minecraft.server.v1_7_R3.MathHelper; import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; import org.bukkit.craftbukkit.v1_7_R3.CraftWorld; import org.bukkit.craftbukkit.v1_7_R3.entity.CraftEntity; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -160,4 +161,10 @@ public class NmsManagerImpl implements NMSManager { public NMSArmorStand spawnNMSArmorStand(org.bukkit.World world, double x, double y, double z, CraftHologramLine parentPiece) { throw new NotImplementedException("Method can only be used on 1.8 or higher"); } + + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()); + } + } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R4/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R4/NmsManagerImpl.java index ef0e7cc4..3cf9efff 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R4/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_7_R4/NmsManagerImpl.java @@ -10,6 +10,7 @@ import net.minecraft.server.v1_7_R4.MathHelper; import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; import org.bukkit.craftbukkit.v1_7_R4.CraftWorld; import org.bukkit.craftbukkit.v1_7_R4.entity.CraftEntity; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -160,4 +161,10 @@ public class NmsManagerImpl implements NMSManager { public NMSArmorStand spawnNMSArmorStand(org.bukkit.World world, double x, double y, double z, CraftHologramLine parentPiece) { throw new NotImplementedException("Method can only be used on 1.8 or higher"); } + + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()); + } + } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R1/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R1/NmsManagerImpl.java index 692d620b..3b32e216 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R1/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R1/NmsManagerImpl.java @@ -10,6 +10,7 @@ import net.minecraft.server.v1_8_R1.WorldServer; import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; import org.bukkit.craftbukkit.v1_8_R1.CraftWorld; import org.bukkit.craftbukkit.v1_8_R1.entity.CraftEntity; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -153,5 +154,10 @@ public class NmsManagerImpl implements NMSManager { public FancyMessage newFancyMessage(String text) { return new FancyMessageImpl(text); } + + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()); + } } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R2/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R2/NmsManagerImpl.java index 32910486..82cdd5a7 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R2/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R2/NmsManagerImpl.java @@ -10,6 +10,7 @@ import net.minecraft.server.v1_8_R2.WorldServer; import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; import org.bukkit.craftbukkit.v1_8_R2.CraftWorld; import org.bukkit.craftbukkit.v1_8_R2.entity.CraftEntity; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -153,4 +154,9 @@ public class NmsManagerImpl implements NMSManager { return new FancyMessageImpl(text); } + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()); + } + } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R3/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R3/NmsManagerImpl.java index 088b6c11..1597a7c1 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R3/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_8_R3/NmsManagerImpl.java @@ -2,14 +2,9 @@ package com.gmail.filoghost.holographicdisplays.nms.v1_8_R3; import java.lang.reflect.Method; -import net.minecraft.server.v1_8_R3.Entity; -import net.minecraft.server.v1_8_R3.EntityTypes; -import net.minecraft.server.v1_8_R3.MathHelper; -import net.minecraft.server.v1_8_R3.World; -import net.minecraft.server.v1_8_R3.WorldServer; - import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; import org.bukkit.craftbukkit.v1_8_R3.CraftWorld; import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -30,6 +25,12 @@ import com.gmail.filoghost.holographicdisplays.util.ReflectionUtils; import com.gmail.filoghost.holographicdisplays.util.Validator; import com.gmail.filoghost.holographicdisplays.util.VersionUtils; +import net.minecraft.server.v1_8_R3.Entity; +import net.minecraft.server.v1_8_R3.EntityTypes; +import net.minecraft.server.v1_8_R3.MathHelper; +import net.minecraft.server.v1_8_R3.World; +import net.minecraft.server.v1_8_R3.WorldServer; + public class NmsManagerImpl implements NMSManager { private Method validateEntityMethod; @@ -153,4 +154,9 @@ public class NmsManagerImpl implements NMSManager { return new FancyMessageImpl(text); } + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()); + } + } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_9_R1/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_9_R1/NmsManagerImpl.java index 9bb5fcd7..df81f07a 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_9_R1/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_9_R1/NmsManagerImpl.java @@ -10,6 +10,7 @@ import net.minecraft.server.v1_9_R1.WorldServer; import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; import org.bukkit.craftbukkit.v1_9_R1.CraftWorld; import org.bukkit.craftbukkit.v1_9_R1.entity.CraftEntity; import org.bukkit.inventory.ItemStack; @@ -144,4 +145,9 @@ public class NmsManagerImpl implements NMSManager { return new FancyMessageImpl(text); } + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()); + } + } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_9_R2/NmsManagerImpl.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_9_R2/NmsManagerImpl.java index a9426252..4da9e612 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_9_R2/NmsManagerImpl.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/nms/v1_9_R2/NmsManagerImpl.java @@ -2,14 +2,10 @@ package com.gmail.filoghost.holographicdisplays.nms.v1_9_R2; import java.lang.reflect.Method; -import net.minecraft.server.v1_9_R2.Entity; -import net.minecraft.server.v1_9_R2.EntityTypes; -import net.minecraft.server.v1_9_R2.MathHelper; -import net.minecraft.server.v1_9_R2.World; -import net.minecraft.server.v1_9_R2.WorldServer; - import org.apache.commons.lang.NotImplementedException; import org.bukkit.Bukkit; +import org.bukkit.Chunk; +import org.bukkit.craftbukkit.v1_9_R2.CraftChunk; import org.bukkit.craftbukkit.v1_9_R2.CraftWorld; import org.bukkit.craftbukkit.v1_9_R2.entity.CraftEntity; import org.bukkit.inventory.ItemStack; @@ -29,6 +25,12 @@ import com.gmail.filoghost.holographicdisplays.util.ReflectionUtils; import com.gmail.filoghost.holographicdisplays.util.Validator; import com.gmail.filoghost.holographicdisplays.util.VersionUtils; +import net.minecraft.server.v1_9_R2.Entity; +import net.minecraft.server.v1_9_R2.EntityTypes; +import net.minecraft.server.v1_9_R2.MathHelper; +import net.minecraft.server.v1_9_R2.World; +import net.minecraft.server.v1_9_R2.WorldServer; + public class NmsManagerImpl implements NMSManager { private Method validateEntityMethod; @@ -143,5 +145,10 @@ public class NmsManagerImpl implements NMSManager { public FancyMessage newFancyMessage(String text) { return new FancyMessageImpl(text); } + + @Override + public boolean isUnloadUnsure(Chunk bukkitChunk) { + return bukkitChunk.getWorld().isChunkInUse(bukkitChunk.getX(), bukkitChunk.getZ()) || !((CraftChunk) bukkitChunk).getHandle().d; // Field probably representing if the chunk is scheduled to be unloaded in ChunkProviderServer + } }