basic addon loading

This commit is contained in:
dfsek
2021-02-19 20:36:35 -07:00
parent 6d51da3118
commit 5e761c3e29
124 changed files with 483 additions and 220 deletions

View File

@@ -27,6 +27,7 @@ import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.config.lang.Language;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.debug.DebugLogger;
import com.dfsek.terra.registry.AddonRegistry;
import com.dfsek.terra.registry.ConfigRegistry;
import com.dfsek.terra.world.TerraWorld;
import com.dfsek.terra.world.generation.MasterChunkGenerator;
@@ -55,6 +56,7 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
private WorldHandle handle = new BukkitWorldHandle();
private final GenericLoaders genericLoaders = new GenericLoaders(this);
private DebugLogger debugLogger;
private final AddonRegistry addonRegistry = new AddonRegistry();
private final EventManager eventManager = new TerraEventManager(this);
@@ -136,6 +138,7 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
LangUtil.load(config.getLanguage(), this); // Load language.
debugLogger.setDebug(isDebug());
addonRegistry.loadAll(this);
registry.loadAll(this); // Load all config packs.
PluginCommand c = Objects.requireNonNull(getCommand("terra"));
@@ -245,6 +248,11 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
genericLoaders.register(registry);
}
@Override
public AddonRegistry getAddons() {
return addonRegistry;
}
public enum Version {
V1_13(13),

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.bukkit.command.command.biome;
import com.dfsek.terra.biome.UserDefinedBiome;
import com.dfsek.terra.biome.provider.BiomeProvider;
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
import com.dfsek.terra.api.world.biome.provider.BiomeProvider;
import com.dfsek.terra.bukkit.command.WorldCommand;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.config.lang.LangUtil;

View File

@@ -1,6 +1,6 @@
package com.dfsek.terra.bukkit.command.command.biome;
import com.dfsek.terra.biome.UserDefinedBiome;
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
import com.dfsek.terra.bukkit.BukkitCommandSender;
import com.dfsek.terra.bukkit.command.WorldCommand;
import com.dfsek.terra.bukkit.world.BukkitAdapter;

View File

@@ -1,8 +1,8 @@
package com.dfsek.terra.bukkit.command.command.biome;
import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.async.AsyncBiomeFinder;
import com.dfsek.terra.biome.TerraBiome;
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
import com.dfsek.terra.bukkit.command.WorldCommand;
import com.dfsek.terra.bukkit.world.BukkitAdapter;

View File

@@ -4,10 +4,10 @@ import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.structures.script.StructureScript;
import com.dfsek.terra.api.structures.structure.Rotation;
import com.dfsek.terra.api.util.FastRandom;
import com.dfsek.terra.api.util.world.PopulationUtil;
import com.dfsek.terra.bukkit.command.DebugCommand;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.bukkit.world.BukkitChunk;
import com.dfsek.terra.util.PopulationUtil;
import com.dfsek.terra.world.TerraWorld;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;

View File

@@ -9,10 +9,10 @@ import com.dfsek.terra.bukkit.population.PopulationManager;
import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.bukkit.world.BukkitBiomeGrid;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.population.CavePopulator;
import com.dfsek.terra.profiler.DataType;
import com.dfsek.terra.profiler.Measurement;
import com.dfsek.terra.world.TerraWorld;
import com.dfsek.terra.world.population.CavePopulator;
import com.dfsek.terra.world.population.FloraPopulator;
import com.dfsek.terra.world.population.OrePopulator;
import com.dfsek.terra.world.population.StructurePopulator;

View File

@@ -4,8 +4,8 @@ import com.dfsek.terra.api.core.TerraPlugin;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.platform.handle.WorldHandle;
import com.dfsek.terra.api.util.world.MaterialSet;
import com.dfsek.terra.api.world.tree.Tree;
import com.dfsek.terra.util.MaterialSet;
import org.bukkit.TreeType;
import java.util.Random;

View File

@@ -0,0 +1,122 @@
enable:
- "Hvis du kan lide Terra, kan du overveje at støtte projektet på Patreon!"
- "Du vil få adgang til eksperimentelle funktioner, før de udgives!"
- "Støt projektet her: https://www.patreon.com/dfsek"
disable:
- "Tak for at du bruger Terra!"
command:
debug-only: "Denne kommando skal bruges med fejlfindingstilstand aktiveret!"
player-only: "Denne kommando er kun til spillere!"
invalid: "Ugyldig kommando. (Forventede %1$s argumenter, fandt %2$s)."
players-only: "Kommando er kun til spillere."
world: "Denne kommando skal anvendes i en Terra verden!"
reload: "Genindlæste Terra konfigurationen."
reload-error: "Der opstod fejl under genindlæsning af Terra konfigurationer. Tjek logfilerne for at få flere oplysninger."
version: "Denne server kører Terra version \"%1$s\", implementerer Gaea version \"%2$s\""
main-menu:
- "--------------------Terra--------------------"
- "reload - Genindlæs konfigurationsdataene"
- "biome - Få den nuværende biome"
- "ore - Generer en åre malm ved den lokation du står overfor (Til fejlfinding)"
- "save-data - Gem populations data"
- "structure - Indlæs og eksporter strukturer"
- "profile - Profiler indstillinger"
- "image - Billede/GUI indstillinger"
biome:
biome-found: "Lokaliserede biome ved (%1$s, %2$s)"
unable-to-locate: "Kan ikke lokalisere biome."
invalid-radius: "Ugyldig radius: \"%s\""
invalid: "Ugyldigt Biome ID: \"%s\""
in: "Du er i \"%s\""
packs:
main: "Aktuelt installerede konfigurationspakker:"
pack: " - %1$s v%3$s ved %2$s"
none: "Ingen konfigurationspakker er installeret."
ore:
main-menu:
- "---------------Terra/malm---------------"
- "Genererer en åre malm ved den blok, du kigger på."
out-of-range: "Blok uden for rækkevidde"
invalid-ore: "Kan ikke finde Malm \"%s\""
geometry:
main-menu:
- "---------------Terra/geometri----------------"
- "Forskellige kommandoer til fejlfinding af voxel-geometri"
- "sphere - Generer en kugle"
- "deformsphere - Generer en deformeret kugle"
- "tube - Generer et rør"
deform:
invalid-radius: "Ugyldig radius: \"%s\""
invalid-deform: "Ugyldig deformering: \"%s\""
invalid-frequency: "Ugyldig frekvens: \"%s\""
sphere:
invalid-radius: "Ugyldig radius: \"%s\""
tube:
invalid-radius: "Ugyldig radius: \"%s\""
image:
main-menu:
- "---------------Terra/billede---------------"
- "render - Render et billede med en given bredde og højde, der senere kan importeres som en verden."
- "gui - Åbn fejlfindings-GUI (Skal være aktiveret i konfigurationen)"
gui:
main-menu:
- "-------------Terra/billede/gui-------------"
- "raw - Åbn GUI med rå Biome-data"
- "step - Re-render data igen for at vise grænser mere tydeligt"
debug: "Fejlfindingstilstand skal være aktiveret for at bruge fejlfindings-GUI! Fejlfindings-GUI'en er IKKE PRODUKTIONSSIKKER!"
render:
save: "Gemte billede som \"%s\""
error: "Der opstod en fejl under generering af billedet!"
profile:
main-menu:
- "---------------Terra/profiler---------------"
- "start - Starter profiler"
- "stop - Stopper profiler"
- "query - Henter profiler data"
- "reset - Nulstiller profiler data"
reset: "Profiler er blevet nulstillet."
start: "Profiler er startet."
stop: "Profiler er stoppet."
structure:
main-menu:
- "---------------Terra/struktur---------------"
- "export - Eksporter din nuværende WorldEdit selektion som en Terra struktur."
- "load - Indlæs en Terra struktur"
invalid-radius: "Ugyldig radius: \"%s\""
invalid-rotation: "Ugyldig rotation: \"%s\""
invalid: "Ugyldigt Struktur ID: \"%s\""
export: "Gemte struktur til \"%s\""
world-config:
loading: "Indlæser verdenskonfigurationsværdier til verden \"%s\"..."
not-found: "Konfiguration til verden \"%s\" ikke fundet. Kopier standardkonfigurationen."
using-image: "Indlæser verden fra billede."
error: "Kan ikke indlæse konfiguration til verden %s"
done: "Indlæsning af verden \"%1$s\" er færdig. Forløbet tid: %2$sms"
config-pack:
loaded: "Konfigurationspakke %1$s v%4$s ved %3$s indlæst på %2$sms."
config:
loaded: "Indlæste %1$s fra fil %2$s"
loaded-all: "Indlæste %1$s %2$s(s) på %3$sms."
error:
invalid-failover: "Ugyldig failover type: \"%s\""
duplicate: "Duplikeret ID fundet i filen: %s"
file:
- "Konfigurationsfejl for Terra objekt. Fil: %1$s"
- "%2$s"
- "Ret dette, inden du fortsætter!"
generic:
- "Der opstod en fejl under indlæsning af konfigurationer."
- "Rapporter dette til Terra."
warning:
no-population: "Ingen populations chunks blev indlæst. Hvis dette er første gang du starter din server med Terra, eller hvis du opretter en ny verden, er dette normalt."
error:
severe-config: "En alvorlig konfigurationsfejl har forhindret Terra i at generere terræn korrekt ved koordinater: %1$s, %2$s. Kontroller din konfiguration for fejl. Eventuelle konfigurationsfejl vil være rapporteret ovenfor."
debug:
data-save: "Gemte populations data for verden \"%s\""
use-paper:
- "Det ser ud til, at du bruger Spigot/CraftBukkit."
- "Mens Terra &ovil&r virke på Spigot, vil nogle funktioner gå tabt. (Terra er uprøvet på CraftBukkit; ingen support vil blive givet til CraftBukkit)."
- "For at få mest muligt ud af Terra, skal du skifte til Paper."
- "Plus, Paper tilbyder store ydeevne forbedringer over Spigot, og alle Spigot plugins bør virke med Paper!"
- "For at få den bedste oplevelse med Terra, og alle dine plugins, brug Paper."
- "Få mere at vide på Paper's hjemmeside: https://papermc.io/"

View File

@@ -12,7 +12,7 @@ import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.transform.MapTransform;
import com.dfsek.terra.api.transform.NotNullValidator;
import com.dfsek.terra.api.transform.Transformer;
import com.dfsek.terra.biome.TerraBiome;
import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.config.GenericLoaders;
import com.dfsek.terra.config.PluginConfig;
import com.dfsek.terra.config.lang.LangUtil;
@@ -26,6 +26,7 @@ import com.dfsek.terra.fabric.world.FabricWorldHandle;
import com.dfsek.terra.fabric.world.TerraBiomeSource;
import com.dfsek.terra.fabric.world.features.PopulatorFeature;
import com.dfsek.terra.fabric.world.generator.FabricChunkGeneratorWrapper;
import com.dfsek.terra.registry.AddonRegistry;
import com.dfsek.terra.registry.ConfigRegistry;
import com.dfsek.terra.world.TerraWorld;
import net.fabricmc.api.EnvType;
@@ -85,6 +86,8 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
private final ItemHandle itemHandle = new FabricItemHandle();
private final WorldHandle worldHandle = new FabricWorldHandle();
private final ConfigRegistry registry = new ConfigRegistry();
private final AddonRegistry addonRegistry = new AddonRegistry();
private File config;
private static final Transformer<String, ConfiguredFeature<?, ?>> TREE_TRANSFORMER = new Transformer.Builder<String, ConfiguredFeature<?, ?>>()
.addTransform(TerraFabricPlugin::getFeature)
@@ -162,6 +165,11 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
return registry;
}
@Override
public AddonRegistry getAddons() {
return addonRegistry;
}
@Override
public void reload() {

View File

@@ -2,11 +2,11 @@ package com.dfsek.terra.fabric.world;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.block.MaterialData;
import com.dfsek.terra.api.util.world.MaterialSet;
import com.dfsek.terra.api.world.tree.Tree;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
import com.dfsek.terra.fabric.world.handles.world.FabricWorldAccess;
import com.dfsek.terra.util.MaterialSet;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.StructureWorldAccess;
import net.minecraft.world.gen.chunk.ChunkGenerator;

View File

@@ -1,7 +1,7 @@
package com.dfsek.terra.fabric.world;
import com.dfsek.terra.biome.UserDefinedBiome;
import com.dfsek.terra.biome.provider.BiomeProvider;
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
import com.dfsek.terra.api.world.biome.provider.BiomeProvider;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.mojang.serialization.Codec;

View File

@@ -17,6 +17,7 @@ import com.dfsek.terra.config.lang.Language;
import com.dfsek.terra.debug.DebugLogger;
import com.dfsek.terra.platform.RawBiome;
import com.dfsek.terra.platform.RawWorldHandle;
import com.dfsek.terra.registry.AddonRegistry;
import com.dfsek.terra.registry.ConfigRegistry;
import com.dfsek.terra.world.TerraWorld;
@@ -26,6 +27,7 @@ import java.util.logging.Logger;
public class StandalonePlugin implements TerraPlugin {
private final ConfigRegistry registry = new ConfigRegistry();
private final AddonRegistry addonRegistry = new AddonRegistry();
private final PluginConfig config = new PluginConfig();
private final RawWorldHandle worldHandle = new RawWorldHandle();
private final EventManager eventManager = new TerraEventManager(this);
@@ -79,6 +81,11 @@ public class StandalonePlugin implements TerraPlugin {
return registry;
}
@Override
public AddonRegistry getAddons() {
return addonRegistry;
}
@Override
public void reload() {
throw new UnsupportedOperationException();