[FEAT] Paper Support

This commit is contained in:
2024-10-22 20:13:32 +02:00
parent 86149ace11
commit e0e37685e2
352 changed files with 5772 additions and 1588 deletions

View File

@@ -5,12 +5,12 @@
def projectIcon = "https://cdn.modrinth.com/data/Nn8Wasaq/a172c634683a11a2e9ae593e56eba7885743bb44.png";
-def JDK = "21";
-def majorMc = "1.21.2";
-def modLoaders = "neoforge|fabric|quilt";
-def supportedMc = "1.21.2";
-def modLoaders = "neoforge|fabric|quilt|paper";
-def supportedMc = "1.21.3";
-def reltype = "port";
+def JDK = "17";
+def majorMc = "1.20.2";
+def modLoaders = "forge|fabric|quilt";
+def modLoaders = "forge|fabric|quilt|paper";
+def supportedMc = "1.20.2";
+def reltype = "snapshot";

View File

@@ -0,0 +1,18 @@
--- a/Common/src/main/java/com/hypherionmc/craterlib/api/events/common/CraterPlayerDeathEvent.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/api/events/common/CraterPlayerDeathEvent.java
@@ -14,8 +14,14 @@
private final BridgedPlayer player;
private final DamageSource damageSource;
+ private Component deathMessage;
+
+ public CraterPlayerDeathEvent(BridgedPlayer player, DamageSource damageSource, Component deathMessage) {
+ this(player, null);
+ this.deathMessage = deathMessage;
+ }
public Component getDeathMessage() {
- return ChatUtils.mojangToAdventure(damageSource.getLocalizedDeathMessage(player.toMojang()));
+ return deathMessage != null ? deathMessage : ChatUtils.mojangToAdventure(damageSource.getLocalizedDeathMessage(player.toMojang()));
}
}

View File

@@ -1,6 +1,6 @@
--- a/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java
+++ b/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java
@@ -1,7 +1,5 @@
@@ -1,53 +1,30 @@
package com.hypherionmc.craterlib.utils;
-import com.hypherionmc.craterlib.core.platform.CommonPlatform;
@@ -8,20 +8,29 @@
import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier;
import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer;
import me.hypherionmc.mcdiscordformatter.minecraft.MinecraftSerializer;
@@ -12,12 +10,8 @@
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
-import net.kyori.adventure.text.serializer.json.JSONOptions;
import net.minecraft.ChatFormatting;
import net.minecraft.SharedConstants;
-import net.minecraft.SharedConstants;
import net.minecraft.Util;
-// @noplugin
-import net.minecraft.client.Minecraft;
-// #noplugin
-import net.minecraft.core.HolderLookup;
-import net.minecraft.core.RegistryAccess;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style;
-
public class ChatUtils {
private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
@@ -28,22 +22,12 @@
- private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options(
- JSONOptions.byDataVersion().at(SharedConstants.getCurrentVersion().getDataVersion().getVersion())
- ).build();
+ private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().build();
private static final MiniMessage miniMessage = MiniMessage.miniMessage();
public static Component adventureToMojang(net.kyori.adventure.text.Component inComponent) {
final String serialised = adventureSerializer.serialize(inComponent);
@@ -36,8 +45,10 @@
- }
-
- private static HolderLookup.Provider getRegistryLookup() {
- // @noplugin
- if (ModloaderEnvironment.INSTANCE.getEnvironment().isClient() && Minecraft.getInstance().level != null)
- return Minecraft.getInstance().level.registryAccess();
- // #noplugin
-
- if (ModloaderEnvironment.INSTANCE.getEnvironment().isServer() && CommonPlatform.INSTANCE.getMCServer() != null)
- return CommonPlatform.INSTANCE.getMCServer().toMojang().registryAccess();

View File

@@ -10,10 +10,10 @@
@@ -115,8 +114,8 @@
setVersionType("release")
setChangelog("https://raw.githubusercontent.com/hypherionmc/changelogs/main/craterlib/changelog-fabric.md")
setChangelog(rootProject.file("changelog.md"))
setProjectVersion("${minecraft_version}-${project.version}")
- setDisplayName("[FABRIC/QUILT 1.21.2] CraterLib - ${project.version}")
- setGameVersions("1.21.2")
- setDisplayName("[FABRIC/QUILT 1.21.3] CraterLib - ${project.version}")
- setGameVersions("1.21.3")
+ setDisplayName("[FABRIC/QUILT 1.20.2] CraterLib - ${project.version}")
+ setGameVersions("1.20.2")
setLoaders("fabric", "quilt")

View File

@@ -13,7 +13,7 @@
implementation project(":Common")
@@ -107,8 +109,8 @@
setVersionType("release")
setChangelog("https://raw.githubusercontent.com/hypherionmc/changelogs/main/craterlib/changelog-forge.md")
setChangelog(rootProject.file("changelog.md"))
setProjectVersion("${minecraft_version}-${project.version}")
- setDisplayName("[Forge 1.20.6] CraterLib - ${project.version}")
- setGameVersions("1.20.6")

View File

@@ -16,7 +16,7 @@
+ if (!ModloaderEnvironment.INSTANCE.isModLoaded("vmod"))
+ return true;
+
+ return VanishUtil.isVanished(player.toMojangServerPlayer());
+ return !VanishUtil.isVanished(player.toMojangServerPlayer());
}
@Override

View File

@@ -114,10 +114,10 @@
- setModrinthID(modrinth_id)
- setNightbloomID("craterlib")
- setVersionType("release")
- setChangelog("https://raw.githubusercontent.com/hypherionmc/changelogs/main/craterlib/changelog-forge.md")
- setChangelog(rootProject.file("changelog.md"))
- setProjectVersion("${minecraft_version}-${project.version}")
- setDisplayName("[NeoForge 1.21.2] CraterLib - ${project.version}")
- setGameVersions("1.21.2")
- setDisplayName("[NeoForge 1.21.3] CraterLib - ${project.version}")
- setGameVersions("1.21.3")
- setLoaders("neoforge")
- setArtifact(remapJar)
- setCurseEnvironment("both")

View File

@@ -15,7 +15,7 @@
- if (!ModloaderEnvironment.INSTANCE.isModLoaded("vmod"))
- return true;
-
- return VanishUtil.isVanished(player.toMojangServerPlayer());
- return !VanishUtil.isVanished(player.toMojangServerPlayer());
- }
-
- @Override

