mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 10:30:42 +00:00
use event API for registration of Bukkit trees
This commit is contained in:
@@ -7,7 +7,6 @@ import com.dfsek.terra.api.platform.handle.WorldHandle;
|
||||
import com.dfsek.terra.api.platform.world.World;
|
||||
import com.dfsek.terra.config.PluginConfig;
|
||||
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.ConfigRegistry;
|
||||
import com.dfsek.terra.world.TerraWorld;
|
||||
@@ -42,13 +41,6 @@ public interface TerraPlugin extends LoaderRegistrar {
|
||||
|
||||
String platformName();
|
||||
|
||||
default void packPreLoadCallback(ConfigPack pack) {
|
||||
|
||||
}
|
||||
|
||||
default void packPostLoadCallback(ConfigPack pack) {
|
||||
|
||||
}
|
||||
|
||||
DebugLogger getDebugLogger();
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ public class ConfigPack implements LoaderRegistrar {
|
||||
|
||||
private void load(long start, TerraPlugin main) throws ConfigException {
|
||||
main.getEventManager().callEvent(new ConfigPackPreLoadEvent(this));
|
||||
main.packPreLoadCallback(this);
|
||||
|
||||
for(Map.Entry<String, Double> var : template.getVariables().entrySet()) {
|
||||
varScope.create(var.getKey(), var.getValue());
|
||||
}
|
||||
@@ -230,7 +230,6 @@ public class ConfigPack implements LoaderRegistrar {
|
||||
.open("structures/structures", ".yml").then(streams -> buildAll(new StructureFactory(), structureRegistry, abstractConfigLoader.load(streams, StructureTemplate::new), main)).close()
|
||||
.open("flora", ".yml").then(streams -> buildAll(new FloraFactory(), floraRegistry, abstractConfigLoader.load(streams, FloraTemplate::new), main)).close()
|
||||
.open("biomes", ".yml").then(streams -> buildAll(new BiomeFactory(this), biomeRegistry, abstractConfigLoader.load(streams, () -> new BiomeTemplate(this, main)), main)).close();
|
||||
main.packPostLoadCallback(this);
|
||||
|
||||
main.getEventManager().callEvent(new ConfigPackPostLoadEvent(this));
|
||||
LangUtil.log("config-pack.loaded", Level.INFO, template.getID(), String.valueOf((System.nanoTime() - start) / 1000000D), template.getAuthor(), template.getVersion());
|
||||
|
||||
@@ -18,10 +18,9 @@ import com.dfsek.terra.bukkit.handles.BukkitWorldHandle;
|
||||
import com.dfsek.terra.bukkit.listeners.CommonListener;
|
||||
import com.dfsek.terra.bukkit.listeners.PaperListener;
|
||||
import com.dfsek.terra.bukkit.listeners.SpigotListener;
|
||||
import com.dfsek.terra.bukkit.listeners.TerraListener;
|
||||
import com.dfsek.terra.bukkit.util.PaperUtil;
|
||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
import com.dfsek.terra.bukkit.world.BukkitBiome;
|
||||
import com.dfsek.terra.bukkit.world.BukkitTree;
|
||||
import com.dfsek.terra.config.GenericLoaders;
|
||||
import com.dfsek.terra.config.PluginConfig;
|
||||
import com.dfsek.terra.config.lang.LangUtil;
|
||||
@@ -34,7 +33,6 @@ import com.dfsek.terra.world.generation.MasterChunkGenerator;
|
||||
import io.papermc.lib.PaperLib;
|
||||
import org.bstats.bukkit.Metrics;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.TreeType;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
@@ -103,13 +101,6 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
|
||||
this.handle = handle;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void packPreLoadCallback(ConfigPack pack) {
|
||||
for(TreeType value : TreeType.values()) {
|
||||
pack.getTreeRegistry().add(BukkitAdapter.TREE_TRANSFORMER.translate(value), new BukkitTree(value, this));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public DebugLogger getDebugLogger() {
|
||||
return debugLogger;
|
||||
@@ -129,6 +120,8 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
|
||||
public void onEnable() {
|
||||
debugLogger = new DebugLogger(getLogger());
|
||||
|
||||
eventManager.registerListener(new TerraListener(this)); // Register tree injection event
|
||||
|
||||
getLogger().info("Running on version " + BUKKIT_VERSION);
|
||||
if(BUKKIT_VERSION.equals(Version.UNKNOWN)) {
|
||||
getLogger().warning("Terra is running on an unknown Bukkit version. Proceed with caution.");
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.dfsek.terra.bukkit.listeners;
|
||||
|
||||
import com.dfsek.terra.api.core.TerraPlugin;
|
||||
import com.dfsek.terra.api.core.event.EventListener;
|
||||
import com.dfsek.terra.api.core.event.events.config.ConfigPackPreLoadEvent;
|
||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
||||
import com.dfsek.terra.bukkit.world.BukkitTree;
|
||||
import org.bukkit.TreeType;
|
||||
|
||||
public class TerraListener implements EventListener {
|
||||
private final TerraPlugin main;
|
||||
|
||||
public TerraListener(TerraPlugin main) {
|
||||
this.main = main;
|
||||
}
|
||||
|
||||
public void injectTrees(ConfigPackPreLoadEvent event) {
|
||||
for(TreeType value : TreeType.values()) {
|
||||
event.getPack().getTreeRegistry().add(BukkitAdapter.TREE_TRANSFORMER.translate(value), new BukkitTree(value, main));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user