mirror of
https://github.com/Xiao-MoMi/Custom-Nameplates.git
synced 2026-01-04 15:31:47 +00:00
2.1.7
This commit is contained in:
@@ -4,7 +4,7 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = 'net.momirealms'
|
group = 'net.momirealms'
|
||||||
version = '2.1.6'
|
version = '2.1.7'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
@@ -41,7 +41,6 @@ repositories {
|
|||||||
dependencies {
|
dependencies {
|
||||||
compileOnly fileTree(dir:'libs',includes:['*.jar'])
|
compileOnly fileTree(dir:'libs',includes:['*.jar'])
|
||||||
compileOnly 'io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT'
|
compileOnly 'io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT'
|
||||||
compileOnly 'com.comphenix.protocol:ProtocolLib:4.8.0'
|
|
||||||
compileOnly 'me.clip:placeholderapi:2.11.1'
|
compileOnly 'me.clip:placeholderapi:2.11.1'
|
||||||
compileOnly 'com.zaxxer:HikariCP:5.0.1'
|
compileOnly 'com.zaxxer:HikariCP:5.0.1'
|
||||||
compileOnly 'commons-io:commons-io:2.11.0'
|
compileOnly 'commons-io:commons-io:2.11.0'
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ public final class CustomNameplates extends JavaPlugin {
|
|||||||
public static CustomNameplates plugin;
|
public static CustomNameplates plugin;
|
||||||
public static BukkitAudiences adventure;
|
public static BukkitAudiences adventure;
|
||||||
public static ProtocolManager protocolManager;
|
public static ProtocolManager protocolManager;
|
||||||
|
public static String version;
|
||||||
|
|
||||||
private ResourceManager resourceManager;
|
private ResourceManager resourceManager;
|
||||||
private BossBarManager bossBarManager;
|
private BossBarManager bossBarManager;
|
||||||
@@ -62,6 +63,7 @@ public final class CustomNameplates extends JavaPlugin {
|
|||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
adventure = BukkitAudiences.create(this);
|
adventure = BukkitAudiences.create(this);
|
||||||
protocolManager = ProtocolLibrary.getProtocolManager();
|
protocolManager = ProtocolLibrary.getProtocolManager();
|
||||||
|
version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
|
||||||
|
|
||||||
//Don't delete this
|
//Don't delete this
|
||||||
PacketContainer packet = new PacketContainer(PacketType.Play.Server.SCOREBOARD_TEAM);
|
PacketContainer packet = new PacketContainer(PacketType.Play.Server.SCOREBOARD_TEAM);
|
||||||
|
|||||||
@@ -87,11 +87,7 @@ public class BossBarSender {
|
|||||||
public void show() {
|
public void show() {
|
||||||
this.isShown = true;
|
this.isShown = true;
|
||||||
|
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(player, getPacket());
|
||||||
CustomNameplates.protocolManager.sendServerPacket(player, getPacket());
|
|
||||||
} catch (InvocationTargetException e) {
|
|
||||||
AdventureUtil.consoleMessage("<red>[CustomNameplates] Failed to display bossbar for " + player.getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
this.bukkitTask = new BukkitRunnable() {
|
this.bukkitTask = new BukkitRunnable() {
|
||||||
@Override
|
@Override
|
||||||
@@ -114,12 +110,7 @@ public class BossBarSender {
|
|||||||
timer_1 = 0;
|
timer_1 = 0;
|
||||||
if (text.update() || force) {
|
if (text.update() || force) {
|
||||||
force = false;
|
force = false;
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(player, getUpdatePacket());
|
||||||
CustomNameplates.protocolManager.sendServerPacket(player, getUpdatePacket());
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e){
|
|
||||||
AdventureUtil.consoleMessage("<red>[CustomNameplates] Failed to update bossbar for " + player.getName());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -174,7 +165,7 @@ public class BossBarSender {
|
|||||||
remove.setAccessible(true);
|
remove.setAccessible(true);
|
||||||
packet.getModifier().write(1, remove.get(null));
|
packet.getModifier().write(1, remove.get(null));
|
||||||
CustomNameplates.protocolManager.sendServerPacket(player, packet);
|
CustomNameplates.protocolManager.sendServerPacket(player, packet);
|
||||||
} catch (InvocationTargetException | ClassNotFoundException e){
|
} catch (ClassNotFoundException e){
|
||||||
AdventureUtil.consoleMessage("<red>[CustomNameplates] Failed to remove bossbar for " + player.getName());
|
AdventureUtil.consoleMessage("<red>[CustomNameplates] Failed to remove bossbar for " + player.getName());
|
||||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
|
|||||||
@@ -57,13 +57,7 @@ public class ArmorStandManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void mount(Player receiver) {
|
public void mount(Player receiver) {
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(receiver, getMountPacket(getArmorStandIDs()));
|
||||||
CustomNameplates.protocolManager.sendServerPacket(receiver, getMountPacket(getArmorStandIDs()));
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
AdventureUtil.consoleMessage("<red>[CustomNameplates] Failed to mount player");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private PacketContainer getMountPacket(int[] passengers) {
|
private PacketContainer getMountPacket(int[] passengers) {
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ package net.momirealms.customnameplates.objects.nameplates;
|
|||||||
import com.comphenix.protocol.PacketType;
|
import com.comphenix.protocol.PacketType;
|
||||||
import com.comphenix.protocol.events.PacketContainer;
|
import com.comphenix.protocol.events.PacketContainer;
|
||||||
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
||||||
|
import com.comphenix.protocol.wrappers.WrappedDataValue;
|
||||||
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
|
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
|
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
|
||||||
import net.momirealms.customnameplates.CustomNameplates;
|
import net.momirealms.customnameplates.CustomNameplates;
|
||||||
@@ -34,8 +36,8 @@ import org.bukkit.entity.EntityType;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.entity.Pose;
|
import org.bukkit.entity.Pose;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@@ -93,60 +95,35 @@ public class FakeArmorStand implements ArmorStand {
|
|||||||
if (yOffset == offset) return;
|
if (yOffset == offset) return;
|
||||||
yOffset = offset;
|
yOffset = offset;
|
||||||
for (Player all : asm.getNearbyPlayers()) {
|
for (Player all : asm.getNearbyPlayers()) {
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(all, getTeleportPacket());
|
||||||
CustomNameplates.protocolManager.sendServerPacket(all, getTeleportPacket());
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void spawn(Player viewer) {
|
public void spawn(Player viewer) {
|
||||||
for (PacketContainer packet : getSpawnPackets(viewer)) {
|
for (PacketContainer packet : getSpawnPackets()) {
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(viewer, packet);
|
||||||
CustomNameplates.protocolManager.sendServerPacket(viewer, packet);
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
for (Player all : asm.getNearbyPlayers()) {
|
for (Player all : asm.getNearbyPlayers()) {
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(all, destroyPacket);
|
||||||
CustomNameplates.protocolManager.sendServerPacket(all, destroyPacket);
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void destroy(Player viewer) {
|
public void destroy(Player viewer) {
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(viewer, destroyPacket);
|
||||||
CustomNameplates.protocolManager.sendServerPacket(viewer, destroyPacket);
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void teleport() {
|
public void teleport() {
|
||||||
PacketContainer packet = getTeleportPacket();
|
PacketContainer packet = getTeleportPacket();
|
||||||
for (Player all : asm.getNearbyPlayers()) {
|
for (Player all : asm.getNearbyPlayers()) {
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(all, packet);
|
||||||
CustomNameplates.protocolManager.sendServerPacket(all, packet);
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,12 +132,7 @@ public class FakeArmorStand implements ArmorStand {
|
|||||||
if (!asm.isNearby(viewer) && viewer != owner) {
|
if (!asm.isNearby(viewer) && viewer != owner) {
|
||||||
asm.spawn(viewer);
|
asm.spawn(viewer);
|
||||||
} else {
|
} else {
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(viewer, getTeleportPacket());
|
||||||
CustomNameplates.protocolManager.sendServerPacket(viewer, getTeleportPacket());
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +160,6 @@ public class FakeArmorStand implements ArmorStand {
|
|||||||
spawn(viewer);
|
spawn(viewer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//传送包
|
//传送包
|
||||||
public PacketContainer getTeleportPacket() {
|
public PacketContainer getTeleportPacket() {
|
||||||
PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_TELEPORT);
|
PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_TELEPORT);
|
||||||
@@ -205,13 +176,18 @@ public class FakeArmorStand implements ArmorStand {
|
|||||||
for (Player viewer : asm.getNearbyPlayers()) {
|
for (Player viewer : asm.getNearbyPlayers()) {
|
||||||
PacketContainer metaPacket = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
|
PacketContainer metaPacket = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
|
||||||
metaPacket.getIntegers().write(0, entityId);
|
metaPacket.getIntegers().write(0, entityId);
|
||||||
metaPacket.getWatchableCollectionModifier().write(0, createDataWatcher(getText().getLatestText(), true).getWatchableObjects());
|
if (CustomNameplates.version.equals("v1_19_R2")) {
|
||||||
try {
|
WrappedDataWatcher wrappedDataWatcher = createDataWatcher(getText().getLatestText(), true);
|
||||||
CustomNameplates.protocolManager.sendServerPacket(viewer, metaPacket);
|
List<WrappedDataValue> wrappedDataValueList = Lists.newArrayList();
|
||||||
}
|
wrappedDataWatcher.getWatchableObjects().stream().filter(Objects::nonNull).forEach(entry -> {
|
||||||
catch (InvocationTargetException e) {
|
final WrappedDataWatcher.WrappedDataWatcherObject dataWatcherObject = entry.getWatcherObject();
|
||||||
e.printStackTrace();
|
wrappedDataValueList.add(new WrappedDataValue(dataWatcherObject.getIndex(), dataWatcherObject.getSerializer(), entry.getRawValue()));
|
||||||
|
});
|
||||||
|
metaPacket.getDataValueCollectionModifier().write(0, wrappedDataValueList);
|
||||||
|
} else {
|
||||||
|
metaPacket.getWatchableCollectionModifier().write(0, createDataWatcher(getText().getLatestText(), true).getWatchableObjects());
|
||||||
}
|
}
|
||||||
|
CustomNameplates.protocolManager.sendServerPacket(viewer, metaPacket);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -277,7 +253,7 @@ public class FakeArmorStand implements ArmorStand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//创建生成包
|
//创建生成包
|
||||||
public PacketContainer[] getSpawnPackets(Player viewer) {
|
public PacketContainer[] getSpawnPackets() {
|
||||||
|
|
||||||
PacketContainer entityPacket = new PacketContainer(PacketType.Play.Server.SPAWN_ENTITY);
|
PacketContainer entityPacket = new PacketContainer(PacketType.Play.Server.SPAWN_ENTITY);
|
||||||
entityPacket.getModifier().write(0, entityId);
|
entityPacket.getModifier().write(0, entityId);
|
||||||
@@ -291,10 +267,30 @@ public class FakeArmorStand implements ArmorStand {
|
|||||||
PacketContainer metaPacket = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
|
PacketContainer metaPacket = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA);
|
||||||
metaPacket.getIntegers().write(0, entityId);
|
metaPacket.getIntegers().write(0, entityId);
|
||||||
if (this.wrappedChatComponent == null) {
|
if (this.wrappedChatComponent == null) {
|
||||||
metaPacket.getWatchableCollectionModifier().write(0, createDataWatcher(getText().getLatestText(), true).getWatchableObjects());
|
if (CustomNameplates.version.equals("v1_19_R2")) {
|
||||||
|
WrappedDataWatcher wrappedDataWatcher = createDataWatcher(getText().getLatestText(), true);
|
||||||
|
List<WrappedDataValue> wrappedDataValueList = Lists.newArrayList();
|
||||||
|
wrappedDataWatcher.getWatchableObjects().stream().filter(Objects::nonNull).forEach(entry -> {
|
||||||
|
final WrappedDataWatcher.WrappedDataWatcherObject dataWatcherObject = entry.getWatcherObject();
|
||||||
|
wrappedDataValueList.add(new WrappedDataValue(dataWatcherObject.getIndex(), dataWatcherObject.getSerializer(), entry.getRawValue()));
|
||||||
|
});
|
||||||
|
metaPacket.getDataValueCollectionModifier().write(0, wrappedDataValueList);
|
||||||
|
} else {
|
||||||
|
metaPacket.getWatchableCollectionModifier().write(0, createDataWatcher(getText().getLatestText(), true).getWatchableObjects());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
metaPacket.getWatchableCollectionModifier().write(0, createDataWatcher("", false).getWatchableObjects());
|
if (CustomNameplates.version.equals("v1_19_R2")) {
|
||||||
|
WrappedDataWatcher wrappedDataWatcher = createDataWatcher("", false);
|
||||||
|
List<WrappedDataValue> wrappedDataValueList = Lists.newArrayList();
|
||||||
|
wrappedDataWatcher.getWatchableObjects().stream().filter(Objects::nonNull).forEach(entry -> {
|
||||||
|
final WrappedDataWatcher.WrappedDataWatcherObject dataWatcherObject = entry.getWatcherObject();
|
||||||
|
wrappedDataValueList.add(new WrappedDataValue(dataWatcherObject.getIndex(), dataWatcherObject.getSerializer(), entry.getRawValue()));
|
||||||
|
});
|
||||||
|
metaPacket.getDataValueCollectionModifier().write(0, wrappedDataValueList);
|
||||||
|
} else {
|
||||||
|
metaPacket.getWatchableCollectionModifier().write(0, createDataWatcher("", false).getWatchableObjects());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return new PacketContainer[] {entityPacket, metaPacket};
|
return new PacketContainer[] {entityPacket, metaPacket};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,11 +70,6 @@ public class SimpleTeamVisibility implements TeamPacketInterface {
|
|||||||
if (NameplateManager.removeTag) internalStructure.getStrings().write(0, "never");
|
if (NameplateManager.removeTag) internalStructure.getStrings().write(0, "never");
|
||||||
else internalStructure.getStrings().write(0, "always");
|
else internalStructure.getStrings().write(0, "always");
|
||||||
internalStructure.getEnumModifier(ChatColor.class, MinecraftReflection.getMinecraftClass("EnumChatFormat")).write(0,ChatColor.WHITE);
|
internalStructure.getEnumModifier(ChatColor.class, MinecraftReflection.getMinecraftClass("EnumChatFormat")).write(0,ChatColor.WHITE);
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(player, packet);
|
||||||
CustomNameplates.protocolManager.sendServerPacket(player, packet);
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,11 +82,6 @@ public class TeamPrefixSuffix implements TeamPacketInterface {
|
|||||||
internalStructure.getChatComponents().write(1, WrappedChatComponent.fromJson(GsonComponentSerializer.gson().serialize(nameplatesTeam.getPrefix())));
|
internalStructure.getChatComponents().write(1, WrappedChatComponent.fromJson(GsonComponentSerializer.gson().serialize(nameplatesTeam.getPrefix())));
|
||||||
internalStructure.getChatComponents().write(2, WrappedChatComponent.fromJson(GsonComponentSerializer.gson().serialize(nameplatesTeam.getSuffix())));
|
internalStructure.getChatComponents().write(2, WrappedChatComponent.fromJson(GsonComponentSerializer.gson().serialize(nameplatesTeam.getSuffix())));
|
||||||
internalStructure.getEnumModifier(ChatColor.class, MinecraftReflection.getMinecraftClass("EnumChatFormat")).write(0, nameplatesTeam.getColor());
|
internalStructure.getEnumModifier(ChatColor.class, MinecraftReflection.getMinecraftClass("EnumChatFormat")).write(0, nameplatesTeam.getColor());
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(player, packet);
|
||||||
CustomNameplates.protocolManager.sendServerPacket(player, packet);
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,9 @@ import com.comphenix.protocol.PacketType;
|
|||||||
import com.comphenix.protocol.ProtocolLibrary;
|
import com.comphenix.protocol.ProtocolLibrary;
|
||||||
import com.comphenix.protocol.events.PacketContainer;
|
import com.comphenix.protocol.events.PacketContainer;
|
||||||
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
import com.comphenix.protocol.wrappers.WrappedChatComponent;
|
||||||
|
import com.comphenix.protocol.wrappers.WrappedDataValue;
|
||||||
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
|
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
|
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
|
||||||
import net.momirealms.customnameplates.CustomNameplates;
|
import net.momirealms.customnameplates.CustomNameplates;
|
||||||
@@ -66,7 +68,17 @@ public class HoloUtil {
|
|||||||
wrappedDataWatcher.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(0, serializer2), mask1);
|
wrappedDataWatcher.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(0, serializer2), mask1);
|
||||||
wrappedDataWatcher.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(15, serializer2), mask2);
|
wrappedDataWatcher.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(15, serializer2), mask2);
|
||||||
packet2.getModifier().write(0,id);
|
packet2.getModifier().write(0,id);
|
||||||
packet2.getWatchableCollectionModifier().write(0, wrappedDataWatcher.getWatchableObjects());
|
|
||||||
|
if (CustomNameplates.version.equals("v1_19_R2")) {
|
||||||
|
List<WrappedDataValue> wrappedDataValueList = Lists.newArrayList();
|
||||||
|
wrappedDataWatcher.getWatchableObjects().stream().filter(Objects::nonNull).forEach(entry -> {
|
||||||
|
final WrappedDataWatcher.WrappedDataWatcherObject dataWatcherObject = entry.getWatcherObject();
|
||||||
|
wrappedDataValueList.add(new WrappedDataValue(dataWatcherObject.getIndex(), dataWatcherObject.getSerializer(), entry.getRawValue()));
|
||||||
|
});
|
||||||
|
packet2.getDataValueCollectionModifier().write(0, wrappedDataValueList);
|
||||||
|
} else {
|
||||||
|
packet2.getWatchableCollectionModifier().write(0, wrappedDataWatcher.getWatchableObjects());
|
||||||
|
}
|
||||||
cache.put(player, id);
|
cache.put(player, id);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) <2022> <XiaoMoMi>
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package net.momirealms.customnameplates.utils;
|
|
||||||
|
|
||||||
public class NameplateUtil {
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -43,13 +43,8 @@ public class TeamManagePacketUtil {
|
|||||||
PacketContainer packetToAll = getPlayerTeamPacket(joinPlayer);
|
PacketContainer packetToAll = getPlayerTeamPacket(joinPlayer);
|
||||||
for (Player all : Bukkit.getOnlinePlayers()) {
|
for (Player all : Bukkit.getOnlinePlayers()) {
|
||||||
getPlayerTeamPacket(all);
|
getPlayerTeamPacket(all);
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(joinPlayer, getPlayerTeamPacket(all));
|
||||||
CustomNameplates.protocolManager.sendServerPacket(joinPlayer, getPlayerTeamPacket(all));
|
if (joinPlayer != all) CustomNameplates.protocolManager.sendServerPacket(all, packetToAll);
|
||||||
if (joinPlayer != all) CustomNameplates.protocolManager.sendServerPacket(all, packetToAll);
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,12 +63,7 @@ public class TeamManagePacketUtil {
|
|||||||
packetToAll.getIntegers().write(0,1);
|
packetToAll.getIntegers().write(0,1);
|
||||||
packetToAll.getStrings().write(0, quitPlayer.getName());
|
packetToAll.getStrings().write(0, quitPlayer.getName());
|
||||||
for (Player all : Bukkit.getOnlinePlayers()) {
|
for (Player all : Bukkit.getOnlinePlayers()) {
|
||||||
try {
|
CustomNameplates.protocolManager.sendServerPacket(all, packetToAll);
|
||||||
CustomNameplates.protocolManager.sendServerPacket(all, packetToAll);
|
|
||||||
}
|
|
||||||
catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user