Skip to content

Commit

Permalink
Update to MC 1.17
Browse files Browse the repository at this point in the history
  • Loading branch information
ZockerAxel committed Jun 19, 2021
1 parent 9dbfa19 commit 1d34e5d
Show file tree
Hide file tree
Showing 10 changed files with 133 additions and 131 deletions.
6 changes: 5 additions & 1 deletion CrazyAdvancementAPI/.classpath
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk-16.0.1">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Coding/Plugins/spigot.jar">
<attributes>
<attribute name="javadoc_location" value="https://hub.spigotmc.org/javadocs/spigot/"/>
Expand Down
2 changes: 1 addition & 1 deletion CrazyAdvancementAPI/plugin.yml
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions CrazyAdvancementAPI/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>eu.endercentral.crazy_advancements</groupId>
<artifactId>CrazyAdvancementsAPI</artifactId>
<version>1.14.1a</version>
<version>1.14.2</version>
<packaging>jar</packaging>

<name>CrazyAdvancementsAPI</name>
Expand All @@ -18,7 +18,7 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.16.5-R0.1-SNAPSHOT</version>
<version>1.17-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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 {

Expand Down Expand Up @@ -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);
}
}

Expand All @@ -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;
}

/**
Expand Down Expand Up @@ -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<MinecraftKey, AdvancementProgress> prg = new HashMap<>();
Expand All @@ -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<MinecraftKey> 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);
}

/**
Expand Down Expand Up @@ -451,7 +442,7 @@ public boolean isAnythingGrantedAfter(Player player) {
private Set<String> 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<String, Boolean> savedHiddenStatus;

Expand Down Expand Up @@ -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;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -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);
}

/**
Expand All @@ -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));
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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 {

Expand Down Expand Up @@ -64,7 +64,7 @@ protected void decode(ChannelHandlerContext chc, Packet packet, List<Object> 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);
Expand Down Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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 {

Expand Down Expand Up @@ -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);
}
}

Expand Down Expand Up @@ -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);
}
Expand Down
Loading

0 comments on commit 1d34e5d

Please sign in to comment.