use event API for registration of Bukkit trees

This commit is contained in:
dfsek
2021-02-16 12:57:35 -07:00
parent 48296fb14a
commit 06cd1dc562
4 changed files with 26 additions and 20 deletions

View File

@@ -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.");

View File

@@ -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));
}
}
}