diff --git a/Blueberry-API/build.gradle.kts b/Blueberry-API/build.gradle.kts index 2559caa5..96788cc8 100644 --- a/Blueberry-API/build.gradle.kts +++ b/Blueberry-API/build.gradle.kts @@ -13,7 +13,7 @@ dependencies { api("com.mojang:brigadier:1.0.18") api("com.mojang:datafixerupper:5.0.28") api("com.mojang:javabridge:1.2.24") - api("com.mojang:authlib:3.6.42") + api("com.mojang:authlib:3.7.43") api("it.unimi.dsi:fastutil:8.5.6") api("io.netty:netty-all:4.1.77.Final") api("org.apache.commons:commons-lang3:3.12.0") diff --git a/Blueberry-API/src/main/java/net/blueberrymc/common/bml/InternalBlueberryMod.java b/Blueberry-API/src/main/java/net/blueberrymc/common/bml/InternalBlueberryMod.java index 9773653d..4b477c6e 100644 --- a/Blueberry-API/src/main/java/net/blueberrymc/common/bml/InternalBlueberryMod.java +++ b/Blueberry-API/src/main/java/net/blueberrymc/common/bml/InternalBlueberryMod.java @@ -2,8 +2,6 @@ import net.blueberrymc.client.command.ClientBlueberryCommand; import net.blueberrymc.client.commands.ClientCommandManager; -import net.blueberrymc.command.argument.ArgumentTypes; -import net.blueberrymc.command.argument.ModIdArgument; import net.blueberrymc.common.Blueberry; import net.blueberrymc.common.Side; import net.blueberrymc.common.bml.config.CompoundVisualConfig; @@ -16,7 +14,6 @@ import net.blueberrymc.registry.BlueberryRegistries; import net.blueberrymc.util.NameGetter; import net.blueberrymc.world.item.SimpleBlueberryItem; -import net.minecraft.commands.synchronization.SingletonArgumentInfo; import net.minecraft.server.MinecraftServer; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; @@ -41,14 +38,26 @@ public class InternalBlueberryMod extends BlueberryMod { @Override public void onLoad() { + // debug getLogger().debug("ClassLoader: " + InternalBlueberryMod.class.getClassLoader().getClass().getTypeName()); + + // discord rich presence Blueberry.getUtil().updateDiscordStatus("Initializing the game", getStateList().getCurrentState().getName()); + + // config onReload(); this.setVisualConfig(VisualConfigManager.createFromClass(InternalBlueberryModConfig.class)); + + // events & side-specific code + InternalBlueberryModListener listener = new InternalBlueberryModListener(this); + Blueberry.getEventManager().registerEvents(this, listener); Blueberry.safeRunOnClient(() -> new VoidSafeExecutor() { @Override public void execute() { + // config InternalBlueberryMod.this.getVisualConfig().onSave(InternalBlueberryMod.this::saveConfig); + + // start scheduler Blueberry.getUtil().getClientSchedulerOptional().ifPresent(scheduler -> CLIENT_TIMER.scheduleAtFixedRate(new TimerTask() { @Override @@ -57,11 +66,20 @@ public void run() { } }, 1, 1) ).ifNotPresent(CLIENT_TIMER::cancel); - Blueberry.getEventManager().registerEvents(InternalBlueberryMod.this, new InternalBlueberryModListener(InternalBlueberryMod.this).createClient()); + + // register events + Blueberry.getEventManager().registerEvents(InternalBlueberryMod.this, listener.createClient()); + + // register /cblueberry client command ClientCommandManager.register("cblueberry", new ClientBlueberryCommand()); } }); - Blueberry.runOnServer(() -> Blueberry.getEventManager().registerEvents(this, new InternalBlueberryModListener(this).createServer())); + Blueberry.runOnServer(() -> { + // register events + Blueberry.getEventManager().registerEvents(this, listener.createServer()); + }); + + // start scheduler AbstractBlueberryScheduler serverScheduler = Blueberry.getUtil().getServerScheduler(); SERVER_TIMER.scheduleAtFixedRate(new TimerTask() { @Override @@ -82,7 +100,6 @@ public void run() { @Override public void onPreInit() { Blueberry.getUtil().updateDiscordStatus("Initializing the game", getStateList().getCurrentState().getName()); - registerArgumentTypes(); registerFluids(); registerBlocks(); registerItems(); @@ -152,10 +169,6 @@ private void registerBlocks() { private void registerFluids() { } - private void registerArgumentTypes() { - ArgumentTypes.register("blueberry:modid", ModIdArgument.class, SingletonArgumentInfo.contextFree(ModIdArgument::modId)); - } - @Override public boolean onReload() { // pre-reload diff --git a/Blueberry-API/src/main/java/net/blueberrymc/common/bml/InternalBlueberryModListener.java b/Blueberry-API/src/main/java/net/blueberrymc/common/bml/InternalBlueberryModListener.java index 07bef4c3..d58c42b7 100644 --- a/Blueberry-API/src/main/java/net/blueberrymc/common/bml/InternalBlueberryModListener.java +++ b/Blueberry-API/src/main/java/net/blueberrymc/common/bml/InternalBlueberryModListener.java @@ -1,13 +1,26 @@ package net.blueberrymc.common.bml; import net.blueberrymc.client.event.render.gui.ScreenChangedEvent; +import net.blueberrymc.command.argument.ArgumentTypes; +import net.blueberrymc.command.argument.ModIdArgument; import net.blueberrymc.common.Blueberry; import net.blueberrymc.common.bml.event.EventHandler; import net.blueberrymc.common.bml.event.Listener; +import net.blueberrymc.common.event.lifecycle.RegistryBootstrappedEvent; +import net.minecraft.commands.synchronization.SingletonArgumentInfo; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; -public record InternalBlueberryModListener(@NotNull InternalBlueberryMod mod) { +public record InternalBlueberryModListener(@NotNull InternalBlueberryMod mod) implements Listener { + @EventHandler + public static void onRegistryBootstrap(@NotNull RegistryBootstrappedEvent e) { + registerArgumentTypes(); + } + + private static void registerArgumentTypes() { + ArgumentTypes.register("blueberry:modid", ModIdArgument.class, SingletonArgumentInfo.contextFree(ModIdArgument::modId)); + } + @Contract(value = " -> new", pure = true) @NotNull public Server createServer() { diff --git a/Blueberry-API/src/main/java/net/blueberrymc/common/event/lifecycle/RegistryBootstrappedEvent.java b/Blueberry-API/src/main/java/net/blueberrymc/common/event/lifecycle/RegistryBootstrappedEvent.java new file mode 100644 index 00000000..2a34e42c --- /dev/null +++ b/Blueberry-API/src/main/java/net/blueberrymc/common/event/lifecycle/RegistryBootstrappedEvent.java @@ -0,0 +1,14 @@ +package net.blueberrymc.common.event.lifecycle; + +import net.blueberrymc.common.bml.event.Event; + +public class RegistryBootstrappedEvent extends Event { + private static final RegistryBootstrappedEvent INSTANCE = new RegistryBootstrappedEvent(); + + private RegistryBootstrappedEvent() { + } + + public static void fire() { + callEvent(INSTANCE); + } +} diff --git a/MagmaCube b/MagmaCube index fd7dc95d..e81ffc70 160000 --- a/MagmaCube +++ b/MagmaCube @@ -1 +1 @@ -Subproject commit fd7dc95dde758f5d9ad76b2be0fbe8eac7f368fe +Subproject commit e81ffc708ded6b77eebab810dac09f86117656de diff --git a/MagmaCube-Patches/0003-Get-our-version-instead-of-magmacube-s.patch b/MagmaCube-Patches/0003-Get-our-version-instead-of-magmacube-s.patch index b32e8dd7..6158f1b9 100644 --- a/MagmaCube-Patches/0003-Get-our-version-instead-of-magmacube-s.patch +++ b/MagmaCube-Patches/0003-Get-our-version-instead-of-magmacube-s.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Get our version instead of magmacube's diff --git a/src/main/java/net/minecraft/DetectedVersion.java b/src/main/java/net/minecraft/DetectedVersion.java -index fb72e225f98cf4ead2d903a645965489ab3d121d..dcc312cb575a49d7339bd605ebe986f531a3a696 100644 +index 89d5e1af7d0f8c96a20dc5239ab7a946325dadd2..37a07e2b3834d0d8df3bdc7a51f96b35f54ca0d9 100644 --- a/src/main/java/net/minecraft/DetectedVersion.java +++ b/src/main/java/net/minecraft/DetectedVersion.java @@ -26,7 +26,7 @@ public class DetectedVersion implements WorldVersion { @@ -36,10 +36,10 @@ index fb72e225f98cf4ead2d903a645965489ab3d121d..dcc312cb575a49d7339bd605ebe986f5 public static WorldVersion tryDetectVersion() { diff --git a/src/main/java/net/minecraft/client/Minecraft.java b/src/main/java/net/minecraft/client/Minecraft.java -index b1f602e434dcf90c1a6e27958d48b05732dfefee..39ac42c69f34a2acb2c2975b6f37675751944c50 100644 +index f3e70e1c14b6f40e12149630fab7403f4f9cf092..a072b7833bb19a4c36e3864a0607e340b4948740 100644 --- a/src/main/java/net/minecraft/client/Minecraft.java +++ b/src/main/java/net/minecraft/client/Minecraft.java -@@ -709,7 +709,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -723,7 +723,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements } public String getLaunchedVersion() { diff --git a/MagmaCube-Patches/0004-Mods-support.patch b/MagmaCube-Patches/0004-Mods-support.patch index caee6022..fa3b5bd8 100644 --- a/MagmaCube-Patches/0004-Mods-support.patch +++ b/MagmaCube-Patches/0004-Mods-support.patch @@ -99,10 +99,10 @@ index da5ac7b22dd629ec1fffcdabc35743c161c5d611..89ff780da13eb16eb1a06fa4652c8604 public void setDetail(String s, String s2) { diff --git a/src/main/java/net/minecraft/client/Minecraft.java b/src/main/java/net/minecraft/client/Minecraft.java -index 39ac42c69f34a2acb2c2975b6f37675751944c50..2c9ffb158155991c907a040fb2e9cebf17ff1b02 100644 +index a072b7833bb19a4c36e3864a0607e340b4948740..a380300a103db76a57d85c5d3f796c9dff575688 100644 --- a/src/main/java/net/minecraft/client/Minecraft.java +++ b/src/main/java/net/minecraft/client/Minecraft.java -@@ -453,7 +453,9 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -458,7 +458,9 @@ public class Minecraft extends ReentrantBlockableEventLoop implements this.mainRenderTarget = new MainTarget(this.window.getWidth(), this.window.getHeight()); this.mainRenderTarget.setClearColor(0.0F, 0.0F, 0.0F, 0.0F); this.mainRenderTarget.clear(ON_OSX); @@ -112,7 +112,7 @@ index 39ac42c69f34a2acb2c2975b6f37675751944c50..2c9ffb158155991c907a040fb2e9cebf this.resourcePackRepository.reload(); this.options.loadSelectedResourcePacks(this.resourcePackRepository); this.languageManager = new LanguageManager(this.options.languageCode); -@@ -467,6 +469,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -472,6 +474,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements this.splashManager = new SplashManager(this.user); this.resourceManager.registerReloadListener(this.splashManager); this.musicManager = new MusicManager(this); @@ -120,7 +120,7 @@ index 39ac42c69f34a2acb2c2975b6f37675751944c50..2c9ffb158155991c907a040fb2e9cebf this.fontManager = new FontManager(this.textureManager); this.font = this.fontManager.createFont(); this.resourceManager.registerReloadListener(this.fontManager.getReloadListener()); -@@ -485,6 +488,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -490,6 +493,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements this.blockEntityRenderDispatcher = new BlockEntityRenderDispatcher(this.font, this.entityModels, this::getBlockRenderer, this::getItemRenderer, this::getEntityRenderDispatcher); this.resourceManager.registerReloadListener(this.blockEntityRenderDispatcher); BlockEntityWithoutLevelRenderer blockEntityWithoutLevelRenderer = new BlockEntityWithoutLevelRenderer(this.blockEntityRenderDispatcher, this.entityModels); @@ -128,7 +128,7 @@ index 39ac42c69f34a2acb2c2975b6f37675751944c50..2c9ffb158155991c907a040fb2e9cebf this.resourceManager.registerReloadListener(blockEntityWithoutLevelRenderer); this.itemRenderer = new ItemRenderer(this.textureManager, this.modelManager, this.itemColors, blockEntityWithoutLevelRenderer); this.resourceManager.registerReloadListener(this.itemRenderer); -@@ -537,6 +541,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -543,6 +547,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements this.reportingContext = ReportingContext.create(ReportEnvironment.local(), this.userApiService); LoadingOverlay.registerTextures(this); List list = this.resourcePackRepository.openAllSelected(); @@ -136,19 +136,29 @@ index 39ac42c69f34a2acb2c2975b6f37675751944c50..2c9ffb158155991c907a040fb2e9cebf this.reloadStateTracker.startReload(ResourceLoadStateTracker.ReloadReason.INITIAL, list); this.setOverlay(new LoadingOverlay(this, this.resourceManager.createReload(Util.backgroundExecutor(), this, RESOURCE_RELOAD_INITIAL_TASK, list), (optional) -> Util.ifElse(optional, this::rollbackResourcePacks, () -> { if (SharedConstants.IS_RUNNING_IN_IDE) { -@@ -546,9 +551,9 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -552,8 +557,9 @@ public class Minecraft extends ReentrantBlockableEventLoop implements this.reloadStateTracker.finishReload(); }), false)); if (s != null) { - ConnectScreen.startConnecting(new TitleScreen(), this, new ServerAddress(s, i), (ServerData)null); + this.setScreen(new net.blueberrymc.common.bml.client.gui.screens.ModLoadingProblemScreen(() -> ConnectScreen.startConnecting(new TitleScreen(), this, new ServerAddress(s, i), (ServerData)null))); // Blueberry + } else if (this.shouldShowBanNotice()) { ++ this.setScreen(new net.blueberrymc.common.bml.client.gui.screens.ModLoadingProblemScreen(() -> { // Blueberry + this.setScreen(BanNoticeScreen.create((flag) -> { + if (flag) { + Util.getPlatform().openUri("https://aka.ms/mcjavamoderation"); +@@ -561,8 +567,9 @@ public class Minecraft extends ReentrantBlockableEventLoop implements + + this.setScreen(new TitleScreen(true)); + }, this.multiplayerBan())); ++ })); // Blueberry } else { - this.setScreen(new TitleScreen(true)); + this.setScreen(new net.blueberrymc.common.bml.client.gui.screens.ModLoadingProblemScreen(new TitleScreen())); // Blueberry } } -@@ -725,9 +730,10 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -739,9 +746,10 @@ public class Minecraft extends ReentrantBlockableEventLoop implements } public static void crash(CrashReport crashReport) { @@ -160,7 +170,7 @@ index 39ac42c69f34a2acb2c2975b6f37675751944c50..2c9ffb158155991c907a040fb2e9cebf if (crashReport.getSaveFile() != null) { Bootstrap.realStdoutPrintln("#@!@# Game crashed! Crash report saved to: #@!@# " + crashReport.getSaveFile()); System.exit(-1); -@@ -880,6 +886,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -894,6 +902,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements this.screen = screen; BufferUploader.reset(); @@ -168,7 +178,7 @@ index 39ac42c69f34a2acb2c2975b6f37675751944c50..2c9ffb158155991c907a040fb2e9cebf if (screen != null) { this.mouseHandler.releaseMouse(); KeyMapping.releaseAll(); -@@ -895,6 +902,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -909,6 +918,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements public void setOverlay(@Nullable Overlay overlay) { this.overlay = overlay; @@ -176,7 +186,7 @@ index 39ac42c69f34a2acb2c2975b6f37675751944c50..2c9ffb158155991c907a040fb2e9cebf } public void destroy() { -@@ -919,6 +927,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -933,6 +943,7 @@ public class Minecraft extends ReentrantBlockableEventLoop implements this.screen.removed(); } @@ -184,7 +194,7 @@ index 39ac42c69f34a2acb2c2975b6f37675751944c50..2c9ffb158155991c907a040fb2e9cebf this.close(); } finally { Util.timeSource = System::nanoTime; -@@ -1703,6 +1712,10 @@ public class Minecraft extends ReentrantBlockableEventLoop implements +@@ -1717,6 +1728,10 @@ public class Minecraft extends ReentrantBlockableEventLoop implements this.pendingConnection.tick(); } @@ -716,6 +726,20 @@ index 43f39473c5ef3de9e53e6722bea6a0a58382526e..f5254cecd40e9d643cb59316e929560a void handleStatusResponse(ClientboundStatusResponsePacket var1); void handlePongResponse(ClientboundPongResponsePacket var1); +diff --git a/src/main/java/net/minecraft/server/Bootstrap.java b/src/main/java/net/minecraft/server/Bootstrap.java +index 02f7c1a286a7b04be87bfca8bd7f2dbd186b0879..6c2ed40b1bdd9e566bcc48093f732d8965e83efe 100644 +--- a/src/main/java/net/minecraft/server/Bootstrap.java ++++ b/src/main/java/net/minecraft/server/Bootstrap.java +@@ -52,7 +52,8 @@ public class Bootstrap { + EntitySelectorOptions.bootStrap(); + DispenseItemBehavior.bootStrap(); + CauldronInteraction.bootStrap(); +- Registry.freezeBuiltins(); ++ //Registry.freezeBuiltins(); // Blueberry - don't freeze registries ++ net.blueberrymc.common.event.lifecycle.RegistryBootstrappedEvent.fire(); // Blueberry + wrapStreams(); + } + } diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java index 3ef4b97f18968f75213c7d3ce9276d91b46e26c9..3dddac41cf3163217f932217c90e6f21a69c8a68 100644 --- a/src/main/java/net/minecraft/server/Main.java diff --git a/MagmaCube-Patches/0013-Add-ResourceManager-remove-PackResources.patch b/MagmaCube-Patches/0013-Add-ResourceManager-remove-PackResources.patch index d062b514..d53f38c9 100644 --- a/MagmaCube-Patches/0013-Add-ResourceManager-remove-PackResources.patch +++ b/MagmaCube-Patches/0013-Add-ResourceManager-remove-PackResources.patch @@ -18,7 +18,7 @@ index 545dd6362633a1fabf73cbcc68e87bd90df23b17..e2ba61d1ecf81c74bd7be2a4cccd0daf return ImmutableSet.of(this.namespace); } diff --git a/src/main/java/net/minecraft/server/packs/resources/MultiPackResourceManager.java b/src/main/java/net/minecraft/server/packs/resources/MultiPackResourceManager.java -index 2faeab1ffca93dae4357b353dfd671100615926b..a4e414c694239c5e136c4d60b6318e4667d73314 100644 +index 62e8b49a734836c9ba3511b31ab5c37c93c8c568..a1e674d1e9a63e2ac4c97c15c9e40fc59f1ed3e6 100644 --- a/src/main/java/net/minecraft/server/packs/resources/MultiPackResourceManager.java +++ b/src/main/java/net/minecraft/server/packs/resources/MultiPackResourceManager.java @@ -22,7 +22,7 @@ public class MultiPackResourceManager implements CloseableResourceManager { @@ -28,7 +28,7 @@ index 2faeab1ffca93dae4357b353dfd671100615926b..a4e414c694239c5e136c4d60b6318e46 - this.packs = List.copyOf(list); + this.packs = new java.util.ArrayList<>(list); // Blueberry Map map = new HashMap(); - List list2 = list.stream().flatMap((packResourcesx) -> packResourcesx.getNamespaces(packType).stream()).toList(); + List list2 = list.stream().flatMap((packResourcesx) -> packResourcesx.getNamespaces(packType).stream()).distinct().toList(); @@ -106,4 +106,6 @@ public class MultiPackResourceManager implements CloseableResourceManager { public void close() { diff --git a/MagmaCube-Patches/0020-Implement-permissions-API.patch b/MagmaCube-Patches/0019-Implement-permissions-API.patch similarity index 100% rename from MagmaCube-Patches/0020-Implement-permissions-API.patch rename to MagmaCube-Patches/0019-Implement-permissions-API.patch diff --git a/MagmaCube-Patches/0019-Prevent-freezing-builtin-registries.patch b/MagmaCube-Patches/0019-Prevent-freezing-builtin-registries.patch deleted file mode 100644 index 6a499df4..00000000 --- a/MagmaCube-Patches/0019-Prevent-freezing-builtin-registries.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: acrylic-style -Date: Tue, 15 Feb 2022 02:15:35 +0900 -Subject: [PATCH] Prevent freezing builtin registries - -I still haven't found a way around this - -diff --git a/src/main/java/net/minecraft/server/Bootstrap.java b/src/main/java/net/minecraft/server/Bootstrap.java -index 02f7c1a286a7b04be87bfca8bd7f2dbd186b0879..2a06964f5bdf762d5e8917a2c5a4d4679e59b443 100644 ---- a/src/main/java/net/minecraft/server/Bootstrap.java -+++ b/src/main/java/net/minecraft/server/Bootstrap.java -@@ -52,7 +52,7 @@ public class Bootstrap { - EntitySelectorOptions.bootStrap(); - DispenseItemBehavior.bootStrap(); - CauldronInteraction.bootStrap(); -- Registry.freezeBuiltins(); -+ //Registry.freezeBuiltins(); // Blueberry - don't freeze registries - wrapStreams(); - } - } diff --git a/MagmaCube-Patches/0021-Custom-component-serializer-support.patch b/MagmaCube-Patches/0020-Custom-component-serializer-support.patch similarity index 100% rename from MagmaCube-Patches/0021-Custom-component-serializer-support.patch rename to MagmaCube-Patches/0020-Custom-component-serializer-support.patch diff --git a/buildSrc/src/main/kotlin/net/blueberrymc/gradle/buildSrc/constants/MagicConstants.kt b/buildSrc/src/main/kotlin/net/blueberrymc/gradle/buildSrc/constants/MagicConstants.kt index 6a4b84b0..6e2b0107 100644 --- a/buildSrc/src/main/kotlin/net/blueberrymc/gradle/buildSrc/constants/MagicConstants.kt +++ b/buildSrc/src/main/kotlin/net/blueberrymc/gradle/buildSrc/constants/MagicConstants.kt @@ -6,10 +6,10 @@ const val LOG4J_VERSION = "2.17.1" const val LWJGL_VERSION = "3.3.1" @Suppress("unused") // see .github/workflows/build.yml const val MAJOR_VERSION = "1.19" -const val MINECRAFT_VERSION = "22w24a" -const val CLIENT_JAR_URL = "https://piston-data.mojang.com/v1/objects/dc26b29eb345cbb60e3939af0b7c78fa52a60daa/client.jar" -const val SERVER_JAR_URL = "https://piston-data.mojang.com/v1/objects/fdad42550c3f0bcdc52680dcebd5b712d32bc5d7/server.jar" -const val CLIENT_MAPPING_URL = "https://piston-data.mojang.com/v1/objects/e30571a5d3b123b42dcf141570ed0737434e8c4c/client.txt" +const val MINECRAFT_VERSION = "1.19.1-pre1" +const val CLIENT_JAR_URL = "https://piston-data.mojang.com/v1/objects/6031a555a696b88b6dd39dd6ef034d70e7115a3c/client.jar" +const val SERVER_JAR_URL = "https://piston-data.mojang.com/v1/objects/a4d30a572176e81e115d36ec71bd2e67798ed14e/server.jar" +const val CLIENT_MAPPING_URL = "https://piston-data.mojang.com/v1/objects/b8b77a71ae0e9498d7fce7ebb8b6496718589eea/client.txt" const val MAPPING_VERSION = "22w05a" const val KOTLIN_VERSION = "1.6.10" @@ -26,7 +26,7 @@ val SERVER_LIBRARIES_LIST = listOf( "com.mojang:brigadier:1.0.18", "com.mojang:datafixerupper:5.0.28", "com.mojang:javabridge:1.2.24", - "com.mojang:authlib:3.6.42", + "com.mojang:authlib:3.7.43", "com.mojang:logging:1.0.0", "net.java.dev.jna:jna:5.9.0", "net.java.dev.jna:jna-platform:5.9.0",