Added the ability to get the holograms using the API
This commit is contained in:
parent
42e7c93822
commit
f7633b3759
|
@ -0,0 +1,24 @@
|
|||
package com.bgsoftware.wildloaders.api.holograms;
|
||||
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
public interface Hologram {
|
||||
|
||||
/**
|
||||
* Get the armor-stand associated with the hologram.
|
||||
*/
|
||||
Entity getEntity();
|
||||
|
||||
/**
|
||||
* Set the hologram's name.
|
||||
* Using the setCustomName method of the entity will not work.
|
||||
* @param name The new name of the hologram.
|
||||
*/
|
||||
void setHologramName(String name);
|
||||
|
||||
/**
|
||||
* Remove the hologram.
|
||||
*/
|
||||
void removeHologram();
|
||||
|
||||
}
|
|
@ -1,11 +1,13 @@
|
|||
package com.bgsoftware.wildloaders.api.loaders;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface ChunkLoader {
|
||||
|
@ -50,4 +52,9 @@ public interface ChunkLoader {
|
|||
*/
|
||||
ItemStack getLoaderItem();
|
||||
|
||||
/**
|
||||
* Get the holograms of the chunk loader.
|
||||
*/
|
||||
Collection<Hologram> getHolograms();
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
package com.bgsoftware.wildloaders.loaders;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public interface ITileEntityChunkLoader {
|
||||
|
||||
Collection<Hologram> getHolograms();
|
||||
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
package com.bgsoftware.wildloaders.loaders;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.loaders.LoaderData;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
|
@ -14,6 +15,7 @@ import org.bukkit.OfflinePlayer;
|
|||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
@ -26,6 +28,7 @@ public final class WChunkLoader implements ChunkLoader {
|
|||
private final Location location;
|
||||
private final Chunk[] loadedChunks;
|
||||
private final String loaderName;
|
||||
private final ITileEntityChunkLoader tileEntityChunkLoader;
|
||||
|
||||
private boolean active = true;
|
||||
private long timeLeft;
|
||||
|
@ -36,7 +39,7 @@ public final class WChunkLoader implements ChunkLoader {
|
|||
this.location = location.clone();
|
||||
this.loadedChunks = calculateChunks(loaderData, whoPlaced, this.location);
|
||||
this.timeLeft = timeLeft;
|
||||
plugin.getNMSAdapter().createLoader(this);
|
||||
this.tileEntityChunkLoader = plugin.getNMSAdapter().createLoader(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -78,10 +81,6 @@ public final class WChunkLoader implements ChunkLoader {
|
|||
return timeLeft == Integer.MIN_VALUE;
|
||||
}
|
||||
|
||||
public List<String> getHologramLines(){
|
||||
return isInfinite() ? plugin.getSettings().infiniteHologramLines : plugin.getSettings().hologramLines;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Location getLocation() {
|
||||
return location.clone();
|
||||
|
@ -116,6 +115,15 @@ public final class WChunkLoader implements ChunkLoader {
|
|||
return plugin.getNMSAdapter().setTag(itemStack, "loader-time", getTimeLeft());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return tileEntityChunkLoader.getHolograms();
|
||||
}
|
||||
|
||||
public List<String> getHologramLines(){
|
||||
return isInfinite() ? plugin.getSettings().infiniteHologramLines : plugin.getSettings().hologramLines;
|
||||
}
|
||||
|
||||
private static Chunk[] calculateChunks(LoaderData loaderData, UUID whoPlaced, Location original){
|
||||
List<Chunk> chunkList = new ArrayList<>();
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.bgsoftware.wildloaders.nms;
|
|||
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
|
@ -21,7 +22,7 @@ public interface NMSAdapter {
|
|||
|
||||
ChunkLoaderNPC createNPC(Location location, UUID uuid);
|
||||
|
||||
void createLoader(ChunkLoader chunkLoader);
|
||||
ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader);
|
||||
|
||||
void removeLoader(ChunkLoader chunkLoader, boolean spawnParticle);
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_10_R1.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_10_R1.DamageSource;
|
||||
import net.minecraft.server.v1_10_R1.EntityArmorStand;
|
||||
|
@ -14,9 +15,10 @@ import net.minecraft.server.v1_10_R1.Vec3D;
|
|||
import net.minecraft.server.v1_10_R1.World;
|
||||
import org.bukkit.craftbukkit.v1_10_R1.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_10_R1.entity.CraftEntity;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_10_R1 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_10_R1 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_10_R1(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -31,14 +33,21 @@ public final class EntityHolograms_v1_10_R1 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void m() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_10_R1.Block;
|
||||
import net.minecraft.server.v1_10_R1.BlockPosition;
|
||||
|
@ -23,6 +25,8 @@ import org.bukkit.craftbukkit.v1_10_R1.inventory.CraftItemStack;
|
|||
import org.bukkit.craftbukkit.v1_10_R1.util.LongHash;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -112,7 +116,7 @@ public final class NMSAdapter_v1_10_R1 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -129,6 +133,8 @@ public final class NMSAdapter_v1_10_R1 implements NMSAdapter {
|
|||
tileEntity.a(nbtTagCompound);
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -172,7 +178,7 @@ public final class NMSAdapter_v1_10_R1 implements NMSAdapter {
|
|||
mobSpawner.a(nbtTagCompound);
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -260,6 +266,11 @@ public final class NMSAdapter_v1_10_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_10_R1 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_11_R1.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_11_R1.DamageSource;
|
||||
import net.minecraft.server.v1_11_R1.EntityArmorStand;
|
||||
|
@ -14,9 +15,10 @@ import net.minecraft.server.v1_11_R1.Vec3D;
|
|||
import net.minecraft.server.v1_11_R1.World;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.entity.CraftEntity;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_11_R1 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_11_R1 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_11_R1(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -31,14 +33,21 @@ public final class EntityHolograms_v1_11_R1 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void A_() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_11_R1.Block;
|
||||
import net.minecraft.server.v1_11_R1.BlockPosition;
|
||||
|
@ -23,6 +25,8 @@ import org.bukkit.craftbukkit.v1_11_R1.inventory.CraftItemStack;
|
|||
import org.bukkit.craftbukkit.v1_11_R1.util.LongHash;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -112,7 +116,7 @@ public final class NMSAdapter_v1_11_R1 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -129,6 +133,8 @@ public final class NMSAdapter_v1_11_R1 implements NMSAdapter {
|
|||
tileEntity.a(nbtTagCompound);
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -172,7 +178,7 @@ public final class NMSAdapter_v1_11_R1 implements NMSAdapter {
|
|||
mobSpawner.a(nbtTagCompound);
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -260,6 +266,11 @@ public final class NMSAdapter_v1_11_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_11_R1 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_12_R1.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_12_R1.DamageSource;
|
||||
import net.minecraft.server.v1_12_R1.EntityArmorStand;
|
||||
|
@ -14,9 +15,10 @@ import net.minecraft.server.v1_12_R1.Vec3D;
|
|||
import net.minecraft.server.v1_12_R1.World;
|
||||
import org.bukkit.craftbukkit.v1_12_R1.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_12_R1.entity.CraftEntity;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_12_R1 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_12_R1 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_12_R1(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -31,14 +33,21 @@ public final class EntityHolograms_v1_12_R1 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void B_() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_12_R1.Block;
|
||||
import net.minecraft.server.v1_12_R1.BlockPosition;
|
||||
|
@ -24,6 +26,8 @@ import org.bukkit.craftbukkit.v1_12_R1.util.LongHash;
|
|||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -121,7 +125,7 @@ public final class NMSAdapter_v1_12_R1 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -143,6 +147,8 @@ public final class NMSAdapter_v1_12_R1 implements NMSAdapter {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -195,7 +201,7 @@ public final class NMSAdapter_v1_12_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -283,6 +289,11 @@ public final class NMSAdapter_v1_12_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_12_R1 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_13_R1.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_13_R1.DamageSource;
|
||||
import net.minecraft.server.v1_13_R1.EntityArmorStand;
|
||||
|
@ -16,11 +17,12 @@ import net.minecraft.server.v1_13_R1.World;
|
|||
import org.bukkit.craftbukkit.v1_13_R1.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_13_R1.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_13_R1.util.CraftChatMessage;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_13_R1 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_13_R1 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_13_R1(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -35,14 +37,21 @@ public final class EntityHolograms_v1_13_R1 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(CraftChatMessage.fromString(name)[0]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_13_R1.Block;
|
||||
import net.minecraft.server.v1_13_R1.BlockPosition;
|
||||
|
@ -24,6 +26,8 @@ import org.bukkit.craftbukkit.v1_13_R1.inventory.CraftItemStack;
|
|||
import org.bukkit.craftbukkit.v1_13_R1.util.LongHash;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -113,7 +117,7 @@ public final class NMSAdapter_v1_13_R1 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -126,6 +130,8 @@ public final class NMSAdapter_v1_13_R1 implements NMSAdapter {
|
|||
chunk.tileEntities.values().stream().filter(tileEntity -> tileEntity instanceof TileEntityMobSpawner)
|
||||
.forEach(tileEntity -> ((TileEntityMobSpawner) tileEntity).getSpawner().requiredPlayerRange = -1);
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -165,7 +171,7 @@ public final class NMSAdapter_v1_13_R1 implements NMSAdapter {
|
|||
mobSpawner.getSpawner().requiredPlayerRange = reset ? 16 : -1;
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -255,6 +261,11 @@ public final class NMSAdapter_v1_13_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_13_R1 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_13_R2.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_13_R2.DamageSource;
|
||||
import net.minecraft.server.v1_13_R2.EntityArmorStand;
|
||||
|
@ -16,11 +17,12 @@ import net.minecraft.server.v1_13_R2.World;
|
|||
import org.bukkit.craftbukkit.v1_13_R2.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.util.CraftChatMessage;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_13_R2 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_13_R2 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_13_R2(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -35,14 +37,21 @@ public final class EntityHolograms_v1_13_R2 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(CraftChatMessage.fromString(name)[0]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_13_R2.Block;
|
||||
import net.minecraft.server.v1_13_R2.BlockPosition;
|
||||
|
@ -24,6 +26,8 @@ import org.bukkit.craftbukkit.v1_13_R2.inventory.CraftItemStack;
|
|||
import org.bukkit.craftbukkit.v1_13_R2.util.LongHash;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -113,7 +117,7 @@ public final class NMSAdapter_v1_13_R2 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -126,6 +130,8 @@ public final class NMSAdapter_v1_13_R2 implements NMSAdapter {
|
|||
chunk.tileEntities.values().stream().filter(tileEntity -> tileEntity instanceof TileEntityMobSpawner)
|
||||
.forEach(tileEntity -> ((TileEntityMobSpawner) tileEntity).getSpawner().requiredPlayerRange = -1);
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -165,7 +171,7 @@ public final class NMSAdapter_v1_13_R2 implements NMSAdapter {
|
|||
mobSpawner.getSpawner().requiredPlayerRange = reset ? 16 : -1;
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -255,6 +261,11 @@ public final class NMSAdapter_v1_13_R2 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_13_R2 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_14_R1.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_14_R1.DamageSource;
|
||||
import net.minecraft.server.v1_14_R1.EntityArmorStand;
|
||||
|
@ -16,11 +17,12 @@ import net.minecraft.server.v1_14_R1.World;
|
|||
import org.bukkit.craftbukkit.v1_14_R1.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.util.CraftChatMessage;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_14_R1 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_14_R1 extends EntityArmorStand implements Hologram {
|
||||
|
||||
private CraftEntity bukkitEntity;
|
||||
|
||||
|
@ -37,14 +39,21 @@ public final class EntityHolograms_v1_14_R1 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(CraftChatMessage.fromString(name)[0]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_14_R1.Block;
|
||||
import net.minecraft.server.v1_14_R1.BlockPosition;
|
||||
|
@ -25,6 +27,8 @@ import org.bukkit.craftbukkit.v1_14_R1.CraftWorld;
|
|||
import org.bukkit.craftbukkit.v1_14_R1.inventory.CraftItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -114,7 +118,7 @@ public final class NMSAdapter_v1_14_R1 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
assert loaderLoc.getWorld() != null;
|
||||
WorldServer world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
|
@ -130,6 +134,8 @@ public final class NMSAdapter_v1_14_R1 implements NMSAdapter {
|
|||
|
||||
world.setForceLoaded(chunk.getPos().x, chunk.getPos().z, true);
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -173,7 +179,7 @@ public final class NMSAdapter_v1_14_R1 implements NMSAdapter {
|
|||
mobSpawner.getSpawner().requiredPlayerRange = reset ? 16 : -1;
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -268,6 +274,11 @@ public final class NMSAdapter_v1_14_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_14_R1 hologram, String line){
|
||||
assert chunkLoader.getWhoPlaced().getName() != null;
|
||||
hologram.setHologramName(line
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_15_R1.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_15_R1.DamageSource;
|
||||
import net.minecraft.server.v1_15_R1.EntityArmorStand;
|
||||
|
@ -16,11 +17,12 @@ import net.minecraft.server.v1_15_R1.World;
|
|||
import org.bukkit.craftbukkit.v1_15_R1.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_15_R1.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_15_R1.util.CraftChatMessage;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_15_R1 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_15_R1 extends EntityArmorStand implements Hologram {
|
||||
|
||||
private CraftEntity bukkitEntity;
|
||||
|
||||
|
@ -37,14 +39,21 @@ public final class EntityHolograms_v1_15_R1 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(CraftChatMessage.fromString(name)[0]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_15_R1.Block;
|
||||
import net.minecraft.server.v1_15_R1.BlockPosition;
|
||||
|
@ -25,6 +27,8 @@ import org.bukkit.craftbukkit.v1_15_R1.CraftWorld;
|
|||
import org.bukkit.craftbukkit.v1_15_R1.inventory.CraftItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -114,7 +118,7 @@ public final class NMSAdapter_v1_15_R1 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
assert loaderLoc.getWorld() != null;
|
||||
WorldServer world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
|
@ -130,6 +134,8 @@ public final class NMSAdapter_v1_15_R1 implements NMSAdapter {
|
|||
|
||||
world.setForceLoaded(chunk.getPos().x, chunk.getPos().z, true);
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -173,7 +179,7 @@ public final class NMSAdapter_v1_15_R1 implements NMSAdapter {
|
|||
mobSpawner.getSpawner().requiredPlayerRange = reset ? 16 : -1;
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -267,6 +273,11 @@ public final class NMSAdapter_v1_15_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_15_R1 hologram, String line){
|
||||
assert chunkLoader.getWhoPlaced().getName() != null;
|
||||
hologram.setHologramName(line
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_16_R1.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_16_R1.DamageSource;
|
||||
import net.minecraft.server.v1_16_R1.EntityArmorStand;
|
||||
|
@ -16,11 +17,12 @@ import net.minecraft.server.v1_16_R1.World;
|
|||
import org.bukkit.craftbukkit.v1_16_R1.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_16_R1.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_16_R1.util.CraftChatMessage;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_16_R1 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_16_R1 extends EntityArmorStand implements Hologram {
|
||||
|
||||
private CraftEntity bukkitEntity;
|
||||
|
||||
|
@ -37,14 +39,21 @@ public final class EntityHolograms_v1_16_R1 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(CraftChatMessage.fromString(name)[0]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_16_R1.Block;
|
||||
import net.minecraft.server.v1_16_R1.BlockPosition;
|
||||
|
@ -26,6 +28,8 @@ import org.bukkit.craftbukkit.v1_16_R1.CraftWorld;
|
|||
import org.bukkit.craftbukkit.v1_16_R1.inventory.CraftItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -115,7 +119,7 @@ public final class NMSAdapter_v1_16_R1 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
assert loaderLoc.getWorld() != null;
|
||||
WorldServer world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
|
@ -131,6 +135,8 @@ public final class NMSAdapter_v1_16_R1 implements NMSAdapter {
|
|||
|
||||
world.setForceLoaded(chunk.getPos().x, chunk.getPos().z, true);
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -175,7 +181,7 @@ public final class NMSAdapter_v1_16_R1 implements NMSAdapter {
|
|||
mobSpawner.getSpawner().requiredPlayerRange = reset ? 16 : -1;
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -269,6 +275,11 @@ public final class NMSAdapter_v1_16_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_16_R1 hologram, String line){
|
||||
assert chunkLoader.getWhoPlaced().getName() != null;
|
||||
hologram.setHologramName(line
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_16_R2.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_16_R2.DamageSource;
|
||||
import net.minecraft.server.v1_16_R2.EntityArmorStand;
|
||||
|
@ -16,11 +17,12 @@ import net.minecraft.server.v1_16_R2.World;
|
|||
import org.bukkit.craftbukkit.v1_16_R2.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.entity.CraftEntity;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.util.CraftChatMessage;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_16_R2 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_16_R2 extends EntityArmorStand implements Hologram {
|
||||
|
||||
private CraftEntity bukkitEntity;
|
||||
|
||||
|
@ -37,14 +39,21 @@ public final class EntityHolograms_v1_16_R2 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(CraftChatMessage.fromString(name)[0]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_16_R2.Block;
|
||||
import net.minecraft.server.v1_16_R2.BlockPosition;
|
||||
|
@ -26,6 +28,8 @@ import org.bukkit.craftbukkit.v1_16_R2.CraftWorld;
|
|||
import org.bukkit.craftbukkit.v1_16_R2.inventory.CraftItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -115,7 +119,7 @@ public final class NMSAdapter_v1_16_R2 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
assert loaderLoc.getWorld() != null;
|
||||
WorldServer world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
|
@ -131,6 +135,8 @@ public final class NMSAdapter_v1_16_R2 implements NMSAdapter {
|
|||
|
||||
world.setForceLoaded(chunk.getPos().x, chunk.getPos().z, true);
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -175,7 +181,7 @@ public final class NMSAdapter_v1_16_R2 implements NMSAdapter {
|
|||
mobSpawner.getSpawner().requiredPlayerRange = reset ? 16 : -1;
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -269,6 +275,11 @@ public final class NMSAdapter_v1_16_R2 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_16_R2 hologram, String line){
|
||||
assert chunkLoader.getWhoPlaced().getName() != null;
|
||||
hologram.setHologramName(line
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_7_R3.Block;
|
||||
import net.minecraft.server.v1_7_R3.Chunk;
|
||||
|
@ -21,6 +23,8 @@ import org.bukkit.craftbukkit.v1_7_R3.CraftWorld;
|
|||
import org.bukkit.craftbukkit.v1_7_R3.inventory.CraftItemStack;
|
||||
import org.bukkit.craftbukkit.v1_7_R3.util.LongHash;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
@ -109,7 +113,7 @@ public final class NMSAdapter_v1_7_R3 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
int x = loaderLoc.getBlockX(), y = loaderLoc.getBlockY(), z = loaderLoc.getBlockZ();
|
||||
|
@ -128,6 +132,8 @@ public final class NMSAdapter_v1_7_R3 implements NMSAdapter {
|
|||
((TileEntity) tileEntity).a(nbtTagCompound);
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -171,7 +177,9 @@ public final class NMSAdapter_v1_7_R3 implements NMSAdapter {
|
|||
mobSpawner.a(nbtTagCompound);
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox, ITileEntityChunkLoader {
|
||||
|
||||
private static final Collection<Hologram> EMPTY_CONTAINER = Collections.emptyList();
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -206,6 +214,11 @@ public final class NMSAdapter_v1_7_R3 implements NMSAdapter {
|
|||
((WChunkLoader) chunkLoader).tick();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return EMPTY_CONTAINER;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_7_R4.Block;
|
||||
import net.minecraft.server.v1_7_R4.Chunk;
|
||||
|
@ -21,6 +23,8 @@ import org.bukkit.craftbukkit.v1_7_R4.CraftWorld;
|
|||
import org.bukkit.craftbukkit.v1_7_R4.inventory.CraftItemStack;
|
||||
import org.bukkit.craftbukkit.v1_7_R4.util.LongHash;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
@ -109,7 +113,7 @@ public final class NMSAdapter_v1_7_R4 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
int x = loaderLoc.getBlockX(), y = loaderLoc.getBlockY(), z = loaderLoc.getBlockZ();
|
||||
|
@ -128,6 +132,8 @@ public final class NMSAdapter_v1_7_R4 implements NMSAdapter {
|
|||
((TileEntity) tileEntity).a(nbtTagCompound);
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -171,7 +177,9 @@ public final class NMSAdapter_v1_7_R4 implements NMSAdapter {
|
|||
mobSpawner.a(nbtTagCompound);
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox, ITileEntityChunkLoader {
|
||||
|
||||
private static final Collection<Hologram> EMPTY_CONTAINER = Collections.emptyList();
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -206,6 +214,11 @@ public final class NMSAdapter_v1_7_R4 implements NMSAdapter {
|
|||
((WChunkLoader) chunkLoader).tick();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return EMPTY_CONTAINER;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_8_R1.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_8_R1.DamageSource;
|
||||
import net.minecraft.server.v1_8_R1.EntityArmorStand;
|
||||
|
@ -10,9 +11,10 @@ import net.minecraft.server.v1_8_R1.Vec3D;
|
|||
import net.minecraft.server.v1_8_R1.World;
|
||||
import org.bukkit.craftbukkit.v1_8_R1.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_8_R1.entity.CraftEntity;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_8_R1 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_8_R1 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_8_R1(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -25,14 +27,21 @@ public final class EntityHolograms_v1_8_R1 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void s_() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_8_R1.Block;
|
||||
import net.minecraft.server.v1_8_R1.BlockPosition;
|
||||
|
@ -23,6 +25,8 @@ import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftItemStack;
|
|||
import org.bukkit.craftbukkit.v1_8_R1.util.LongHash;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -112,7 +116,7 @@ public final class NMSAdapter_v1_8_R1 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -131,6 +135,8 @@ public final class NMSAdapter_v1_8_R1 implements NMSAdapter {
|
|||
((TileEntity) tileEntity).a(nbtTagCompound);
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -175,7 +181,7 @@ public final class NMSAdapter_v1_8_R1 implements NMSAdapter {
|
|||
mobSpawner.a(nbtTagCompound);
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -263,6 +269,11 @@ public final class NMSAdapter_v1_8_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_8_R1 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_8_R2.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_8_R2.DamageSource;
|
||||
import net.minecraft.server.v1_8_R2.EntityArmorStand;
|
||||
|
@ -10,9 +11,10 @@ import net.minecraft.server.v1_8_R2.Vec3D;
|
|||
import net.minecraft.server.v1_8_R2.World;
|
||||
import org.bukkit.craftbukkit.v1_8_R2.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_8_R2.entity.CraftEntity;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_8_R2 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_8_R2 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_8_R2(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -26,14 +28,21 @@ public final class EntityHolograms_v1_8_R2 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void t_() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_8_R2.Block;
|
||||
import net.minecraft.server.v1_8_R2.BlockPosition;
|
||||
|
@ -23,6 +25,8 @@ import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftItemStack;
|
|||
import org.bukkit.craftbukkit.v1_8_R2.util.LongHash;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -112,7 +116,7 @@ public final class NMSAdapter_v1_8_R2 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -129,6 +133,8 @@ public final class NMSAdapter_v1_8_R2 implements NMSAdapter {
|
|||
tileEntity.a(nbtTagCompound);
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -172,7 +178,7 @@ public final class NMSAdapter_v1_8_R2 implements NMSAdapter {
|
|||
mobSpawner.a(nbtTagCompound);
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -260,6 +266,11 @@ public final class NMSAdapter_v1_8_R2 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_8_R2 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_8_R3.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_8_R3.DamageSource;
|
||||
import net.minecraft.server.v1_8_R3.EntityArmorStand;
|
||||
|
@ -10,9 +11,10 @@ import net.minecraft.server.v1_8_R3.Vec3D;
|
|||
import net.minecraft.server.v1_8_R3.World;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_8_R3 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_8_R3 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_8_R3(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -27,14 +29,21 @@ public final class EntityHolograms_v1_8_R3 extends EntityArmorStand {
|
|||
this.onGround = true; // Workaround to force EntityTrackerEntry to send a teleport packet.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void t_() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_8_R3.Block;
|
||||
import net.minecraft.server.v1_8_R3.BlockPosition;
|
||||
|
@ -23,6 +25,8 @@ import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftItemStack;
|
|||
import org.bukkit.craftbukkit.v1_8_R3.util.LongHash;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -112,7 +116,7 @@ public final class NMSAdapter_v1_8_R3 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -129,6 +133,8 @@ public final class NMSAdapter_v1_8_R3 implements NMSAdapter {
|
|||
tileEntity.a(nbtTagCompound);
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -172,7 +178,7 @@ public final class NMSAdapter_v1_8_R3 implements NMSAdapter {
|
|||
mobSpawner.a(nbtTagCompound);
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements IUpdatePlayerListBox, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -260,6 +266,11 @@ public final class NMSAdapter_v1_8_R3 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_8_R3 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_9_R1.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_9_R1.DamageSource;
|
||||
import net.minecraft.server.v1_9_R1.EntityArmorStand;
|
||||
|
@ -14,9 +15,10 @@ import net.minecraft.server.v1_9_R1.Vec3D;
|
|||
import net.minecraft.server.v1_9_R1.World;
|
||||
import org.bukkit.craftbukkit.v1_9_R1.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_9_R1.entity.CraftEntity;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_9_R1 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_9_R1 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_9_R1(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -31,14 +33,21 @@ public final class EntityHolograms_v1_9_R1 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void m() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_9_R1.Block;
|
||||
import net.minecraft.server.v1_9_R1.BlockPosition;
|
||||
|
@ -23,6 +25,8 @@ import org.bukkit.craftbukkit.v1_9_R1.inventory.CraftItemStack;
|
|||
import org.bukkit.craftbukkit.v1_9_R1.util.LongHash;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -112,7 +116,7 @@ public final class NMSAdapter_v1_9_R1 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -129,6 +133,8 @@ public final class NMSAdapter_v1_9_R1 implements NMSAdapter {
|
|||
tileEntity.a(nbtTagCompound);
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -172,7 +178,7 @@ public final class NMSAdapter_v1_9_R1 implements NMSAdapter {
|
|||
mobSpawner.a(nbtTagCompound);
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -260,6 +266,11 @@ public final class NMSAdapter_v1_9_R1 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_9_R1 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import net.minecraft.server.v1_9_R2.AxisAlignedBB;
|
||||
import net.minecraft.server.v1_9_R2.DamageSource;
|
||||
import net.minecraft.server.v1_9_R2.EntityArmorStand;
|
||||
|
@ -14,9 +15,10 @@ import net.minecraft.server.v1_9_R2.Vec3D;
|
|||
import net.minecraft.server.v1_9_R2.World;
|
||||
import org.bukkit.craftbukkit.v1_9_R2.entity.CraftArmorStand;
|
||||
import org.bukkit.craftbukkit.v1_9_R2.entity.CraftEntity;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public final class EntityHolograms_v1_9_R2 extends EntityArmorStand {
|
||||
public final class EntityHolograms_v1_9_R2 extends EntityArmorStand implements Hologram {
|
||||
|
||||
EntityHolograms_v1_9_R2(World world, double x, double y, double z){
|
||||
super(world, x, y, z);
|
||||
|
@ -31,14 +33,21 @@ public final class EntityHolograms_v1_9_R2 extends EntityArmorStand {
|
|||
super.a(new AxisAlignedBB(0D, 0D, 0D, 0D, 0D, 0D));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setHologramName(String name) {
|
||||
super.setCustomName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeHologram() {
|
||||
super.die();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Entity getEntity() {
|
||||
return getBukkitEntity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void m() {
|
||||
// Disable normal ticking for this entity.
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package com.bgsoftware.wildloaders.nms;
|
||||
|
||||
import com.bgsoftware.wildloaders.WildLoadersPlugin;
|
||||
import com.bgsoftware.wildloaders.api.holograms.Hologram;
|
||||
import com.bgsoftware.wildloaders.api.loaders.ChunkLoader;
|
||||
import com.bgsoftware.wildloaders.api.npc.ChunkLoaderNPC;
|
||||
import com.bgsoftware.wildloaders.loaders.ITileEntityChunkLoader;
|
||||
import com.bgsoftware.wildloaders.loaders.WChunkLoader;
|
||||
import net.minecraft.server.v1_9_R2.Block;
|
||||
import net.minecraft.server.v1_9_R2.BlockPosition;
|
||||
|
@ -23,6 +25,8 @@ import org.bukkit.craftbukkit.v1_9_R2.inventory.CraftItemStack;
|
|||
import org.bukkit.craftbukkit.v1_9_R2.util.LongHash;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -112,7 +116,7 @@ public final class NMSAdapter_v1_9_R2 implements NMSAdapter {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void createLoader(ChunkLoader chunkLoader) {
|
||||
public ITileEntityChunkLoader createLoader(ChunkLoader chunkLoader) {
|
||||
Location loaderLoc = chunkLoader.getLocation();
|
||||
World world = ((CraftWorld) loaderLoc.getWorld()).getHandle();
|
||||
BlockPosition blockPosition = new BlockPosition(loaderLoc.getX(), loaderLoc.getY(), loaderLoc.getZ());
|
||||
|
@ -129,6 +133,8 @@ public final class NMSAdapter_v1_9_R2 implements NMSAdapter {
|
|||
tileEntity.a(nbtTagCompound);
|
||||
});
|
||||
}
|
||||
|
||||
return tileEntityChunkLoader;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -172,7 +178,7 @@ public final class NMSAdapter_v1_9_R2 implements NMSAdapter {
|
|||
mobSpawner.a(nbtTagCompound);
|
||||
}
|
||||
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable {
|
||||
private static final class TileEntityChunkLoader extends TileEntity implements ITickable, ITileEntityChunkLoader {
|
||||
|
||||
private static final Map<Long, TileEntityChunkLoader> tileEntityChunkLoaderMap = new HashMap<>();
|
||||
|
||||
|
@ -260,6 +266,11 @@ public final class NMSAdapter_v1_9_R2 implements NMSAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Hologram> getHolograms() {
|
||||
return Collections.unmodifiableList(holograms);
|
||||
}
|
||||
|
||||
private void updateName(EntityHolograms_v1_9_R2 hologram, String line){
|
||||
hologram.setHologramName(line
|
||||
.replace("{0}", chunkLoader.getWhoPlaced().getName())
|
||||
|
|
Loading…
Reference in New Issue