View File

@@ -0,0 +1,13 @@
--- a/Paper/build.gradle
+++ b/Paper/build.gradle
@@ -70,8 +70,8 @@
setVersionType("alpha")
setChangelog(rootProject.file("changelog.md"))
setProjectVersion("${minecraft_version}-${project.version}")
- setDisplayName("[Paper 1.21.3] CraterLib - ${project.version}")
- setGameVersions("1.21.3")
+ setDisplayName("[Paper 1.20.2] CraterLib - ${project.version}")
+ setGameVersions("1.20.2")
setLoaders("paper")
setArtifact(reobfJar.outputJar)
}

View File

@@ -0,0 +1,11 @@
--- a/Paper/src/main/java/com/hypherionmc/craterlib/paper/CraterLibPlugin.java
+++ b/Paper/src/main/java/com/hypherionmc/craterlib/paper/CraterLibPlugin.java
@@ -23,7 +23,7 @@
@Override
public void onEnable() {
- CraterEventBus.INSTANCE.postEvent(new CraterRegisterCommandEvent(MinecraftServer.getServer().createCommandSourceStack().dispatcher()));
+ CraterEventBus.INSTANCE.postEvent(new CraterRegisterCommandEvent(MinecraftServer.getServer().getCommands().getDispatcher()));
getServer().getPluginManager().registerEvents(listener, this);
getServer().getScheduler().scheduleSyncDelayedTask(this, listener::onServerStarted);
}

View File

