eb60bffa98
Sets up the ability to load new or modified resource files into Paper. Updates paperweight to 1.5.6 This should work with all run configs, like runDev, runShadow, runReobf as well as correctly build jars for production.
51 Zeilen
3.5 KiB
Diff
51 Zeilen
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
Date: Fri, 10 Jul 2020 13:12:33 -0500
|
|
Subject: [PATCH] Fix SPIGOT-5824 Bukkit world-container is not used
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
|
index b549de337b1556816e3c4932546693cc3b8ad5d3..6b6b59e4a791cd8518e2e25fba1c63d63e81b1d1 100644
|
|
--- a/src/main/java/net/minecraft/server/Main.java
|
|
+++ b/src/main/java/net/minecraft/server/Main.java
|
|
@@ -180,8 +180,17 @@ public class Main {
|
|
return;
|
|
}
|
|
|
|
- File file = (File) optionset.valueOf("universe"); // CraftBukkit
|
|
- Services services = Services.create(new com.destroystokyo.paper.profile.PaperAuthenticationService(Proxy.NO_PROXY), file, optionset); // Paper
|
|
+ // Paper start - fix SPIGOT-5824
|
|
+ File file;
|
|
+ File userCacheFile = new File(Services.USERID_CACHE_FILE);
|
|
+ if (optionset.has("universe")) {
|
|
+ file = (File) optionset.valueOf("universe"); // CraftBukkit
|
|
+ userCacheFile = new File(file, Services.USERID_CACHE_FILE);
|
|
+ } else {
|
|
+ file = new File(bukkitConfiguration.getString("settings.world-container", "."));
|
|
+ }
|
|
+ // Paper end - fix SPIGOT-5824
|
|
+ Services services = Services.create(new com.destroystokyo.paper.profile.PaperAuthenticationService(Proxy.NO_PROXY), file, userCacheFile, optionset); // Paper
|
|
// CraftBukkit start
|
|
String s = (String) Optional.ofNullable((String) optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName);
|
|
LevelStorageSource convertable = LevelStorageSource.createDefault(file.toPath());
|
|
diff --git a/src/main/java/net/minecraft/server/Services.java b/src/main/java/net/minecraft/server/Services.java
|
|
index f1cc27809c1e8612f7c4fa912f5e39c07b09d808..a9b2c8cd4dcd3f884e4306bebee9334d3848fce5 100644
|
|
--- a/src/main/java/net/minecraft/server/Services.java
|
|
+++ b/src/main/java/net/minecraft/server/Services.java
|
|
@@ -22,12 +22,12 @@ public record Services(MinecraftSessionService sessionService, ServicesKeySet se
|
|
return java.util.Objects.requireNonNull(this.paperConfigurations);
|
|
}
|
|
// Paper end
|
|
- private static final String USERID_CACHE_FILE = "usercache.json";
|
|
+ public static final String USERID_CACHE_FILE = "usercache.json"; // Paper - private -> public
|
|
|
|
- public static Services create(YggdrasilAuthenticationService authenticationService, File rootDirectory, joptsimple.OptionSet optionSet) throws Exception { // Paper
|
|
+ public static Services create(YggdrasilAuthenticationService authenticationService, File rootDirectory, File userCacheFile, joptsimple.OptionSet optionSet) throws Exception { // Paper
|
|
MinecraftSessionService minecraftSessionService = authenticationService.createMinecraftSessionService();
|
|
GameProfileRepository gameProfileRepository = authenticationService.createProfileRepository();
|
|
- GameProfileCache gameProfileCache = new GameProfileCache(gameProfileRepository, new File(rootDirectory, "usercache.json"));
|
|
+ GameProfileCache gameProfileCache = new GameProfileCache(gameProfileRepository, userCacheFile); // Paper
|
|
// Paper start
|
|
final java.nio.file.Path legacyConfigPath = ((File) optionSet.valueOf("paper-settings")).toPath();
|
|
final java.nio.file.Path configDirPath = ((File) optionSet.valueOf("paper-settings-directory")).toPath();
|