diff --git a/README.md b/README.md
index bccbd98..56108fc 100755
--- a/README.md
+++ b/README.md
@@ -2,13 +2,12 @@
NPCLib – Basic non-player character library.
[![Release](https://jitpack.io/v/JitseB/NPCLib.svg)](https://github.com/JitseB/NPCLib/releases)
[![Build Status](https://travis-ci.com/JitseB/NPCLib.svg?branch=master)](https://travis-ci.com/JitseB/NPCLib)
-[![Versions](https://img.shields.io/badge/MC-1.8%20R2%20--%20latest-blue.svg)](https://github.com/JitseB/NPCLib/releases)
+[![Versions](https://img.shields.io/badge/MC-1.8.8%20--%20latest-blue.svg)](https://github.com/JitseB/NPCLib/releases)
[![Resource](https://img.shields.io/badge/SpigotMC-Resource-orange.svg)](https://www.spigotmc.org/resources/npclib.55884/)
+[![Discord](https://img.shields.io/badge/Support-Discord-blue.svg)](https://discord.gg/pvJGhEq)
=
-This is an API made specifically for spigot servers (Minecraft). Current supported versions: **1.8 R2 - latest**\*. Lightweight replacement for Citizens. NPCLib only uses packets instead of registering the entity in the actual Minecraft server.
-
-\*You can find a version of NPCLib with basic support for 1.7.10 on the [legacy branch](https://github.com/JitseB/NPCLib/tree/legacy). This branch is not actively maintained as the master branch. This version does not support multi-line text.
+This is an API made specifically for spigot servers (Minecraft). Current supported versions: **1.8.8 - latest**. Lightweight replacement for Citizens. NPCLib only uses packets instead of registering the entity in the actual Minecraft server.
### Preview (click to play video)
[![YouTube Video](http://img.youtube.com/vi/LqwdqIxPIvE/0.jpg)](http://www.youtube.com/watch?v=LqwdqIxPIvE "NPCLib – Basic non-player character library (Minecraft).")
@@ -47,7 +46,7 @@ If you have NPCLib under your `plugins` folder, you may use the following:
net.jitse
npclib-api
- 2.7-SNAPSHOT
+ 2.9-SNAPSHOT
compile
diff --git a/api/pom.xml b/api/pom.xml
index 395cfb2..a4ab543 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -8,7 +8,7 @@
npclib
net.jitse
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-api
@@ -28,7 +28,7 @@
org.spigotmc
spigot-api
- 1.15.2-R0.1-SNAPSHOT
+ 1.16.1-R0.1-SNAPSHOT
provided
diff --git a/api/src/main/java/net/jitse/npclib/internal/NPCBase.java b/api/src/main/java/net/jitse/npclib/internal/NPCBase.java
index ca6cc05..90c7cbb 100644
--- a/api/src/main/java/net/jitse/npclib/internal/NPCBase.java
+++ b/api/src/main/java/net/jitse/npclib/internal/NPCBase.java
@@ -85,13 +85,13 @@ public abstract class NPCBase implements NPC, NPCPacketHandler {
Validate.notNull(targetPlayer, "Player cannot be null.");
List originalLines = getPlayerLines(targetPlayer);
setPlayerLines(uniqueLines, targetPlayer);
- if (update){
- if (originalLines.size() != uniqueLines.size()){ // recreate the entire hologram
+ if (update) {
+ if (originalLines.size() != uniqueLines.size()) { // recreate the entire hologram
Hologram originalhologram = getPlayerHologram(targetPlayer);
originalhologram.hide(targetPlayer); // essentially destroy the hologram
textDisplayHolograms.remove(targetPlayer.getUniqueId()); // remove the old obj
}
-
+
if (isShown(targetPlayer)) { //only show hologram if the player is in range
Hologram hologram = getPlayerHologram(targetPlayer);
List updatePackets = hologram.getUpdatePackets(getPlayerLines(targetPlayer));
@@ -217,7 +217,7 @@ public abstract class NPCBase implements NPC, NPCPacketHandler {
public boolean inViewOf(Player player) {
Vector dir = location.toVector().subtract(player.getEyeLocation().toVector()).normalize();
- return dir.dot(player.getLocation().getDirection()) >= cosFOV;
+ return dir.dot(player.getEyeLocation().getDirection()) >= cosFOV;
}
@Override
diff --git a/nms/pom.xml b/nms/pom.xml
index cf526cf..ddc43b7 100644
--- a/nms/pom.xml
+++ b/nms/pom.xml
@@ -8,13 +8,12 @@
net.jitse
npclib
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms
- v1_8_R2
v1_8_R3
v1_9_R1
v1_9_R2
diff --git a/nms/v1_10_R1/pom.xml b/nms/v1_10_R1/pom.xml
index 74f8c6a..7d18f5f 100755
--- a/nms/v1_10_R1/pom.xml
+++ b/nms/v1_10_R1/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_10_R1
diff --git a/nms/v1_11_R1/pom.xml b/nms/v1_11_R1/pom.xml
index 5b9c2e4..5fa1c32 100755
--- a/nms/v1_11_R1/pom.xml
+++ b/nms/v1_11_R1/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_11_R1
diff --git a/nms/v1_12_R1/pom.xml b/nms/v1_12_R1/pom.xml
index cf76613..aa9b953 100755
--- a/nms/v1_12_R1/pom.xml
+++ b/nms/v1_12_R1/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_12_R1
diff --git a/nms/v1_13_R1/pom.xml b/nms/v1_13_R1/pom.xml
index 4977e7a..2c0742b 100755
--- a/nms/v1_13_R1/pom.xml
+++ b/nms/v1_13_R1/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_13_R1
diff --git a/nms/v1_13_R2/pom.xml b/nms/v1_13_R2/pom.xml
index 22d51ff..4c544ae 100755
--- a/nms/v1_13_R2/pom.xml
+++ b/nms/v1_13_R2/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_13_R2
diff --git a/nms/v1_14_R1/pom.xml b/nms/v1_14_R1/pom.xml
index fd8b902..6814941 100755
--- a/nms/v1_14_R1/pom.xml
+++ b/nms/v1_14_R1/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_14_R1
diff --git a/nms/v1_15_R1/pom.xml b/nms/v1_15_R1/pom.xml
index 5b3f1b1..0708d81 100644
--- a/nms/v1_15_R1/pom.xml
+++ b/nms/v1_15_R1/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_15_R1
diff --git a/nms/v1_16_R1/pom.xml b/nms/v1_16_R1/pom.xml
index 4c55a8f..62cae7a 100644
--- a/nms/v1_16_R1/pom.xml
+++ b/nms/v1_16_R1/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_16_R1
diff --git a/nms/v1_8_R2/pom.xml b/nms/v1_8_R2/pom.xml
deleted file mode 100755
index fe990d7..0000000
--- a/nms/v1_8_R2/pom.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- 4.0.0
- jar
-
-
- net.jitse
- npclib-nms
- 2.10-SNAPSHOT
-
-
- npclib-nms-v1_8_R2
-
-
-
- org.spigotmc
- spigot
- 1.8.3-R0.1-SNAPSHOT
- provided
-
-
-
diff --git a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/NPC_v1_8_R2.java b/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/NPC_v1_8_R2.java
deleted file mode 100755
index 6121e5b..0000000
--- a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/NPC_v1_8_R2.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 2018 Jitse Boonstra
- */
-
-package net.jitse.npclib.nms.v1_8_R2;
-
-import com.mojang.authlib.GameProfile;
-import com.mojang.authlib.properties.Property;
-import net.jitse.npclib.NPCLib;
-import net.jitse.npclib.api.skin.Skin;
-import net.jitse.npclib.api.state.NPCAnimation;
-import net.jitse.npclib.api.state.NPCSlot;
-import net.jitse.npclib.hologram.Hologram;
-import net.jitse.npclib.internal.MinecraftVersion;
-import net.jitse.npclib.internal.NPCBase;
-import net.jitse.npclib.nms.v1_8_R2.packets.*;
-import net.minecraft.server.v1_8_R2.*;
-import org.bukkit.Bukkit;
-import org.bukkit.craftbukkit.v1_8_R2.entity.CraftPlayer;
-import org.bukkit.craftbukkit.v1_8_R2.inventory.CraftItemStack;
-import org.bukkit.entity.Player;
-import org.bukkit.inventory.ItemStack;
-
-import java.util.List;
-
-/**
- * @author Jitse Boonstra
- */
-public class NPC_v1_8_R2 extends NPCBase {
-
- private PacketPlayOutNamedEntitySpawn packetPlayOutNamedEntitySpawn;
- private PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeamRegister;
- private PacketPlayOutPlayerInfo packetPlayOutPlayerInfoAdd, packetPlayOutPlayerInfoRemove;
- private PacketPlayOutEntityHeadRotation packetPlayOutEntityHeadRotation;
- private PacketPlayOutEntityDestroy packetPlayOutEntityDestroy;
-
- public NPC_v1_8_R2(NPCLib instance, List lines) {
- super(instance, lines);
- }
-
- @Override
- public Hologram getPlayerHologram(Player player) {
- Hologram holo = super.getPlayerHologram(player);
- if (holo == null){
- holo = new Hologram(MinecraftVersion.V1_8_R2, location.clone().add(0, 0.5, 0), getPlayerLines(player));
- }
- super.textDisplayHolograms.put(player.getUniqueId(), holo);
- return holo;
- }
-
-
- @Override
- public void createPackets() {
- Bukkit.getOnlinePlayers().forEach(this::createPackets);
- }
-
- @Override
- public void createPackets(Player player) {
-
- PacketPlayOutPlayerInfoWrapper packetPlayOutPlayerInfoWrapper = new PacketPlayOutPlayerInfoWrapper();
-
- // Packets for spawning the NPC:
- this.packetPlayOutScoreboardTeamRegister = new PacketPlayOutScoreboardTeamWrapper()
- .createRegisterTeam(name); // First packet to send.
-
- this.packetPlayOutPlayerInfoAdd = packetPlayOutPlayerInfoWrapper
- .create(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, gameProfile, name); // Second packet to send.
-
- this.packetPlayOutNamedEntitySpawn = new PacketPlayOutNamedEntitySpawnWrapper()
- .create(uuid, location, entityId); // Third packet to send.
-
- this.packetPlayOutEntityHeadRotation = new PacketPlayOutEntityHeadRotationWrapper()
- .create(location, entityId); // Fourth packet to send.
-
- this.packetPlayOutPlayerInfoRemove = packetPlayOutPlayerInfoWrapper
- .create(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, gameProfile, name); // Fifth packet to send (delayed).
-
- // Packet for destroying the NPC:
- this.packetPlayOutEntityDestroy = new PacketPlayOutEntityDestroy(entityId); // First packet to send.
- }
-
-
- @Override
- public void sendShowPackets(Player player) {
- PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
-
- if (hasTeamRegistered.add(player.getUniqueId()))
- playerConnection.sendPacket(packetPlayOutScoreboardTeamRegister);
- playerConnection.sendPacket(packetPlayOutPlayerInfoAdd);
- playerConnection.sendPacket(packetPlayOutNamedEntitySpawn);
- playerConnection.sendPacket(packetPlayOutEntityHeadRotation);
-
- getPlayerHologram(player).show(player);
-
- // Removing the player info after 10 seconds.
- Bukkit.getScheduler().runTaskLater(instance.getPlugin(), () ->
- playerConnection.sendPacket(packetPlayOutPlayerInfoRemove), 200);
- }
-
- @Override
- public void sendHidePackets(Player player) {
- PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
-
- playerConnection.sendPacket(packetPlayOutEntityDestroy);
- playerConnection.sendPacket(packetPlayOutPlayerInfoRemove);
- getPlayerHologram(player).hide(player);
- }
-
- @Override
- public void sendMetadataPacket(Player player) {
- PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
- PacketPlayOutEntityMetadata packet = new PacketPlayOutEntityMetadataWrapper().create(activeStates, entityId);
-
- playerConnection.sendPacket(packet);
- }
-
- @Override
- public void sendEquipmentPacket(Player player, NPCSlot slot, boolean auto) {
- PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
-
- if (slot == NPCSlot.OFFHAND) {
- if (!auto) {
- throw new UnsupportedOperationException("Offhand is not supported on servers below 1.9");
- }
- return;
- }
-
- ItemStack item = getItem(slot);
-
- PacketPlayOutEntityEquipment packet = new PacketPlayOutEntityEquipment(entityId, slot.getSlot(), CraftItemStack.asNMSCopy(item));
- playerConnection.sendPacket(packet);
- }
-
- @Override
- public void sendAnimationPacket(Player player, NPCAnimation animation) {
- if(animation == NPCAnimation.SWING_OFFHAND) {
- throw new IllegalArgumentException("Offhand Swing Animations are only available on 1.9 and up.");
- }
-
- PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
-
- PacketPlayOutAnimation packet = new PacketPlayOutAnimationWrapper().create(animation, entityId);
- playerConnection.sendPacket(packet);
- }
-
- @Override
- public void updateSkin(Skin skin) {
- GameProfile newProfile = new GameProfile(uuid, name);
- newProfile.getProperties().get("textures").clear();
- newProfile.getProperties().put("textures", new Property("textures", skin.getValue(), skin.getSignature()));
- this.packetPlayOutPlayerInfoAdd = new PacketPlayOutPlayerInfoWrapper().create(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, newProfile, name);
- for (Player player : Bukkit.getOnlinePlayers()) {
- PlayerConnection playerConnection = ((CraftPlayer) player).getHandle().playerConnection;
- playerConnection.sendPacket(packetPlayOutPlayerInfoRemove);
- playerConnection.sendPacket(packetPlayOutEntityDestroy);
- playerConnection.sendPacket(packetPlayOutPlayerInfoAdd);
- playerConnection.sendPacket(packetPlayOutNamedEntitySpawn);
- }
- }
-}
diff --git a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutAnimationWrapper.java b/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutAnimationWrapper.java
deleted file mode 100644
index 6e915b1..0000000
--- a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutAnimationWrapper.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package net.jitse.npclib.nms.v1_8_R2.packets;
-
-import com.comphenix.tinyprotocol.Reflection;
-import net.jitse.npclib.api.state.NPCAnimation;
-import net.minecraft.server.v1_8_R2.PacketPlayOutAnimation;
-
-public class PacketPlayOutAnimationWrapper {
-
- public PacketPlayOutAnimation create(NPCAnimation npcAnimation, int entityId) {
- PacketPlayOutAnimation packetPlayOutAnimation = new PacketPlayOutAnimation();
-
- Reflection.getField(packetPlayOutAnimation.getClass(), "a", int.class)
- .set(packetPlayOutAnimation, entityId);
- Reflection.getField(packetPlayOutAnimation.getClass(), "b", int.class)
- .set(packetPlayOutAnimation, npcAnimation.getId());
-
- return packetPlayOutAnimation;
- }
-
-}
diff --git a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutEntityHeadRotationWrapper.java b/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutEntityHeadRotationWrapper.java
deleted file mode 100755
index 5ac6220..0000000
--- a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutEntityHeadRotationWrapper.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2018 Jitse Boonstra
- */
-
-package net.jitse.npclib.nms.v1_8_R2.packets;
-
-import com.comphenix.tinyprotocol.Reflection;
-import net.minecraft.server.v1_8_R2.PacketPlayOutEntityHeadRotation;
-import org.bukkit.Location;
-
-/**
- * @author Jitse Boonstra
- */
-public class PacketPlayOutEntityHeadRotationWrapper {
-
- public PacketPlayOutEntityHeadRotation create(Location location, int entityId) {
- PacketPlayOutEntityHeadRotation packetPlayOutEntityHeadRotation = new PacketPlayOutEntityHeadRotation();
-
- Reflection.getField(packetPlayOutEntityHeadRotation.getClass(), "a", int.class).
- set(packetPlayOutEntityHeadRotation, entityId);
- Reflection.getField(packetPlayOutEntityHeadRotation.getClass(), "b", byte.class)
- .set(packetPlayOutEntityHeadRotation, (byte) ((int) location.getYaw() * 256.0F / 360.0F));
-
- return packetPlayOutEntityHeadRotation;
- }
-}
diff --git a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutEntityMetadataWrapper.java b/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutEntityMetadataWrapper.java
deleted file mode 100644
index 592fa3f..0000000
--- a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutEntityMetadataWrapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package net.jitse.npclib.nms.v1_8_R2.packets;
-
-import net.jitse.npclib.api.state.NPCState;
-import net.minecraft.server.v1_8_R2.DataWatcher;
-import net.minecraft.server.v1_8_R2.PacketPlayOutEntityMetadata;
-
-import java.util.Collection;
-
-public class PacketPlayOutEntityMetadataWrapper {
-
- public PacketPlayOutEntityMetadata create(Collection activateStates, int entityId) {
- DataWatcher dataWatcher = new DataWatcher(null);
- byte masked = NPCState.getMasked(activateStates);
- dataWatcher.a(0, masked);
-
- return new PacketPlayOutEntityMetadata(entityId, dataWatcher, true);
- }
-}
diff --git a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutNamedEntitySpawnWrapper.java b/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutNamedEntitySpawnWrapper.java
deleted file mode 100755
index f48b8c8..0000000
--- a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutNamedEntitySpawnWrapper.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2018 Jitse Boonstra
- */
-
-package net.jitse.npclib.nms.v1_8_R2.packets;
-
-import com.comphenix.tinyprotocol.Reflection;
-import net.minecraft.server.v1_8_R2.DataWatcher;
-import net.minecraft.server.v1_8_R2.PacketPlayOutNamedEntitySpawn;
-import org.bukkit.Location;
-
-import java.util.UUID;
-
-/**
- * @author Jitse Boonstra
- */
-public class PacketPlayOutNamedEntitySpawnWrapper {
-
- public PacketPlayOutNamedEntitySpawn create(UUID uuid, Location location, int entityId) {
- PacketPlayOutNamedEntitySpawn packetPlayOutNamedEntitySpawn = new PacketPlayOutNamedEntitySpawn();
-
- Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "a", int.class)
- .set(packetPlayOutNamedEntitySpawn, entityId);
- Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "b", UUID.class)
- .set(packetPlayOutNamedEntitySpawn, uuid);
- Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "c", int.class)
- .set(packetPlayOutNamedEntitySpawn, (int) Math.floor(location.getX() * 32.0D));
- Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "d", int.class)
- .set(packetPlayOutNamedEntitySpawn, (int) Math.floor(location.getY() * 32.0D));
- Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "e", int.class)
- .set(packetPlayOutNamedEntitySpawn, (int) Math.floor(location.getZ() * 32.0D));
- Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "f", byte.class)
- .set(packetPlayOutNamedEntitySpawn, (byte) ((int) (location.getYaw() * 256.0F / 360.0F)));
- Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "g", byte.class)
- .set(packetPlayOutNamedEntitySpawn, (byte) ((int) (location.getPitch() * 256.0F / 360.0F)));
-
- DataWatcher dataWatcher = new DataWatcher(null);
- dataWatcher.a(10, (byte) 127);
-
- Reflection.getField(packetPlayOutNamedEntitySpawn.getClass(), "i", DataWatcher.class)
- .set(packetPlayOutNamedEntitySpawn, dataWatcher);
-
- return packetPlayOutNamedEntitySpawn;
- }
-}
diff --git a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutPlayerInfoWrapper.java b/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutPlayerInfoWrapper.java
deleted file mode 100755
index c05ceb6..0000000
--- a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutPlayerInfoWrapper.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2018 Jitse Boonstra
- */
-
-package net.jitse.npclib.nms.v1_8_R2.packets;
-
-import com.comphenix.tinyprotocol.Reflection;
-import com.mojang.authlib.GameProfile;
-import net.minecraft.server.v1_8_R2.IChatBaseComponent;
-import net.minecraft.server.v1_8_R2.PacketPlayOutPlayerInfo;
-import net.minecraft.server.v1_8_R2.WorldSettings;
-
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author Jitse Boonstra
- */
-public class PacketPlayOutPlayerInfoWrapper {
-
- public PacketPlayOutPlayerInfo create(PacketPlayOutPlayerInfo.EnumPlayerInfoAction action, GameProfile gameProfile, String name) {
- PacketPlayOutPlayerInfo packetPlayOutPlayerInfo = new PacketPlayOutPlayerInfo();
- Reflection.getField(packetPlayOutPlayerInfo.getClass(), "a", PacketPlayOutPlayerInfo.EnumPlayerInfoAction.class)
- .set(packetPlayOutPlayerInfo, action);
-
- PacketPlayOutPlayerInfo.PlayerInfoData playerInfoData = packetPlayOutPlayerInfo.new PlayerInfoData(gameProfile, 1,
- WorldSettings.EnumGamemode.NOT_SET, IChatBaseComponent.ChatSerializer.a("{\"text\":\"[NPC] " + name + "\",\"color\":\"dark_gray\"}"));
-
- Reflection.FieldAccessor fieldAccessor = Reflection.getField(packetPlayOutPlayerInfo.getClass(), "b", List.class);
- fieldAccessor.set(packetPlayOutPlayerInfo, Collections.singletonList(playerInfoData));
-
- return packetPlayOutPlayerInfo;
- }
-}
diff --git a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutScoreboardTeamWrapper.java b/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutScoreboardTeamWrapper.java
deleted file mode 100755
index 7c60b08..0000000
--- a/nms/v1_8_R2/src/main/java/net/jitse/npclib/nms/v1_8_R2/packets/PacketPlayOutScoreboardTeamWrapper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2018 Jitse Boonstra
- */
-
-package net.jitse.npclib.nms.v1_8_R2.packets;
-
-import com.comphenix.tinyprotocol.Reflection;
-import net.minecraft.server.v1_8_R2.PacketPlayOutScoreboardTeam;
-
-import java.util.Collection;
-import java.util.Collections;
-
-/**
- * @author Jitse Boonstra
- */
-public class PacketPlayOutScoreboardTeamWrapper {
-
- public PacketPlayOutScoreboardTeam createRegisterTeam(String name) {
- PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam();
-
- Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "h", int.class)
- .set(packetPlayOutScoreboardTeam, 0);
- Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "b", String.class)
- .set(packetPlayOutScoreboardTeam, name);
- Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "a", String.class)
- .set(packetPlayOutScoreboardTeam, name);
- Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "e", String.class)
- .set(packetPlayOutScoreboardTeam, "never");
- Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class)
- .set(packetPlayOutScoreboardTeam, 1);
- Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField(
- packetPlayOutScoreboardTeam.getClass(), "g", Collection.class);
- collectionFieldAccessor.set(packetPlayOutScoreboardTeam, Collections.singletonList(name));
-
- return packetPlayOutScoreboardTeam;
- }
-
- public PacketPlayOutScoreboardTeam createUnregisterTeam(String name) {
- PacketPlayOutScoreboardTeam packetPlayOutScoreboardTeam = new PacketPlayOutScoreboardTeam();
-
- Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "h", int.class)
- .set(packetPlayOutScoreboardTeam, 1);
- Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "a", String.class)
- .set(packetPlayOutScoreboardTeam, name);
-
- return packetPlayOutScoreboardTeam;
- }
-}
diff --git a/nms/v1_8_R3/pom.xml b/nms/v1_8_R3/pom.xml
index a922061..f79d2fd 100755
--- a/nms/v1_8_R3/pom.xml
+++ b/nms/v1_8_R3/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_8_R3
diff --git a/nms/v1_9_R1/pom.xml b/nms/v1_9_R1/pom.xml
index db91bbe..6760a1f 100755
--- a/nms/v1_9_R1/pom.xml
+++ b/nms/v1_9_R1/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_9_R1
diff --git a/nms/v1_9_R2/pom.xml b/nms/v1_9_R2/pom.xml
index 52b08b4..0a13be4 100755
--- a/nms/v1_9_R2/pom.xml
+++ b/nms/v1_9_R2/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib-nms
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-nms-v1_9_R2
diff --git a/plugin/pom.xml b/plugin/pom.xml
index f5a2f36..a5bca0c 100644
--- a/plugin/pom.xml
+++ b/plugin/pom.xml
@@ -8,7 +8,7 @@
net.jitse
npclib
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
npclib-plugin
@@ -17,7 +17,7 @@
org.spigotmc
spigot-api
- 1.14.4-R0.1-SNAPSHOT
+ 1.16.1-R0.1-SNAPSHOT
provided
@@ -26,12 +26,6 @@
${project.version}
compile
-
- net.jitse
- npclib-nms-v1_8_R2
- ${project.version}
- compile
-
net.jitse
npclib-nms-v1_8_R3
diff --git a/pom.xml b/pom.xml
index f0faf50..f82abf4 100755
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
net.jitse
npclib
- 2.10-SNAPSHOT
+ 2.9-SNAPSHOT
UTF-8