2018-11-04 00:33:37 +01:00
|
|
|
package com.songoda.ultimatetimber;
|
2018-11-03 21:49:10 +01:00
|
|
|
|
2018-11-05 05:15:18 +01:00
|
|
|
import com.songoda.ultimatetimber.commands.CommandHandler;
|
|
|
|
import com.songoda.ultimatetimber.configurations.DefaultConfig;
|
|
|
|
import com.songoda.ultimatetimber.treefall.TreeFallEvent;
|
2018-11-05 23:41:25 +01:00
|
|
|
import com.songoda.ultimatetimber.utils.Methods;
|
2018-11-03 21:49:10 +01:00
|
|
|
import org.bukkit.Bukkit;
|
2018-11-05 05:15:18 +01:00
|
|
|
import org.bukkit.World;
|
2018-11-05 23:41:25 +01:00
|
|
|
import org.bukkit.command.CommandSender;
|
2018-11-03 21:49:10 +01:00
|
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
|
2018-11-05 05:15:18 +01:00
|
|
|
import java.util.ArrayList;
|
2018-11-05 23:41:25 +01:00
|
|
|
import java.util.Collections;
|
2018-11-05 05:15:18 +01:00
|
|
|
import java.util.List;
|
|
|
|
|
2018-11-03 21:49:10 +01:00
|
|
|
/*
|
|
|
|
Note: In this plugin, I have called the act of a tree falling over with pseudo-physics "toppling over". This is reflected
|
|
|
|
in the documentation, config files and variable names.
|
|
|
|
PS: MagmaGuy was here
|
|
|
|
*/
|
|
|
|
|
2018-11-04 00:33:37 +01:00
|
|
|
public class UltimateTimber extends JavaPlugin {
|
2018-11-05 23:41:25 +01:00
|
|
|
private static CommandSender console = Bukkit.getConsoleSender();
|
2018-11-03 21:49:10 +01:00
|
|
|
|
2018-11-05 23:41:25 +01:00
|
|
|
private final String prefix = "&8[&6UltimateTimber&8]";
|
|
|
|
|
|
|
|
private static UltimateTimber INSTANCE;
|
|
|
|
private List<World> validWorlds = new ArrayList<>();
|
2018-11-03 21:49:10 +01:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onEnable() {
|
2018-11-05 23:41:25 +01:00
|
|
|
INSTANCE = this;
|
|
|
|
console.sendMessage(Methods.formatText("&a============================="));
|
|
|
|
console.sendMessage(Methods.formatText("&7" + this.getDescription().getName() + " " + this.getDescription().getVersion() + " by &5Brianna <3&7!"));
|
|
|
|
console.sendMessage(Methods.formatText("&7Action: &aEnabling&7..."));
|
2018-11-03 21:49:10 +01:00
|
|
|
/*
|
|
|
|
Register the main event that handles toppling down trees
|
|
|
|
*/
|
2018-11-05 05:15:18 +01:00
|
|
|
Bukkit.getServer().getPluginManager().registerEvents(new TreeFallEvent(), this);
|
2018-11-03 21:49:10 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
Initialize and cache config
|
|
|
|
*/
|
|
|
|
DefaultConfig.initialize();
|
|
|
|
|
2018-11-05 05:15:18 +01:00
|
|
|
/*
|
|
|
|
Cache valid worlds for later use
|
|
|
|
*/
|
|
|
|
for (World world : Bukkit.getWorlds())
|
2018-11-05 23:41:25 +01:00
|
|
|
if (getConfig().getBoolean(DefaultConfig.VALID_WORLDS + world.getName()))
|
2018-11-05 05:15:18 +01:00
|
|
|
validWorlds.add(world);
|
|
|
|
|
2018-11-05 23:41:25 +01:00
|
|
|
this.getCommand("ultimatetimber").setExecutor(new CommandHandler(this));
|
|
|
|
console.sendMessage(Methods.formatText("&a============================="));
|
2018-11-03 21:49:10 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onDisable() {
|
2018-11-05 05:15:18 +01:00
|
|
|
validWorlds.clear();
|
2018-11-05 23:41:25 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public static UltimateTimber getInstance() {
|
|
|
|
return INSTANCE;
|
|
|
|
}
|
2018-11-05 05:15:18 +01:00
|
|
|
|
2018-11-05 23:41:25 +01:00
|
|
|
public List<World> getValidWorlds() {
|
|
|
|
return Collections.unmodifiableList(validWorlds);
|
2018-11-03 21:49:10 +01:00
|
|
|
}
|
|
|
|
|
2018-11-05 23:41:25 +01:00
|
|
|
public String getPrefix() {
|
|
|
|
return prefix;
|
|
|
|
}
|
2018-11-03 21:49:10 +01:00
|
|
|
}
|