diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java index 3f1ffcb..56942b0 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java @@ -11,6 +11,7 @@ import java.util.List; * Class containing references to all available discord event handles. * Registering a handler is optional, and non-assigned handlers will be ignored */ +@Deprecated(forRemoval = true) public class DiscordEventHandlers extends Structure { // Callback for when the RPC was initialized successfully diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java index 7cf53ff..3a68db9 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.Nullable; * @author HypherionSA * Java Wrapper of the Discord-RPC Library */ +@Deprecated(forRemoval = true) public interface DiscordRPC extends Library { DiscordRPC INSTANCE = Native.load("discord-rpc", DiscordRPC.class); diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java index 51fd720..b0e5e04 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java @@ -13,6 +13,7 @@ import java.util.List; * @author HypherionSA * Class reprenting a Discord RPC activity */ +@Deprecated(forRemoval = true) public class DiscordRichPresence extends Structure { // First line of text on the RPC diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java index e8bc085..0d48713 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java @@ -9,6 +9,7 @@ import java.util.List; * @author HypherionSA * Class representing the Discord User */ +@Deprecated(forRemoval = true) public class DiscordUser extends Structure { // The User ID of the User diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java index 7ea59e1..d3d8525 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the Discord RPC disconnects */ +@Deprecated(forRemoval = true) public interface DisconnectedCallback extends Callback { /** diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java index 1f86c90..fe07c6f 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC ran into an error */ +@Deprecated(forRemoval = true) public interface ErroredCallback extends Callback { /** diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java index cc752af..a7dbf5b 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone was approved to join your game */ +@Deprecated(forRemoval = true) public interface JoinGameCallback extends Callback { /** diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java index 115fd4f..f263bea 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone requests to join your game */ +@Deprecated(forRemoval = true) public interface JoinRequestCallback extends Callback { /** diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java index 66f3b59..1ec9153 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC has connected successfully */ +@Deprecated(forRemoval = true) public interface ReadyCallback extends Callback { /** diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java index 979e53d..92cf8e4 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone is requesting to spectate your game */ +@Deprecated(forRemoval = true) public interface SpectateGameCallback extends Callback { /** diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java index ab2bdc8..84e90f4 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java @@ -9,6 +9,7 @@ import java.io.Serializable; * Helper class to add Buttons to Discord Rich Presence * This can not be used with Join/Spectate */ +@Deprecated(forRemoval = true) public class RPCButton implements Serializable { // The label of the button diff --git a/1.18.2/changelog.md b/1.18.2/changelog.md index 4ecb3ae..09222a4 100644 --- a/1.18.2/changelog.md +++ b/1.18.2/changelog.md @@ -1,7 +1,7 @@ **New Features**: -- Paper Support. Currently only available on Modrinth and NightBloom -- Added API's for working with FTB Ranks and LuckPerms groups +- Paper Support. Currently only available on [NightBloom](https://nightbloom.cc/project/craterlib/files?loader=paper) +- Added APIs for working with FTB Ranks and LuckPerms groups **Bug Fixes**: diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java index 3f1ffcb..56942b0 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java @@ -11,6 +11,7 @@ import java.util.List; * Class containing references to all available discord event handles. * Registering a handler is optional, and non-assigned handlers will be ignored */ +@Deprecated(forRemoval = true) public class DiscordEventHandlers extends Structure { // Callback for when the RPC was initialized successfully diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java index 7cf53ff..3a68db9 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.Nullable; * @author HypherionSA * Java Wrapper of the Discord-RPC Library */ +@Deprecated(forRemoval = true) public interface DiscordRPC extends Library { DiscordRPC INSTANCE = Native.load("discord-rpc", DiscordRPC.class); diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java index 51fd720..b0e5e04 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java @@ -13,6 +13,7 @@ import java.util.List; * @author HypherionSA * Class reprenting a Discord RPC activity */ +@Deprecated(forRemoval = true) public class DiscordRichPresence extends Structure { // First line of text on the RPC diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java index e8bc085..0d48713 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java @@ -9,6 +9,7 @@ import java.util.List; * @author HypherionSA * Class representing the Discord User */ +@Deprecated(forRemoval = true) public class DiscordUser extends Structure { // The User ID of the User diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java index 7ea59e1..d3d8525 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the Discord RPC disconnects */ +@Deprecated(forRemoval = true) public interface DisconnectedCallback extends Callback { /** diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java index 1f86c90..fe07c6f 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC ran into an error */ +@Deprecated(forRemoval = true) public interface ErroredCallback extends Callback { /** diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java index cc752af..a7dbf5b 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone was approved to join your game */ +@Deprecated(forRemoval = true) public interface JoinGameCallback extends Callback { /** diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java index 115fd4f..f263bea 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone requests to join your game */ +@Deprecated(forRemoval = true) public interface JoinRequestCallback extends Callback { /** diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java index 66f3b59..1ec9153 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC has connected successfully */ +@Deprecated(forRemoval = true) public interface ReadyCallback extends Callback { /** diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java index 979e53d..92cf8e4 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone is requesting to spectate your game */ +@Deprecated(forRemoval = true) public interface SpectateGameCallback extends Callback { /** diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java index ab2bdc8..84e90f4 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java @@ -9,6 +9,7 @@ import java.io.Serializable; * Helper class to add Buttons to Discord Rich Presence * This can not be used with Join/Spectate */ +@Deprecated(forRemoval = true) public class RPCButton implements Serializable { // The label of the button diff --git a/1.19.2/changelog.md b/1.19.2/changelog.md index 4ecb3ae..09222a4 100644 --- a/1.19.2/changelog.md +++ b/1.19.2/changelog.md @@ -1,7 +1,7 @@ **New Features**: -- Paper Support. Currently only available on Modrinth and NightBloom -- Added API's for working with FTB Ranks and LuckPerms groups +- Paper Support. Currently only available on [NightBloom](https://nightbloom.cc/project/craterlib/files?loader=paper) +- Added APIs for working with FTB Ranks and LuckPerms groups **Bug Fixes**: diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java index 3f1ffcb..56942b0 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java @@ -11,6 +11,7 @@ import java.util.List; * Class containing references to all available discord event handles. * Registering a handler is optional, and non-assigned handlers will be ignored */ +@Deprecated(forRemoval = true) public class DiscordEventHandlers extends Structure { // Callback for when the RPC was initialized successfully diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java index 7cf53ff..3a68db9 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.Nullable; * @author HypherionSA * Java Wrapper of the Discord-RPC Library */ +@Deprecated(forRemoval = true) public interface DiscordRPC extends Library { DiscordRPC INSTANCE = Native.load("discord-rpc", DiscordRPC.class); diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java index 51fd720..b0e5e04 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java @@ -13,6 +13,7 @@ import java.util.List; * @author HypherionSA * Class reprenting a Discord RPC activity */ +@Deprecated(forRemoval = true) public class DiscordRichPresence extends Structure { // First line of text on the RPC diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java index e8bc085..0d48713 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java @@ -9,6 +9,7 @@ import java.util.List; * @author HypherionSA * Class representing the Discord User */ +@Deprecated(forRemoval = true) public class DiscordUser extends Structure { // The User ID of the User diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java index 7ea59e1..d3d8525 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the Discord RPC disconnects */ +@Deprecated(forRemoval = true) public interface DisconnectedCallback extends Callback { /** diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java index 1f86c90..fe07c6f 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC ran into an error */ +@Deprecated(forRemoval = true) public interface ErroredCallback extends Callback { /** diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java index cc752af..a7dbf5b 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone was approved to join your game */ +@Deprecated(forRemoval = true) public interface JoinGameCallback extends Callback { /** diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java index 115fd4f..f263bea 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone requests to join your game */ +@Deprecated(forRemoval = true) public interface JoinRequestCallback extends Callback { /** diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java index 66f3b59..1ec9153 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC has connected successfully */ +@Deprecated(forRemoval = true) public interface ReadyCallback extends Callback { /** diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java index 979e53d..92cf8e4 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone is requesting to spectate your game */ +@Deprecated(forRemoval = true) public interface SpectateGameCallback extends Callback { /** diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java index ab2bdc8..84e90f4 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java @@ -9,6 +9,7 @@ import java.io.Serializable; * Helper class to add Buttons to Discord Rich Presence * This can not be used with Join/Spectate */ +@Deprecated(forRemoval = true) public class RPCButton implements Serializable { // The label of the button diff --git a/1.19.3/Paper/build.gradle b/1.19.3/Paper/build.gradle index 44dca62..c4a6378 100644 --- a/1.19.3/Paper/build.gradle +++ b/1.19.3/Paper/build.gradle @@ -61,11 +61,9 @@ tasks.assemble { publisher { apiKeys { - modrinth(System.getenv("MODRINTH_TOKEN")) nightbloom(System.getenv("PLATFORM_KEY")) } - setModrinthID(modrinth_id) setNightbloomID("craterlib") setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) diff --git a/1.19.3/changelog.md b/1.19.3/changelog.md index 4ecb3ae..09222a4 100644 --- a/1.19.3/changelog.md +++ b/1.19.3/changelog.md @@ -1,7 +1,7 @@ **New Features**: -- Paper Support. Currently only available on Modrinth and NightBloom -- Added API's for working with FTB Ranks and LuckPerms groups +- Paper Support. Currently only available on [NightBloom](https://nightbloom.cc/project/craterlib/files?loader=paper) +- Added APIs for working with FTB Ranks and LuckPerms groups **Bug Fixes**: diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java index 3f1ffcb..56942b0 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java @@ -11,6 +11,7 @@ import java.util.List; * Class containing references to all available discord event handles. * Registering a handler is optional, and non-assigned handlers will be ignored */ +@Deprecated(forRemoval = true) public class DiscordEventHandlers extends Structure { // Callback for when the RPC was initialized successfully diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java index 7cf53ff..3a68db9 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.Nullable; * @author HypherionSA * Java Wrapper of the Discord-RPC Library */ +@Deprecated(forRemoval = true) public interface DiscordRPC extends Library { DiscordRPC INSTANCE = Native.load("discord-rpc", DiscordRPC.class); diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java index 51fd720..b0e5e04 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java @@ -13,6 +13,7 @@ import java.util.List; * @author HypherionSA * Class reprenting a Discord RPC activity */ +@Deprecated(forRemoval = true) public class DiscordRichPresence extends Structure { // First line of text on the RPC diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java index e8bc085..0d48713 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java @@ -9,6 +9,7 @@ import java.util.List; * @author HypherionSA * Class representing the Discord User */ +@Deprecated(forRemoval = true) public class DiscordUser extends Structure { // The User ID of the User diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java index 7ea59e1..d3d8525 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the Discord RPC disconnects */ +@Deprecated(forRemoval = true) public interface DisconnectedCallback extends Callback { /** diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java index 1f86c90..fe07c6f 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC ran into an error */ +@Deprecated(forRemoval = true) public interface ErroredCallback extends Callback { /** diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java index cc752af..a7dbf5b 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone was approved to join your game */ +@Deprecated(forRemoval = true) public interface JoinGameCallback extends Callback { /** diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java index 115fd4f..f263bea 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone requests to join your game */ +@Deprecated(forRemoval = true) public interface JoinRequestCallback extends Callback { /** diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java index 66f3b59..1ec9153 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC has connected successfully */ +@Deprecated(forRemoval = true) public interface ReadyCallback extends Callback { /** diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java index 979e53d..92cf8e4 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone is requesting to spectate your game */ +@Deprecated(forRemoval = true) public interface SpectateGameCallback extends Callback { /** diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java index ab2bdc8..84e90f4 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java @@ -9,6 +9,7 @@ import java.io.Serializable; * Helper class to add Buttons to Discord Rich Presence * This can not be used with Join/Spectate */ +@Deprecated(forRemoval = true) public class RPCButton implements Serializable { // The label of the button diff --git a/1.20.2/Paper/build.gradle b/1.20.2/Paper/build.gradle index 1b10ccc..987f1b4 100644 --- a/1.20.2/Paper/build.gradle +++ b/1.20.2/Paper/build.gradle @@ -61,11 +61,9 @@ tasks.assemble { publisher { apiKeys { - modrinth(System.getenv("MODRINTH_TOKEN")) nightbloom(System.getenv("PLATFORM_KEY")) } - setModrinthID(modrinth_id) setNightbloomID("craterlib") setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) diff --git a/1.20.2/changelog.md b/1.20.2/changelog.md index 4ecb3ae..09222a4 100644 --- a/1.20.2/changelog.md +++ b/1.20.2/changelog.md @@ -1,7 +1,7 @@ **New Features**: -- Paper Support. Currently only available on Modrinth and NightBloom -- Added API's for working with FTB Ranks and LuckPerms groups +- Paper Support. Currently only available on [NightBloom](https://nightbloom.cc/project/craterlib/files?loader=paper) +- Added APIs for working with FTB Ranks and LuckPerms groups **Bug Fixes**: diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java index 3f1ffcb..56942b0 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java @@ -11,6 +11,7 @@ import java.util.List; * Class containing references to all available discord event handles. * Registering a handler is optional, and non-assigned handlers will be ignored */ +@Deprecated(forRemoval = true) public class DiscordEventHandlers extends Structure { // Callback for when the RPC was initialized successfully diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java index 7cf53ff..3a68db9 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.Nullable; * @author HypherionSA * Java Wrapper of the Discord-RPC Library */ +@Deprecated(forRemoval = true) public interface DiscordRPC extends Library { DiscordRPC INSTANCE = Native.load("discord-rpc", DiscordRPC.class); diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java index 51fd720..b0e5e04 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java @@ -13,6 +13,7 @@ import java.util.List; * @author HypherionSA * Class reprenting a Discord RPC activity */ +@Deprecated(forRemoval = true) public class DiscordRichPresence extends Structure { // First line of text on the RPC diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java index e8bc085..0d48713 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java @@ -9,6 +9,7 @@ import java.util.List; * @author HypherionSA * Class representing the Discord User */ +@Deprecated(forRemoval = true) public class DiscordUser extends Structure { // The User ID of the User diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java index 7ea59e1..d3d8525 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the Discord RPC disconnects */ +@Deprecated(forRemoval = true) public interface DisconnectedCallback extends Callback { /** diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java index 1f86c90..fe07c6f 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC ran into an error */ +@Deprecated(forRemoval = true) public interface ErroredCallback extends Callback { /** diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java index cc752af..a7dbf5b 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone was approved to join your game */ +@Deprecated(forRemoval = true) public interface JoinGameCallback extends Callback { /** diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java index 115fd4f..f263bea 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone requests to join your game */ +@Deprecated(forRemoval = true) public interface JoinRequestCallback extends Callback { /** diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java index 66f3b59..1ec9153 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC has connected successfully */ +@Deprecated(forRemoval = true) public interface ReadyCallback extends Callback { /** diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java index 979e53d..92cf8e4 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone is requesting to spectate your game */ +@Deprecated(forRemoval = true) public interface SpectateGameCallback extends Callback { /** diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java index ab2bdc8..84e90f4 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java @@ -9,6 +9,7 @@ import java.io.Serializable; * Helper class to add Buttons to Discord Rich Presence * This can not be used with Join/Spectate */ +@Deprecated(forRemoval = true) public class RPCButton implements Serializable { // The label of the button diff --git a/1.20.4/NeoForge/build.gradle b/1.20.4/NeoForge/build.gradle index e69de29..95c6d0b 100644 --- a/1.20.4/NeoForge/build.gradle +++ b/1.20.4/NeoForge/build.gradle @@ -0,0 +1,118 @@ +archivesBaseName = "${mod_name.replace(" ", "")}-NeoForge-${minecraft_version}" + +dependencies { + // Compat + modImplementation("maven.modrinth:vanishmod:${vanishmod_neo}") + + stupidRemapArch("dev.ftb.mods:ftb-essentials-neoforge:${ftb_essentials}") + stupidRemapArch("dev.ftb.mods:ftb-ranks-neoforge:${ftb_ranks}") + + // Do not edit or remove + implementation project(":Common") +} + +shadowJar { + from sourceSets.main.output + configurations = [project.configurations.shade] + + dependencies { + exclude(dependency('com.google.code.gson:.*')) + + relocate 'me.hypherionmc.moonconfig', 'shadow.hypherionmc.moonconfig' + relocate 'me.hypherionmc.mcdiscordformatter', 'shadow.hypherionmc.mcdiscordformatter' + relocate 'net.kyori', 'shadow.kyori' + } + + setArchiveClassifier('dev-shadow') + mergeServiceFiles() +} + +/** + * =============================================================================== + * = DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING = + * =============================================================================== + */ + +unimined.minecraft { + neoForged { + loader neoforge_version + mixinConfig("${mod_id}.mixins.json", "${mod_id}.neoforge.mixins.json") + } +} + +remapJar { + inputFile.set shadowJar.archiveFile + dependsOn shadowJar + archiveClassifier.set null +} + +jar { + archiveClassifier.set "dev" +} + +processResources { + from project(":Common").sourceSets.main.resources + def buildProps = project.properties.clone() + + filesMatching("META-INF/mods.toml") { + expand buildProps + } +} + +compileTestJava.enabled = false + +tasks.withType(JavaCompile).configureEach { + source(project(":Common").sourceSets.main.allSource) +} + +/** + * Publishing Config + */ +publishing { + publications { + mavenJava(MavenPublication) { + artifactId project.archivesBaseName + from components.java + + artifact(remapJar) { + builtBy remapJar + } + + pom.withXml { + Node pomNode = asNode() + pomNode.dependencies.'*'.findAll() { + it.artifactId.text() == 'regutils-joined-fabric' || + it.artifactId.text() == 'core' || + it.artifactId.text() == 'toml' + }.each() { + it.parent().remove(it) + } + } + } + } + + repositories { + maven rootProject.orion.getPublishingMaven() + } +} + +publisher { + apiKeys { + modrinth(System.getenv("MODRINTH_TOKEN")) + curseforge(System.getenv("CURSE_TOKEN")) + nightbloom(System.getenv("PLATFORM_KEY")) + } + + setCurseID(curse_id) + setModrinthID(modrinth_id) + setNightbloomID("craterlib") + setVersionType("release") + setChangelog(rootProject.file("changelog.md")) + setProjectVersion("${minecraft_version}-${project.version}") + setDisplayName("[NeoForge 1.20.4] CraterLib - ${project.version}") + setGameVersions("1.20.4") + setLoaders("neoforge") + setArtifact(remapJar) + setCurseEnvironment("both") + setIsManualRelease(true) +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java index e69de29..6f8c155 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/CraterLib.java @@ -0,0 +1,44 @@ +package com.hypherionmc.craterlib; + +import com.hypherionmc.craterlib.api.events.client.LateInitEvent; +import com.hypherionmc.craterlib.common.NeoForgeServerEvents; +import com.hypherionmc.craterlib.compat.Vanish; +import com.hypherionmc.craterlib.core.event.CraterEventBus; +import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; +import com.hypherionmc.craterlib.core.networking.PacketRegistry; +import com.hypherionmc.craterlib.core.networking.data.PacketSide; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; +import com.hypherionmc.craterlib.network.CraterNeoForgeNetworkHandler; +import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; +import com.hypherionmc.craterlib.nojang.client.BridgedOptions; +import net.minecraft.client.Minecraft; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.fml.common.Mod; +import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.fml.loading.FMLLoader; +import net.neoforged.neoforge.common.NeoForge; + +@Mod(CraterConstants.MOD_ID) +public class CraterLib { + + private final PacketRegistry handler; + + public CraterLib(IEventBus eventBus) { + NeoForge.EVENT_BUS.register(new NeoForgeServerEvents()); + eventBus.addListener(this::commonSetup); + handler = new CraterNeoForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER); + + if (ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) { + NeoForge.EVENT_BUS.register(new Vanish()); + } + } + + public void commonSetup(FMLCommonSetupEvent evt) { + new CraterPacketNetwork(handler); + if (FMLEnvironment.dist.isClient()) { + LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); + CraterEventBus.INSTANCE.postEvent(event); + } + } +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientEvents.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientEvents.java index e69de29..04ccf1d 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientEvents.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientEvents.java @@ -0,0 +1,25 @@ +package com.hypherionmc.craterlib.client; + +import com.hypherionmc.craterlib.CraterConstants; +import com.hypherionmc.craterlib.api.events.client.CraterClientTickEvent; +import com.hypherionmc.craterlib.core.event.CraterEventBus; +import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; +import net.minecraft.client.Minecraft; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.event.TickEvent; + +@Mod.EventBusSubscriber(modid = CraterConstants.MOD_ID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) +public class NeoForgeClientEvents { + + @SubscribeEvent + public static void clientTick(TickEvent.LevelTickEvent event) { + if (Minecraft.getInstance().level == null) + return; + + CraterClientTickEvent craterClientTickEvent = new CraterClientTickEvent(BridgedClientLevel.of(Minecraft.getInstance().level)); + CraterEventBus.INSTANCE.postEvent(craterClientTickEvent); + } + +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java index e69de29..d6c2ef7 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/client/NeoForgeClientHelper.java @@ -0,0 +1,40 @@ +package com.hypherionmc.craterlib.client; + +import com.hypherionmc.craterlib.core.platform.ClientPlatform; +import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; +import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; +import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.minecraft.client.Minecraft; +import net.minecraft.network.Connection; + +import java.util.Objects; + +/** + * @author HypherionSA + */ +public class NeoForgeClientHelper implements ClientPlatform { + + public NeoForgeClientHelper() { + } + + @Override + public BridgedMinecraft getClientInstance() { + return new BridgedMinecraft(); + } + + @Override + public BridgedPlayer getClientPlayer() { + return BridgedPlayer.of(Minecraft.getInstance().player); + } + + @Override + public BridgedClientLevel getClientLevel() { + return BridgedClientLevel.of(Minecraft.getInstance().level); + } + + @Override + public Connection getClientConnection() { + Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); + return Minecraft.getInstance().getConnection().getConnection(); + } +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCommonHelper.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCommonHelper.java index e69de29..50622a8 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCommonHelper.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCommonHelper.java @@ -0,0 +1,19 @@ +package com.hypherionmc.craterlib.common; + +import com.hypherionmc.craterlib.core.platform.CommonPlatform; +import com.hypherionmc.craterlib.nojang.server.BridgedMinecraftServer; +import net.neoforged.neoforge.server.ServerLifecycleHooks; + +/** + * @author HypherionSA + */ +public class NeoForgeCommonHelper implements CommonPlatform { + + public NeoForgeCommonHelper() { + } + + @Override + public BridgedMinecraftServer getMCServer() { + return BridgedMinecraftServer.of(ServerLifecycleHooks.getCurrentServer()); + } +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java index e69de29..a39412c 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java @@ -0,0 +1,22 @@ +package com.hypherionmc.craterlib.common; + +import com.hypherionmc.craterlib.core.platform.CompatUtils; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; +import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import redstonedubstep.mods.vanishmod.VanishUtil; + +public class NeoForgeCompatHelper implements CompatUtils { + + @Override + public boolean isPlayerActive(BridgedPlayer player) { + if (!ModloaderEnvironment.INSTANCE.isModLoaded("vmod")) + return true; + + return !VanishUtil.isVanished(player.toMojangServerPlayer()); + } + + @Override + public String getSkinUUID(BridgedPlayer player) { + return player.getStringUUID(); + } +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeLoaderHelper.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeLoaderHelper.java index e69de29..6fc2925 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeLoaderHelper.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeLoaderHelper.java @@ -0,0 +1,79 @@ +package com.hypherionmc.craterlib.common; + +import com.hypherionmc.craterlib.core.platform.Environment; +import com.hypherionmc.craterlib.core.platform.LoaderType; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; +import net.minecraft.SharedConstants; +import net.minecraft.client.Minecraft; +import net.neoforged.fml.ModList; +import net.neoforged.fml.loading.FMLLoader; +import net.neoforged.fml.loading.FMLPaths; + +import java.io.File; + +/** + * @author HypherionSA + */ +public class NeoForgeLoaderHelper implements ModloaderEnvironment { + + public NeoForgeLoaderHelper() { + } + + @Override + public boolean isFabric() { + return false; + } + + @Override + public LoaderType getLoaderType() { + return LoaderType.NEOFORGE; + } + + @Override + public String getGameVersion() { + return SharedConstants.VERSION_STRING; + } + + @Override + public File getGameFolder() { + return Minecraft.getInstance().gameDirectory; + } + + @Override + public File getConfigFolder() { + return FMLPaths.CONFIGDIR.get().toFile(); + } + + @Override + public File getModsFolder() { + return FMLPaths.MODSDIR.get().toFile(); + } + + @Override + public Environment getEnvironment() { + switch (FMLLoader.getDist()) { + case CLIENT -> { + return Environment.CLIENT; + } + case DEDICATED_SERVER -> { + return Environment.SERVER; + } + } + return Environment.UNKNOWN; + } + + @Override + public boolean isModLoaded(String modid) { + return ModList.get().isLoaded(modid); + } + + @Override + public boolean isDevEnv() { + return !FMLLoader.isProduction(); + } + + @Override + public int getModCount() { + return ModList.get().size(); + } +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeServerEvents.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeServerEvents.java index e69de29..868b89f 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeServerEvents.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeServerEvents.java @@ -0,0 +1,41 @@ +package com.hypherionmc.craterlib.common; + +import com.hypherionmc.craterlib.api.events.server.CraterRegisterCommandEvent; +import com.hypherionmc.craterlib.api.events.server.CraterServerLifecycleEvent; +import com.hypherionmc.craterlib.core.event.CraterEventBus; +import com.hypherionmc.craterlib.nojang.server.BridgedMinecraftServer; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.neoforge.event.RegisterCommandsEvent; +import net.neoforged.neoforge.event.server.ServerStartedEvent; +import net.neoforged.neoforge.event.server.ServerStartingEvent; +import net.neoforged.neoforge.event.server.ServerStoppedEvent; +import net.neoforged.neoforge.event.server.ServerStoppingEvent; + +public class NeoForgeServerEvents { + + @SubscribeEvent + public void serverStarting(ServerStartingEvent event) { + CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Starting(BridgedMinecraftServer.of(event.getServer()))); + } + + @SubscribeEvent + public void serverStarted(ServerStartedEvent event) { + CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Started(BridgedMinecraftServer.of(event.getServer()))); + } + + @SubscribeEvent + public void serverStopping(ServerStoppingEvent event) { + CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Stopping(BridgedMinecraftServer.of(event.getServer()))); + } + + @SubscribeEvent + public void serverStopped(ServerStoppedEvent event) { + CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Stopped(BridgedMinecraftServer.of(event.getServer()))); + } + + @SubscribeEvent + public void onCommandRegister(RegisterCommandsEvent event) { + CraterEventBus.INSTANCE.postEvent(new CraterRegisterCommandEvent(event.getDispatcher())); + } + +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/compat/Vanish.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/compat/Vanish.java index e69de29..8d19f4c 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/compat/Vanish.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/compat/Vanish.java @@ -0,0 +1,24 @@ +package com.hypherionmc.craterlib.compat; + +import com.hypherionmc.craterlib.api.events.server.CraterPlayerEvent; +import com.hypherionmc.craterlib.core.event.CraterEventBus; +import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.neoforged.bus.api.SubscribeEvent; +import redstonedubstep.mods.vanishmod.api.PlayerVanishEvent; + +public class Vanish { + + public Vanish() { + + } + + @SubscribeEvent + public void vanishevent(PlayerVanishEvent event) { + if (event.isVanished()) { + CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedOut(BridgedPlayer.of(event.getEntity()), true)); + } else { + CraterEventBus.INSTANCE.postEvent(new CraterPlayerEvent.PlayerLoggedIn(BridgedPlayer.of(event.getEntity()), true)); + } + } + +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java index e69de29..619565c 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java @@ -0,0 +1,44 @@ +package com.hypherionmc.craterlib.mixin; + +import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +import com.hypherionmc.craterlib.core.config.AbstractConfig; +import com.hypherionmc.craterlib.core.config.ConfigController; +import com.hypherionmc.craterlib.core.config.ModuleConfig; +import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.Screen; +import net.neoforged.neoforge.client.ConfigScreenHandler; +import net.neoforged.neoforgespi.language.IModInfo; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import java.util.Optional; +import java.util.function.BiFunction; + +/** + * @author HypherionSA + */ +@Mixin(ConfigScreenHandler.class) +public class ConfigScreenHandlerMixin { + + /** + * Inject Auto Generated config Screens into forge + * + */ + @Inject(at = @At("RETURN"), method = "getScreenFactoryFor", cancellable = true, remap = false) + private static void injectConfigScreen(IModInfo selectedMod, CallbackInfoReturnable>> cir) { + ConfigController.getWatchedConfigs().forEach((conf, watcher) -> { + if (!conf.getClass().isAnnotationPresent(NoConfigScreen.class)) { + AbstractConfig config = watcher.getLeft(); + if (config.getModId().equals(selectedMod.getModId())) { + cir.setReturnValue( + Optional.of((minecraft, screen) -> new CraterConfigScreen(config, screen)) + ); + } + } + }); + } + +} \ No newline at end of file diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java index e69de29..8a0fcfb 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java @@ -0,0 +1,37 @@ +package com.hypherionmc.craterlib.mixin; + +import com.hypherionmc.craterlib.api.events.server.CraterServerChatEvent; +import com.hypherionmc.craterlib.core.event.CraterEventBus; +import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import com.hypherionmc.craterlib.utils.ChatUtils; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.PlayerChatMessage; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.server.network.FilteredText; +import net.minecraft.server.network.ServerGamePacketListenerImpl; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(value = ServerGamePacketListenerImpl.class, priority = Integer.MIN_VALUE) +public class ServerGamePacketListenerImplMixin { + + @Shadow + public ServerPlayer player; + + @Inject( + method = "lambda$handleChat$6", + at = @At("HEAD"), + cancellable = true + ) + private void injectChatEvent(Component component, PlayerChatMessage arg, FilteredText p_296589_, CallbackInfo ci) { + Component finalcomp = component == null ? arg.decoratedContent() : component; + CraterServerChatEvent event = new CraterServerChatEvent(BridgedPlayer.of(this.player), finalcomp.getString(), ChatUtils.mojangToAdventure(finalcomp)); + CraterEventBus.INSTANCE.postEvent(event); + if (event.wasCancelled()) + ci.cancel(); + } + +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java index e69de29..cb697db 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java @@ -0,0 +1,53 @@ +package com.hypherionmc.craterlib.mixin; + +import com.hypherionmc.craterlib.api.events.server.ServerStatusEvent; +import com.hypherionmc.craterlib.core.event.CraterEventBus; +import com.hypherionmc.craterlib.utils.ChatUtils; +import net.minecraft.network.Connection; +import net.minecraft.network.protocol.status.ClientboundStatusResponsePacket; +import net.minecraft.network.protocol.status.ServerStatus; +import net.minecraft.network.protocol.status.ServerboundStatusRequestPacket; +import net.minecraft.server.network.ServerStatusPacketListenerImpl; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(ServerStatusPacketListenerImpl.class) +public class ServerStatusPacketListenerMixin { + + @Shadow + @Final + private ServerStatus status; + + @Shadow @Final private Connection connection; + + @Inject(method = "handleStatusRequest", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/network/Connection;send(Lnet/minecraft/network/protocol/Packet;)V", + shift = At.Shift.BEFORE), + cancellable = true + ) + private void injectHandleStatusRequest(ServerboundStatusRequestPacket arg, CallbackInfo ci) { + ServerStatusEvent.StatusRequestEvent event = new ServerStatusEvent.StatusRequestEvent(ChatUtils.mojangToAdventure(status.description())); + CraterEventBus.INSTANCE.postEvent(event); + + if (event.getNewStatus() != null) { + ci.cancel(); + this.connection.send(new ClientboundStatusResponsePacket( + new ServerStatus(ChatUtils.adventureToMojang( + event.getNewStatus()), + status.players(), + status.version(), + status.favicon(), + status.enforcesSecureChat(), + status.isModded() + ) + )); + } + } + +} \ No newline at end of file diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/CraterNeoForgeNetworkHandler.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/CraterNeoForgeNetworkHandler.java index e69de29..a4f2450 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/CraterNeoForgeNetworkHandler.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/CraterNeoForgeNetworkHandler.java @@ -0,0 +1,116 @@ +package com.hypherionmc.craterlib.network; + +import com.hypherionmc.craterlib.CraterConstants; +import com.hypherionmc.craterlib.core.networking.PacketRegistry; +import com.hypherionmc.craterlib.core.networking.data.PacketContext; +import com.hypherionmc.craterlib.core.networking.data.PacketHolder; +import com.hypherionmc.craterlib.core.networking.data.PacketSide; +import com.hypherionmc.craterlib.nojang.network.BridgedFriendlyByteBuf; +import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.world.entity.player.Player; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.LogicalSide; +import net.neoforged.neoforge.network.PacketDistributor; +import net.neoforged.neoforge.network.event.RegisterPayloadHandlerEvent; +import net.neoforged.neoforge.network.handling.IPayloadHandler; +import net.neoforged.neoforge.network.registration.IPayloadRegistrar; + +import java.util.HashMap; +import java.util.Map; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Function; + +/** + * Based on https://github.com/mysticdrew/common-networking/tree/1.20.4 + */ +public class CraterNeoForgeNetworkHandler extends PacketRegistry { + + private final Map, NeoForgePacketContainer> PACKETS = new HashMap<>(); + + public CraterNeoForgeNetworkHandler(PacketSide side) { + super(side); + } + + @SubscribeEvent + public void register(final RegisterPayloadHandlerEvent event) { + if (!PACKETS.isEmpty()) { + PACKETS.forEach((type, container) -> { + final IPayloadRegistrar registrar = event.registrar(container.packetId().getNamespace()); + registrar.common( + container.packetId(), + container.decoder(), + container.handler()); + }); + } + } + + protected void registerPacket(PacketHolder container) { + if (PACKETS.get(container.messageType()) == null) { + var packetContainer = new NeoForgePacketContainer<>( + container.messageType(), + container.type().toMojang(), + this.mojangEncoder(container.encoder()), + decoder(this.mojangDecoder(container.decoder())), + buildHandler(container.handler()) + ); + + PACKETS.put(container.messageType(), packetContainer); + } + } + + private FriendlyByteBuf.Reader> decoder(Function decoder) { + return (buf -> { + T packet = decoder.apply(buf); + return new NeoForgePacket(PACKETS.get(packet.getClass()), packet); + }); + } + + public void sendToServer(T packet) { + this.sendToServer(packet, false); + } + + public void sendToServer(T packet, boolean ignoreCheck) { + NeoForgePacketContainer container = PACKETS.get(packet.getClass()); + try { + PacketDistributor.SERVER.noArg().send(new NeoForgePacket<>(container, packet)); + } catch (Throwable t) { + CraterConstants.LOG.error("{} packet not registered on the client, this is needed.", packet.getClass(), t); + } + } + + public void sendToClient(T packet, BridgedPlayer player) { + NeoForgePacketContainer container = PACKETS.get(packet.getClass()); + try { + if (player.getConnection() == null) + return; + + if (player.getConnection().isConnected(container.packetId())) { + PacketDistributor.PLAYER.with(player.toMojangServerPlayer()).send(new NeoForgePacket<>(container, packet)); + } + } catch (Throwable t) { + CraterConstants.LOG.error("{} packet not registered on the server, this is needed.", packet.getClass(), t); + } + } + + private > IPayloadHandler buildHandler(Consumer> handler) { + return (payload, ctx) -> { + try { + PacketSide side = ctx.flow().getReceptionSide().equals(LogicalSide.SERVER) ? PacketSide.SERVER : PacketSide.CLIENT; + Player player = ctx.player().orElse(null); + handler.accept(new PacketContext<>(BridgedPlayer.of(player), payload.packet(), side)); + } catch (Throwable t) { + CraterConstants.LOG.error("Error handling packet: {} -> ", payload.packet().getClass(), t); + } + }; + } + + private Function mojangDecoder(Function handler) { + return (byteBuf) -> handler.apply(BridgedFriendlyByteBuf.of(byteBuf)); + } + + private BiConsumer mojangEncoder(BiConsumer handler) { + return (t, byteBuf) -> handler.accept(t, BridgedFriendlyByteBuf.of(byteBuf)); + } +} diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/NeoForgePacket.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/NeoForgePacket.java index e69de29..77775fc 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/NeoForgePacket.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/NeoForgePacket.java @@ -0,0 +1,21 @@ +package com.hypherionmc.craterlib.network; + +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; + +/** + * Based on https://github.com/mysticdrew/common-networking/tree/1.20.4 + */ +public record NeoForgePacket(NeoForgePacketContainer container, T packet) implements CustomPacketPayload { + + @Override + public void write(FriendlyByteBuf buff) { + container().encoder().accept(packet(), buff); + } + + @Override + public ResourceLocation id() { + return container().packetId(); + } +} \ No newline at end of file diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/NeoForgePacketContainer.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/NeoForgePacketContainer.java index e69de29..cddddb6 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/NeoForgePacketContainer.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/network/NeoForgePacketContainer.java @@ -0,0 +1,16 @@ +package com.hypherionmc.craterlib.network; + +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.resources.ResourceLocation; +import net.neoforged.neoforge.network.handling.IPayloadHandler; + +import java.util.function.BiConsumer; + +/** + * Based on https://github.com/mysticdrew/common-networking/tree/1.20.4 + */ +public record NeoForgePacketContainer(Class messageType, + ResourceLocation packetId, + BiConsumer encoder, + FriendlyByteBuf.Reader> decoder, + IPayloadHandler> handler) { } \ No newline at end of file diff --git a/1.20.4/NeoForge/src/main/resources/META-INF/mods.toml b/1.20.4/NeoForge/src/main/resources/META-INF/mods.toml index e69de29..519dde3 100644 --- a/1.20.4/NeoForge/src/main/resources/META-INF/mods.toml +++ b/1.20.4/NeoForge/src/main/resources/META-INF/mods.toml @@ -0,0 +1,33 @@ +modLoader = "javafml" +loaderVersion = "[1,)" +license = "MIT" +issueTrackerURL = "https://github.com/firstdarkdev/craterLib/issues" + +[[mods]] + modId = "${mod_id}" + version = "${version}" + displayName = "${mod_name}" + displayURL = "https://modrinth.com/mod/craterlib" + logoFile = "craterlib_logo.png" + #credits="Thanks for this example mod goes to Java" + authors = "${mod_author}, Zenith" + description = ''' + A library mod used by First Dark Development and HypherionSA Mods + ''' + displayTest = "NONE" + +[[dependencies.${ mod_id }]] + modId = "neoforge" + type="required" + required=true + versionRange = "[20.4,)" + ordering = "NONE" + side = "BOTH" + +[[dependencies.${ mod_id }]] + modId = "minecraft" + type="required" + required=true + versionRange = "[1.20.4,1.20.5)" + ordering = "NONE" + side = "BOTH" \ No newline at end of file diff --git a/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform b/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform index e69de29..5bd719f 100644 --- a/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform +++ b/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform @@ -0,0 +1 @@ +com.hypherionmc.craterlib.client.NeoForgeClientHelper \ No newline at end of file diff --git a/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform b/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform index e69de29..6cb6efb 100644 --- a/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform +++ b/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform @@ -0,0 +1 @@ +com.hypherionmc.craterlib.common.NeoForgeCommonHelper \ No newline at end of file diff --git a/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils b/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils index e69de29..9475f11 100644 --- a/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils +++ b/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils @@ -0,0 +1 @@ +com.hypherionmc.craterlib.common.NeoForgeCompatHelper \ No newline at end of file diff --git a/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment b/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment index e69de29..9a41f05 100644 --- a/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment +++ b/1.20.4/NeoForge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment @@ -0,0 +1 @@ +com.hypherionmc.craterlib.common.NeoForgeLoaderHelper \ No newline at end of file diff --git a/1.20.4/NeoForge/src/main/resources/craterlib.neoforge.mixins.json b/1.20.4/NeoForge/src/main/resources/craterlib.neoforge.mixins.json index e69de29..892f6d7 100644 --- a/1.20.4/NeoForge/src/main/resources/craterlib.neoforge.mixins.json +++ b/1.20.4/NeoForge/src/main/resources/craterlib.neoforge.mixins.json @@ -0,0 +1,18 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "com.hypherionmc.craterlib.mixin", + "compatibilityLevel": "JAVA_17", + "mixins": [ + ], + "client": [ + "ConfigScreenHandlerMixin" + ], + "server": [ + "ServerGamePacketListenerImplMixin", + "ServerStatusPacketListenerMixin" + ], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/1.20.4/NeoForge/src/main/resources/craterlib_logo.png b/1.20.4/NeoForge/src/main/resources/craterlib_logo.png index e69de29..ce0159c 100644 Binary files a/1.20.4/NeoForge/src/main/resources/craterlib_logo.png and b/1.20.4/NeoForge/src/main/resources/craterlib_logo.png differ diff --git a/1.20.4/Paper/build.gradle b/1.20.4/Paper/build.gradle index 977ab3f..f830d0d 100644 --- a/1.20.4/Paper/build.gradle +++ b/1.20.4/Paper/build.gradle @@ -61,11 +61,9 @@ tasks.assemble { publisher { apiKeys { - modrinth(System.getenv("MODRINTH_TOKEN")) nightbloom(System.getenv("PLATFORM_KEY")) } - setModrinthID(modrinth_id) setNightbloomID("craterlib") setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) diff --git a/1.20.4/changelog.md b/1.20.4/changelog.md index 4ecb3ae..09222a4 100644 --- a/1.20.4/changelog.md +++ b/1.20.4/changelog.md @@ -1,7 +1,7 @@ **New Features**: -- Paper Support. Currently only available on Modrinth and NightBloom -- Added API's for working with FTB Ranks and LuckPerms groups +- Paper Support. Currently only available on [NightBloom](https://nightbloom.cc/project/craterlib/files?loader=paper) +- Added APIs for working with FTB Ranks and LuckPerms groups **Bug Fixes**: diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java index 3f1ffcb..56942b0 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java @@ -11,6 +11,7 @@ import java.util.List; * Class containing references to all available discord event handles. * Registering a handler is optional, and non-assigned handlers will be ignored */ +@Deprecated(forRemoval = true) public class DiscordEventHandlers extends Structure { // Callback for when the RPC was initialized successfully diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java index 7cf53ff..3a68db9 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.Nullable; * @author HypherionSA * Java Wrapper of the Discord-RPC Library */ +@Deprecated(forRemoval = true) public interface DiscordRPC extends Library { DiscordRPC INSTANCE = Native.load("discord-rpc", DiscordRPC.class); diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java index 51fd720..b0e5e04 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java @@ -13,6 +13,7 @@ import java.util.List; * @author HypherionSA * Class reprenting a Discord RPC activity */ +@Deprecated(forRemoval = true) public class DiscordRichPresence extends Structure { // First line of text on the RPC diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java index e8bc085..0d48713 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java @@ -9,6 +9,7 @@ import java.util.List; * @author HypherionSA * Class representing the Discord User */ +@Deprecated(forRemoval = true) public class DiscordUser extends Structure { // The User ID of the User diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java index 7ea59e1..d3d8525 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the Discord RPC disconnects */ +@Deprecated(forRemoval = true) public interface DisconnectedCallback extends Callback { /** diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java index 1f86c90..fe07c6f 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC ran into an error */ +@Deprecated(forRemoval = true) public interface ErroredCallback extends Callback { /** diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java index cc752af..a7dbf5b 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone was approved to join your game */ +@Deprecated(forRemoval = true) public interface JoinGameCallback extends Callback { /** diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java index 115fd4f..f263bea 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone requests to join your game */ +@Deprecated(forRemoval = true) public interface JoinRequestCallback extends Callback { /** diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java index 66f3b59..1ec9153 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC has connected successfully */ +@Deprecated(forRemoval = true) public interface ReadyCallback extends Callback { /** diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java index 979e53d..92cf8e4 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone is requesting to spectate your game */ +@Deprecated(forRemoval = true) public interface SpectateGameCallback extends Callback { /** diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java index ab2bdc8..84e90f4 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java @@ -9,6 +9,7 @@ import java.io.Serializable; * Helper class to add Buttons to Discord Rich Presence * This can not be used with Join/Spectate */ +@Deprecated(forRemoval = true) public class RPCButton implements Serializable { // The label of the button diff --git a/1.20/Paper/build.gradle b/1.20/Paper/build.gradle index 215e135..0206308 100644 --- a/1.20/Paper/build.gradle +++ b/1.20/Paper/build.gradle @@ -61,11 +61,9 @@ tasks.assemble { publisher { apiKeys { - modrinth(System.getenv("MODRINTH_TOKEN")) nightbloom(System.getenv("PLATFORM_KEY")) } - setModrinthID(modrinth_id) setNightbloomID("craterlib") setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) diff --git a/1.20/changelog.md b/1.20/changelog.md index 4ecb3ae..09222a4 100644 --- a/1.20/changelog.md +++ b/1.20/changelog.md @@ -1,7 +1,7 @@ **New Features**: -- Paper Support. Currently only available on Modrinth and NightBloom -- Added API's for working with FTB Ranks and LuckPerms groups +- Paper Support. Currently only available on [NightBloom](https://nightbloom.cc/project/craterlib/files?loader=paper) +- Added APIs for working with FTB Ranks and LuckPerms groups **Bug Fixes**: diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java index 3f1ffcb..56942b0 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java @@ -11,6 +11,7 @@ import java.util.List; * Class containing references to all available discord event handles. * Registering a handler is optional, and non-assigned handlers will be ignored */ +@Deprecated(forRemoval = true) public class DiscordEventHandlers extends Structure { // Callback for when the RPC was initialized successfully diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java index 7cf53ff..3a68db9 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.Nullable; * @author HypherionSA * Java Wrapper of the Discord-RPC Library */ +@Deprecated(forRemoval = true) public interface DiscordRPC extends Library { DiscordRPC INSTANCE = Native.load("discord-rpc", DiscordRPC.class); diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java index 51fd720..b0e5e04 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java @@ -13,6 +13,7 @@ import java.util.List; * @author HypherionSA * Class reprenting a Discord RPC activity */ +@Deprecated(forRemoval = true) public class DiscordRichPresence extends Structure { // First line of text on the RPC diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java index e8bc085..0d48713 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java @@ -9,6 +9,7 @@ import java.util.List; * @author HypherionSA * Class representing the Discord User */ +@Deprecated(forRemoval = true) public class DiscordUser extends Structure { // The User ID of the User diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java index 7ea59e1..d3d8525 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the Discord RPC disconnects */ +@Deprecated(forRemoval = true) public interface DisconnectedCallback extends Callback { /** diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java index 1f86c90..fe07c6f 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC ran into an error */ +@Deprecated(forRemoval = true) public interface ErroredCallback extends Callback { /** diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java index cc752af..a7dbf5b 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone was approved to join your game */ +@Deprecated(forRemoval = true) public interface JoinGameCallback extends Callback { /** diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java index 115fd4f..f263bea 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone requests to join your game */ +@Deprecated(forRemoval = true) public interface JoinRequestCallback extends Callback { /** diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java index 66f3b59..1ec9153 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC has connected successfully */ +@Deprecated(forRemoval = true) public interface ReadyCallback extends Callback { /** diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java index 979e53d..92cf8e4 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone is requesting to spectate your game */ +@Deprecated(forRemoval = true) public interface SpectateGameCallback extends Callback { /** diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java index ab2bdc8..84e90f4 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java @@ -9,6 +9,7 @@ import java.io.Serializable; * Helper class to add Buttons to Discord Rich Presence * This can not be used with Join/Spectate */ +@Deprecated(forRemoval = true) public class RPCButton implements Serializable { // The label of the button diff --git a/1.21.2/Paper/build.gradle b/1.21.2/Paper/build.gradle index db96228..55726aa 100644 --- a/1.21.2/Paper/build.gradle +++ b/1.21.2/Paper/build.gradle @@ -61,11 +61,9 @@ tasks.assemble { publisher { apiKeys { - modrinth(System.getenv("MODRINTH_TOKEN")) nightbloom(System.getenv("PLATFORM_KEY")) } - setModrinthID(modrinth_id) setNightbloomID("craterlib") setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) diff --git a/1.21.2/changelog.md b/1.21.2/changelog.md index 4ecb3ae..09222a4 100644 --- a/1.21.2/changelog.md +++ b/1.21.2/changelog.md @@ -1,7 +1,7 @@ **New Features**: -- Paper Support. Currently only available on Modrinth and NightBloom -- Added API's for working with FTB Ranks and LuckPerms groups +- Paper Support. Currently only available on [NightBloom](https://nightbloom.cc/project/craterlib/files?loader=paper) +- Added APIs for working with FTB Ranks and LuckPerms groups **Bug Fixes**: diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java index 3f1ffcb..56942b0 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordEventHandlers.java @@ -11,6 +11,7 @@ import java.util.List; * Class containing references to all available discord event handles. * Registering a handler is optional, and non-assigned handlers will be ignored */ +@Deprecated(forRemoval = true) public class DiscordEventHandlers extends Structure { // Callback for when the RPC was initialized successfully diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java index 7cf53ff..3a68db9 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRPC.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.Nullable; * @author HypherionSA * Java Wrapper of the Discord-RPC Library */ +@Deprecated(forRemoval = true) public interface DiscordRPC extends Library { DiscordRPC INSTANCE = Native.load("discord-rpc", DiscordRPC.class); diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java index 51fd720..b0e5e04 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordRichPresence.java @@ -13,6 +13,7 @@ import java.util.List; * @author HypherionSA * Class reprenting a Discord RPC activity */ +@Deprecated(forRemoval = true) public class DiscordRichPresence extends Structure { // First line of text on the RPC diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java index e8bc085..0d48713 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/DiscordUser.java @@ -9,6 +9,7 @@ import java.util.List; * @author HypherionSA * Class representing the Discord User */ +@Deprecated(forRemoval = true) public class DiscordUser extends Structure { // The User ID of the User diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java index 7ea59e1..d3d8525 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/DisconnectedCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the Discord RPC disconnects */ +@Deprecated(forRemoval = true) public interface DisconnectedCallback extends Callback { /** diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java index 1f86c90..fe07c6f 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ErroredCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC ran into an error */ +@Deprecated(forRemoval = true) public interface ErroredCallback extends Callback { /** diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java index cc752af..a7dbf5b 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone was approved to join your game */ +@Deprecated(forRemoval = true) public interface JoinGameCallback extends Callback { /** diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java index 115fd4f..f263bea 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/JoinRequestCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone requests to join your game */ +@Deprecated(forRemoval = true) public interface JoinRequestCallback extends Callback { /** diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java index 66f3b59..1ec9153 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/ReadyCallback.java @@ -7,6 +7,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when the RPC has connected successfully */ +@Deprecated(forRemoval = true) public interface ReadyCallback extends Callback { /** diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java index 979e53d..92cf8e4 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/callbacks/SpectateGameCallback.java @@ -6,6 +6,7 @@ import com.sun.jna.Callback; * @author HypherionSA * Callback for when someone is requesting to spectate your game */ +@Deprecated(forRemoval = true) public interface SpectateGameCallback extends Callback { /** diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java index ab2bdc8..84e90f4 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/rpcsdk/helpers/RPCButton.java @@ -9,6 +9,7 @@ import java.io.Serializable; * Helper class to add Buttons to Discord Rich Presence * This can not be used with Join/Spectate */ +@Deprecated(forRemoval = true) public class RPCButton implements Serializable { // The label of the button diff --git a/1.21/Paper/build.gradle b/1.21/Paper/build.gradle index 0582e27..7f17bad 100644 --- a/1.21/Paper/build.gradle +++ b/1.21/Paper/build.gradle @@ -61,11 +61,9 @@ tasks.assemble { publisher { apiKeys { - modrinth(System.getenv("MODRINTH_TOKEN")) nightbloom(System.getenv("PLATFORM_KEY")) } - setModrinthID(modrinth_id) setNightbloomID("craterlib") setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) diff --git a/1.21/changelog.md b/1.21/changelog.md index 4ecb3ae..09222a4 100644 --- a/1.21/changelog.md +++ b/1.21/changelog.md @@ -1,7 +1,7 @@ **New Features**: -- Paper Support. Currently only available on Modrinth and NightBloom -- Added API's for working with FTB Ranks and LuckPerms groups +- Paper Support. Currently only available on [NightBloom](https://nightbloom.cc/project/craterlib/files?loader=paper) +- Added APIs for working with FTB Ranks and LuckPerms groups **Bug Fixes**: diff --git a/commit.sha b/commit.sha index a8a2fd9..9bd4420 100644 --- a/commit.sha +++ b/commit.sha @@ -1 +1 @@ -d2aca8ffa956fda73ffda2ff8ddf70ce861018e9 \ No newline at end of file +5a8769bee997f9cc024bdda619289be22b9465c0 \ No newline at end of file diff --git a/patches/1.18.2/Paper/build.gradle.patch b/patches/1.18.2/Paper/build.gradle.patch index db3e2a6..acc223f 100644 --- a/patches/1.18.2/Paper/build.gradle.patch +++ b/patches/1.18.2/Paper/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Paper/build.gradle +++ /dev/null -@@ -1,80 +1,0 @@ +@@ -1,78 +1,0 @@ -plugins { - id "io.papermc.paperweight.userdev" version "1.7.3" - id "xyz.jpenilla.run-paper" version "2.3.0" @@ -64,11 +64,9 @@ - -publisher { - apiKeys { -- modrinth(System.getenv("MODRINTH_TOKEN")) - nightbloom(System.getenv("PLATFORM_KEY")) - } - -- setModrinthID(modrinth_id) - setNightbloomID("craterlib") - setVersionType("alpha") - setChangelog(rootProject.file("changelog.md")) diff --git a/patches/1.19.2/Paper/build.gradle.patch b/patches/1.19.2/Paper/build.gradle.patch index db3e2a6..acc223f 100644 --- a/patches/1.19.2/Paper/build.gradle.patch +++ b/patches/1.19.2/Paper/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Paper/build.gradle +++ /dev/null -@@ -1,80 +1,0 @@ +@@ -1,78 +1,0 @@ -plugins { - id "io.papermc.paperweight.userdev" version "1.7.3" - id "xyz.jpenilla.run-paper" version "2.3.0" @@ -64,11 +64,9 @@ - -publisher { - apiKeys { -- modrinth(System.getenv("MODRINTH_TOKEN")) - nightbloom(System.getenv("PLATFORM_KEY")) - } - -- setModrinthID(modrinth_id) - setNightbloomID("craterlib") - setVersionType("alpha") - setChangelog(rootProject.file("changelog.md")) diff --git a/patches/1.19.3/Paper/build.gradle.patch b/patches/1.19.3/Paper/build.gradle.patch index faea366..a432606 100644 --- a/patches/1.19.3/Paper/build.gradle.patch +++ b/patches/1.19.3/Paper/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Paper/build.gradle +++ b/Paper/build.gradle -@@ -70,8 +70,8 @@ +@@ -68,8 +68,8 @@ setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.20.2/Paper/build.gradle.patch b/patches/1.20.2/Paper/build.gradle.patch index 063e3a0..932edc3 100644 --- a/patches/1.20.2/Paper/build.gradle.patch +++ b/patches/1.20.2/Paper/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Paper/build.gradle +++ b/Paper/build.gradle -@@ -70,8 +70,8 @@ +@@ -68,8 +68,8 @@ setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.20.4/Paper/build.gradle.patch b/patches/1.20.4/Paper/build.gradle.patch index 8d03048..f7d5ba2 100644 --- a/patches/1.20.4/Paper/build.gradle.patch +++ b/patches/1.20.4/Paper/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Paper/build.gradle +++ b/Paper/build.gradle -@@ -70,8 +70,8 @@ +@@ -68,8 +68,8 @@ setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.20/Paper/build.gradle.patch b/patches/1.20/Paper/build.gradle.patch index 2ef3ddc..4cc567c 100644 --- a/patches/1.20/Paper/build.gradle.patch +++ b/patches/1.20/Paper/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Paper/build.gradle +++ b/Paper/build.gradle -@@ -70,8 +70,8 @@ +@@ -68,8 +68,8 @@ setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.21/Paper/build.gradle.patch b/patches/1.21/Paper/build.gradle.patch index 57c307e..e85bbff 100644 --- a/patches/1.21/Paper/build.gradle.patch +++ b/patches/1.21/Paper/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Paper/build.gradle +++ b/Paper/build.gradle -@@ -70,8 +70,8 @@ +@@ -68,8 +68,8 @@ setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}")