Page MenuHomeDevCentral

SuhaylPlugin.java
No OneTemporary

SuhaylPlugin.java

package org.eu.loupsgris.quilvaryn;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
import org.eu.loupsgris.quilvaryn.commands.RegionCommand;
import org.eu.loupsgris.quilvaryn.config.SuhaylConfig;
import org.eu.loupsgris.quilvaryn.config.SuhaylTranslationRegistry;
import org.eu.loupsgris.quilvaryn.items.CommandmentStick;
import org.eu.loupsgris.quilvaryn.items.Quill;
import org.eu.loupsgris.quilvaryn.listeners.*;
import org.eu.loupsgris.quilvaryn.services.WanderingTraderService;
import org.eu.loupsgris.quilvaryn.utils.ResourceLoader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class SuhaylPlugin extends JavaPlugin {
public SuhaylConfig config;
public static final String NAMESPACE = "suhayl";
@Override
public void onEnable() {
config = loadConfig();
loadTranslationRegistry();
// Register features
Bukkit.getPluginManager().registerEvents(new OptimizedWeather(config), this);
HappyGhastBehavior listener = new HappyGhastBehavior(getLogger(), config);
Bukkit.getPluginManager().registerEvents(listener, this);
Bukkit.getPluginManager().registerEvents(new SafeSleep(), this);
Bukkit.getPluginManager().registerEvents(new SaddleBehavior(), this);
registerCommandmentStick();
registerQuill();
// Commands
getCommand("region").setExecutor(new RegionCommand());
}
private SuhaylConfig loadConfig() {
File configFile = new File(getDataFolder(), "config.yml");
if (!configFile.exists()) {
return SuhaylConfig.byDefault();
}
getLogger().info("Loading custom " + configFile.getName());
return SuhaylConfig.Load(this.getConfig());
}
private void loadTranslationRegistry() {
ResourceLoader loader = path -> {
InputStream stream = this.getResource(path);
if (stream == null) {
throw new FileNotFoundException(path);
}
return stream;
};
SuhaylTranslationRegistry registry = new SuhaylTranslationRegistry(
getLogger(),
loader
);
registry.load();
}
private void registerCommandmentStick() {
WanderingTraderService service = new WanderingTraderService(config, getLogger());
WanderingTraderBehavior listener = new WanderingTraderBehavior(service);
Bukkit.getPluginManager().registerEvents(listener, this);
Bukkit.addRecipe(CommandmentStick.getRecipe());
}
private void registerQuill() {
Bukkit.getPluginManager().registerEvents(new QuillBehavior(), this);
Bukkit.addRecipe(Quill.getRecipe());
}
@Override
public void onDisable() {
getLogger().info("Suhayl quality of life plugin disabled.");
}
}

File Metadata

Mime Type
text/x-java
Expires
Tue, Nov 18, 17:01 (11 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3176607
Default Alt Text
SuhaylPlugin.java (2 KB)

Event Timeline