Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a697b179e7 | |||
| 904abaa564 | |||
| d1aeaa83f4 | |||
| 145eae3c41 | |||
| 6e61e12285 |
+10
-8
@@ -3,7 +3,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
java // TODO java launcher tasks
|
java // TODO java launcher tasks
|
||||||
id("io.papermc.paperweight.patcher") version "2.0.0-beta.17"
|
id("moe.luminolmc.hyacinthusweight.patcher") version "+" // Automatically pulls the latest
|
||||||
}
|
}
|
||||||
|
|
||||||
paperweight {
|
paperweight {
|
||||||
@@ -41,6 +41,7 @@ paperweight {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"
|
val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"
|
||||||
|
val menthaMavenPublicUrl = "https://repo.menthamc.com/repository/maven-public/";
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
apply(plugin = "java-library")
|
apply(plugin = "java-library")
|
||||||
@@ -55,6 +56,7 @@ subprojects {
|
|||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven(paperMavenPublicUrl)
|
maven(paperMavenPublicUrl)
|
||||||
|
maven(menthaMavenPublicUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@@ -65,15 +67,15 @@ subprojects {
|
|||||||
isPreserveFileTimestamps = false
|
isPreserveFileTimestamps = false
|
||||||
isReproducibleFileOrder = true
|
isReproducibleFileOrder = true
|
||||||
}
|
}
|
||||||
tasks.withType<JavaCompile> {
|
tasks.withType<JavaCompile>().configureEach {
|
||||||
options.encoding = Charsets.UTF_8.name()
|
options.encoding = Charsets.UTF_8.name()
|
||||||
options.release = 21
|
options.release = 21
|
||||||
options.isFork = true
|
options.isFork = true
|
||||||
}
|
}
|
||||||
tasks.withType<Javadoc> {
|
tasks.withType<Javadoc>().configureEach {
|
||||||
options.encoding = Charsets.UTF_8.name()
|
options.encoding = Charsets.UTF_8.name()
|
||||||
}
|
}
|
||||||
tasks.withType<ProcessResources> {
|
tasks.withType<ProcessResources>().configureEach {
|
||||||
filteringCharset = Charsets.UTF_8.name()
|
filteringCharset = Charsets.UTF_8.name()
|
||||||
}
|
}
|
||||||
tasks.withType<Test> {
|
tasks.withType<Test> {
|
||||||
@@ -89,14 +91,14 @@ subprojects {
|
|||||||
maven("https://repo.menthamc.com/repository/maven-snapshots/") {
|
maven("https://repo.menthamc.com/repository/maven-snapshots/") {
|
||||||
name = "MenthaMC"
|
name = "MenthaMC"
|
||||||
credentials(PasswordCredentials::class) {
|
credentials(PasswordCredentials::class) {
|
||||||
username = System.getenv("MAVEN_REPO_USER")
|
username = System.getenv("PRIVATE_MAVEN_REPO_USERNAME")
|
||||||
password = System.getenv("MAVEN_REPO_PASSWORD")
|
password = System.getenv("PRIVATE_MAVEN_REPO_PASSWORD")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<Javadoc> {
|
tasks.withType<Javadoc>().configureEach {
|
||||||
options {
|
options {
|
||||||
(this as StandardJavadocDocletOptions).apply {
|
(this as StandardJavadocDocletOptions).apply {
|
||||||
addStringOption("-add-modules", "jdk.incubator.vector")
|
addStringOption("-add-modules", "jdk.incubator.vector")
|
||||||
@@ -104,4 +106,4 @@ subprojects {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+1
-1
@@ -2,7 +2,7 @@ group=fun.bm.lophine
|
|||||||
version=1.21.7-R0.1-SNAPSHOT
|
version=1.21.7-R0.1-SNAPSHOT
|
||||||
mcVersion=1.21.7
|
mcVersion=1.21.7
|
||||||
|
|
||||||
luminolRef=04a96ef9dd62f42e858ffb2216d855d43218df89
|
luminolRef=1cb5d158eaa29ff188ae9f09091d7fe6814df3dc
|
||||||
|
|
||||||
org.gradle.configuration-cache=true
|
org.gradle.configuration-cache=true
|
||||||
org.gradle.caching=true
|
org.gradle.caching=true
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|||||||
@@ -4,302 +4,30 @@ Date: Sun, 8 Jun 2025 00:58:13 +0800
|
|||||||
Subject: [PATCH] Rebrand to Lophine
|
Subject: [PATCH] Rebrand to Lophine
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/me/earthme/luminol/commands/LuminolConfigCommand.java b/src/main/java/me/earthme/luminol/commands/LuminolConfigCommand.java
|
diff --git a/src/main/java/me/earthme/luminol/config/ConfigManager.java b/src/main/java/me/earthme/luminol/config/ConfigManager.java
|
||||||
index fb63e2a3205ea9f7aaee0ff0f4dc0cc1a5268507..645f2f41de74f4461685c753dcd6cfc5dfa8b2ab 100644
|
index 26a812cd526acfd1edf31a5c9799fa6deeae927a..9b01cf6f066b2998a2b178321782be1c96f73b0c 100644
|
||||||
--- a/src/main/java/me/earthme/luminol/commands/LuminolConfigCommand.java
|
--- a/src/main/java/me/earthme/luminol/config/ConfigManager.java
|
||||||
+++ b/src/main/java/me/earthme/luminol/commands/LuminolConfigCommand.java
|
+++ b/src/main/java/me/earthme/luminol/config/ConfigManager.java
|
||||||
@@ -13,11 +13,17 @@ import java.util.ArrayList;
|
@@ -19,6 +19,7 @@ public class ConfigManager {
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class LuminolConfigCommand extends Command {
|
public static void initConfigs() throws IOException {
|
||||||
- public LuminolConfigCommand() {
|
configfiles.put("luminol", new ConfigsInstance(new File("luminol_config"), "luminol", "me.earthme.luminol.config.modules"));
|
||||||
- super("luminolconfig");
|
+ configfiles.put("lophine", new ConfigsInstance(new File("lophine_config"), "lophine", "fun.bm.lophine.config.modules")); // add lophine config to global config
|
||||||
- this.setPermission("luminol.commands.luminolconfig");
|
preLoad();
|
||||||
+ private LuminolConfig config;
|
|
||||||
+
|
|
||||||
+ public LuminolConfigCommand(String name) {
|
|
||||||
+ super(name + "config");
|
|
||||||
+ this.setPermission(name + ".commands." + name + "config");
|
|
||||||
this.setDescription("Manage config file");
|
|
||||||
- this.setUsage("/luminolconfig");
|
|
||||||
+ this.setUsage("/" + name + "config");
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void initConfig(LuminolConfig config) {
|
|
||||||
+ this.config = config;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void wrongUse(CommandSender sender) {
|
diff --git a/src/main/java/me/earthme/luminol/config/modules/experiment/CommandBlockExecutionConfig.java b/src/main/java/me/earthme/luminol/config/modules/experiment/CommandBlockExecutionConfig.java
|
||||||
@@ -38,7 +44,7 @@ public class LuminolConfigCommand extends Command {
|
index 531214d7ab28ece4bf84e82b39d1c9f983f0fb0c..b68fa0427bb975e91e76f73ab4cc089a424937a3 100644
|
||||||
result.add("reset");
|
--- a/src/main/java/me/earthme/luminol/config/modules/experiment/CommandBlockExecutionConfig.java
|
||||||
result.add("reload");
|
+++ b/src/main/java/me/earthme/luminol/config/modules/experiment/CommandBlockExecutionConfig.java
|
||||||
} else if (args.length == 2 && (args[0].equals("query") || args[0].equals("set") || args[0].equals("reset"))) {
|
@@ -5,6 +5,7 @@ import me.earthme.luminol.config.IConfigModule;
|
||||||
- result.addAll(LuminolConfig.completeConfigPath(args[1]));
|
import me.earthme.luminol.config.flags.ConfigInfo;
|
||||||
+ result.addAll(config.completeConfigPath(args[1]));
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
@@ -59,7 +65,7 @@ public class LuminolConfigCommand extends Command {
|
|
||||||
|
|
||||||
switch (args[0]) {
|
public class CommandBlockExecutionConfig implements IConfigModule {
|
||||||
case "reload" -> {
|
+ @me.earthme.luminol.config.flags.TransformedConfig(name = "command_block_enabled", category = {"experiment", "command"}, originInstance = "lophine")
|
||||||
- LuminolConfig.reloadAsync().thenAccept(nullValue -> sender.sendMessage(
|
@ConfigInfo(baseName = "enabled")
|
||||||
+ config.reloadAsync().thenAccept(nullValue -> sender.sendMessage(
|
public static boolean enabled = false;
|
||||||
Component
|
|
||||||
.text("Reloaded config file!")
|
|
||||||
.color(TextColor.color(0, 255, 0))
|
|
||||||
@@ -69,8 +75,8 @@ public class LuminolConfigCommand extends Command {
|
|
||||||
if (args.length == 2 || args.length > 3) {
|
|
||||||
wrongUse(sender);
|
|
||||||
return true;
|
|
||||||
- } else if (LuminolConfig.setConfig(args[1], args[2])) {
|
|
||||||
- LuminolConfig.reloadAsync().thenAccept(nullValue -> sender.sendMessage(
|
|
||||||
+ } else if (config.setConfig(args[1], args[2])) {
|
|
||||||
+ config.reloadAsync().thenAccept(nullValue -> sender.sendMessage(
|
|
||||||
Component
|
|
||||||
.text("Set Config " + args[1] + " to " + args[2] + " successfully!")
|
|
||||||
.color(TextColor.color(0, 255, 0))
|
|
||||||
@@ -88,10 +94,10 @@ public class LuminolConfigCommand extends Command {
|
|
||||||
wrongUse(sender);
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
- LuminolConfig.resetConfig(args[1]);
|
|
||||||
- LuminolConfig.reloadAsync().thenAccept(nullValue -> sender.sendMessage(
|
|
||||||
+ config.resetConfig(args[1]);
|
|
||||||
+ config.reloadAsync().thenAccept(nullValue -> sender.sendMessage(
|
|
||||||
Component
|
|
||||||
- .text("Reset Config " + args[1] + " to " + LuminolConfig.getConfig(args[1]) + " successfully!")
|
|
||||||
+ .text("Reset Config " + args[1] + " to " + config.getConfig(args[1]) + " successfully!")
|
|
||||||
.color(TextColor.color(0, 255, 0))
|
|
||||||
));
|
|
||||||
}
|
|
||||||
@@ -103,7 +109,7 @@ public class LuminolConfigCommand extends Command {
|
|
||||||
} else {
|
|
||||||
sender.sendMessage(
|
|
||||||
Component
|
|
||||||
- .text("Config " + args[1] + " is " + LuminolConfig.getConfig(args[1]) + "!")
|
|
||||||
+ .text("Config " + args[1] + " is " + config.getConfig(args[1]) + "!")
|
|
||||||
.color(TextColor.color(0, 255, 0))
|
|
||||||
);
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/me/earthme/luminol/config/LuminolConfig.java b/src/main/java/me/earthme/luminol/config/LuminolConfig.java
|
|
||||||
index 4526eba8e9dfb605bc4672a3eaf0688a5af66049..c05aa7296cd41e21306acd0b8fbc6d6684f56d9a 100644
|
|
||||||
--- a/src/main/java/me/earthme/luminol/config/LuminolConfig.java
|
|
||||||
+++ b/src/main/java/me/earthme/luminol/config/LuminolConfig.java
|
|
||||||
@@ -29,22 +29,33 @@ import java.util.jar.JarEntry;
|
|
||||||
import java.util.jar.JarFile;
|
|
||||||
|
|
||||||
public class LuminolConfig {
|
|
||||||
- public static final Logger logger = LogManager.getLogger();
|
|
||||||
- private static final File baseConfigFolder = new File("luminol_config");
|
|
||||||
- private static final File baseConfigFile = new File(baseConfigFolder, "luminol_global_config.toml");
|
|
||||||
- private static final Set<IConfigModule> allInstanced = new HashSet<>();
|
|
||||||
- private static final Map<String, Object> stagedConfigMap = new HashMap<>();
|
|
||||||
- private static final Map<String, Object> defaultvalueMap = new HashMap<>();
|
|
||||||
- public static boolean alreadyInit = false;
|
|
||||||
- private static CommentedFileConfig configFileInstance;
|
|
||||||
-
|
|
||||||
- public static void setupLatch() {
|
|
||||||
- Bukkit.getCommandMap().register("luminolconfig", "luminol", new LuminolConfigCommand());
|
|
||||||
+ public final Logger logger = LogManager.getLogger();
|
|
||||||
+ private final File baseConfigFolder;
|
|
||||||
+ private final File baseConfigFile;
|
|
||||||
+ private final String name;
|
|
||||||
+ private final String pack;
|
|
||||||
+ private final Set<IConfigModule> allInstanced = new HashSet<>();
|
|
||||||
+ private final Map<String, Object> stagedConfigMap = new HashMap<>();
|
|
||||||
+ private final Map<String, Object> defaultvalueMap = new HashMap<>();
|
|
||||||
+ public boolean alreadyInit = false;
|
|
||||||
+ private CommentedFileConfig configFileInstance;
|
|
||||||
+
|
|
||||||
+ public LuminolConfig(@NotNull File base, @NotNull String name, @NotNull String pack) {
|
|
||||||
+ this.baseConfigFolder = base;
|
|
||||||
+ this.name = name;
|
|
||||||
+ this.pack = pack;
|
|
||||||
+ this.baseConfigFile = new File(base, name + "_global_config.toml");
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void setupLatch() {
|
|
||||||
+ LuminolConfigCommand command = new LuminolConfigCommand(name);
|
|
||||||
+ Bukkit.getCommandMap().register(name + "config", name, command);
|
|
||||||
+ command.initConfig(this);
|
|
||||||
alreadyInit = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static void reload() {
|
|
||||||
- RegionizedServer.ensureGlobalTickThread("Reload luminol config off global region thread!");
|
|
||||||
+ public void reload() {
|
|
||||||
+ RegionizedServer.ensureGlobalTickThread("Reload " + name + " config off global region thread!");
|
|
||||||
|
|
||||||
dropAllInstanced();
|
|
||||||
try {
|
|
||||||
@@ -56,8 +67,8 @@ public class LuminolConfig {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Contract(" -> new")
|
|
||||||
- public static @NotNull CompletableFuture<Void> reloadAsync() {
|
|
||||||
- return CompletableFuture.runAsync(LuminolConfig::reload, task -> RegionizedServer.getInstance().addTask(() -> {
|
|
||||||
+ public @NotNull CompletableFuture<Void> reloadAsync() {
|
|
||||||
+ return CompletableFuture.runAsync(this::reload, task -> RegionizedServer.getInstance().addTask(() -> {
|
|
||||||
try {
|
|
||||||
task.run();
|
|
||||||
} catch (Exception e) {
|
|
||||||
@@ -66,17 +77,17 @@ public class LuminolConfig {
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static void dropAllInstanced() {
|
|
||||||
+ public void dropAllInstanced() {
|
|
||||||
allInstanced.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static void finalizeLoadConfig() {
|
|
||||||
+ public void finalizeLoadConfig() {
|
|
||||||
for (IConfigModule module : allInstanced) {
|
|
||||||
module.onLoaded(configFileInstance);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static void preLoadConfig() throws IOException {
|
|
||||||
+ public void preLoadConfig() throws IOException {
|
|
||||||
baseConfigFolder.mkdirs();
|
|
||||||
|
|
||||||
if (!baseConfigFile.exists()) {
|
|
||||||
@@ -98,21 +109,21 @@ public class LuminolConfig {
|
|
||||||
saveConfigs();
|
|
||||||
}
|
|
||||||
|
|
||||||
- private static void loadAllModules() throws IllegalAccessException {
|
|
||||||
+ private void loadAllModules() throws IllegalAccessException {
|
|
||||||
for (IConfigModule instanced : allInstanced) {
|
|
||||||
loadForSingle(instanced);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- private static void instanceAllModule() throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
|
|
||||||
- for (Class<?> clazz : getClasses("me.earthme.luminol.config.modules")) {
|
|
||||||
+ private void instanceAllModule() throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
|
|
||||||
+ for (Class<?> clazz : getClasses(pack)) {
|
|
||||||
if (IConfigModule.class.isAssignableFrom(clazz)) {
|
|
||||||
allInstanced.add((IConfigModule) clazz.getConstructor().newInstance());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- private static void loadForSingle(@NotNull IConfigModule singleConfigModule) throws IllegalAccessException {
|
|
||||||
+ private void loadForSingle(@NotNull IConfigModule singleConfigModule) throws IllegalAccessException {
|
|
||||||
final EnumConfigCategory category = singleConfigModule.getCategory();
|
|
||||||
|
|
||||||
Field[] fields = singleConfigModule.getClass().getDeclaredFields();
|
|
||||||
@@ -203,7 +214,7 @@ public class LuminolConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static void removeConfig(String name, String[] keys) {
|
|
||||||
+ public void removeConfig(String name, String[] keys) {
|
|
||||||
configFileInstance.remove(name);
|
|
||||||
Object configAtPath = configFileInstance.get(String.join(".", keys));
|
|
||||||
if (configAtPath instanceof UnmodifiableConfig && ((UnmodifiableConfig) configAtPath).isEmpty()) {
|
|
||||||
@@ -211,7 +222,7 @@ public class LuminolConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static void removeConfig(String[] keys) {
|
|
||||||
+ public void removeConfig(String[] keys) {
|
|
||||||
configFileInstance.remove(String.join(".", keys));
|
|
||||||
Object configAtPath = configFileInstance.get(String.join(".", Arrays.copyOfRange(keys, 1, keys.length)));
|
|
||||||
if (configAtPath instanceof UnmodifiableConfig && ((UnmodifiableConfig) configAtPath).isEmpty()) {
|
|
||||||
@@ -219,11 +230,11 @@ public class LuminolConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static boolean setConfig(String[] keys, Object value) {
|
|
||||||
+ public boolean setConfig(String[] keys, Object value) {
|
|
||||||
return setConfig(String.join(".", keys), value);
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static boolean setConfig(String key, Object value) {
|
|
||||||
+ public boolean setConfig(String key, Object value) {
|
|
||||||
if (configFileInstance.contains(key) && configFileInstance.get(key) != null) {
|
|
||||||
stagedConfigMap.put(key, value);
|
|
||||||
return true;
|
|
||||||
@@ -231,7 +242,7 @@ public class LuminolConfig {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private static Object tryTransform(Class<?> targetType, Object value) {
|
|
||||||
+ private Object tryTransform(Class<?> targetType, Object value) {
|
|
||||||
if (!targetType.isAssignableFrom(value.getClass())) {
|
|
||||||
try {
|
|
||||||
if (targetType == Integer.class) {
|
|
||||||
@@ -255,27 +266,27 @@ public class LuminolConfig {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static void saveConfigs() {
|
|
||||||
+ public void saveConfigs() {
|
|
||||||
configFileInstance.save();
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static void resetConfig(String[] keys) {
|
|
||||||
+ public void resetConfig(String[] keys) {
|
|
||||||
resetConfig(String.join(".", keys));
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static void resetConfig(String key) {
|
|
||||||
+ public void resetConfig(String key) {
|
|
||||||
stagedConfigMap.put(key, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static String getConfig(String[] keys) {
|
|
||||||
+ public String getConfig(String[] keys) {
|
|
||||||
return getConfig(String.join(".", keys));
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static String getConfig(String key) {
|
|
||||||
+ public String getConfig(String key) {
|
|
||||||
return configFileInstance.get(key).toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static List<String> completeConfigPath(String partialPath) {
|
|
||||||
+ public List<String> completeConfigPath(String partialPath) {
|
|
||||||
List<String> allPaths = getAllConfigPaths(partialPath);
|
|
||||||
List<String> result = new ArrayList<>();
|
|
||||||
|
|
||||||
@@ -295,13 +306,13 @@ public class LuminolConfig {
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private static List<String> getAllConfigPaths(String currentPath) {
|
|
||||||
+ private List<String> getAllConfigPaths(String currentPath) {
|
|
||||||
return defaultvalueMap.keySet().stream()
|
|
||||||
.filter(k -> k.startsWith(currentPath))
|
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
- public static @NotNull Set<Class<?>> getClasses(String pack) {
|
|
||||||
+ public @NotNull Set<Class<?>> getClasses(String pack) {
|
|
||||||
Set<Class<?>> classes = new LinkedHashSet<>();
|
|
||||||
String packageDirName = pack.replace('.', '/');
|
|
||||||
Enumeration<URL> dirs;
|
|
||||||
@@ -332,7 +343,7 @@ public class LuminolConfig {
|
|
||||||
return classes;
|
|
||||||
}
|
|
||||||
|
|
||||||
- private static void findClassesInPackageByFile(String packageName, String packagePath, Set<Class<?>> classes) {
|
|
||||||
+ private void findClassesInPackageByFile(String packageName, String packagePath, Set<Class<?>> classes) {
|
|
||||||
File dir = new File(packagePath);
|
|
||||||
|
|
||||||
if (!dir.exists() || !dir.isDirectory()) {
|
|
||||||
@@ -356,7 +367,7 @@ public class LuminolConfig {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- private static void findClassesInPackageByJar(String packageName, Enumeration<JarEntry> entries, String packageDirName, Set<Class<?>> classes) {
|
|
||||||
+ private void findClassesInPackageByJar(String packageName, Enumeration<JarEntry> entries, String packageDirName, Set<Class<?>> classes) {
|
|
||||||
while (entries.hasMoreElements()) {
|
|
||||||
JarEntry entry = entries.nextElement();
|
|
||||||
String name = entry.getName();
|
|
||||||
diff --git a/src/main/java/me/earthme/luminol/config/modules/misc/ServerModNameConfig.java b/src/main/java/me/earthme/luminol/config/modules/misc/ServerModNameConfig.java
|
diff --git a/src/main/java/me/earthme/luminol/config/modules/misc/ServerModNameConfig.java b/src/main/java/me/earthme/luminol/config/modules/misc/ServerModNameConfig.java
|
||||||
index ded1f0667327a70a923ebda55c41b1c9094d3e37..57ddc0832b919b115b85c81ac30f136e32f1e77e 100644
|
index ded1f0667327a70a923ebda55c41b1c9094d3e37..57ddc0832b919b115b85c81ac30f136e32f1e77e 100644
|
||||||
--- a/src/main/java/me/earthme/luminol/config/modules/misc/ServerModNameConfig.java
|
--- a/src/main/java/me/earthme/luminol/config/modules/misc/ServerModNameConfig.java
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Helvetica Volubi <suisuroru@blue-millennium.fun>
|
|
||||||
Date: Sun, 8 Jun 2025 00:58:12 +0800
|
|
||||||
Subject: [PATCH] Rebrand to Lophine
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/Main.java b/net/minecraft/server/Main.java
|
|
||||||
index a75a5ce8477da8d3f7b0ae41bfbd75defe1d2ed4..ad80d198d96bb05d71200958216c4223bde7bb97 100644
|
|
||||||
--- a/net/minecraft/server/Main.java
|
|
||||||
+++ b/net/minecraft/server/Main.java
|
|
||||||
@@ -109,7 +109,7 @@ public class Main {
|
|
||||||
JvmProfiler.INSTANCE.start(Environment.SERVER);
|
|
||||||
}
|
|
||||||
|
|
||||||
- me.earthme.luminol.config.LuminolConfig.preLoadConfig(); // Luminol - Luminol config
|
|
||||||
+ fun.bm.lophine.config.LophineConfig.initConfigs(); // Lophine - Lophine config
|
|
||||||
io.papermc.paper.plugin.PluginInitializerManager.load(optionSet); // Paper
|
|
||||||
Bootstrap.bootStrap();
|
|
||||||
Bootstrap.validate();
|
|
||||||
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
|
||||||
index 1f3c26cc9f3b687693c36f2946394fad5ab6bc9f..45cd92cd69bcb66b94bc6278f2897ea4a31c45b6 100644
|
|
||||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
|
||||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
|
||||||
@@ -171,8 +171,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
|
||||||
this.paperConfigurations.initializeGlobalConfiguration(this.registryAccess());
|
|
||||||
this.paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess());
|
|
||||||
// Paper end - initialize global and world-defaults configuration
|
|
||||||
- me.earthme.luminol.config.LuminolConfig.finalizeLoadConfig(); // Luminol - load config file
|
|
||||||
- me.earthme.luminol.config.LuminolConfig.setupLatch(); // Luminol - load config file
|
|
||||||
+ fun.bm.lophine.config.LophineConfig.loadConfigFiles(); // Lophine - load config file
|
|
||||||
if (false) this.server.spark.enableEarlyIfRequested(); // Paper - spark // Luminol - Force disable builtin spark
|
|
||||||
// Paper start - fix converting txt to json file; convert old users earlier after PlayerList creation but before file load/save
|
|
||||||
if (this.convertOldUsers()) {
|
|
||||||
-19
@@ -1,19 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: MrHua269 <wangxyper@163.com>
|
|
||||||
Date: Sun, 12 Jan 2025 10:36:31 +0800
|
|
||||||
Subject: [PATCH] Add config for command block command execution
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/world/level/BaseCommandBlock.java b/net/minecraft/world/level/BaseCommandBlock.java
|
|
||||||
index 8b8ce26de104211728d4b64e641a2b471ce89073..fde808499f047128010fd3f94ba086dfab44299a 100644
|
|
||||||
--- a/net/minecraft/world/level/BaseCommandBlock.java
|
|
||||||
+++ b/net/minecraft/world/level/BaseCommandBlock.java
|
|
||||||
@@ -96,7 +96,7 @@ public abstract class BaseCommandBlock implements CommandSource {
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean performCommand(Level level) {
|
|
||||||
- if (true) return false; // Folia - region threading
|
|
||||||
+ if (!fun.bm.lophine.config.modules.experiment.CommandConfig.block) return false; // Folia - region threading // Luminol
|
|
||||||
if (level.isClientSide || level.getGameTime() == this.lastExecution) {
|
|
||||||
return false;
|
|
||||||
} else if ("Searge".equalsIgnoreCase(this.command)) {
|
|
||||||
+7
-7
@@ -5,7 +5,7 @@ Subject: [PATCH] Add config to enable tick command
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/io/papermc/paper/threadedregions/RegionizedServer.java b/io/papermc/paper/threadedregions/RegionizedServer.java
|
diff --git a/io/papermc/paper/threadedregions/RegionizedServer.java b/io/papermc/paper/threadedregions/RegionizedServer.java
|
||||||
index 8e91ec81128bdbd5f78e1f04fe17bcbd6e5dc280..acdc5dbc34071dc4342f17fab0d483d775c9044d 100644
|
index e1842ab8f20271a8b20ab8462b09a4745a612a9a..8405157ec35a443e238fa6866772c839621d73d7 100644
|
||||||
--- a/io/papermc/paper/threadedregions/RegionizedServer.java
|
--- a/io/papermc/paper/threadedregions/RegionizedServer.java
|
||||||
+++ b/io/papermc/paper/threadedregions/RegionizedServer.java
|
+++ b/io/papermc/paper/threadedregions/RegionizedServer.java
|
||||||
@@ -299,6 +299,11 @@ public final class RegionizedServer {
|
@@ -299,6 +299,11 @@ public final class RegionizedServer {
|
||||||
@@ -18,9 +18,9 @@ index 8e91ec81128bdbd5f78e1f04fe17bcbd6e5dc280..acdc5dbc34071dc4342f17fab0d483d7
|
|||||||
+ }
|
+ }
|
||||||
+ // Luminol end - Add a config to enable tick command
|
+ // Luminol end - Add a config to enable tick command
|
||||||
// expire invalid click command callbacks
|
// expire invalid click command callbacks
|
||||||
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue((int)this.tickCount);
|
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.ADVENTURE_CLICK_MANAGER.handleQueue((int)this.tickCount); // Paper // Folia - region threading - moved to global tick
|
||||||
|
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.DIALOG_CLICK_MANAGER.handleQueue((int)this.tickCount); // Paper // Folia - region threading - moved to global tick
|
||||||
@@ -321,6 +326,13 @@ public final class RegionizedServer {
|
@@ -322,6 +327,13 @@ public final class RegionizedServer {
|
||||||
this.globalTick(world, tickCount);
|
this.globalTick(world, tickCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ index 8e91ec81128bdbd5f78e1f04fe17bcbd6e5dc280..acdc5dbc34071dc4342f17fab0d483d7
|
|||||||
// tick connections
|
// tick connections
|
||||||
this.tickConnections();
|
this.tickConnections();
|
||||||
|
|
||||||
@@ -454,7 +466,7 @@ public final class RegionizedServer {
|
@@ -455,7 +467,7 @@ public final class RegionizedServer {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tickTime(final ServerLevel world, final int tickCount) {
|
private void tickTime(final ServerLevel world, final int tickCount) {
|
||||||
@@ -97,7 +97,7 @@ index 0357792de0ed8ec9058d1847c8b45c33ff365af6..4945c11f573a53df2f5be4beb7af6a3f
|
|||||||
this.scheduler.regionFailed(this, false, thr);
|
this.scheduler.regionFailed(this, false, thr);
|
||||||
// regionFailed will schedule a shutdown, so we should avoid letting this region tick further
|
// regionFailed will schedule a shutdown, so we should avoid letting this region tick further
|
||||||
diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java
|
diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java
|
||||||
index 14719cca5ff91c8647b3b616b2dfd4d153946d92..4a872ce3a3815d42da124a20af1bf232c9b47e12 100644
|
index 8a90aa5c145f53afbb3f2371f97cb09974f30bbb..0d5ed9602492c8393088954105e9a19032067b8b 100644
|
||||||
--- a/net/minecraft/commands/Commands.java
|
--- a/net/minecraft/commands/Commands.java
|
||||||
+++ b/net/minecraft/commands/Commands.java
|
+++ b/net/minecraft/commands/Commands.java
|
||||||
@@ -243,7 +243,11 @@ public class Commands {
|
@@ -243,7 +243,11 @@ public class Commands {
|
||||||
@@ -114,7 +114,7 @@ index 14719cca5ff91c8647b3b616b2dfd4d153946d92..4a872ce3a3815d42da124a20af1bf232
|
|||||||
TitleCommand.register(this.dispatcher, context);
|
TitleCommand.register(this.dispatcher, context);
|
||||||
//TriggerCommand.register(this.dispatcher); // Folia - region threading - TODO later
|
//TriggerCommand.register(this.dispatcher); // Folia - region threading - TODO later
|
||||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||||
index 737df5c9345e22fa4487cbb83c7462b92a4f9e78..9f868e8865a1360b27cc8ac990f3a07d893af722 100644
|
index 2ed2f4cca3a81117c0beaf7a11bbbe8156f6a9ce..6675b83c9f15d0341dcf169ec3ac20f401c5d10b 100644
|
||||||
--- a/net/minecraft/server/MinecraftServer.java
|
--- a/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/net/minecraft/server/MinecraftServer.java
|
+++ b/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -267,7 +267,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -267,7 +267,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
+2
-2
@@ -20,10 +20,10 @@ index 0d5ed9602492c8393088954105e9a19032067b8b..e2fc15d84fafde6847ecead23c551694
|
|||||||
DefaultGameModeCommands.register(this.dispatcher);
|
DefaultGameModeCommands.register(this.dispatcher);
|
||||||
//DialogCommand.register(this.dispatcher, context); // Folia - region threading - TODO
|
//DialogCommand.register(this.dispatcher, context); // Folia - region threading - TODO
|
||||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||||
index c285fb3b0e6d3eeda8d4c9132dbd917f4f8ec20c..065f6fcf20939f79b647ffeee63dd4d8f5133bae 100644
|
index 6675b83c9f15d0341dcf169ec3ac20f401c5d10b..e8c9e739de35313c0212bab97a202fa362fd0887 100644
|
||||||
--- a/net/minecraft/server/MinecraftServer.java
|
--- a/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/net/minecraft/server/MinecraftServer.java
|
+++ b/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -2348,6 +2348,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -2349,6 +2349,16 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
return this.reloadResources(selectedIds, io.papermc.paper.event.server.ServerResourcesReloadedEvent.Cause.PLUGIN);
|
return this.reloadResources(selectedIds, io.papermc.paper.event.server.ServerResourcesReloadedEvent.Cause.PLUGIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
+2
-2
@@ -5,7 +5,7 @@ Subject: [PATCH] Add config to enable Cross Region Damage trace
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 4c7a61e48d12a55af42b0dec6d072db321d3780a..0f6b2603875031048e6d6bfcd47c0e8923cdc71a 100644
|
index 06e41bca6b964ca71ea7bca547b03cdb3610ba31..b7bc75648634aefc549a69631ab6e401eb902e7d 100644
|
||||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -1341,6 +1341,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
@@ -1341,6 +1341,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||||
@@ -48,7 +48,7 @@ index 4c7a61e48d12a55af42b0dec6d072db321d3780a..0f6b2603875031048e6d6bfcd47c0e89
|
|||||||
AABB aabb = new AABB(this.blockPosition()).inflate(32.0, 10.0, 32.0);
|
AABB aabb = new AABB(this.blockPosition()).inflate(32.0, 10.0, 32.0);
|
||||||
this.level()
|
this.level()
|
||||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 19b44e5b5c4c0b7caee7f67420ac4732da52c375..b66d4ccaff4a3168d08b36590bd42d663b7f1ca3 100644
|
index d55a6989fd68f0bcf7bd05e9420fda1115afa6c0..5369a6597e48ed9f0d8f7f0b9685ce4950df4fe5 100644
|
||||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -1216,6 +1216,29 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
@@ -1216,6 +1216,29 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||||
+4
-4
@@ -18,7 +18,7 @@ index 6868b915bf3deb85783a638d4441a15fea6da2dc..70740381c6501c1a518c52b24381edd1
|
|||||||
double rangeY = level.paperConfig().entities.trackingRangeY.get(this.entity, -1);
|
double rangeY = level.paperConfig().entities.trackingRangeY.get(this.entity, -1);
|
||||||
if (rangeY != -1) {
|
if (rangeY != -1) {
|
||||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||||
index b936d50e8c3668783d4b8d9d65b33706787f7791..bbe96ce3b9c0634018c74dcbe77e9ac67a5edcd6 100644
|
index dc3d29b7d1590ba366755fef51e4254d901d0da8..34b1597c56046f8fc5ab5fe9d8a5d3c96a4bc134 100644
|
||||||
--- a/net/minecraft/world/entity/Entity.java
|
--- a/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/net/minecraft/world/entity/Entity.java
|
+++ b/net/minecraft/world/entity/Entity.java
|
||||||
@@ -147,7 +147,7 @@ import net.minecraft.world.waypoints.WaypointTransmitter;
|
@@ -147,7 +147,7 @@ import net.minecraft.world.waypoints.WaypointTransmitter;
|
||||||
@@ -30,7 +30,7 @@ index b936d50e8c3668783d4b8d9d65b33706787f7791..bbe96ce3b9c0634018c74dcbe77e9ac6
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
private static final int CURRENT_LEVEL = 2;
|
private static final int CURRENT_LEVEL = 2;
|
||||||
public boolean preserveMotion = true; // Paper - Fix Entity Teleportation and cancel velocity if teleported; keep initial motion on first snapTo
|
public boolean preserveMotion = true; // Paper - Fix Entity Teleportation and cancel velocity if teleported; keep initial motion on first snapTo
|
||||||
@@ -6353,4 +6353,46 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
@@ -6352,4 +6352,46 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||||
// Paper end - Expose entity id counter
|
// Paper end - Expose entity id counter
|
||||||
|
|
||||||
public boolean shouldTickHot() { return this.tickCount > 20 * 10 && this.isAlive(); } // KioCG
|
public boolean shouldTickHot() { return this.tickCount > 20 * 10 && this.isAlive(); } // KioCG
|
||||||
@@ -92,7 +92,7 @@ index 6f00ffa05d9597917574357e0069c9b056aa5ce2..5cc7a91e32f17d8d9585ae4844a4ed3b
|
|||||||
public EntityType(
|
public EntityType(
|
||||||
EntityType.EntityFactory<T> factory,
|
EntityType.EntityFactory<T> factory,
|
||||||
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
||||||
index 47f62fbe97c559c25ad2bc67c18f2025c78e2c69..0a114ac527026473c86f11dab564ac3c31c41f39 100644
|
index 2842314c712449625e9275aff7707c916c3ea767..09b549fa9568aa1ae13b1b975db14a6268fdaa46 100644
|
||||||
--- a/net/minecraft/world/entity/player/Player.java
|
--- a/net/minecraft/world/entity/player/Player.java
|
||||||
+++ b/net/minecraft/world/entity/player/Player.java
|
+++ b/net/minecraft/world/entity/player/Player.java
|
||||||
@@ -229,6 +229,25 @@ public abstract class Player extends LivingEntity {
|
@@ -229,6 +229,25 @@ public abstract class Player extends LivingEntity {
|
||||||
@@ -148,7 +148,7 @@ index 47f62fbe97c559c25ad2bc67c18f2025c78e2c69..0a114ac527026473c86f11dab564ac3c
|
|||||||
this.noPhysics = this.isSpectator();
|
this.noPhysics = this.isSpectator();
|
||||||
if (this.isSpectator() || this.isPassenger()) {
|
if (this.isSpectator() || this.isPassenger()) {
|
||||||
this.setOnGround(false);
|
this.setOnGround(false);
|
||||||
@@ -1427,6 +1466,7 @@ public abstract class Player extends LivingEntity {
|
@@ -1426,6 +1465,7 @@ public abstract class Player extends LivingEntity {
|
||||||
if (this.containerMenu != null && this.hasContainerOpen()) {
|
if (this.containerMenu != null && this.hasContainerOpen()) {
|
||||||
this.doCloseContainer();
|
this.doCloseContainer();
|
||||||
}
|
}
|
||||||
+3
-3
@@ -8,10 +8,10 @@ As part of: Purpur (https://github.com/PurpurMC/Purpur/blob/09f547de09fc5d886f18
|
|||||||
Licensed under: MIT (https://github.com/PurpurMC/Purpur/blob/09f547de09fc5d886f18f6d99ff389289766ec9d/LICENSE)
|
Licensed under: MIT (https://github.com/PurpurMC/Purpur/blob/09f547de09fc5d886f18f6d99ff389289766ec9d/LICENSE)
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||||
index 31edc8fbe861831d72d3aad271ce1682b2caa248..9347df05c7cb1b74a610bebb99e3a5411309b491 100644
|
index a24c332a8f9cb2ebc6f9926c6dabf1238238028d..58c2a6a3304e1bea25980b04046fe7c0017bc90d 100644
|
||||||
--- a/net/minecraft/server/players/PlayerList.java
|
--- a/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/net/minecraft/server/players/PlayerList.java
|
+++ b/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -1073,6 +1073,10 @@ public abstract class PlayerList {
|
@@ -1086,6 +1086,10 @@ public abstract class PlayerList {
|
||||||
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
||||||
this.server.getCommands().sendCommands(player);
|
this.server.getCommands().sendCommands(player);
|
||||||
} // Paper - Add sendOpLevel API
|
} // Paper - Add sendOpLevel API
|
||||||
@@ -23,7 +23,7 @@ index 31edc8fbe861831d72d3aad271ce1682b2caa248..9347df05c7cb1b74a610bebb99e3a541
|
|||||||
|
|
||||||
// Paper start - whitelist verify event / login event
|
// Paper start - whitelist verify event / login event
|
||||||
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
||||||
index 0a114ac527026473c86f11dab564ac3c31c41f39..283991c8da3ff07359c89482a72a7238c2cb7e26 100644
|
index 09b549fa9568aa1ae13b1b975db14a6268fdaa46..6c933c27ce155eb516a9ede96fb2c3bd19251bfa 100644
|
||||||
--- a/net/minecraft/world/entity/player/Player.java
|
--- a/net/minecraft/world/entity/player/Player.java
|
||||||
+++ b/net/minecraft/world/entity/player/Player.java
|
+++ b/net/minecraft/world/entity/player/Player.java
|
||||||
@@ -219,6 +219,7 @@ public abstract class Player extends LivingEntity {
|
@@ -219,6 +219,7 @@ public abstract class Player extends LivingEntity {
|
||||||
+18
-18
@@ -37,10 +37,10 @@ index 5a1c21b05545a03fbb00cf734605049870d3eecb..2ade5ce23cdab08b1746e2cbe99bfe1d
|
|||||||
if (count > i) {
|
if (count > i) {
|
||||||
source.sendFailure(Component.translatable("commands.give.failed.toomanyitems", i, itemStack.getDisplayName()));
|
source.sendFailure(Component.translatable("commands.give.failed.toomanyitems", i, itemStack.getDisplayName()));
|
||||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index e87d6a5e0fe2789ab2518a2b3558e7c0c2320feb..347e5e1c773f7c4566825204d2d71aa3ec20333c 100644
|
index 3a78b917cfa2947f26a25e4d77d825e8113a83ef..bec1592ea6ce909bf9b1067e0a32d00c2c4e43f5 100644
|
||||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -3064,7 +3064,7 @@ public class ServerGamePacketListenerImpl
|
@@ -3072,7 +3072,7 @@ public class ServerGamePacketListenerImpl
|
||||||
} else if (slot.mayPlace(cursor)) {
|
} else if (slot.mayPlace(cursor)) {
|
||||||
if (ItemStack.isSameItemSameComponents(clickedItem, cursor)) {
|
if (ItemStack.isSameItemSameComponents(clickedItem, cursor)) {
|
||||||
int toPlace = packet.buttonNum() == 0 ? cursor.getCount() : 1;
|
int toPlace = packet.buttonNum() == 0 ? cursor.getCount() : 1;
|
||||||
@@ -49,7 +49,7 @@ index e87d6a5e0fe2789ab2518a2b3558e7c0c2320feb..347e5e1c773f7c4566825204d2d71aa3
|
|||||||
toPlace = Math.min(toPlace, slot.container.getMaxStackSize() - clickedItem.getCount());
|
toPlace = Math.min(toPlace, slot.container.getMaxStackSize() - clickedItem.getCount());
|
||||||
if (toPlace == 1) {
|
if (toPlace == 1) {
|
||||||
action = InventoryAction.PLACE_ONE;
|
action = InventoryAction.PLACE_ONE;
|
||||||
@@ -3100,7 +3100,7 @@ public class ServerGamePacketListenerImpl
|
@@ -3108,7 +3108,7 @@ public class ServerGamePacketListenerImpl
|
||||||
}
|
}
|
||||||
} else if (ItemStack.isSameItemSameComponents(cursor, clickedItem)) {
|
} else if (ItemStack.isSameItemSameComponents(cursor, clickedItem)) {
|
||||||
if (clickedItem.getCount() >= 0) {
|
if (clickedItem.getCount() >= 0) {
|
||||||
@@ -58,7 +58,7 @@ index e87d6a5e0fe2789ab2518a2b3558e7c0c2320feb..347e5e1c773f7c4566825204d2d71aa3
|
|||||||
// As of 1.5, this is result slots only
|
// As of 1.5, this is result slots only
|
||||||
action = InventoryAction.PICKUP_ALL;
|
action = InventoryAction.PICKUP_ALL;
|
||||||
}
|
}
|
||||||
@@ -3359,6 +3359,7 @@ public class ServerGamePacketListenerImpl
|
@@ -3319,6 +3319,7 @@ public class ServerGamePacketListenerImpl
|
||||||
this.player.containerMenu.broadcastFullState();
|
this.player.containerMenu.broadcastFullState();
|
||||||
} else {
|
} else {
|
||||||
this.player.containerMenu.broadcastChanges();
|
this.player.containerMenu.broadcastChanges();
|
||||||
@@ -66,7 +66,7 @@ index e87d6a5e0fe2789ab2518a2b3558e7c0c2320feb..347e5e1c773f7c4566825204d2d71aa3
|
|||||||
}
|
}
|
||||||
if (io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.updateEquipmentOnPlayerActions) this.player.detectEquipmentUpdates(); // Paper - Force update attributes.
|
if (io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.updateEquipmentOnPlayerActions) this.player.detectEquipmentUpdates(); // Paper - Force update attributes.
|
||||||
}
|
}
|
||||||
@@ -3469,7 +3470,7 @@ public class ServerGamePacketListenerImpl
|
@@ -3429,7 +3430,7 @@ public class ServerGamePacketListenerImpl
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean flag1 = packet.slotNum() >= 1 && packet.slotNum() <= 45;
|
boolean flag1 = packet.slotNum() >= 1 && packet.slotNum() <= 45;
|
||||||
@@ -75,7 +75,7 @@ index e87d6a5e0fe2789ab2518a2b3558e7c0c2320feb..347e5e1c773f7c4566825204d2d71aa3
|
|||||||
if (flag || (flag1 && !ItemStack.matches(this.player.inventoryMenu.getSlot(packet.slotNum()).getItem(), packet.itemStack()))) { // Insist on valid slot
|
if (flag || (flag1 && !ItemStack.matches(this.player.inventoryMenu.getSlot(packet.slotNum()).getItem(), packet.itemStack()))) { // Insist on valid slot
|
||||||
// CraftBukkit start - Call click event
|
// CraftBukkit start - Call click event
|
||||||
org.bukkit.inventory.InventoryView inventory = this.player.inventoryMenu.getBukkitView();
|
org.bukkit.inventory.InventoryView inventory = this.player.inventoryMenu.getBukkitView();
|
||||||
@@ -3511,6 +3512,7 @@ public class ServerGamePacketListenerImpl
|
@@ -3471,6 +3472,7 @@ public class ServerGamePacketListenerImpl
|
||||||
this.player.inventoryMenu.getSlot(packet.slotNum()).setByPlayer(itemStack);
|
this.player.inventoryMenu.getSlot(packet.slotNum()).setByPlayer(itemStack);
|
||||||
this.player.inventoryMenu.setRemoteSlot(packet.slotNum(), itemStack);
|
this.player.inventoryMenu.setRemoteSlot(packet.slotNum(), itemStack);
|
||||||
this.player.inventoryMenu.broadcastChanges();
|
this.player.inventoryMenu.broadcastChanges();
|
||||||
@@ -123,7 +123,7 @@ index d907e24d563e27acab2f2bf9711b1755ea9afd19..6189cb7c1745a242b610e89c859cc849
|
|||||||
if (min > 0) {
|
if (min > 0) {
|
||||||
other.grow(min);
|
other.grow(min);
|
||||||
diff --git a/net/minecraft/world/entity/item/ItemEntity.java b/net/minecraft/world/entity/item/ItemEntity.java
|
diff --git a/net/minecraft/world/entity/item/ItemEntity.java b/net/minecraft/world/entity/item/ItemEntity.java
|
||||||
index 8b318426d3aff4be920181bb8b882c43119e1571..8d67df8732f3b71eee044e535c4536930fd6e405 100644
|
index b745eb5d9c68547335247910ff2ae8d5fb36349c..6d8675b918f92dc3ce85825edf2b33469950ef9d 100644
|
||||||
--- a/net/minecraft/world/entity/item/ItemEntity.java
|
--- a/net/minecraft/world/entity/item/ItemEntity.java
|
||||||
+++ b/net/minecraft/world/entity/item/ItemEntity.java
|
+++ b/net/minecraft/world/entity/item/ItemEntity.java
|
||||||
@@ -279,10 +279,45 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
@@ -279,10 +279,45 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||||
@@ -251,10 +251,10 @@ index 02d2efef2dc0f0e12eac0c71fa290af706f7694d..d042b3729a615bdabeb08f559ac895a7
|
|||||||
|
|
||||||
default SlotAccess getChestVehicleSlot(final int index) {
|
default SlotAccess getChestVehicleSlot(final int index) {
|
||||||
diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
index 852b4381985ed167b05881f068e9542c31cdaf23..379ccae078370b4e8fc909e642f1a70066f70ebf 100644
|
index 9b6cd35e4dfa894069238a1365db16050aa5542b..a928c2e50e43245542a8bc8e307acf27259bbf74 100644
|
||||||
--- a/net/minecraft/world/inventory/AbstractContainerMenu.java
|
--- a/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
+++ b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
+++ b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||||
@@ -234,6 +234,14 @@ public abstract class AbstractContainerMenu {
|
@@ -258,6 +258,14 @@ public abstract class AbstractContainerMenu {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -269,7 +269,7 @@ index 852b4381985ed167b05881f068e9542c31cdaf23..379ccae078370b4e8fc909e642f1a700
|
|||||||
public void broadcastChanges() {
|
public void broadcastChanges() {
|
||||||
for (int i = 0; i < this.slots.size(); i++) {
|
for (int i = 0; i < this.slots.size(); i++) {
|
||||||
ItemStack item = this.slots.get(i).getItem();
|
ItemStack item = this.slots.get(i).getItem();
|
||||||
@@ -427,7 +435,7 @@ public abstract class AbstractContainerMenu {
|
@@ -451,7 +459,7 @@ public abstract class AbstractContainerMenu {
|
||||||
&& (this.quickcraftType == 2 || carried1.getCount() >= this.quickcraftSlots.size())
|
&& (this.quickcraftType == 2 || carried1.getCount() >= this.quickcraftSlots.size())
|
||||||
&& this.canDragTo(slot1)) {
|
&& this.canDragTo(slot1)) {
|
||||||
int i2 = slot1.hasItem() ? slot1.getItem().getCount() : 0;
|
int i2 = slot1.hasItem() ? slot1.getItem().getCount() : 0;
|
||||||
@@ -278,7 +278,7 @@ index 852b4381985ed167b05881f068e9542c31cdaf23..379ccae078370b4e8fc909e642f1a700
|
|||||||
int min1 = Math.min(getQuickCraftPlaceCount(this.quickcraftSlots, this.quickcraftType, itemStack) + i2, min);
|
int min1 = Math.min(getQuickCraftPlaceCount(this.quickcraftSlots, this.quickcraftType, itemStack) + i2, min);
|
||||||
count -= min1 - i2;
|
count -= min1 - i2;
|
||||||
// slot1.setByPlayer(itemStack.copyWithCount(min1));
|
// slot1.setByPlayer(itemStack.copyWithCount(min1));
|
||||||
@@ -541,7 +549,7 @@ public abstract class AbstractContainerMenu {
|
@@ -563,7 +571,7 @@ public abstract class AbstractContainerMenu {
|
||||||
slot.setByPlayer(carried2);
|
slot.setByPlayer(carried2);
|
||||||
}
|
}
|
||||||
} else if (ItemStack.isSameItemSameComponents(carried, carried2)) {
|
} else if (ItemStack.isSameItemSameComponents(carried, carried2)) {
|
||||||
@@ -287,7 +287,7 @@ index 852b4381985ed167b05881f068e9542c31cdaf23..379ccae078370b4e8fc909e642f1a700
|
|||||||
optional1.ifPresent(itemStack2 -> {
|
optional1.ifPresent(itemStack2 -> {
|
||||||
carried2.grow(itemStack2.getCount());
|
carried2.grow(itemStack2.getCount());
|
||||||
slot.onTake(player, itemStack2);
|
slot.onTake(player, itemStack2);
|
||||||
@@ -603,7 +611,7 @@ public abstract class AbstractContainerMenu {
|
@@ -625,7 +633,7 @@ public abstract class AbstractContainerMenu {
|
||||||
Slot slot2 = this.slots.get(slotId);
|
Slot slot2 = this.slots.get(slotId);
|
||||||
if (slot2.hasItem()) {
|
if (slot2.hasItem()) {
|
||||||
ItemStack itemStack = slot2.getItem();
|
ItemStack itemStack = slot2.getItem();
|
||||||
@@ -296,7 +296,7 @@ index 852b4381985ed167b05881f068e9542c31cdaf23..379ccae078370b4e8fc909e642f1a700
|
|||||||
}
|
}
|
||||||
} else if (clickType == ClickType.THROW && this.getCarried().isEmpty() && slotId >= 0) {
|
} else if (clickType == ClickType.THROW && this.getCarried().isEmpty() && slotId >= 0) {
|
||||||
Slot slot2 = this.slots.get(slotId);
|
Slot slot2 = this.slots.get(slotId);
|
||||||
@@ -634,15 +642,15 @@ public abstract class AbstractContainerMenu {
|
@@ -656,15 +664,15 @@ public abstract class AbstractContainerMenu {
|
||||||
int maxStackSize = button == 0 ? 1 : -1;
|
int maxStackSize = button == 0 ? 1 : -1;
|
||||||
|
|
||||||
for (int i3 = 0; i3 < 2; i3++) {
|
for (int i3 = 0; i3 < 2; i3++) {
|
||||||
@@ -315,7 +315,7 @@ index 852b4381985ed167b05881f068e9542c31cdaf23..379ccae078370b4e8fc909e642f1a700
|
|||||||
itemStack.grow(itemStack1.getCount());
|
itemStack.grow(itemStack1.getCount());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -744,7 +752,7 @@ public abstract class AbstractContainerMenu {
|
@@ -766,7 +774,7 @@ public abstract class AbstractContainerMenu {
|
||||||
i = endIndex - 1;
|
i = endIndex - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -324,7 +324,7 @@ index 852b4381985ed167b05881f068e9542c31cdaf23..379ccae078370b4e8fc909e642f1a700
|
|||||||
while (!stack.isEmpty() && (reverseDirection ? i >= startIndex : i < endIndex)) {
|
while (!stack.isEmpty() && (reverseDirection ? i >= startIndex : i < endIndex)) {
|
||||||
Slot slot = this.slots.get(i);
|
Slot slot = this.slots.get(i);
|
||||||
ItemStack item = slot.getItem();
|
ItemStack item = slot.getItem();
|
||||||
@@ -845,7 +853,7 @@ public abstract class AbstractContainerMenu {
|
@@ -867,7 +875,7 @@ public abstract class AbstractContainerMenu {
|
||||||
public static boolean canItemQuickReplace(@Nullable Slot slot, ItemStack stack, boolean stackSizeMatters) {
|
public static boolean canItemQuickReplace(@Nullable Slot slot, ItemStack stack, boolean stackSizeMatters) {
|
||||||
boolean flag = slot == null || !slot.hasItem();
|
boolean flag = slot == null || !slot.hasItem();
|
||||||
return !flag && ItemStack.isSameItemSameComponents(stack, slot.getItem())
|
return !flag && ItemStack.isSameItemSameComponents(stack, slot.getItem())
|
||||||
@@ -333,7 +333,7 @@ index 852b4381985ed167b05881f068e9542c31cdaf23..379ccae078370b4e8fc909e642f1a700
|
|||||||
: flag;
|
: flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -853,7 +861,7 @@ public abstract class AbstractContainerMenu {
|
@@ -875,7 +883,7 @@ public abstract class AbstractContainerMenu {
|
||||||
return switch (type) {
|
return switch (type) {
|
||||||
case 0 -> Mth.floor((float)stack.getCount() / slots.size());
|
case 0 -> Mth.floor((float)stack.getCount() / slots.size());
|
||||||
case 1 -> 1;
|
case 1 -> 1;
|
||||||
@@ -342,7 +342,7 @@ index 852b4381985ed167b05881f068e9542c31cdaf23..379ccae078370b4e8fc909e642f1a700
|
|||||||
default -> stack.getCount();
|
default -> stack.getCount();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -875,7 +883,7 @@ public abstract class AbstractContainerMenu {
|
@@ -897,7 +905,7 @@ public abstract class AbstractContainerMenu {
|
||||||
for (int i = 0; i < container.getContainerSize(); i++) {
|
for (int i = 0; i < container.getContainerSize(); i++) {
|
||||||
ItemStack item = container.getItem(i);
|
ItemStack item = container.getItem(i);
|
||||||
if (!item.isEmpty()) {
|
if (!item.isEmpty()) {
|
||||||
@@ -378,7 +378,7 @@ index 5ceb8964476b40db4511bec91ff13c4f522a1357..dd978d1590fb896775a240ed87e38d85
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
|
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
|
||||||
index 2c15a382dcbd1087dc06b562149239c8bf4e035e..25b0f7ee2d80bcfa10e850fa59001d0da7b5fd9c 100644
|
index 6154da1158756cff072d7e8cae10e20eafed1eec..687249e1ad1cb09edbe2939f1db2f90e146cd664 100644
|
||||||
--- a/net/minecraft/world/item/ItemStack.java
|
--- a/net/minecraft/world/item/ItemStack.java
|
||||||
+++ b/net/minecraft/world/item/ItemStack.java
|
+++ b/net/minecraft/world/item/ItemStack.java
|
||||||
@@ -162,7 +162,7 @@ public final class ItemStack implements DataComponentHolder {
|
@@ -162,7 +162,7 @@ public final class ItemStack implements DataComponentHolder {
|
||||||
+1
-1
@@ -5,7 +5,7 @@ Subject: [PATCH] Spawn invulnerable time
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 0f6b2603875031048e6d6bfcd47c0e8923cdc71a..cb56ec27a5d1bdda960f609e16155a38843b1f3c 100644
|
index b7bc75648634aefc549a69631ab6e401eb902e7d..0e2d575200f3ff3ec1600a0663152e3c37ea67b0 100644
|
||||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -232,6 +232,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
@@ -232,6 +232,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||||
+2
-2
@@ -5,13 +5,13 @@ Subject: [PATCH] I18n support
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
index 45cd92cd69bcb66b94bc6278f2897ea4a31c45b6..48057abf3c127aab0458078f891a32ec5f6b9baa 100644
|
index c6c6432c2efeb7b95c2894b188cd966321ae3186..1cd9af71ee66df5f277748c0a5a59a30bd57accc 100644
|
||||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -172,6 +172,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@@ -172,6 +172,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||||
this.paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess());
|
this.paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess());
|
||||||
// Paper end - initialize global and world-defaults configuration
|
// Paper end - initialize global and world-defaults configuration
|
||||||
fun.bm.lophine.config.LophineConfig.loadConfigFiles(); // Lophine - load config file
|
me.earthme.luminol.config.ConfigManager.loadConfigFiles(); // Luminol - load config file
|
||||||
+ fun.bm.lophine.utils.ServerI18nUtil.init(); // Lophine - I18n support
|
+ fun.bm.lophine.utils.ServerI18nUtil.init(); // Lophine - I18n support
|
||||||
if (false) this.server.spark.enableEarlyIfRequested(); // Paper - spark // Luminol - Force disable builtin spark
|
if (false) this.server.spark.enableEarlyIfRequested(); // Paper - spark // Luminol - Force disable builtin spark
|
||||||
// Paper start - fix converting txt to json file; convert old users earlier after PlayerList creation but before file load/save
|
// Paper start - fix converting txt to json file; convert old users earlier after PlayerList creation but before file load/save
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
package fun.bm.lophine.config;
|
|
||||||
|
|
||||||
import me.earthme.luminol.config.LuminolConfig;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class LophineConfig {
|
|
||||||
public static final Map<String, LuminolConfig> configfiles = new HashMap<>();
|
|
||||||
private static final File luminolConfigFolder = new File("luminol_config");
|
|
||||||
private static final File lophineConfigFolder = new File("lophine_config");
|
|
||||||
|
|
||||||
public static void initConfigs() throws IOException {
|
|
||||||
configfiles.put("luminol", new LuminolConfig(luminolConfigFolder, "luminol", "me.earthme.luminol.config.modules"));
|
|
||||||
configfiles.put("lophine", new LuminolConfig(lophineConfigFolder, "lophine", "fun.bm.lophine.config.modules"));
|
|
||||||
preLoad();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void preLoad() throws IOException {
|
|
||||||
for (LuminolConfig config : configfiles.values()) {
|
|
||||||
config.preLoadConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void loadConfigFiles() {
|
|
||||||
for (LuminolConfig config : configfiles.values()) {
|
|
||||||
config.finalizeLoadConfig();
|
|
||||||
config.setupLatch();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-5
@@ -5,11 +5,6 @@ import me.earthme.luminol.config.IConfigModule;
|
|||||||
import me.earthme.luminol.config.flags.ConfigInfo;
|
import me.earthme.luminol.config.flags.ConfigInfo;
|
||||||
|
|
||||||
public class CommandConfig implements IConfigModule {
|
public class CommandConfig implements IConfigModule {
|
||||||
@ConfigInfo(baseName = "command_block_enabled", comments =
|
|
||||||
"""
|
|
||||||
Allow to use command block""")
|
|
||||||
public static boolean block = false;
|
|
||||||
|
|
||||||
@ConfigInfo(baseName = "tick_command_enabled", comments =
|
@ConfigInfo(baseName = "tick_command_enabled", comments =
|
||||||
"""
|
"""
|
||||||
Allow to use tick command""")
|
Allow to use tick command""")
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ pluginManagement {
|
|||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
maven("https://repo.papermc.io/repository/maven-public/")
|
maven("https://repo.papermc.io/repository/maven-public/")
|
||||||
|
maven("https://repo.menthamc.com/repository/maven-public/")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user