diff --git a/CrazyAdvancementAPI/.classpath b/CrazyAdvancementAPI/.classpath index 07ab693..b470aa4 100644 --- a/CrazyAdvancementAPI/.classpath +++ b/CrazyAdvancementAPI/.classpath @@ -1,7 +1,11 @@ - + + + + + diff --git a/CrazyAdvancementAPI/plugin.yml b/CrazyAdvancementAPI/plugin.yml index 4743336..48ca17d 100644 --- a/CrazyAdvancementAPI/plugin.yml +++ b/CrazyAdvancementAPI/plugin.yml @@ -1,6 +1,6 @@ main: eu.endercentral.crazy_advancements.CrazyAdvancements name: CrazyAdvancementsAPI -version: 1.14.1a +version: 1.14.2 api-version: 1.13 load: startup author: ZockerAxel diff --git a/CrazyAdvancementAPI/pom.xml b/CrazyAdvancementAPI/pom.xml index 1a3a7a4..658476a 100644 --- a/CrazyAdvancementAPI/pom.xml +++ b/CrazyAdvancementAPI/pom.xml @@ -4,7 +4,7 @@ eu.endercentral.crazy_advancements CrazyAdvancementsAPI - 1.14.1a + 1.14.2 jar CrazyAdvancementsAPI @@ -18,7 +18,7 @@ org.spigotmc spigot-api - 1.16.5-R0.1-SNAPSHOT + 1.17-R0.1-SNAPSHOT provided diff --git a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/Advancement.java b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/Advancement.java index 613f564..f71b79e 100644 --- a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/Advancement.java +++ b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/Advancement.java @@ -14,8 +14,8 @@ import org.bukkit.Bukkit; import org.bukkit.Warning; -import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer; -import org.bukkit.craftbukkit.v1_16_R3.inventory.CraftItemStack; +import org.bukkit.craftbukkit.v1_17_R1.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_17_R1.inventory.CraftItemStack; import org.bukkit.entity.Player; import com.google.gson.Gson; @@ -25,20 +25,22 @@ import com.google.gson.annotations.SerializedName; import eu.endercentral.crazy_advancements.AdvancementDisplay.AdvancementFrame; -import net.minecraft.server.v1_16_R3.AdvancementProgress; -import net.minecraft.server.v1_16_R3.AdvancementRewards; -import net.minecraft.server.v1_16_R3.ChatMessageType; -import net.minecraft.server.v1_16_R3.ChatModifier; -import net.minecraft.server.v1_16_R3.Criterion; -import net.minecraft.server.v1_16_R3.CriterionInstance; -import net.minecraft.server.v1_16_R3.EnumChatFormat; -import net.minecraft.server.v1_16_R3.IChatBaseComponent; -import net.minecraft.server.v1_16_R3.IChatBaseComponent.ChatSerializer; -import net.minecraft.server.v1_16_R3.ItemStack; -import net.minecraft.server.v1_16_R3.LootSerializationContext; -import net.minecraft.server.v1_16_R3.MinecraftKey; -import net.minecraft.server.v1_16_R3.PacketPlayOutAdvancements; -import net.minecraft.server.v1_16_R3.PacketPlayOutChat; +import net.md_5.bungee.api.ChatColor; +import net.md_5.bungee.api.ChatMessageType; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.api.chat.HoverEvent; +import net.md_5.bungee.api.chat.HoverEvent.Action; +import net.md_5.bungee.api.chat.TextComponent; +import net.md_5.bungee.api.chat.TranslatableComponent; +import net.md_5.bungee.api.chat.hover.content.Text; +import net.minecraft.advancements.AdvancementProgress; +import net.minecraft.advancements.AdvancementRewards; +import net.minecraft.advancements.Criterion; +import net.minecraft.advancements.CriterionInstance; +import net.minecraft.advancements.critereon.LootSerializationContext; +import net.minecraft.network.protocol.game.PacketPlayOutAdvancements; +import net.minecraft.resources.MinecraftKey; +import net.minecraft.world.item.ItemStack; public class Advancement { @@ -219,11 +221,10 @@ public AdvancementReward getReward() { * @param player Player who has recieved the advancement */ public void displayMessageToEverybody(Player player) { - IChatBaseComponent message = getMessage(player); + BaseComponent message = getMessage(player); - PacketPlayOutChat packet = new PacketPlayOutChat(message, ChatMessageType.CHAT, CrazyAdvancements.CHAT_MESSAGE_UUID); for(Player online : Bukkit.getOnlinePlayers()) { - ((CraftPlayer) online).getHandle().playerConnection.sendPacket(packet); + online.spigot().sendMessage(ChatMessageType.CHAT, message); } } @@ -232,33 +233,23 @@ public void displayMessageToEverybody(Player player) { * @param player Player who has recieved the advancement * @return */ - public IChatBaseComponent getMessage(Player player) { + public BaseComponent getMessage(Player player) { String translation = "chat.type.advancement." + display.getFrame().name().toLowerCase(); + boolean challenge = getDisplay().getFrame() == AdvancementFrame.CHALLENGE; - IChatBaseComponent title = ChatSerializer.a(display.getTitle().getJson()); - IChatBaseComponent description = ChatSerializer.a(display.getDescription().getJson()); - - ChatModifier tm = title.getChatModifier(); - AdvancementFrame frame = getDisplay().getFrame(); - EnumChatFormat typeColor = frame == AdvancementFrame.CHALLENGE ? EnumChatFormat.DARK_PURPLE : EnumChatFormat.GREEN; - String color = tm.getColor() == null ? typeColor.name().toLowerCase() : tm.getColor().name; - - return ChatSerializer.a("{" - + "\"translate\":\"" + translation + "\"," - + "\"with\":" - + "[" - + "\"" + player.getDisplayName() + "\"," - + "{" - + "\"text\":\"[" + title.getText() + "]\",\"color\":\"" + color + "\",\"bold\":" + tm.isBold() + ",\"italic\":" + tm.isItalic() + ", \"strikethrough\":" + tm.isStrikethrough() + ",\"underlined\":" + tm.isUnderlined() + ",\"obfuscated\":" + tm.isRandom() + "," - + "\"hoverEvent\":" - + "{" - + "\"action\":\"show_text\"," - + "\"value\":[\"\", {\"text\":\"" + title.getText() + "\",\"color\":\"" + color + "\",\"bold\":" + tm.isBold() + ",\"italic\":" + tm.isItalic() + ", \"strikethrough\":" + tm.isStrikethrough() + ",\"underlined\":" + tm.isUnderlined() + ",\"obfuscated\":" + tm.isRandom() + "}, {\"text\":\"\\n\"}, {\"text\":\"" + description.getText()+ "\"}]" - + "}" - + "}" - + "]" - + "}"); + TranslatableComponent message = new TranslatableComponent(); + message.setTranslate(translation); + TextComponent playerNameText = new TextComponent(player.getDisplayName()); + TextComponent title = new TextComponent("["); + title.addExtra(display.getTitle().getJson()); + title.addExtra("]"); + title.setColor(challenge ? ChatColor.DARK_PURPLE : ChatColor.GREEN); + Text titleText = new Text(display.getTitle().getJson().getColor().toString() + display.getTitle().getJson()); + Text descriptionText = new Text(display.getTitle().getJson().getColor().toString() + display.getDescription().getJson().getColor().toString() + display.getDescription().getJson()); + title.setHoverEvent(new HoverEvent(Action.SHOW_TEXT, titleText, new Text("\n"), descriptionText)); + message.setWith(Arrays.asList(playerNameText, title)); + return message; } /** @@ -301,8 +292,8 @@ public MinecraftKey a() { advRequirements = Arrays.stream(fixedRequirements.toArray()).toArray(String[][]::new); - net.minecraft.server.v1_16_R3.AdvancementDisplay saveDisplay = new net.minecraft.server.v1_16_R3.AdvancementDisplay(icon, display.getTitle().getBaseComponent(), display.getDescription().getBaseComponent(), backgroundTexture, display.getFrame().getNMS(), true, display.isAnnouncedToChat(), true); - net.minecraft.server.v1_16_R3.Advancement saveAdv = new net.minecraft.server.v1_16_R3.Advancement(notName, getParent() == null ? null : getParent().getSavedAdvancement(), saveDisplay, advRewards, advCriteria, advRequirements); + net.minecraft.advancements.AdvancementDisplay saveDisplay = new net.minecraft.advancements.AdvancementDisplay(icon, display.getTitle().getBaseComponent(), display.getDescription().getBaseComponent(), backgroundTexture, display.getFrame().getNMS(), true, display.isAnnouncedToChat(), true); + net.minecraft.advancements.Advancement saveAdv = new net.minecraft.advancements.Advancement(notName, getParent() == null ? null : getParent().getSavedAdvancement(), saveDisplay, advRewards, advCriteria, advRequirements); HashMap prg = new HashMap<>(); @@ -313,14 +304,14 @@ public MinecraftKey a() { prg.put(notName, advPrg); PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(false, Arrays.asList(saveAdv), new HashSet<>(), prg); - ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer) player).getHandle().b.sendPacket(packet); HashSet rm = new HashSet<>(); rm.add(notName); prg.clear(); packet = new PacketPlayOutAdvancements(false, new ArrayList<>(), rm, prg); - ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer) player).getHandle().b.sendPacket(packet); } /** @@ -451,7 +442,7 @@ public boolean isAnythingGrantedAfter(Player player) { private Set savedCriterionNames = null; @SerializedName("criteriaRequirements") private String[][] savedCriteriaRequirements = null; - private transient net.minecraft.server.v1_16_R3.Advancement savedAdvancement = null; + private transient net.minecraft.advancements.Advancement savedAdvancement = null; private transient HashMap savedHiddenStatus; @@ -489,11 +480,11 @@ public String[][] getSavedCriteriaRequirements() { } @Warning(reason = "Unsafe") - public void saveAdvancement(net.minecraft.server.v1_16_R3.Advancement save) { + public void saveAdvancement(net.minecraft.advancements.Advancement save) { savedAdvancement = save; } - public net.minecraft.server.v1_16_R3.Advancement getSavedAdvancement() { + public net.minecraft.advancements.Advancement getSavedAdvancement() { return savedAdvancement; } diff --git a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/AdvancementDisplay.java b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/AdvancementDisplay.java index 9f19361..ce8d83c 100644 --- a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/AdvancementDisplay.java +++ b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/AdvancementDisplay.java @@ -8,7 +8,9 @@ import com.google.gson.annotations.SerializedName; -import net.minecraft.server.v1_16_R3.AdvancementFrameType; +import net.md_5.bungee.api.ChatColor; +import net.md_5.bungee.api.chat.TextComponent; +import net.minecraft.advancements.AdvancementFrameType; public class AdvancementDisplay { @@ -63,9 +65,10 @@ public AdvancementDisplay(Material icon, JSONMessage title, JSONMessage descript public AdvancementDisplay(Material icon, String title, String description, AdvancementFrame frame, boolean showToast, boolean announceChat, AdvancementVisibility visibility) { this.icon = new ItemStack(icon); this.iconID = icon; - if(title.contains("�")) title += "�a"; - this.title = new JSONMessage("{\"text\":\"" + title.replaceAll("\"", "\\\"") + "\"}"); - this.description = new JSONMessage("{\"text\":\"" + description.replaceAll("\"", "\\\"") + "\"}"); + TextComponent titleComponent = new TextComponent(title); + titleComponent.setColor(ChatColor.GREEN); + this.title = new JSONMessage(titleComponent); + this.description = new JSONMessage(new TextComponent(description)); this.frame = frame; this.showToast = showToast; this.announceChat = announceChat; @@ -109,9 +112,10 @@ public AdvancementDisplay(Material icon, JSONMessage title, JSONMessage descript public AdvancementDisplay(Material icon, String title, String description, AdvancementFrame frame, String backgroundTexture, boolean showToast, boolean announceChat, AdvancementVisibility visibility) { this.icon = new ItemStack(icon); this.iconID = icon; - if(title.contains("�")) title += "�a"; - this.title = new JSONMessage("{\"text\":\"" + title.replaceAll("\"", "\\\"") + "\"}"); - this.description = new JSONMessage("{\"text\":\"" + description.replaceAll("\"", "\\\"") + "\"}"); + TextComponent titleComponent = new TextComponent(title); + titleComponent.setColor(ChatColor.GREEN); + this.title = new JSONMessage(titleComponent); + this.description = new JSONMessage(new TextComponent(description)); this.frame = frame; this.backgroundTexture = backgroundTexture; this.showToast = showToast; @@ -155,9 +159,10 @@ public AdvancementDisplay(ItemStack icon, JSONMessage title, JSONMessage descrip public AdvancementDisplay(ItemStack icon, String title, String description, AdvancementFrame frame, boolean showToast, boolean announceChat, AdvancementVisibility visibility) { this.icon = icon; this.iconID = icon.getType(); - if(title.contains("�")) title += "�a"; - this.title = new JSONMessage("{\"text\":\"" + title.replaceAll("\"", "\\\"") + "\"}"); - this.description = new JSONMessage("{\"text\":\"" + description.replaceAll("\"", "\\\"") + "\"}"); + TextComponent titleComponent = new TextComponent(title); + titleComponent.setColor(ChatColor.GREEN); + this.title = new JSONMessage(titleComponent); + this.description = new JSONMessage(new TextComponent(description)); this.frame = frame; this.showToast = showToast; this.announceChat = announceChat; @@ -201,9 +206,10 @@ public AdvancementDisplay(ItemStack icon, JSONMessage title, JSONMessage descrip public AdvancementDisplay(ItemStack icon, String title, String description, AdvancementFrame frame, String backgroundTexture, boolean showToast, boolean announceChat, AdvancementVisibility visibility) { this.icon = icon; this.iconID = icon.getType(); - if(title.contains("�")) title += "�a"; - this.title = new JSONMessage("{\"text\":\"" + title.replaceAll("\"", "\\\"") + "\"}"); - this.description = new JSONMessage("{\"text\":\"" + description.replaceAll("\"", "\\\"") + "\"}"); + TextComponent titleComponent = new TextComponent(title); + titleComponent.setColor(ChatColor.GREEN); + this.title = new JSONMessage(titleComponent); + this.description = new JSONMessage(new TextComponent(description)); this.frame = frame; this.backgroundTexture = backgroundTexture; this.showToast = showToast; @@ -213,9 +219,9 @@ public AdvancementDisplay(ItemStack icon, String title, String description, Adva public static enum AdvancementFrame { - TASK(AdvancementFrameType.TASK), - GOAL(AdvancementFrameType.GOAL), - CHALLENGE(AdvancementFrameType.CHALLENGE) + TASK(AdvancementFrameType.a), + GOAL(AdvancementFrameType.b), + CHALLENGE(AdvancementFrameType.c) ; private AdvancementFrameType nms; @@ -416,8 +422,9 @@ public void setTitle(JSONMessage title) { * @param title New Title {@link String} */ public void setTitle(String title) { - if(title.contains("�")) title += "�a"; - this.title = new JSONMessage("{\"text\":\"" + title.replaceAll("\"", "\\\"") + "\"}"); + TextComponent titleComponent = new TextComponent(title); + titleComponent.setColor(ChatColor.GREEN); + this.title = new JSONMessage(titleComponent); } /** @@ -435,7 +442,7 @@ public void setDescription(JSONMessage description) { * @param title New Title {@link String} */ public void setDescription(String description) { - this.description = new JSONMessage("{\"text\":\"" + description.replaceAll("\"", "\\\"") + "\"}"); + this.description = new JSONMessage(new TextComponent(description)); } /** diff --git a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java index aac53b8..ee046d4 100644 --- a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java +++ b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java @@ -5,7 +5,7 @@ import java.util.List; import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_17_R1.entity.CraftPlayer; import org.bukkit.entity.Player; import eu.endercentral.crazy_advancements.events.AdvancementScreenCloseEvent; @@ -15,10 +15,10 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelPipeline; import io.netty.handler.codec.MessageToMessageDecoder; -import net.minecraft.server.v1_16_R3.NetworkManager; -import net.minecraft.server.v1_16_R3.Packet; -import net.minecraft.server.v1_16_R3.PacketPlayInAdvancements; -import net.minecraft.server.v1_16_R3.PacketPlayInAdvancements.Status; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.protocol.Packet; +import net.minecraft.network.protocol.game.PacketPlayInAdvancements; +import net.minecraft.network.protocol.game.PacketPlayInAdvancements.Status; public class AdvancementPacketReceiver { @@ -64,7 +64,7 @@ protected void decode(ChannelHandlerContext chc, Packet packet, List out } public Channel getNettyChannel(Player p) { - NetworkManager manager = ((CraftPlayer)p).getHandle().playerConnection.networkManager; + NetworkManager manager = ((CraftPlayer)p).getHandle().b.a; Channel channel = null; try { channel = (Channel) channelField.get(manager); @@ -94,7 +94,7 @@ public void initPlayer(Player p) { @Override public boolean handle(Player p, PacketPlayInAdvancements packet) { - if(packet.c() == Status.OPENED_TAB) { + if(packet.c() == Status.a) { NameKey name = new NameKey(packet.d()); AdvancementTabChangeEvent event = new AdvancementTabChangeEvent(p, name); Bukkit.getPluginManager().callEvent(event); diff --git a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/CrazyAdvancements.java b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/CrazyAdvancements.java index e7c8383..1b73176 100644 --- a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/CrazyAdvancements.java +++ b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/CrazyAdvancements.java @@ -17,8 +17,8 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.craftbukkit.v1_16_R3.command.ProxiedNativeCommandSender; -import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_17_R1.command.ProxiedNativeCommandSender; +import org.bukkit.craftbukkit.v1_17_R1.entity.CraftPlayer; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -31,8 +31,8 @@ import eu.endercentral.crazy_advancements.AdvancementDisplay.AdvancementFrame; import eu.endercentral.crazy_advancements.manager.AdvancementManager; -import net.minecraft.server.v1_16_R3.PacketPlayOutAdvancements; -import net.minecraft.server.v1_16_R3.PacketPlayOutSelectAdvancementTab; +import net.minecraft.network.protocol.game.PacketPlayOutAdvancements; +import net.minecraft.network.protocol.game.PacketPlayOutSelectAdvancementTab; public final class CrazyAdvancements extends JavaPlugin implements Listener { @@ -127,7 +127,7 @@ public void onDisable() { PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(true, new ArrayList<>(), new HashSet<>(), new HashMap<>()); for(Player p : Bukkit.getOnlinePlayers()) { packetReciever.close(p, packetReciever.getHandlers().get(p.getName())); - ((CraftPlayer) p).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer) p).getHandle().b.sendPacket(packet); } } @@ -175,7 +175,7 @@ public static void setActiveTab(Player player, @Nullable NameKey rootAdvancement static void setActiveTab(Player player, NameKey rootAdvancement, boolean update) { if(update) { PacketPlayOutSelectAdvancementTab packet = new PacketPlayOutSelectAdvancementTab(rootAdvancement == null ? null : rootAdvancement.getMinecraftKey()); - ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer)player).getHandle().b.sendPacket(packet); } openedTabs.put(player.getName(), rootAdvancement); } diff --git a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/JSONMessage.java b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/JSONMessage.java index 8250355..55a5784 100644 --- a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/JSONMessage.java +++ b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/JSONMessage.java @@ -1,17 +1,19 @@ package eu.endercentral.crazy_advancements; -import net.minecraft.server.v1_16_R3.IChatBaseComponent; -import net.minecraft.server.v1_16_R3.IChatBaseComponent.ChatSerializer; +import net.md_5.bungee.api.chat.BaseComponent; +import net.md_5.bungee.chat.ComponentSerializer; +import net.minecraft.network.chat.IChatBaseComponent; +import net.minecraft.network.chat.IChatBaseComponent.ChatSerializer; public class JSONMessage { - private final String json; + private final BaseComponent json; /** * * @param json A JSON representation of an ingame Message {@link Read More} */ - public JSONMessage(String json) { + public JSONMessage(BaseComponent json) { this.json = json; } @@ -19,7 +21,7 @@ public JSONMessage(String json) { * * @return the JSON representation of an ingame Message */ - public String getJson() { + public BaseComponent getJson() { return json; } @@ -28,12 +30,12 @@ public String getJson() { * @return An {@link IChatBaseComponent} representation of an ingame Message */ public IChatBaseComponent getBaseComponent() { - return ChatSerializer.a(json); + return ChatSerializer.a(ComponentSerializer.toString(json)); } @Override public String toString() { - return json; + return json.toPlainText(); } } \ No newline at end of file diff --git a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/NameKey.java b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/NameKey.java index af36a69..40dff4b 100644 --- a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/NameKey.java +++ b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/NameKey.java @@ -1,6 +1,6 @@ package eu.endercentral.crazy_advancements; -import net.minecraft.server.v1_16_R3.MinecraftKey; +import net.minecraft.resources.MinecraftKey; public class NameKey { diff --git a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/manager/AdvancementManager.java b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/manager/AdvancementManager.java index 128159d..3d92b25 100644 --- a/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/manager/AdvancementManager.java +++ b/CrazyAdvancementAPI/src/eu/endercentral/crazy_advancements/manager/AdvancementManager.java @@ -17,8 +17,8 @@ import org.apache.commons.lang.Validate; import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer; -import org.bukkit.craftbukkit.v1_16_R3.inventory.CraftItemStack; +import org.bukkit.craftbukkit.v1_17_R1.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_17_R1.inventory.CraftItemStack; import org.bukkit.entity.Player; import com.google.common.reflect.TypeToken; @@ -41,19 +41,18 @@ import eu.endercentral.crazy_advancements.events.offline.OfflineCriteriaGrantEvent; import eu.endercentral.crazy_advancements.events.offline.OfflineCriteriaProgressChangeEvent; import eu.endercentral.crazy_advancements.exception.UnloadProgressFailedException; -import net.minecraft.server.v1_16_R3.AdvancementDisplay; -import net.minecraft.server.v1_16_R3.AdvancementProgress; -import net.minecraft.server.v1_16_R3.AdvancementRewards; -import net.minecraft.server.v1_16_R3.ChatMessageType; -import net.minecraft.server.v1_16_R3.Criterion; -import net.minecraft.server.v1_16_R3.CriterionInstance; -import net.minecraft.server.v1_16_R3.CriterionProgress; -import net.minecraft.server.v1_16_R3.IChatBaseComponent; -import net.minecraft.server.v1_16_R3.ItemStack; -import net.minecraft.server.v1_16_R3.LootSerializationContext; -import net.minecraft.server.v1_16_R3.MinecraftKey; -import net.minecraft.server.v1_16_R3.PacketPlayOutAdvancements; -import net.minecraft.server.v1_16_R3.PacketPlayOutChat; +import net.md_5.bungee.api.ChatMessageType; +import net.md_5.bungee.api.chat.BaseComponent; +import net.minecraft.advancements.AdvancementDisplay; +import net.minecraft.advancements.AdvancementProgress; +import net.minecraft.advancements.AdvancementRewards; +import net.minecraft.advancements.Criterion; +import net.minecraft.advancements.CriterionInstance; +import net.minecraft.advancements.CriterionProgress; +import net.minecraft.advancements.critereon.LootSerializationContext; +import net.minecraft.network.protocol.game.PacketPlayOutAdvancements; +import net.minecraft.resources.MinecraftKey; +import net.minecraft.world.item.ItemStack; public final class AdvancementManager { @@ -220,7 +219,7 @@ private void addPlayer(Player player, NameKey tab) { players.add(player); } - Collection advs = new ArrayList<>(); + Collection advs = new ArrayList<>(); Set remove = new HashSet<>(); Map prgs = new HashMap<>(); @@ -289,7 +288,7 @@ public MinecraftKey a() { advRequirements = advancement.getSavedCriteriaRequirements(); } - net.minecraft.server.v1_16_R3.Advancement adv = new net.minecraft.server.v1_16_R3.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), advDisplay, advRewards, advCriteria, advRequirements); + net.minecraft.advancements.Advancement adv = new net.minecraft.advancements.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), advDisplay, advRewards, advCriteria, advRequirements); advs.add(adv); @@ -311,7 +310,7 @@ public MinecraftKey a() { //Packet PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(false, advs, remove, prgs); - ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer)player).getHandle().b.sendPacket(packet); } /** @@ -322,7 +321,7 @@ public MinecraftKey a() { public void removePlayer(Player player) { players.remove(player); - Collection advs = new ArrayList<>(); + Collection advs = new ArrayList<>(); Set remove = new HashSet<>(); Map prgs = new HashMap<>(); @@ -332,7 +331,7 @@ public void removePlayer(Player player) { //Packet PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(false, advs, remove, prgs); - ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer)player).getHandle().b.sendPacket(packet); } /** @@ -341,7 +340,7 @@ public void removePlayer(Player player) { * @param advancementsAdded An array of all advancements that should be added
If you want to update the display of an advancement, the array must have a length of 1 */ public void addAdvancement(eu.endercentral.crazy_advancements.Advancement... advancementsAdded) { - HashMap> advancementsList = new HashMap<>(); + HashMap> advancementsList = new HashMap<>(); Set remove = new HashSet<>(); HashMap> progressList = new HashMap<>(); @@ -428,7 +427,7 @@ public MinecraftKey a() { AdvancementDisplay saveDisplay = new AdvancementDisplay(icon, display.getTitle().getBaseComponent(), display.getDescription().getBaseComponent(), backgroundTexture, display.getFrame().getNMS(), display.isToastShown(), display.isAnnouncedToChat(), true); saveDisplay.a(display.generateX() - getSmallestY(advancement.getTab()), display.generateY() - getSmallestX(advancement.getTab())); - net.minecraft.server.v1_16_R3.Advancement saveAdv = new net.minecraft.server.v1_16_R3.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), saveDisplay, advRewards, advCriteria, advRequirements); + net.minecraft.advancements.Advancement saveAdv = new net.minecraft.advancements.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), saveDisplay, advRewards, advCriteria, advRequirements); advancement.saveAdvancement(saveAdv); @@ -438,7 +437,7 @@ public MinecraftKey a() { boolean showToast = display.isToastShown() && getCriteriaProgress(player, advancement) < advancement.getSavedCriteria().size(); - Collection advs = advancementsList.containsKey(player) ? advancementsList.get(player) : new ArrayList<>(); + Collection advs = advancementsList.containsKey(player) ? advancementsList.get(player) : new ArrayList<>(); boolean hidden = !display.isVisible(player, advancement); advancement.saveHiddenStatus(player, hidden); @@ -447,7 +446,7 @@ public MinecraftKey a() { AdvancementDisplay advDisplay = new AdvancementDisplay(icon, display.getTitle().getBaseComponent(), display.getDescription().getBaseComponent(), backgroundTexture, display.getFrame().getNMS(), showToast, display.isAnnouncedToChat(), hidden ? hiddenBoolean : false); advDisplay.a(display.generateX() - getSmallestX(advancement.getTab()), display.generateY() - getSmallestY(advancement.getTab())); - net.minecraft.server.v1_16_R3.Advancement adv = new net.minecraft.server.v1_16_R3.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), advDisplay, advRewards, advCriteria, advRequirements); + net.minecraft.advancements.Advancement adv = new net.minecraft.advancements.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), advDisplay, advRewards, advCriteria, advRequirements); advs.add(adv); @@ -473,7 +472,7 @@ public MinecraftKey a() { for(Player player : getPlayers()) { //Packet PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(false, advancementsList.get(player), remove, progressList.get(player)); - ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer)player).getHandle().b.sendPacket(packet); } } @@ -483,7 +482,7 @@ public MinecraftKey a() { * @param advancementsRemoved An array of advancements that should be removed */ public void removeAdvancement(Advancement... advancementsRemoved) { - Collection advs = new ArrayList<>(); + Collection advs = new ArrayList<>(); Set remove = new HashSet<>(); Map prgs = new HashMap<>(); @@ -498,7 +497,7 @@ public void removeAdvancement(Advancement... advancementsRemoved) { for(Player player : getPlayers()) { //Packet PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(false, advs, remove, prgs); - ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer)player).getHandle().b.sendPacket(packet); } } @@ -555,7 +554,7 @@ public void updateProgress(Player player, Advancement... advancementsUpdated) { private void updateProgress(Player player, boolean alreadyGranted, boolean fireEvent, Advancement... advancementsUpdated) { if(players.contains(player)) { - Collection advs = new ArrayList<>(); + Collection advs = new ArrayList<>(); Set remove = new HashSet<>(); Map prgs = new HashMap<>(); @@ -634,7 +633,7 @@ public MinecraftKey a() { AdvancementDisplay advDisplay = new AdvancementDisplay(icon, display.getTitle().getBaseComponent(), display.getDescription().getBaseComponent(), backgroundTexture, display.getFrame().getNMS(), display.isToastShown(), display.isAnnouncedToChat(), hidden ? hiddenBoolean : false); advDisplay.a(display.generateX() - getSmallestX(advancement.getTab()), display.generateY() - getSmallestY(advancement.getTab())); - net.minecraft.server.v1_16_R3.Advancement adv = new net.minecraft.server.v1_16_R3.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), advDisplay, advRewards, advCriteria, advRequirements); + net.minecraft.advancements.Advancement adv = new net.minecraft.advancements.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), advDisplay, advRewards, advCriteria, advRequirements); advs.add(adv); } @@ -649,7 +648,7 @@ public MinecraftKey a() { } PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(false, advs, remove, prgs); - ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer)player).getHandle().b.sendPacket(packet); } } @@ -674,7 +673,7 @@ public void updateAllPossiblyAffectedVisibilities(Player player, Advancement fro */ public void updateVisibility(Player player, Advancement advancement) { if(players.contains(player)) { - Collection advs = new ArrayList<>(); + Collection advs = new ArrayList<>(); Set remove = new HashSet<>(); Map prgs = new HashMap<>(); @@ -746,7 +745,7 @@ public MinecraftKey a() { AdvancementDisplay advDisplay = new AdvancementDisplay(icon, display.getTitle().getBaseComponent(), display.getDescription().getBaseComponent(), backgroundTexture, display.getFrame().getNMS(), showToast, display.isAnnouncedToChat(), hidden ? hiddenBoolean : false); advDisplay.a(display.generateX() - getSmallestX(advancement.getTab()), display.generateY() - getSmallestY(advancement.getTab())); - net.minecraft.server.v1_16_R3.Advancement adv = new net.minecraft.server.v1_16_R3.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), advDisplay, advRewards, advCriteria, advRequirements); + net.minecraft.advancements.Advancement adv = new net.minecraft.advancements.Advancement(advancement.getName().getMinecraftKey(), advancement.getParent() == null ? null : advancement.getParent().getSavedAdvancement(), advDisplay, advRewards, advCriteria, advRequirements); advs.add(adv); @@ -766,7 +765,7 @@ public MinecraftKey a() { //Packet PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(false, advs, remove, prgs); - ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet); + ((CraftPlayer)player).getHandle().b.sendPacket(packet); } } @@ -820,11 +819,10 @@ public Advancement getAdvancement(NameKey name) { * @param advancement Advancement Player has received */ public void displayMessage(Player player, Advancement advancement) { - IChatBaseComponent message = advancement.getMessage(player); + BaseComponent message = advancement.getMessage(player); - PacketPlayOutChat packet = new PacketPlayOutChat(message, ChatMessageType.CHAT, CrazyAdvancements.CHAT_MESSAGE_UUID); - for(Player receivers : getPlayers()) { - ((CraftPlayer) receivers).getHandle().playerConnection.sendPacket(packet); + for(Player managerPlayer : getPlayers()) { + managerPlayer.spigot().sendMessage(ChatMessageType.CHAT, message); } }