2023-10-03 18:35:35 +02:00

100 lines
3.4 KiB
Java

package de.steev.bm;
import de.steev.bm.changes.interaction.Item_Recipy_Override;
import de.steev.bm.events.BedEvent;
import de.steev.bm.events.InteractEvent;
import de.steev.bm.events.KillEvent;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
public class main extends JavaPlugin implements Listener {
// Global Variables that might come helpfull later
public int playerInBed = 0;
public World world;
String version = "1.2";
// Custom Playerdata File
public File playerdata;
public FileConfiguration playerDataConfig;
public final String playerdatafilename = "playerdata.yml";
// Handles initialisation
public void onEnable() {
// Messaging
this.getLogger().info(ChatColor.AQUA + "Plugin Startet");
// Registers Events
this.getLogger().info(ChatColor.AQUA + "Lade Events");
this.getServer().getPluginManager().registerEvents(new BedEvent(this), this);
this.getServer().getPluginManager().registerEvents(new KillEvent(this), this);
this.getServer().getPluginManager().registerEvents(new InteractEvent(this), this);
this.getServer().getPluginManager().registerEvents(this, this);
// PlayerData
playerdata = new File(this.getDataFolder(), playerdatafilename);
playerDataConfig = YamlConfiguration.loadConfiguration(playerdata);
saveplayerdata();
// More Messaging
this.getLogger().info(ChatColor.AQUA + "Erstelle Rezepte");
Item_Recipy_Override Saddle = new Item_Recipy_Override(this, "Saddle", Material.SADDLE, 1);
char[] s_ing = { 'L', 'S', 'I' };
String[] s_rec = { "LLL", "LSL", " I " };
Material[] s_mat = { Material.LEATHER, Material.STRING, Material.IRON_NUGGET };
Saddle.register_recipy(s_ing, s_mat, s_rec);
Item_Recipy_Override Wool = new Item_Recipy_Override(this, "String", Material.STRING, 8);
char[] w_ing = { 'W', 'F', };
String[] w_rec = { " W ", "WFW", " W " };
Material[] w_mat = { Material.WHITE_WOOL, Material.FLINT };
Wool.register_recipy(w_ing, w_mat, w_rec);
// More Messaging
this.getLogger().info(ChatColor.AQUA + "Ich bin Fertig :D");
}
@EventHandler
void onPlayerJoin(PlayerJoinEvent e) {
Player p = (Player) e.getPlayer();
UUID uuid = p.getUniqueId();
// prevent this allways resetting the job count
if (this.playerDataConfig.get(uuid + "." + version + ".read") == null) {
p.sendMessage("================= Better Minecraft " + version + " =================");
p.sendMessage("Command: /back eingefügt");
p.sendMessage("=====================================================");
this.playerDataConfig.set(uuid + ".name", p.getName());
this.playerDataConfig.set(uuid + "." + version + ".read", "true");
saveplayerdata();
}
}
void saveplayerdata() {
try {
playerDataConfig.save(playerdata);
} catch (IOException e) {
this.getLogger().warning("Unable to save " + playerdatafilename); // shouldn't really happen, but save
// throws the exception
}
}
public void onDisable() {
// Even more Messaging
this.getLogger().info(ChatColor.AQUA + "Ich geh dann mal :c");
}
}