@@ -0,0 +1,37 @@
--- a/Paper/src/main/java/com/hypherionmc/craterlib/paper/PaperEventListener.java
+++ b/Paper/src/main/java/com/hypherionmc/craterlib/paper/PaperEventListener.java
@@ -13,12 +13,13 @@
import com.mojang.brigadier.ParseResults;
import io.papermc.paper.event.player.AsyncChatEvent;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
+import net.minecraft.advancements.Advancement;
+import net.minecraft.advancements.AdvancementHolder;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.MinecraftServer;
import org.bukkit.command.ConsoleCommandSender;
-import org.bukkit.craftbukkit.advancement.CraftAdvancement;
-import org.bukkit.craftbukkit.damage.CraftDamageSource;
-import org.bukkit.craftbukkit.entity.CraftPlayer;
+import org.bukkit.craftbukkit.v1_20_R2.advancement.CraftAdvancement;
+import org.bukkit.craftbukkit.v1_20_R2.entity.CraftPlayer;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
@@ -31,13 +32,15 @@
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerDeath(PlayerDeathEvent event) {
CraterEventBus.INSTANCE.postEvent(
- new CraterPlayerDeathEvent(BridgedPlayer.of(((CraftPlayer) event.getPlayer()).getHandle()), ((CraftDamageSource) event.getDamageSource()).getHandle())
+ new CraterPlayerDeathEvent(BridgedPlayer.of(((CraftPlayer) event.getPlayer()).getHandle()), null, event.deathMessage())
);
}
@EventHandler(priority = EventPriority.HIGHEST)
public void onAdvancement(PlayerAdvancementDoneEvent event) {
- if (((CraftAdvancement) event.getAdvancement()).getHandle().value().display().isEmpty() || !((CraftAdvancement) event.getAdvancement()).getHandle().value().display().get().shouldAnnounceChat())
+ AdvancementHolder advancement = ((CraftAdvancement) event.getAdvancement()).getHandle();
+
+ if (advancement.value().display().isEmpty() || !advancement.value().display().get().shouldAnnounceChat())
return;
CraterEventBus.INSTANCE.postEvent(

View File

@@ -0,0 +1,10 @@
--- a/Paper/src/main/resources/paper-plugin.yml
+++ b/Paper/src/main/resources/paper-plugin.yml
@@ -3,6 +3,6 @@
description: "A Modding API used to create 'universal' mods"
main: com.hypherionmc.craterlib.paper.CraterLibPlugin
author: HypherionSA
-api-version: '1.21.3'
+api-version: '1.20'
bootstrapper: com.hypherionmc.craterlib.paper.CraterLibBootstrap
load: STARTUP

View File

@@ -1,6 +1,6 @@
--- a/build.gradle
+++ b/build.gradle
@@ -7,21 +7,15 @@
@@ -8,21 +8,15 @@
id 'maven-publish'
}
@@ -23,9 +23,9 @@
identifier("${relType}")
}
}
@@ -35,14 +29,13 @@
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'com.hypherionmc.modutils.modpublisher'
@@ -40,14 +34,13 @@
apply plugin: 'com.hypherionmc.modutils.orion.origami'
}
- sourceCompatibility = JavaVersion.VERSION_21
- targetCompatibility = JavaVersion.VERSION_21
@@ -40,7 +40,7 @@
maven {
name = "Modrinth"
@@ -68,7 +61,7 @@
@@ -73,7 +66,7 @@
shade "me.hypherionmc.moon-config:toml:${moon_config}"
shade "me.hypherionmc.moon-config:json:${moon_config}"
shade "com.hypherionmc:rpcsdk:${rpc_sdk}"
@@ -49,7 +49,7 @@
shade "net.kyori:adventure-api:${adventure}"
shade "net.kyori:adventure-text-serializer-gson:${adventure}"
shade "net.kyori:adventure-text-minimessage:${adventure}"
@@ -117,7 +110,7 @@
@@ -124,7 +117,7 @@
tasks.withType(JavaCompile).configureEach {
it.options.encoding = 'UTF-8'

View File

@@ -4,13 +4,13 @@
mod_name=CraterLib
# Shared
-minecraft_version=1.21.2
-minecraft_version=1.21.3
+minecraft_version=1.20.2
project_group=com.hypherionmc.craterlib
# Fabric
-fabric_loader=0.16.7
-fabric_api=0.106.1+1.21.2
-fabric_api=0.107.3+1.21.3
+fabric_loader=0.15.11
+fabric_api=0.91.6+1.20.2
@@ -18,7 +18,7 @@
-forge_version=50.0.6
-
-# NeoForged
-neoforge_version=0-beta
-neoforge_version=16-beta
+forge_version=48.1.0
# Dependencies

View File

@@ -1,6 +1,6 @@
--- a/settings.gradle
+++ b/settings.gradle
@@ -13,5 +13,5 @@
@@ -13,7 +13,6 @@
}
}
@@ -8,3 +8,5 @@
-include("Common", "Fabric", "NeoForge")
+rootProject.name = 'CraterLib-1.20.2'
+include("Common", "Fabric", "Forge")
include 'Paper'
-