mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-16 22:01:07 +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.api.platform.world.World;
|
||||||
import com.dfsek.terra.config.PluginConfig;
|
import com.dfsek.terra.config.PluginConfig;
|
||||||
import com.dfsek.terra.config.lang.Language;
|
import com.dfsek.terra.config.lang.Language;
|
||||||
import com.dfsek.terra.config.pack.ConfigPack;
|
|
||||||
import com.dfsek.terra.debug.DebugLogger;
|
import com.dfsek.terra.debug.DebugLogger;
|
||||||
import com.dfsek.terra.registry.ConfigRegistry;
|
import com.dfsek.terra.registry.ConfigRegistry;
|
||||||
import com.dfsek.terra.world.TerraWorld;
|
import com.dfsek.terra.world.TerraWorld;
|
||||||
@@ -42,13 +41,6 @@ public interface TerraPlugin extends LoaderRegistrar {
|
|||||||
|
|
||||||
String platformName();
|
String platformName();
|
||||||
|
|
||||||
default void packPreLoadCallback(ConfigPack pack) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
default void packPostLoadCallback(ConfigPack pack) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
DebugLogger getDebugLogger();
|
DebugLogger getDebugLogger();
|
||||||
|
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ public class ConfigPack implements LoaderRegistrar {
|
|||||||
|
|
||||||
private void load(long start, TerraPlugin main) throws ConfigException {
|
private void load(long start, TerraPlugin main) throws ConfigException {
|
||||||
main.getEventManager().callEvent(new ConfigPackPreLoadEvent(this));
|
main.getEventManager().callEvent(new ConfigPackPreLoadEvent(this));
|
||||||
main.packPreLoadCallback(this);
|
|
||||||
for(Map.Entry<String, Double> var : template.getVariables().entrySet()) {
|
for(Map.Entry<String, Double> var : template.getVariables().entrySet()) {
|
||||||
varScope.create(var.getKey(), var.getValue());
|
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("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("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();
|
.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));
|
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());
|
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.CommonListener;
|
||||||
import com.dfsek.terra.bukkit.listeners.PaperListener;
|
import com.dfsek.terra.bukkit.listeners.PaperListener;
|
||||||
import com.dfsek.terra.bukkit.listeners.SpigotListener;
|
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.util.PaperUtil;
|
||||||
import com.dfsek.terra.bukkit.world.BukkitAdapter;
|
|
||||||
import com.dfsek.terra.bukkit.world.BukkitBiome;
|
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.GenericLoaders;
|
||||||
import com.dfsek.terra.config.PluginConfig;
|
import com.dfsek.terra.config.PluginConfig;
|
||||||
import com.dfsek.terra.config.lang.LangUtil;
|
import com.dfsek.terra.config.lang.LangUtil;
|
||||||
@@ -34,7 +33,6 @@ import com.dfsek.terra.world.generation.MasterChunkGenerator;
|
|||||||
import io.papermc.lib.PaperLib;
|
import io.papermc.lib.PaperLib;
|
||||||
import org.bstats.bukkit.Metrics;
|
import org.bstats.bukkit.Metrics;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.TreeType;
|
|
||||||
import org.bukkit.command.PluginCommand;
|
import org.bukkit.command.PluginCommand;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.generator.ChunkGenerator;
|
import org.bukkit.generator.ChunkGenerator;
|
||||||
@@ -103,13 +101,6 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
|
|||||||
this.handle = handle;
|
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
|
@Override
|
||||||
public DebugLogger getDebugLogger() {
|
public DebugLogger getDebugLogger() {
|
||||||
return debugLogger;
|
return debugLogger;
|
||||||
@@ -129,6 +120,8 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
|
|||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
debugLogger = new DebugLogger(getLogger());
|
debugLogger = new DebugLogger(getLogger());
|
||||||
|
|
||||||
|
eventManager.registerListener(new TerraListener(this)); // Register tree injection event
|
||||||
|
|
||||||
getLogger().info("Running on version " + BUKKIT_VERSION);
|
getLogger().info("Running on version " + BUKKIT_VERSION);
|
||||||
if(BUKKIT_VERSION.equals(Version.UNKNOWN)) {
|
if(BUKKIT_VERSION.equals(Version.UNKNOWN)) {
|
||||||
getLogger().warning("Terra is running on an unknown Bukkit version. Proceed with caution.");
|
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