diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1656c12 --- /dev/null +++ b/.gitignore @@ -0,0 +1,118 @@ +# User-specific stuff +.idea/ + +*.iml +*.ipr +*.iws + +# IntelliJ +out/ +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +.gradle +build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Cache of project +.gradletasknamecache + +**/build/ + +# Common working directory +run/ + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..f37704e --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,80 @@ +import net.minecrell.pluginyml.bukkit.BukkitPluginDescription + +plugins { + id("java") + id("maven-publish") + id("io.papermc.paperweight.userdev") version "1.5.11" + id("net.minecrell.plugin-yml.bukkit") version "0.6.0" +} + +group = "eu.endercentral.crazy_advancements" +version = "2.1.17" + +repositories { + mavenCentral() +} + +dependencies { + paperweight.paperDevBundle("1.20.4-R0.1-SNAPSHOT") +} + +java { + toolchain.languageVersion.set(JavaLanguageVersion.of(17)) +} + +tasks { + compileJava { + options.encoding = Charsets.UTF_8.name() + options.release.set(17) + dependsOn(clean) + } + + jar.get().archiveFileName = "${name}-${version}-mojmap.jar" +} + +publishing { + publications { + create("maven") { + artifact(tasks.reobfJar) + artifact(tasks.jar).classifier = "mojmap" + } + } +} + +bukkit { + main = "eu.endercentral.crazy_advancements.CrazyAdvancementsAPI" + author = "ZockerAxel" + apiVersion = "1.20" // Should be always same as dev bundle version (without minor versions) + load = BukkitPluginDescription.PluginLoadOrder.STARTUP + + commands { + register("grant") { + usage = "/grant [Criteria...]" + description = "Grants -[Criteria...] to in " + aliases = listOf("cagrant") + } + + register("revoke") { + usage = "/revoke [Criteria...]" + description = "Revokes -[Criteria...] to in " + aliases = listOf("carevoke") + } + + register("setprogress") { + usage = "/setprogress [Operation]" + description = "Sets Progress for in using [Operation]" + aliases = listOf("caprogress") + } + + register("showtoast") { + usage = "/showtoast [Frame] " + description = "Displays a Toast Advancement Message" + aliases = listOf("catoast", "toast") + } + + register("careload") { + usage = "/careload [Category]" + description = "Reloads the Crazy Advancements API. Valid categories are all, advancements, items" + } + } +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..7f93135 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3fa8f86 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..1aa94a4 --- /dev/null +++ b/gradlew @@ -0,0 +1,249 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/jitpack.yml b/jitpack.yml new file mode 100644 index 0000000..6073cdb --- /dev/null +++ b/jitpack.yml @@ -0,0 +1,4 @@ +jdk: + - openjdk17 +install: + - ./gradlew reobfJar publishToMavenLocal \ No newline at end of file diff --git a/plugin.yml b/plugin.yml deleted file mode 100644 index eb3ac60..0000000 --- a/plugin.yml +++ /dev/null @@ -1,26 +0,0 @@ -main: eu.endercentral.crazy_advancements.CrazyAdvancementsAPI -name: CrazyAdvancementsAPI -version: 2.1.17 -api-version: 1.13 -load: startup -author: ZockerAxel -commands: - grant: - usage: /grant [Criteria...] - description: Grants -[Criteria...] to in - aliases: [cagrant] - revoke: - usage: /revoke [Criteria...] - description: Revokes -[Criteria...] from in - aliases: [carevoke] - setprogress: - usage: /setprogress [Operation] - description: Sets Progress for in using [Operation] - aliases: [caprogress] - showtoast: - usage: /showtoast [Frame] - description: Displays a Toast Advancement Message - aliases: [catoast, toast] - careload: - usage: /careload [Category] - description: Reloads the Crazy Advancements API. Valid categories are all, advancements, items \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..b1101e3 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "CrazyAdvancementsAPI" \ No newline at end of file diff --git a/src/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java b/src/main/java/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java similarity index 77% rename from src/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java rename to src/main/java/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java index dd630c6..090a06e 100644 --- a/src/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java +++ b/src/main/java/eu/endercentral/crazy_advancements/AdvancementPacketReceiver.java @@ -1,13 +1,5 @@ package eu.endercentral.crazy_advancements; -import java.lang.reflect.Field; -import java.util.HashMap; -import java.util.List; - -import org.bukkit.Bukkit; -import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; -import org.bukkit.entity.Player; - import eu.endercentral.crazy_advancements.event.AdvancementScreenCloseEvent; import eu.endercentral.crazy_advancements.event.AdvancementTabChangeEvent; import io.netty.channel.Channel; @@ -15,12 +7,18 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelPipeline; import io.netty.handler.codec.MessageToMessageDecoder; -import net.minecraft.network.NetworkManager; +import net.minecraft.network.Connection; import net.minecraft.network.protocol.Packet; -import net.minecraft.network.protocol.game.PacketPlayInAdvancements; -import net.minecraft.network.protocol.game.PacketPlayInAdvancements.Status; -import net.minecraft.server.network.PlayerConnection; +import net.minecraft.network.protocol.game.ServerboundSeenAdvancementsPacket; import net.minecraft.server.network.ServerCommonPacketListenerImpl; +import net.minecraft.server.network.ServerGamePacketListenerImpl; +import org.bukkit.Bukkit; +import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; +import org.bukkit.entity.Player; + +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.List; public class AdvancementPacketReceiver { @@ -29,7 +27,7 @@ public class AdvancementPacketReceiver { private static Field networkManagerField; { - for(Field f : NetworkManager.class.getDeclaredFields()) { + for(Field f : Connection.class.getDeclaredFields()) { if(f.getType().isAssignableFrom(Channel.class)) { channelField = f; channelField.setAccessible(true); @@ -38,7 +36,7 @@ public class AdvancementPacketReceiver { } for(Field f : ServerCommonPacketListenerImpl.class.getDeclaredFields()) { - if(f.getType().isAssignableFrom(NetworkManager.class)) { + if(f.getType().isAssignableFrom(Connection.class)) { networkManagerField = f; networkManagerField.setAccessible(true); break; @@ -47,7 +45,7 @@ public class AdvancementPacketReceiver { } interface PacketReceivingHandler { - public boolean handle(Player p, PacketPlayInAdvancements packet); + public boolean handle(Player p, ServerboundSeenAdvancementsPacket packet); } public ChannelHandler listen(final Player p, final PacketReceivingHandler handler) { @@ -58,8 +56,8 @@ public ChannelHandler listen(final Player p, final PacketReceivingHandler handle @Override protected void decode(ChannelHandlerContext chc, Packet packet, List out) throws Exception { - if(packet instanceof PacketPlayInAdvancements) { - if(!handler.handle(p, (PacketPlayInAdvancements) packet)) { + if(packet instanceof ServerboundSeenAdvancementsPacket) { + if(!handler.handle(p, (ServerboundSeenAdvancementsPacket) packet)) { out.add(packet); } return; @@ -75,7 +73,7 @@ protected void decode(ChannelHandlerContext chc, Packet packet, List } public Channel getNettyChannel(Player p) { - NetworkManager manager = getNetworkManager(p); + Connection manager = getNetworkManager(p); Channel channel = null; try { channel = (Channel) channelField.get(manager); @@ -85,11 +83,11 @@ public Channel getNettyChannel(Player p) { return channel; } - public NetworkManager getNetworkManager(Player p) { - PlayerConnection connection = ((CraftPlayer) p).getHandle().c; - NetworkManager manager = null; + public Connection getNetworkManager(Player p) { + ServerGamePacketListenerImpl connection = ((CraftPlayer) p).getHandle().connection; + Connection manager = null; try { - manager = (NetworkManager) networkManagerField.get(connection); + manager = (Connection) networkManagerField.get(connection); } catch (IllegalArgumentException | IllegalAccessException e) { e.printStackTrace(); } @@ -114,10 +112,10 @@ public void initPlayer(Player p) { handlers.put(p.getName(), listen(p, new PacketReceivingHandler() { @Override - public boolean handle(Player p, PacketPlayInAdvancements packet) { + public boolean handle(Player p, ServerboundSeenAdvancementsPacket packet) { - if(packet.d() == Status.a) { - NameKey name = new NameKey(packet.e()); + if(packet.getAction() == ServerboundSeenAdvancementsPacket.Action.OPENED_TAB) { + NameKey name = new NameKey(packet.getTab()); AdvancementTabChangeEvent event = new AdvancementTabChangeEvent(p, name); Bukkit.getPluginManager().callEvent(event); diff --git a/src/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java b/src/main/java/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java similarity index 86% rename from src/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java rename to src/main/java/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java index adbbbd7..5d97e6d 100644 --- a/src/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java +++ b/src/main/java/eu/endercentral/crazy_advancements/CrazyAdvancementsAPI.java @@ -1,17 +1,21 @@ package eu.endercentral.crazy_advancements; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; - -import javax.annotation.Nullable; - +import com.google.gson.*; +import eu.endercentral.crazy_advancements.advancement.*; +import eu.endercentral.crazy_advancements.advancement.AdvancementDisplay.AdvancementFrame; +import eu.endercentral.crazy_advancements.advancement.criteria.CriteriaType; +import eu.endercentral.crazy_advancements.advancement.progress.GenericResult; +import eu.endercentral.crazy_advancements.advancement.progress.GrantCriteriaResult; +import eu.endercentral.crazy_advancements.advancement.serialized.SerializedAdvancement; +import eu.endercentral.crazy_advancements.advancement.serialized.SerializedAdvancementDisplay; +import eu.endercentral.crazy_advancements.command.ProgressChangeOperation; +import eu.endercentral.crazy_advancements.item.CustomItem; +import eu.endercentral.crazy_advancements.item.SerializedCustomItem; +import eu.endercentral.crazy_advancements.manager.AdvancementManager; +import eu.endercentral.crazy_advancements.packet.AdvancementsPacket; +import net.minecraft.advancements.Criterion; +import net.minecraft.advancements.critereon.ImpossibleTrigger; +import net.minecraft.network.protocol.game.ClientboundSelectAdvancementsTabPacket; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.OfflinePlayer; @@ -30,31 +34,11 @@ import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.plugin.java.JavaPlugin; -import com.google.gson.FieldNamingPolicy; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonElement; -import com.google.gson.JsonParser; - -import eu.endercentral.crazy_advancements.advancement.Advancement; -import eu.endercentral.crazy_advancements.advancement.AdvancementDisplay; -import eu.endercentral.crazy_advancements.advancement.AdvancementDisplay.AdvancementFrame; -import eu.endercentral.crazy_advancements.advancement.AdvancementFlag; -import eu.endercentral.crazy_advancements.advancement.AdvancementVisibility; -import eu.endercentral.crazy_advancements.advancement.ToastNotification; -import eu.endercentral.crazy_advancements.advancement.criteria.CriteriaType; -import eu.endercentral.crazy_advancements.advancement.progress.GenericResult; -import eu.endercentral.crazy_advancements.advancement.progress.GrantCriteriaResult; -import eu.endercentral.crazy_advancements.advancement.serialized.SerializedAdvancement; -import eu.endercentral.crazy_advancements.advancement.serialized.SerializedAdvancementDisplay; -import eu.endercentral.crazy_advancements.command.ProgressChangeOperation; -import eu.endercentral.crazy_advancements.item.CustomItem; -import eu.endercentral.crazy_advancements.item.SerializedCustomItem; -import eu.endercentral.crazy_advancements.manager.AdvancementManager; -import eu.endercentral.crazy_advancements.packet.AdvancementsPacket; -import net.minecraft.advancements.Criterion; -import net.minecraft.advancements.critereon.CriterionTriggerImpossible; -import net.minecraft.network.protocol.game.PacketPlayOutSelectAdvancementTab; +import javax.annotation.Nullable; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.*; /** * Represents the API's Plugin @@ -77,7 +61,7 @@ public class CrazyAdvancementsAPI extends JavaPlugin implements Listener { /** * Criterion Instance for Internal Use */ - public static final Criterion CRITERION = new Criterion<>(new CriterionTriggerImpossible(), new CriterionTriggerImpossible.a()); + public static final Criterion CRITERION = new Criterion<>(new ImpossibleTrigger(), new ImpossibleTrigger.TriggerInstance()); @@ -386,8 +370,8 @@ 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().c.a(packet); + ClientboundSelectAdvancementsTabPacket packet = new ClientboundSelectAdvancementsTabPacket(rootAdvancement == null ? null : rootAdvancement.getMinecraftKey()); + ((CraftPlayer)player).getHandle().connection.send(packet); } activeTabs.put(player.getUniqueId().toString(), rootAdvancement); } @@ -402,8 +386,8 @@ public static NameKey getActiveTab(Player player) { return activeTabs.get(player.getUniqueId().toString()); } - private final String noPermission = "�cI'm sorry but you do not have permission to perform this command. Please contact the server administrator if you believe that this is an error."; - private final String commandIncompatible = "�cThis Command is incompatible with your Arguments!"; + private final String noPermission = "§cI'm sorry but you do not have permission to perform this command. Please contact the server administrator if you believe that this is an error."; + private final String commandIncompatible = "§cThis Command is incompatible with your Arguments!"; @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { @@ -441,12 +425,12 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String toast.send(player); } - sender.sendMessage(players.size() == 1 ? "�aSuccessfully displayed Toast to �b" + players.get(0).getName() + "�a!" : "�aSuccessfully displayed Toast to �e" + players.size() + "�aPlayers!"); + sender.sendMessage(players.size() == 1 ? "§aSuccessfully displayed Toast to §b" + players.get(0).getName() + "§a!" : "§aSuccessfully displayed Toast to §e" + players.size() + "§aPlayers!"); } else { - sender.sendMessage("�c'" + args[1] + "' isn't a valid Item Material"); + sender.sendMessage("§c'" + args[1] + "' isn't a valid Item Material"); } } else { - sender.sendMessage(args[0].startsWith("@") ? "�cNo Player found for Selector �e" + args[0] + "�c" : "�cCan't find Player '�e" + args[0] + "�c'"); + sender.sendMessage(args[0].startsWith("@") ? "§cNo Player found for Selector §e" + args[0] + "§c" : "§cCan't find Player '§e" + args[0] + "§c'"); } } catch(Exception ex) { ex.printStackTrace(); @@ -455,7 +439,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } else { - sender.sendMessage("�cUsage: �r" + cmd.getUsage()); + sender.sendMessage("§cUsage: §r" + cmd.getUsage()); } } else { sender.sendMessage(noPermission); @@ -500,21 +484,21 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String success = result == GenericResult.CHANGED; } - String criteriaString = "�c" + convertedCriteria[0]; + String criteriaString = "§c" + convertedCriteria[0]; if(convertedCriteria.length > 1) { for(String criteria : Arrays.copyOfRange(convertedCriteria, 1, convertedCriteria.length - 1)) { - criteriaString += "�a, �c" + criteria; + criteriaString += "§a, §c" + criteria; } - criteriaString += " �aand �c" + convertedCriteria[convertedCriteria.length - 1]; + criteriaString += " §aand §c" + convertedCriteria[convertedCriteria.length - 1]; } if(success) { if(fileAdvancementManager.equals(manager)) { fileAdvancementManager.saveProgress(player, advancement); } - sender.sendMessage("�aSuccessfully " + (grant ? "granted" : "revoked") + " Criteria " + criteriaString + " �afor '�e" + advancement.getName() + "�a' " + (grant ? "to" : "from") + " �b" + player.getName()); + sender.sendMessage("§aSuccessfully " + (grant ? "granted" : "revoked") + " Criteria " + criteriaString + " §afor '§e" + advancement.getName() + "§a' " + (grant ? "to" : "from") + " §b" + player.getName()); } else { - sender.sendMessage("�cCriteria " + criteriaString + " �afor '�e" + advancement.getName() + "�c' " + (grant ? "is already granted to" : "is already not granted to") + " �b" + player.getName()); + sender.sendMessage("§cCriteria " + criteriaString + " §afor '§e" + advancement.getName() + "§c' " + (grant ? "is already granted to" : "is already not granted to") + " §b" + player.getName()); } } else { @@ -534,24 +518,24 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String if(fileAdvancementManager.equals(manager)) { fileAdvancementManager.saveProgress(player, advancement); } - sender.sendMessage("�aSuccessfully " + (grant ? "granted" : "revoked") + " Advancement '�e" + advancement.getName() + "�a' " + (grant ? "to" : "from") + " �b" + player.getName()); + sender.sendMessage("§aSuccessfully " + (grant ? "granted" : "revoked") + " Advancement '§e" + advancement.getName() + "§a' " + (grant ? "to" : "from") + " §b" + player.getName()); } else { - sender.sendMessage("�cAdvancement '�e" + advancement.getName() + "�c' " + (grant ? "is already granted to" : "is already not granted to") + " �b" + player.getName()); + sender.sendMessage("§cAdvancement '§e" + advancement.getName() + "§c' " + (grant ? "is already granted to" : "is already not granted to") + " §b" + player.getName()); } } } else { - sender.sendMessage("�cAdvancement with Name '�e" + args[2] + "�c' does not exist in '�e" + args[1] + "�c'"); + sender.sendMessage("§cAdvancement with Name '§e" + args[2] + "§c' does not exist in '§e" + args[1] + "§c'"); } } else { - sender.sendMessage("�c'�e" + args[1] + "�c' does not contain Player '�e" + args[0] + "�c'"); + sender.sendMessage("§c'§e" + args[1] + "§c' does not contain Player '§e" + args[0] + "§c'"); } } } else { - sender.sendMessage("�cManager with Name '�e" + args[1] + "�c' does not exist"); + sender.sendMessage("§cManager with Name '§e" + args[1] + "§c' does not exist"); } } else { - sender.sendMessage(args[0].startsWith("@") ? "�cNo Player found for Selector �e" + args[0] + "�c" : "�cCan't find Player '�e" + args[0] + "�c'"); + sender.sendMessage(args[0].startsWith("@") ? "§cNo Player found for Selector §e" + args[0] + "§c" : "§cCan't find Player '§e" + args[0] + "§c'"); } } catch(Exception ex) { @@ -560,7 +544,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } } else { - sender.sendMessage("�cUsage: �r" + cmd.getUsage()); + sender.sendMessage("§cUsage: §r" + cmd.getUsage()); } } else { sender.sendMessage(noPermission); @@ -601,22 +585,22 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String fileAdvancementManager.saveProgress(player, advancement); } - sender.sendMessage("�aSuccessfully updated Criteria Progress �afor Advancement '�e" + advancement.getName() + "�a' for Player �b" + player.getName()); + sender.sendMessage("§aSuccessfully updated Criteria Progress §afor Advancement '§e" + advancement.getName() + "§a' for Player §b" + player.getName()); } } else { - sender.sendMessage("�cAdvancement with Name '�e" + args[2] + "�c' does not exist in '�e" + args[1] + "�c'"); + sender.sendMessage("§cAdvancement with Name '§e" + args[2] + "§c' does not exist in '§e" + args[1] + "§c'"); } } else { - sender.sendMessage("�c'�e" + args[1] + "�c' does not contain Player '�e" + args[0] + "�c'"); + sender.sendMessage("§c'§e" + args[1] + "§c' does not contain Player '§e" + args[0] + "§c'"); } } } else { - sender.sendMessage("�cManager with Name '�e" + args[1] + "�c' does not exist"); + sender.sendMessage("§cManager with Name '§e" + args[1] + "§c' does not exist"); } } else { - sender.sendMessage(args[0].startsWith("@") ? "�cNo Player found for Selector �e" + args[0] + "�c" : "�cCan't find Player '�e" + args[0] + "�c'"); + sender.sendMessage(args[0].startsWith("@") ? "§cNo Player found for Selector §e" + args[0] + "§c" : "§cCan't find Player '§e" + args[0] + "§c'"); } } catch(Exception ex) { @@ -625,7 +609,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String } } else { - sender.sendMessage("�cUsage: �r" + cmd.getUsage()); + sender.sendMessage("§cUsage: §r" + cmd.getUsage()); } } else { sender.sendMessage(noPermission); @@ -639,23 +623,23 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String switch(args[0].toLowerCase()) { case "all": reload(); - sender.sendMessage("�aCrazy Advancements API was reloaded"); + sender.sendMessage("§aCrazy Advancements API was reloaded"); break; case "advancements": reloadFileAdvancements(); - sender.sendMessage("�aJSON Advancements have been reloaded"); + sender.sendMessage("§aJSON Advancements have been reloaded"); break; case "items": loadCustomItems(); - sender.sendMessage("�aCustom Items have been reloaded"); + sender.sendMessage("§aCustom Items have been reloaded"); break; default: - sender.sendMessage("�cInvalid Reload Category '" + args[0] +"'. Valid categories are all, advancements, items"); + sender.sendMessage("§cInvalid Reload Category '" + args[0] +"'. Valid categories are all, advancements, items"); break; } } else { reload(); - sender.sendMessage("�aCrazy Advancements API was reloaded"); + sender.sendMessage("§aCrazy Advancements API was reloaded"); } } } diff --git a/src/eu/endercentral/crazy_advancements/JSONMessage.java b/src/main/java/eu/endercentral/crazy_advancements/JSONMessage.java similarity index 73% rename from src/eu/endercentral/crazy_advancements/JSONMessage.java rename to src/main/java/eu/endercentral/crazy_advancements/JSONMessage.java index 6f0ad9d..596e8b2 100644 --- a/src/eu/endercentral/crazy_advancements/JSONMessage.java +++ b/src/main/java/eu/endercentral/crazy_advancements/JSONMessage.java @@ -2,8 +2,7 @@ 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; +import net.minecraft.network.chat.Component; /** * Represents a Message in JSON Format @@ -36,10 +35,10 @@ public BaseComponent getJson() { /** * Gets an NMS representation of an ingame Message * - * @return An {@link IChatBaseComponent} representation of an ingame Message + * @return An {@link Component} representation of an ingame Message */ - public IChatBaseComponent getBaseComponent() { - return ChatSerializer.a(ComponentSerializer.toString(json)); + public Component getBaseComponent() { + return Component.Serializer.fromJson(ComponentSerializer.toString(json)); } @Override diff --git a/src/eu/endercentral/crazy_advancements/NameKey.java b/src/main/java/eu/endercentral/crazy_advancements/NameKey.java similarity index 82% rename from src/eu/endercentral/crazy_advancements/NameKey.java rename to src/main/java/eu/endercentral/crazy_advancements/NameKey.java index b14d72f..64fcfc5 100644 --- a/src/eu/endercentral/crazy_advancements/NameKey.java +++ b/src/main/java/eu/endercentral/crazy_advancements/NameKey.java @@ -1,8 +1,8 @@ package eu.endercentral.crazy_advancements; -import java.util.Objects; +import net.minecraft.resources.ResourceLocation; -import net.minecraft.resources.MinecraftKey; +import java.util.Objects; /** * Represents a Unique Name @@ -15,7 +15,7 @@ public class NameKey { private final String namespace; private final String key; - private transient MinecraftKey mcKey; + private transient ResourceLocation mcKey; /** * Constructor for creating a NameKey @@ -49,9 +49,9 @@ public NameKey(String key) { * * @param from The MinecraftKey to generate from */ - public NameKey(MinecraftKey from) { - this.namespace = from.b().toLowerCase(); - this.key = from.a().toLowerCase(); + public NameKey(ResourceLocation from) { + this.namespace = from.getNamespace().toLowerCase(); + this.key = from.getPath().toLowerCase(); } /** @@ -85,10 +85,10 @@ public boolean isSimilar(NameKey anotherNameKey) { /** * Gets the MinecraftKey equivalent of this NameKey * - * @return A {@link MinecraftKey} representation of this NameKey + * @return A {@link ResourceLocation} representation of this NameKey */ - public MinecraftKey getMinecraftKey() { - if(mcKey == null) mcKey = new MinecraftKey(namespace, key); + public ResourceLocation getMinecraftKey() { + if(mcKey == null) mcKey = new ResourceLocation(namespace, key); return mcKey; } diff --git a/src/eu/endercentral/crazy_advancements/advancement/Advancement.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/Advancement.java similarity index 98% rename from src/eu/endercentral/crazy_advancements/advancement/Advancement.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/Advancement.java index 55b5b91..4b418ef 100644 --- a/src/eu/endercentral/crazy_advancements/advancement/Advancement.java +++ b/src/main/java/eu/endercentral/crazy_advancements/advancement/Advancement.java @@ -1,18 +1,5 @@ package eu.endercentral.crazy_advancements.advancement; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.UUID; - -import javax.annotation.Nullable; - -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; - import eu.endercentral.crazy_advancements.NameKey; import eu.endercentral.crazy_advancements.advancement.AdvancementDisplay.AdvancementFrame; import eu.endercentral.crazy_advancements.advancement.criteria.Criteria; @@ -26,6 +13,11 @@ 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 org.bukkit.Bukkit; +import org.bukkit.entity.Player; + +import javax.annotation.Nullable; +import java.util.*; /** * Represents an Advancement diff --git a/src/eu/endercentral/crazy_advancements/advancement/AdvancementDisplay.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementDisplay.java similarity index 97% rename from src/eu/endercentral/crazy_advancements/advancement/AdvancementDisplay.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementDisplay.java index dcf1859..514059d 100644 --- a/src/eu/endercentral/crazy_advancements/advancement/AdvancementDisplay.java +++ b/src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementDisplay.java @@ -1,14 +1,13 @@ package eu.endercentral.crazy_advancements.advancement; -import javax.annotation.Nullable; - +import eu.endercentral.crazy_advancements.JSONMessage; +import net.md_5.bungee.api.chat.TextComponent; +import net.minecraft.advancements.AdvancementType; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import eu.endercentral.crazy_advancements.JSONMessage; -import net.md_5.bungee.api.chat.TextComponent; -import net.minecraft.advancements.AdvancementFrameType; +import javax.annotation.Nullable; /** * Represents the Display Information of an Advancement @@ -181,20 +180,20 @@ public static enum AdvancementFrame { /** * A Task has the default Frame and defaults to a green Color in Completion Messages */ - TASK(AdvancementFrameType.a), + TASK(AdvancementType.TASK), /** * A Goal has a rounded off Frame and defaults to a green Color in Completion Messages */ - GOAL(AdvancementFrameType.c), + GOAL(AdvancementType.GOAL), /** * A Challenge has a differently shaped Frame and defaults to a purple Color in Completion Messages and it's Toast plays a Sound when displayed */ - CHALLENGE(AdvancementFrameType.b) + CHALLENGE(AdvancementType.CHALLENGE) ; - private AdvancementFrameType nms; + private AdvancementType nms; - private AdvancementFrame(AdvancementFrameType nms) { + private AdvancementFrame(AdvancementType nms) { this.nms = nms; } @@ -203,7 +202,7 @@ private AdvancementFrame(AdvancementFrameType nms) { * * @return THE NMS Representation */ - public AdvancementFrameType getNMS() { + public AdvancementType getNMS() { return nms; } diff --git a/src/eu/endercentral/crazy_advancements/advancement/AdvancementFlag.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementFlag.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/AdvancementFlag.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementFlag.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/AdvancementFunctionReward.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementFunctionReward.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/AdvancementFunctionReward.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementFunctionReward.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/AdvancementReward.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementReward.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/AdvancementReward.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementReward.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/AdvancementVisibility.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementVisibility.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/AdvancementVisibility.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementVisibility.java index 2881711..28b06da 100644 --- a/src/eu/endercentral/crazy_advancements/advancement/AdvancementVisibility.java +++ b/src/main/java/eu/endercentral/crazy_advancements/advancement/AdvancementVisibility.java @@ -1,9 +1,9 @@ package eu.endercentral.crazy_advancements.advancement; -import java.util.Arrays; - import org.bukkit.entity.Player; +import java.util.Arrays; + /** * Represents the conditions under which an Advancement is visible * diff --git a/src/eu/endercentral/crazy_advancements/advancement/ToastNotification.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/ToastNotification.java similarity index 99% rename from src/eu/endercentral/crazy_advancements/advancement/ToastNotification.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/ToastNotification.java index 5575a83..5528212 100644 --- a/src/eu/endercentral/crazy_advancements/advancement/ToastNotification.java +++ b/src/main/java/eu/endercentral/crazy_advancements/advancement/ToastNotification.java @@ -1,9 +1,5 @@ package eu.endercentral.crazy_advancements.advancement; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; - import eu.endercentral.crazy_advancements.CrazyAdvancementsAPI; import eu.endercentral.crazy_advancements.JSONMessage; import eu.endercentral.crazy_advancements.NameKey; @@ -12,6 +8,9 @@ import eu.endercentral.crazy_advancements.advancement.progress.AdvancementProgress; import eu.endercentral.crazy_advancements.packet.ToastPacket; import net.md_5.bungee.api.chat.TextComponent; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; /** * Represents a Toast Notification diff --git a/src/eu/endercentral/crazy_advancements/advancement/criteria/Criteria.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/criteria/Criteria.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/criteria/Criteria.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/criteria/Criteria.java index db1d9db..1f67c5b 100644 --- a/src/eu/endercentral/crazy_advancements/advancement/criteria/Criteria.java +++ b/src/main/java/eu/endercentral/crazy_advancements/advancement/criteria/Criteria.java @@ -1,14 +1,14 @@ package eu.endercentral.crazy_advancements.advancement.criteria; +import eu.endercentral.crazy_advancements.CrazyAdvancementsAPI; +import net.minecraft.advancements.AdvancementRequirements; +import net.minecraft.advancements.Criterion; + import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; -import eu.endercentral.crazy_advancements.CrazyAdvancementsAPI; -import net.minecraft.advancements.AdvancementRequirements; -import net.minecraft.advancements.Criterion; - /** * Represents the Criteria that is required for an Advancement * diff --git a/src/eu/endercentral/crazy_advancements/advancement/criteria/CriteriaType.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/criteria/CriteriaType.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/criteria/CriteriaType.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/criteria/CriteriaType.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/progress/AdvancementProgress.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/progress/AdvancementProgress.java similarity index 93% rename from src/eu/endercentral/crazy_advancements/advancement/progress/AdvancementProgress.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/progress/AdvancementProgress.java index b8cfb86..494dcc2 100644 --- a/src/eu/endercentral/crazy_advancements/advancement/progress/AdvancementProgress.java +++ b/src/main/java/eu/endercentral/crazy_advancements/advancement/progress/AdvancementProgress.java @@ -1,18 +1,13 @@ package eu.endercentral.crazy_advancements.advancement.progress; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.stream.StreamSupport; - import com.google.common.collect.Iterables; - import net.minecraft.advancements.AdvancementRequirements; import net.minecraft.advancements.Criterion; import net.minecraft.advancements.CriterionProgress; +import java.util.*; +import java.util.stream.StreamSupport; + /** * Represents the progress a Player has made for a specific Advancement * @@ -39,7 +34,7 @@ public AdvancementProgress(Map> criteria, String[][] requir requirementsList.add(Arrays.asList(outer)); } - nmsProgress.a(new AdvancementRequirements(requirementsList)); + nmsProgress.update(new AdvancementRequirements(requirementsList)); } /** @@ -55,7 +50,7 @@ public AdvancementProgress(String[][] requirements) { requirementsList.add(Arrays.asList(outer)); } - nmsProgress.a(new AdvancementRequirements(requirementsList)); + nmsProgress.update(new AdvancementRequirements(requirementsList)); } /** @@ -195,15 +190,15 @@ public SetCriteriaResult setCriteriaProgress(int number) { } private static void setGranted(CriterionProgress criterionProgress) { - criterionProgress.b(); + criterionProgress.grant(); } private static void setUngranted(CriterionProgress criterionProgress) { - criterionProgress.c(); + criterionProgress.revoke(); } private static boolean isGranted(CriterionProgress criterionProgress) { - return criterionProgress.a(); + return criterionProgress.isDone(); } /** @@ -212,7 +207,7 @@ private static boolean isGranted(CriterionProgress criterionProgress) { * @return The remaining Criteria */ public Iterable getRemainingCriteria() { - return getNmsProgress().e(); + return getNmsProgress().getRemainingCriteria(); } /** @@ -221,7 +216,7 @@ public Iterable getRemainingCriteria() { * @return The awarded Criteria */ public Iterable getAwardedCriteria() { - return getNmsProgress().f(); + return getNmsProgress().getCompletedCriteria(); } /** @@ -240,7 +235,7 @@ public int getCriteriaProgress() { * @return The CriterionProgress */ public CriterionProgress getCriterionProgress(String name) { - return getNmsProgress().c(name); + return getNmsProgress().getCriterion(name); } /** @@ -249,7 +244,7 @@ public CriterionProgress getCriterionProgress(String name) { * @return Whether the Progress is Done */ public boolean isDone() { - return getNmsProgress().a(); + return getNmsProgress().isDone(); } /** diff --git a/src/eu/endercentral/crazy_advancements/advancement/progress/GenericResult.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/progress/GenericResult.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/progress/GenericResult.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/progress/GenericResult.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/progress/GrantCriteriaResult.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/progress/GrantCriteriaResult.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/progress/GrantCriteriaResult.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/progress/GrantCriteriaResult.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/progress/SetCriteriaResult.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/progress/SetCriteriaResult.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/progress/SetCriteriaResult.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/progress/SetCriteriaResult.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancement.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancement.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancement.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancement.java index a67e368..a4407d0 100644 --- a/src/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancement.java +++ b/src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancement.java @@ -1,11 +1,11 @@ package eu.endercentral.crazy_advancements.advancement.serialized; -import java.util.List; - import eu.endercentral.crazy_advancements.CrazyAdvancementsAPI; import eu.endercentral.crazy_advancements.NameKey; import eu.endercentral.crazy_advancements.advancement.AdvancementFunctionReward; +import java.util.List; + public class SerializedAdvancement { private final transient NameKey name; diff --git a/src/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancementDisplay.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancementDisplay.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancementDisplay.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/SerializedAdvancementDisplay.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/serialized/SerializedCriteria.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/SerializedCriteria.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/serialized/SerializedCriteria.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/SerializedCriteria.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/serialized/message/ClickEvent.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/message/ClickEvent.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/serialized/message/ClickEvent.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/message/ClickEvent.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/serialized/message/HoverEvent.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/message/HoverEvent.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/serialized/message/HoverEvent.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/message/HoverEvent.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/serialized/message/Score.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/message/Score.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/serialized/message/Score.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/message/Score.java diff --git a/src/eu/endercentral/crazy_advancements/advancement/serialized/message/SerializedMessage.java b/src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/message/SerializedMessage.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/advancement/serialized/message/SerializedMessage.java rename to src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/message/SerializedMessage.java index 84cb32e..678e0c2 100644 --- a/src/eu/endercentral/crazy_advancements/advancement/serialized/message/SerializedMessage.java +++ b/src/main/java/eu/endercentral/crazy_advancements/advancement/serialized/message/SerializedMessage.java @@ -1,8 +1,5 @@ package eu.endercentral.crazy_advancements.advancement.serialized.message; -import java.util.List; -import java.util.Locale; - import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.KeybindComponent; @@ -10,6 +7,9 @@ import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.chat.hover.content.Text; +import java.util.List; +import java.util.Locale; + public class SerializedMessage { private final String text; diff --git a/src/eu/endercentral/crazy_advancements/command/ProgressChangeOperation.java b/src/main/java/eu/endercentral/crazy_advancements/command/ProgressChangeOperation.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/command/ProgressChangeOperation.java rename to src/main/java/eu/endercentral/crazy_advancements/command/ProgressChangeOperation.java diff --git a/src/eu/endercentral/crazy_advancements/event/AdvancementGrantEvent.java b/src/main/java/eu/endercentral/crazy_advancements/event/AdvancementGrantEvent.java similarity index 99% rename from src/eu/endercentral/crazy_advancements/event/AdvancementGrantEvent.java rename to src/main/java/eu/endercentral/crazy_advancements/event/AdvancementGrantEvent.java index 080c463..70a9067 100644 --- a/src/eu/endercentral/crazy_advancements/event/AdvancementGrantEvent.java +++ b/src/main/java/eu/endercentral/crazy_advancements/event/AdvancementGrantEvent.java @@ -1,12 +1,11 @@ package eu.endercentral.crazy_advancements.event; -import org.bukkit.entity.Player; -import org.bukkit.event.Event; -import org.bukkit.event.HandlerList; - import eu.endercentral.crazy_advancements.advancement.Advancement; import eu.endercentral.crazy_advancements.advancement.AdvancementFlag; import eu.endercentral.crazy_advancements.manager.AdvancementManager; +import org.bukkit.entity.Player; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; public class AdvancementGrantEvent extends Event { diff --git a/src/eu/endercentral/crazy_advancements/event/AdvancementRevokeEvent.java b/src/main/java/eu/endercentral/crazy_advancements/event/AdvancementRevokeEvent.java similarity index 99% rename from src/eu/endercentral/crazy_advancements/event/AdvancementRevokeEvent.java rename to src/main/java/eu/endercentral/crazy_advancements/event/AdvancementRevokeEvent.java index 267b477..8410816 100644 --- a/src/eu/endercentral/crazy_advancements/event/AdvancementRevokeEvent.java +++ b/src/main/java/eu/endercentral/crazy_advancements/event/AdvancementRevokeEvent.java @@ -1,12 +1,11 @@ package eu.endercentral.crazy_advancements.event; +import eu.endercentral.crazy_advancements.advancement.Advancement; +import eu.endercentral.crazy_advancements.manager.AdvancementManager; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import eu.endercentral.crazy_advancements.advancement.Advancement; -import eu.endercentral.crazy_advancements.manager.AdvancementManager; - public class AdvancementRevokeEvent extends Event { public static final HandlerList handlers = new HandlerList(); diff --git a/src/eu/endercentral/crazy_advancements/event/AdvancementScreenCloseEvent.java b/src/main/java/eu/endercentral/crazy_advancements/event/AdvancementScreenCloseEvent.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/event/AdvancementScreenCloseEvent.java rename to src/main/java/eu/endercentral/crazy_advancements/event/AdvancementScreenCloseEvent.java diff --git a/src/eu/endercentral/crazy_advancements/event/AdvancementTabChangeEvent.java b/src/main/java/eu/endercentral/crazy_advancements/event/AdvancementTabChangeEvent.java similarity index 99% rename from src/eu/endercentral/crazy_advancements/event/AdvancementTabChangeEvent.java rename to src/main/java/eu/endercentral/crazy_advancements/event/AdvancementTabChangeEvent.java index eb74f2d..3087069 100644 --- a/src/eu/endercentral/crazy_advancements/event/AdvancementTabChangeEvent.java +++ b/src/main/java/eu/endercentral/crazy_advancements/event/AdvancementTabChangeEvent.java @@ -1,12 +1,11 @@ package eu.endercentral.crazy_advancements.event; +import eu.endercentral.crazy_advancements.NameKey; import org.bukkit.entity.Player; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; -import eu.endercentral.crazy_advancements.NameKey; - /** * Called when a Player opens their Advancement Screen or changes their Advancement Tab * diff --git a/src/eu/endercentral/crazy_advancements/item/CustomItem.java b/src/main/java/eu/endercentral/crazy_advancements/item/CustomItem.java similarity index 99% rename from src/eu/endercentral/crazy_advancements/item/CustomItem.java rename to src/main/java/eu/endercentral/crazy_advancements/item/CustomItem.java index 7f41a46..0a47f13 100644 --- a/src/eu/endercentral/crazy_advancements/item/CustomItem.java +++ b/src/main/java/eu/endercentral/crazy_advancements/item/CustomItem.java @@ -1,8 +1,7 @@ package eu.endercentral.crazy_advancements.item; -import org.bukkit.Material; - import eu.endercentral.crazy_advancements.NameKey; +import org.bukkit.Material; public class CustomItem { diff --git a/src/eu/endercentral/crazy_advancements/item/SerializedCustomItem.java b/src/main/java/eu/endercentral/crazy_advancements/item/SerializedCustomItem.java similarity index 99% rename from src/eu/endercentral/crazy_advancements/item/SerializedCustomItem.java rename to src/main/java/eu/endercentral/crazy_advancements/item/SerializedCustomItem.java index 1724df0..be8163e 100644 --- a/src/eu/endercentral/crazy_advancements/item/SerializedCustomItem.java +++ b/src/main/java/eu/endercentral/crazy_advancements/item/SerializedCustomItem.java @@ -1,8 +1,7 @@ package eu.endercentral.crazy_advancements.item; -import org.bukkit.Material; - import eu.endercentral.crazy_advancements.NameKey; +import org.bukkit.Material; public class SerializedCustomItem { diff --git a/src/eu/endercentral/crazy_advancements/manager/AdvancementManager.java b/src/main/java/eu/endercentral/crazy_advancements/manager/AdvancementManager.java similarity index 99% rename from src/eu/endercentral/crazy_advancements/manager/AdvancementManager.java rename to src/main/java/eu/endercentral/crazy_advancements/manager/AdvancementManager.java index eaf8680..39a7c5d 100644 --- a/src/eu/endercentral/crazy_advancements/manager/AdvancementManager.java +++ b/src/main/java/eu/endercentral/crazy_advancements/manager/AdvancementManager.java @@ -1,27 +1,9 @@ package eu.endercentral.crazy_advancements.manager; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import java.util.UUID; - -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; - import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.gson.JsonElement; import com.google.gson.JsonParser; - import eu.endercentral.crazy_advancements.CrazyAdvancementsAPI; import eu.endercentral.crazy_advancements.NameKey; import eu.endercentral.crazy_advancements.advancement.Advancement; @@ -39,6 +21,14 @@ import eu.endercentral.crazy_advancements.save.CriteriaData; import eu.endercentral.crazy_advancements.save.ProgressData; import eu.endercentral.crazy_advancements.save.SaveFile; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; + +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.*; /** * Represents a Manager that manages Players and Advancements diff --git a/src/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java b/src/main/java/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java similarity index 82% rename from src/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java rename to src/main/java/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java index e0caf38..b57654a 100644 --- a/src/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java +++ b/src/main/java/eu/endercentral/crazy_advancements/packet/AdvancementsPacket.java @@ -1,21 +1,15 @@ package eu.endercentral.crazy_advancements.packet; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; -import org.bukkit.entity.Player; - import eu.endercentral.crazy_advancements.NameKey; import eu.endercentral.crazy_advancements.advancement.Advancement; import net.minecraft.advancements.AdvancementHolder; import net.minecraft.advancements.AdvancementProgress; -import net.minecraft.network.protocol.game.PacketPlayOutAdvancements; -import net.minecraft.resources.MinecraftKey; +import net.minecraft.network.protocol.game.ClientboundUpdateAdvancementsPacket; +import net.minecraft.resources.ResourceLocation; +import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; +import org.bukkit.entity.Player; + +import java.util.*; /** * Represents an Advancements Packet @@ -86,11 +80,11 @@ public List getRemovedAdvancements() { * * @return The Packet */ - public PacketPlayOutAdvancements build() { + public ClientboundUpdateAdvancementsPacket build() { //Create Lists List advancements = new ArrayList<>(); - Set removedAdvancements = new HashSet<>(); - Map progress = new HashMap<>(); + Set removedAdvancements = new HashSet<>(); + Map progress = new HashMap<>(); //Populate Lists for(Advancement advancement : this.advancements) { @@ -103,7 +97,7 @@ public PacketPlayOutAdvancements build() { } //Create Packet - PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(isReset(), advancements, removedAdvancements, progress); + ClientboundUpdateAdvancementsPacket packet = new ClientboundUpdateAdvancementsPacket(isReset(), advancements, removedAdvancements, progress); return packet; } @@ -116,8 +110,8 @@ protected net.minecraft.advancements.Advancement convertAdvancement(Advancement * */ public void send() { - PacketPlayOutAdvancements packet = build(); - ((CraftPlayer) getPlayer()).getHandle().c.a(packet, null); + ClientboundUpdateAdvancementsPacket packet = build(); + ((CraftPlayer) getPlayer()).getHandle().connection.send(packet, null); } diff --git a/src/eu/endercentral/crazy_advancements/packet/PacketConverter.java b/src/main/java/eu/endercentral/crazy_advancements/packet/PacketConverter.java similarity index 77% rename from src/eu/endercentral/crazy_advancements/packet/PacketConverter.java rename to src/main/java/eu/endercentral/crazy_advancements/packet/PacketConverter.java index f3e9c9d..9c3950b 100644 --- a/src/eu/endercentral/crazy_advancements/packet/PacketConverter.java +++ b/src/main/java/eu/endercentral/crazy_advancements/packet/PacketConverter.java @@ -1,11 +1,5 @@ package eu.endercentral.crazy_advancements.packet; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Optional; - -import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack; - import eu.endercentral.crazy_advancements.JSONMessage; import eu.endercentral.crazy_advancements.NameKey; import eu.endercentral.crazy_advancements.advancement.Advancement; @@ -15,12 +9,17 @@ import net.md_5.bungee.api.chat.TextComponent; import net.minecraft.advancements.AdvancementRequirements; import net.minecraft.advancements.AdvancementRewards; -import net.minecraft.resources.MinecraftKey; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; +import org.bukkit.craftbukkit.v1_20_R3.inventory.CraftItemStack; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Optional; public class PacketConverter { - private static final AdvancementRewards advancementRewards = new AdvancementRewards(0, new ArrayList(), new ArrayList(), Optional.empty()); + private static final AdvancementRewards advancementRewards = new AdvancementRewards(0, new ArrayList<>(), new ArrayList<>(), Optional.empty()); private static HashMap smallestX = new HashMap<>(); private static HashMap smallestY = new HashMap<>(); @@ -61,15 +60,15 @@ public static net.minecraft.advancements.Advancement toNmsAdvancement(Advancemen ItemStack icon = CraftItemStack.asNMSCopy(display.getIcon()); boolean hasBackgroundTexture = display.getBackgroundTexture() != null; - Optional backgroundTexture = hasBackgroundTexture ? Optional.of(new MinecraftKey(display.getBackgroundTexture())) : Optional.empty(); + Optional backgroundTexture = hasBackgroundTexture ? Optional.of(new ResourceLocation(display.getBackgroundTexture())) : Optional.empty(); float x = generateX(advancement.getTab(), display.generateX()); float y = generateY(advancement.getTab(), display.generateY()); - net.minecraft.advancements.AdvancementDisplay advDisplay = new net.minecraft.advancements.AdvancementDisplay(icon, display.getTitle().getBaseComponent(), display.getDescription().getBaseComponent(), backgroundTexture, display.getFrame().getNMS(), false, false, advancement.hasFlag(AdvancementFlag.SEND_WITH_HIDDEN_BOOLEAN)); - advDisplay.a(x, y); + net.minecraft.advancements.DisplayInfo advDisplay = new net.minecraft.advancements.DisplayInfo(icon, display.getTitle().getBaseComponent(), display.getDescription().getBaseComponent(), backgroundTexture, display.getFrame().getNMS(), false, false, advancement.hasFlag(AdvancementFlag.SEND_WITH_HIDDEN_BOOLEAN)); + advDisplay.setLocation(x, y); - Optional parent = advancement.getParent() == null ? Optional.empty() : Optional.of(advancement.getParent().getName().getMinecraftKey()); + Optional parent = advancement.getParent() == null ? Optional.empty() : Optional.of(advancement.getParent().getName().getMinecraftKey()); net.minecraft.advancements.Advancement adv = new net.minecraft.advancements.Advancement(parent, Optional.of(advDisplay), advancementRewards, advancement.getCriteria().getCriteria(), advancement.getCriteria().getAdvancementRequirements(), false); return adv; @@ -84,7 +83,7 @@ public static net.minecraft.advancements.Advancement toNmsAdvancement(Advancemen public static net.minecraft.advancements.Advancement toNmsToastAdvancement(ToastNotification notification) { ItemStack icon = CraftItemStack.asNMSCopy(notification.getIcon()); - net.minecraft.advancements.AdvancementDisplay advDisplay = new net.minecraft.advancements.AdvancementDisplay(icon, notification.getMessage().getBaseComponent(), new JSONMessage(new TextComponent("Toast Notification")).getBaseComponent(), Optional.empty(), notification.getFrame().getNMS(), true, false, true); + net.minecraft.advancements.DisplayInfo advDisplay = new net.minecraft.advancements.DisplayInfo(icon, notification.getMessage().getBaseComponent(), new JSONMessage(new TextComponent("Toast Notification")).getBaseComponent(), Optional.empty(), notification.getFrame().getNMS(), true, false, true); net.minecraft.advancements.Advancement adv = new net.minecraft.advancements.Advancement(Optional.empty(), Optional.of(advDisplay), advancementRewards, ToastNotification.NOTIFICATION_CRITERIA.getCriteria(), ToastNotification.NOTIFICATION_CRITERIA.getAdvancementRequirements(), false); diff --git a/src/eu/endercentral/crazy_advancements/packet/ToastPacket.java b/src/main/java/eu/endercentral/crazy_advancements/packet/ToastPacket.java similarity index 75% rename from src/eu/endercentral/crazy_advancements/packet/ToastPacket.java rename to src/main/java/eu/endercentral/crazy_advancements/packet/ToastPacket.java index e55b537..cea1dd5 100644 --- a/src/eu/endercentral/crazy_advancements/packet/ToastPacket.java +++ b/src/main/java/eu/endercentral/crazy_advancements/packet/ToastPacket.java @@ -1,20 +1,14 @@ package eu.endercentral.crazy_advancements.packet; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; -import org.bukkit.entity.Player; - import eu.endercentral.crazy_advancements.advancement.ToastNotification; import net.minecraft.advancements.AdvancementHolder; import net.minecraft.advancements.AdvancementProgress; -import net.minecraft.network.protocol.game.PacketPlayOutAdvancements; -import net.minecraft.resources.MinecraftKey; +import net.minecraft.network.protocol.game.ClientboundUpdateAdvancementsPacket; +import net.minecraft.resources.ResourceLocation; +import org.bukkit.craftbukkit.v1_20_R3.entity.CraftPlayer; +import org.bukkit.entity.Player; + +import java.util.*; /** * Represents an Advancements Packet for Toast Notifications @@ -73,11 +67,11 @@ public ToastNotification getNotification() { * * @return The Packet */ - public PacketPlayOutAdvancements build() { + public ClientboundUpdateAdvancementsPacket build() { //Create Lists List advancements = new ArrayList<>(); - Set removedAdvancements = new HashSet<>(); - Map progress = new HashMap<>(); + Set removedAdvancements = new HashSet<>(); + Map progress = new HashMap<>(); //Populate Lists if(add) { @@ -88,7 +82,7 @@ public PacketPlayOutAdvancements build() { } //Create Packet - PacketPlayOutAdvancements packet = new PacketPlayOutAdvancements(false, advancements, removedAdvancements, progress); + ClientboundUpdateAdvancementsPacket packet = new ClientboundUpdateAdvancementsPacket(false, advancements, removedAdvancements, progress); return packet; } @@ -97,8 +91,8 @@ public PacketPlayOutAdvancements build() { * */ public void send() { - PacketPlayOutAdvancements packet = build(); - ((CraftPlayer) getPlayer()).getHandle().c.a(packet); + ClientboundUpdateAdvancementsPacket packet = build(); + ((CraftPlayer) getPlayer()).getHandle().connection.send(packet); } diff --git a/src/eu/endercentral/crazy_advancements/packet/VisibilityAdvancementsPacket.java b/src/main/java/eu/endercentral/crazy_advancements/packet/VisibilityAdvancementsPacket.java similarity index 99% rename from src/eu/endercentral/crazy_advancements/packet/VisibilityAdvancementsPacket.java rename to src/main/java/eu/endercentral/crazy_advancements/packet/VisibilityAdvancementsPacket.java index 72ac629..f47fdff 100644 --- a/src/eu/endercentral/crazy_advancements/packet/VisibilityAdvancementsPacket.java +++ b/src/main/java/eu/endercentral/crazy_advancements/packet/VisibilityAdvancementsPacket.java @@ -1,13 +1,12 @@ package eu.endercentral.crazy_advancements.packet; -import java.util.Iterator; -import java.util.List; - -import org.bukkit.entity.Player; - import eu.endercentral.crazy_advancements.NameKey; import eu.endercentral.crazy_advancements.advancement.Advancement; import eu.endercentral.crazy_advancements.advancement.AdvancementDisplay; +import org.bukkit.entity.Player; + +import java.util.Iterator; +import java.util.List; /** * Represents an Advancement Packet which respects Advancement Visibility diff --git a/src/eu/endercentral/crazy_advancements/save/CriteriaData.java b/src/main/java/eu/endercentral/crazy_advancements/save/CriteriaData.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/save/CriteriaData.java rename to src/main/java/eu/endercentral/crazy_advancements/save/CriteriaData.java index ac23399..72af8f0 100644 --- a/src/eu/endercentral/crazy_advancements/save/CriteriaData.java +++ b/src/main/java/eu/endercentral/crazy_advancements/save/CriteriaData.java @@ -1,10 +1,10 @@ package eu.endercentral.crazy_advancements.save; -import java.util.List; - import eu.endercentral.crazy_advancements.NameKey; import eu.endercentral.crazy_advancements.advancement.criteria.CriteriaType; +import java.util.List; + /** * Represents the Save Data for an Advancement saved by {@link CriteriaType} LIST * diff --git a/src/eu/endercentral/crazy_advancements/save/ProgressData.java b/src/main/java/eu/endercentral/crazy_advancements/save/ProgressData.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/save/ProgressData.java rename to src/main/java/eu/endercentral/crazy_advancements/save/ProgressData.java diff --git a/src/eu/endercentral/crazy_advancements/save/SaveFile.java b/src/main/java/eu/endercentral/crazy_advancements/save/SaveFile.java similarity index 100% rename from src/eu/endercentral/crazy_advancements/save/SaveFile.java rename to src/main/java/eu/endercentral/crazy_advancements/save/SaveFile.java index 41fe81b..895d427 100644 --- a/src/eu/endercentral/crazy_advancements/save/SaveFile.java +++ b/src/main/java/eu/endercentral/crazy_advancements/save/SaveFile.java @@ -1,13 +1,13 @@ package eu.endercentral.crazy_advancements.save; +import com.google.gson.Gson; +import com.google.gson.JsonElement; + import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; -import com.google.gson.Gson; -import com.google.gson.JsonElement; - /** * Represents a Save File *