refactor: reorganize packages and replace LPSchematic with WorldEdit
Restructure core modules into subpackages (generator, schematic, config, session, etc.); add .schem/.nbt schematic pipeline, commands, adaptive stats skeleton, and bootstrap wiring.
This commit is contained in:
parent
6ba6e5137d
commit
fd0ba2cc0e
203 changed files with 5652 additions and 2367 deletions
|
|
@ -1,4 +1,4 @@
|
|||
package dev.loki.loparkour.config;
|
||||
package dev.loki.loparkour.config.core;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
|
@ -116,4 +116,4 @@ public enum Config {
|
|||
public List<String> getChildren(@NotNull String path, boolean... deep) {
|
||||
return accessor.getChildren(path, deep);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.loki.loparkour.config;
|
||||
package dev.loki.loparkour.config.core;
|
||||
|
||||
import dev.loki.loparkour.LoParkour;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
|
@ -144,4 +144,4 @@ public class ConfigAccessor {
|
|||
"Missing config path '" + path + "' in " + fileName + ". Using a safe default value.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
package dev.loki.loparkour.config;
|
||||
package dev.loki.loparkour.config.core;
|
||||
|
||||
import dev.loki.loparkour.config.locale.Locales;
|
||||
import dev.loki.loparkour.config.options.Option;
|
||||
import dev.loki.loparkour.LoParkour;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
|
@ -55,9 +57,9 @@ public class ConfigLoader {
|
|||
}
|
||||
|
||||
public static void initializeDependentSystems(boolean firstLoad) {
|
||||
dev.loki.loparkour.reward.Rewards.init();
|
||||
dev.loki.loparkour.reward.core.Rewards.init();
|
||||
Locales.init();
|
||||
dev.loki.loparkour.schematic.Schematics.init();
|
||||
dev.loki.loparkour.schematic.registry.Schematics.init();
|
||||
Option.init(firstLoad);
|
||||
}
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.loki.loparkour.config;
|
||||
package dev.loki.loparkour.config.core;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.loki.loparkour.config;
|
||||
package dev.loki.loparkour.config.locale;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.loki.loparkour.config;
|
||||
package dev.loki.loparkour.config.locale;
|
||||
|
||||
import dev.loki.loparkour.LoParkour;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
|
@ -1,10 +1,12 @@
|
|||
package dev.loki.loparkour.config;
|
||||
package dev.loki.loparkour.config.locale;
|
||||
|
||||
import dev.loki.loparkour.LoParkour;
|
||||
import dev.loki.loparkour.menu.ParkourOption;
|
||||
import dev.loki.loparkour.player.ParkourUser;
|
||||
import dev.loki.loparkour.util.Item;
|
||||
import dev.loki.loparkour.util.Materials;
|
||||
import dev.loki.loparkour.config.options.Option;
|
||||
import dev.loki.loparkour.menu.core.ParkourOption;
|
||||
import dev.loki.loparkour.player.core.ParkourUser;
|
||||
import dev.loki.loparkour.util.text.ColorUtil;
|
||||
import dev.loki.loparkour.util.item.Item;
|
||||
import dev.loki.loparkour.util.item.Materials;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
|
@ -29,6 +31,7 @@ public class Locales {
|
|||
public static void init() {
|
||||
Map<String, FileConfiguration> loaded = LocaleLoader.loadAll();
|
||||
cache.setLocales(loaded);
|
||||
dev.loki.loparkour.command.schematic.SchematicCommandHandler.clearWandCache();
|
||||
LoParkour.log("Locales loaded successfully (" + loaded.size() + " locales)");
|
||||
}
|
||||
|
||||
|
|
@ -61,6 +64,24 @@ public class Locales {
|
|||
return cache.cachedValue(locale, c -> c.getString(path), "");
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a colored message from locale. Safe for console ({@link #getString(CommandSender, String)}).
|
||||
*/
|
||||
public static void send(@NotNull CommandSender sender, @NotNull String path, Object... format) {
|
||||
String message = getString(sender, path);
|
||||
if (format.length > 0) {
|
||||
message = message.formatted(format);
|
||||
}
|
||||
sender.sendMessage(ColorUtil.color(message));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a colored message using the player's locale.
|
||||
*/
|
||||
public static void send(@NotNull Player player, @NotNull String path, Object... format) {
|
||||
send((CommandSender) player, path, format);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static List<String> getStringList(@NotNull String locale, @NotNull String path) {
|
||||
return cache.cachedValue(locale, c -> c.getStringList(path), Collections.emptyList());
|
||||
|
|
@ -107,11 +128,9 @@ public class Locales {
|
|||
String name = applyReplacements(config.getString(namePath, ""), replace);
|
||||
String lore = applyReplacements(config.getString(lorePath, ""), replace);
|
||||
|
||||
// Debug logging
|
||||
if ("STONE".equals(material)) {
|
||||
LoParkour.getPlugin().getLogger().warning("Material defaulted to STONE for path: " + path);
|
||||
LoParkour.getPlugin().getLogger().warning(" Tried: " + materialPath + " = " + config.getString(materialPath));
|
||||
LoParkour.getPlugin().getLogger().warning(" Available keys: " + config.getKeys(true));
|
||||
if ("STONE".equals(material) && !config.contains(materialPath)) {
|
||||
LoParkour.getPlugin().getLogger().warning(
|
||||
"Missing locale key '%s' (material defaults to STONE)".formatted(materialPath));
|
||||
}
|
||||
|
||||
Material mat = Materials.parse(material);
|
||||
|
|
@ -1,11 +1,12 @@
|
|||
package dev.loki.loparkour.config;
|
||||
package dev.loki.loparkour.config.options;
|
||||
|
||||
import dev.loki.loparkour.api.Registry;
|
||||
import dev.loki.loparkour.api.core.Registry;
|
||||
import dev.loki.loparkour.config.core.Config;
|
||||
import dev.loki.loparkour.config.options.*;
|
||||
import dev.loki.loparkour.menu.ParkourOption;
|
||||
import dev.loki.loparkour.style.RandomStyle;
|
||||
import dev.loki.loparkour.style.Style;
|
||||
import dev.loki.loparkour.util.ParticleData;
|
||||
import dev.loki.loparkour.menu.core.ParkourOption;
|
||||
import dev.loki.loparkour.style.core.RandomStyle;
|
||||
import dev.loki.loparkour.style.core.Style;
|
||||
import dev.loki.loparkour.util.particle.ParticleData;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Particle;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package dev.loki.loparkour.config.options;
|
||||
|
||||
import dev.loki.loparkour.LoParkour;
|
||||
import dev.loki.loparkour.config.Config;
|
||||
import dev.loki.loparkour.menu.ParkourOption;
|
||||
import dev.loki.loparkour.config.core.Config;
|
||||
import dev.loki.loparkour.menu.core.ParkourOption;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package dev.loki.loparkour.config.options;
|
||||
|
||||
import dev.loki.loparkour.LoParkour;
|
||||
import dev.loki.loparkour.config.Config;
|
||||
import dev.loki.loparkour.config.core.Config;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
package dev.loki.loparkour.config.options;
|
||||
|
||||
import dev.loki.loparkour.LoParkour;
|
||||
import dev.loki.loparkour.config.Config;
|
||||
import dev.loki.loparkour.config.Option;
|
||||
import dev.loki.loparkour.util.ParticleData;
|
||||
import dev.loki.loparkour.config.core.Config;
|
||||
import dev.loki.loparkour.config.options.Option;
|
||||
import dev.loki.loparkour.util.particle.ParticleData;
|
||||
import org.bukkit.Particle;
|
||||
import org.bukkit.Sound;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package dev.loki.loparkour.config.options;
|
||||
|
||||
import dev.loki.loparkour.LoParkour;
|
||||
import dev.loki.loparkour.config.Config;
|
||||
import dev.loki.loparkour.config.core.Config;
|
||||
|
||||
/**
|
||||
* SQL database configuration options.
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
package dev.loki.loparkour.config.options;
|
||||
|
||||
import dev.loki.loparkour.LoParkour;
|
||||
import dev.loki.loparkour.config.ConfigAccessor;
|
||||
import dev.loki.loparkour.style.Style;
|
||||
import dev.loki.loparkour.util.Materials;
|
||||
import dev.loki.loparkour.config.core.ConfigAccessor;
|
||||
import dev.loki.loparkour.style.core.Style;
|
||||
import dev.loki.loparkour.util.item.Materials;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue