Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dev.xurses.eventlistenersx.Listeners;
- import dev.xurses.eventlistenersx.EventListenersX;
- import dev.xurses.eventlistenersx.Utility.PlayerUtility;
- import dev.xurses.eventlistenersx.data.PlayerStats;
- import net.md_5.bungee.api.ChatColor;
- import org.bukkit.*;
- import org.bukkit.block.Block;
- 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.block.BlockBreakEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitRunnable;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import static sun.awt.X11GraphicsConfig.getConfig;
- public class SkillsHandler implements Listener {
- PlayerStats memory = new PlayerStats();
- boolean MiningOre;
- @EventHandler
- public void AddMiningSkill(BlockBreakEvent e) throws IOException {
- Player player = e.getPlayer();
- Block block = e.getBlock();
- File f = new File(PlayerUtility.getFolderPath(e.getPlayer()) + "/general.yml");
- FileConfiguration cfg = YamlConfiguration.loadConfiguration(f);
- memory.getMiningXP(cfg.getDouble("stats.MiningXP"));
- memory.setMiningXP(cfg.getDouble("stats.MiningXP"));
- memory.getLightTouched(cfg.getDouble("stats.LightTouched"));
- memory.setLightTouched(cfg.getDouble("stats.LightTouched"));
- //double MiningXProunded = ((int) (memory.MiningXP * 100) / 100.0);
- switch (block.getType()) {
- case COAL_ORE:
- case DEEPSLATE_COAL_ORE:
- case COPPER_ORE:
- case DEEPSLATE_COPPER_ORE:
- case IRON_ORE:
- case DEEPSLATE_IRON_ORE:
- case LAPIS_ORE:
- case DEEPSLATE_LAPIS_ORE:
- case REDSTONE_ORE:
- case DEEPSLATE_REDSTONE_ORE:
- case GOLD_ORE:
- case DEEPSLATE_GOLD_ORE:
- case NETHER_GOLD_ORE:
- case DIAMOND_ORE:
- case DEEPSLATE_DIAMOND_ORE:
- case ANCIENT_DEBRIS:
- case EMERALD_ORE:
- case DEEPSLATE_EMERALD_ORE:
- MiningOre = true;
- memory.MiningXP += 0.01;
- break;
- default:
- break;
- }
- cfg.set("stats.MiningXP", memory.getMiningXP(cfg.getDouble("stats.MiningXP")));
- cfg.set("stats.LightTouched", memory.getLightTouched(cfg.getDouble("stats.LightTouched")));
- cfg.save(f);
- //if (block.getType() == Material.DEEPSLATE_COAL_ORE) {
- // e.setCancelled(true);
- // player.sendMessage("You need at least level 1 mining to mine deepslate.");
- //} else if (block.getType() == Material.DEEPSLATE && memory.MiningXP >= 1.0) {
- //memory.MiningXP += 0.02;
- //player.sendMessage("Mining level increased: " + MiningXProunded);
- }
- //}
- @EventHandler
- public void LevelCheck(BlockBreakEvent e) throws IOException {
- Player player = e.getPlayer();
- File f = new File(PlayerUtility.getFolderPath(e.getPlayer()) + "/general.yml");
- FileConfiguration cfg = YamlConfiguration.loadConfiguration(f);
- memory.getLightTouched(cfg.getDouble("stats.LightTouched"));
- memory.setLightTouched(cfg.getDouble("stats.LightTouched"));
- memory.getMiningXP(cfg.getDouble("stats.MiningXP"));
- memory.setMiningXP(cfg.getDouble("stats.MiningXP"));
- double MiningXProunded = ((int) (memory.MiningXP * 100) / 100.0);
- if (memory.MiningXP >= 1.0 && memory.LightTouched <= 0.0) {
- memory.LightTouched = 1.0;
- player.sendMessage(ChatColor.GRAY + "You" + ChatColor.WHITE + " have" + ChatColor.GREEN + " Unlocked" + ChatColor.WHITE + ":" + ChatColor.AQUA + " LightTouched" + ChatColor.GOLD + " Coal");
- player.sendMessage(ChatColor.WHITE + "To use" + ChatColor.AQUA + " LightTouched" + ChatColor.WHITE + ": Sneak while mining:" + ChatColor.BLUE + " Unlocked ores");
- player.sendMessage("More Blocks and skills coming soon!");
- Bukkit.broadcastMessage(ChatColor.GRAY + player.getName() + ChatColor.WHITE + " Has gotten" + ChatColor.RED + " level:" + ChatColor.GOLD + MiningXProunded + ChatColor.WHITE + " in the" + ChatColor.BOLD + " mining" + ChatColor.WHITE + " skill and" + ChatColor.GREEN + " unlocked" + ChatColor.GOLD + " LightTouched" + ChatColor.AQUA + " Coal");
- }
- if (memory.MiningXP >= 2.0 && memory.LightTouched <= 1.0) {
- memory.LightTouched = 2.0;
- player.sendMessage(ChatColor.GRAY + "You" + ChatColor.WHITE + " have" + ChatColor.GREEN + " Unlocked" + ChatColor.WHITE + ":" + ChatColor.AQUA + " LightTouched" + ChatColor.GOLD + " Copper");
- player.sendMessage(ChatColor.WHITE + "To use" + ChatColor.AQUA + " LightTouched" + ChatColor.WHITE + ": Sneak while mining:" + ChatColor.BLUE + " Unlocked ores");
- Bukkit.broadcastMessage(ChatColor.GRAY + player.getName() + ChatColor.WHITE + " Has gotten" + ChatColor.RED + " level:" + ChatColor.GOLD + MiningXProunded + ChatColor.WHITE + " in the" + ChatColor.BOLD + " mining" + ChatColor.WHITE + " skill and" + ChatColor.GREEN + " unlocked" + ChatColor.GOLD + " LightTouched" + ChatColor.AQUA + " Copper");
- }
- if (memory.MiningXP >= 5.0 && memory.LightTouched <= 2.0) {
- memory.LightTouched = 3.0;
- player.sendMessage(ChatColor.GRAY + "You" + ChatColor.WHITE + " have" + ChatColor.GREEN + " Unlocked" + ChatColor.WHITE + ":" + ChatColor.AQUA + " LightTouched" + ChatColor.GOLD + " Iron");
- player.sendMessage(ChatColor.WHITE + "To use" + ChatColor.AQUA + " LightTouched" + ChatColor.WHITE + ": Sneak while mining:" + ChatColor.BLUE + " Unlocked ores");
- Bukkit.broadcastMessage(ChatColor.GRAY + player.getName() + ChatColor.WHITE + " Has gotten" + ChatColor.RED + " level:" + ChatColor.GOLD + MiningXProunded + ChatColor.WHITE + " in the" + ChatColor.BOLD + " mining" + ChatColor.WHITE + " skill and" + ChatColor.GREEN + " unlocked" + ChatColor.GOLD + " LightTouched" + ChatColor.AQUA + " Iron");
- }
- if (memory.MiningXP >= 8.0 && memory.LightTouched <= 3.0) {
- memory.LightTouched = 4.0;
- player.sendMessage(ChatColor.GRAY + "You" + ChatColor.WHITE + " have" + ChatColor.GREEN + " Unlocked" + ChatColor.WHITE + ":" + ChatColor.AQUA + " LightTouched" + ChatColor.GOLD + " Redstone");
- player.sendMessage(ChatColor.WHITE + "To use" + ChatColor.AQUA + " LightTouched" + ChatColor.WHITE + ": Sneak while mining:" + ChatColor.BLUE + " Unlocked ores");
- Bukkit.broadcastMessage(ChatColor.GRAY + player.getName() + ChatColor.WHITE + " Has gotten" + ChatColor.RED + " level:" + ChatColor.GOLD + MiningXProunded + ChatColor.WHITE + " in the" + ChatColor.BOLD + " mining" + ChatColor.WHITE + " skill and" + ChatColor.GREEN + " unlocked" + ChatColor.GOLD + " LightTouched" + ChatColor.AQUA + " Redstone");
- }
- if (memory.MiningXP >= 10.0 && memory.LightTouched <= 4.0) {
- memory.LightTouched = 5.0;
- player.sendMessage(ChatColor.GRAY + "You" + ChatColor.WHITE + " have" + ChatColor.GREEN + " Unlocked" + ChatColor.WHITE + ":" + ChatColor.AQUA + " LightTouched" + ChatColor.GOLD + " Gold");
- player.sendMessage(ChatColor.WHITE + "To use" + ChatColor.AQUA + " LightTouched" + ChatColor.WHITE + ": Sneak while mining:" + ChatColor.BLUE + " Unlocked ores");
- Bukkit.broadcastMessage(ChatColor.GRAY + player.getName() + ChatColor.WHITE + " Has gotten" + ChatColor.RED + " level:" + ChatColor.GOLD + MiningXProunded + ChatColor.WHITE + " in the" + ChatColor.BOLD + " mining" + ChatColor.WHITE + " skill and" + ChatColor.GREEN + " unlocked" + ChatColor.GOLD + " LightTouched" + ChatColor.AQUA + " Gold");
- }
- if (memory.MiningXP >= 15.0 && memory.LightTouched <= 5.0) {
- memory.LightTouched = 6.0;
- player.sendMessage(ChatColor.GRAY + "You" + ChatColor.WHITE + " have" + ChatColor.GREEN + " Unlocked" + ChatColor.WHITE + ":" + ChatColor.AQUA + " LightTouched" + ChatColor.GOLD + " Emerald");
- player.sendMessage(ChatColor.WHITE + "To use" + ChatColor.AQUA + " LightTouched" + ChatColor.WHITE + ": Sneak while mining:" + ChatColor.BLUE + " Unlocked ores");
- Bukkit.broadcastMessage(ChatColor.GRAY + player.getName() + ChatColor.WHITE + " Has gotten" + ChatColor.RED + " level:" + ChatColor.GOLD + MiningXProunded + ChatColor.WHITE + " in the" + ChatColor.BOLD + " mining" + ChatColor.WHITE + " skill and" + ChatColor.GREEN + " unlocked" + ChatColor.GOLD + " LightTouched" + ChatColor.AQUA + " Emerald");
- }
- if (memory.MiningXP >= 25.0 && memory.LightTouched <= 6.0) {
- memory.LightTouched = 7.0;
- player.sendMessage(ChatColor.GRAY + "You" + ChatColor.WHITE + " have" + ChatColor.GREEN + " Unlocked" + ChatColor.WHITE + ":" + ChatColor.AQUA + " LightTouched" + ChatColor.GOLD + " Diamond");
- player.sendMessage(ChatColor.WHITE + "To use" + ChatColor.AQUA + " LightTouched" + ChatColor.WHITE + ": Sneak while mining:" + ChatColor.BLUE + " Unlocked ores");
- Bukkit.broadcastMessage(ChatColor.GRAY + player.getName() + ChatColor.WHITE + " Has gotten" + ChatColor.RED + " level:" + ChatColor.GOLD + MiningXProunded + ChatColor.WHITE + " in the" + ChatColor.BOLD + " mining" + ChatColor.WHITE + " skill and" + ChatColor.GREEN + " unlocked" + ChatColor.GOLD + " LightTouched" + ChatColor.AQUA + " Diamond");
- }
- if (memory.MiningXP >= 40.0 && memory.LightTouched <= 7.0) {
- memory.LightTouched = 8.0;
- player.sendMessage(ChatColor.GRAY + "You" + ChatColor.WHITE + " have" + ChatColor.GREEN + " Unlocked" + ChatColor.WHITE + ":" + ChatColor.AQUA + " LightTouched" + ChatColor.GOLD + " Lapis");
- player.sendMessage(ChatColor.WHITE + "To use" + ChatColor.AQUA + " LightTouched" + ChatColor.WHITE + ": Sneak while mining:" + ChatColor.BLUE + " Unlocked ores");
- Bukkit.broadcastMessage(ChatColor.GRAY + player.getName() + ChatColor.WHITE + " Has gotten" + ChatColor.RED + " level:" + ChatColor.GOLD + MiningXProunded + ChatColor.WHITE + " in the" + ChatColor.BOLD + " mining" + ChatColor.WHITE + " skill and" + ChatColor.GREEN + " unlocked" + ChatColor.GOLD + " LightTouched" + ChatColor.AQUA + " Lapis");
- }
- if (memory.MiningXP >= 50.0 && memory.LightTouched <= 8.0) {
- memory.LightTouched = 9.0;
- player.sendMessage(ChatColor.GRAY + "You" + ChatColor.WHITE + " have" + ChatColor.GREEN + " Unlocked" + ChatColor.WHITE + ":" + ChatColor.AQUA + " LightTouched" + ChatColor.GOLD + " Ancient Debris");
- player.sendMessage(ChatColor.WHITE + "To use" + ChatColor.AQUA + " LightTouched" + ChatColor.WHITE + ": Sneak while mining:" + ChatColor.BLUE + " Unlocked ores");
- Bukkit.broadcastMessage(ChatColor.GRAY + player.getName() + ChatColor.WHITE + " Has gotten" + ChatColor.RED + " level:" + ChatColor.GOLD + MiningXProunded + ChatColor.WHITE + " in the" + ChatColor.BOLD + " mining" + ChatColor.WHITE + " skill and" + ChatColor.GREEN + " unlocked" + ChatColor.GOLD + " LightTouched" + ChatColor.AQUA + " Ancient Debris");
- }
- if (MiningXProunded % 1 == 0 && MiningOre) {
- player.sendMessage(ChatColor.GRAY + "Your" + ChatColor.RED + " level" + ChatColor.WHITE + " in the" + ChatColor.BOLD + " Mining" + ChatColor.WHITE + " skill has" + ChatColor.GREEN + " increased" + ChatColor.WHITE + " to " + ChatColor.GOLD + memory.MiningXP + ChatColor.WHITE + ".");
- player.playSound(player.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 1.0f, 1.0f);
- player.playEffect(player.getLocation(), Effect.ELECTRIC_SPARK, 20);
- MiningOre = false;
- }
- cfg.set("stats.MiningXP", memory.getMiningXP(cfg.getDouble("stats.MiningXP")));
- cfg.set("stats.LightTouched", memory.getLightTouched(cfg.getDouble("stats.LightTouched")));
- cfg.save(f);
- }
- @EventHandler
- public void RespawnLevels(BlockBreakEvent e) throws IOException, InterruptedException {
- Player player = e.getPlayer();
- Block block = e.getBlock();
- File f = new File(PlayerUtility.getFolderPath(e.getPlayer()) + "/general.yml");
- FileConfiguration cfg = YamlConfiguration.loadConfiguration(f);
- memory.getMiningXP(cfg.getDouble("stats.MiningXP"));
- memory.setMiningXP(cfg.getDouble("stats.MiningXP"));
- memory.getLightTouched(cfg.getDouble("stats.LightTouched"));
- memory.setLightTouched(cfg.getDouble("stats.LightTouched"));
- switch (block.getType()) {
- case COAL_ORE:
- case DEEPSLATE_COAL_ORE:
- if (memory.LightTouched >= 1) {
- Material SaveBlock = block.getType();
- UseMe(e);
- //block.setType(SaveBlock);
- }
- break;
- case COPPER_ORE:
- case DEEPSLATE_COPPER_ORE:
- if (memory.LightTouched >= 2) {
- Material SaveBlock = block.getType();
- UseMe(e);
- //block.setType(SaveBlock);
- }
- break;
- case IRON_ORE:
- case DEEPSLATE_IRON_ORE:
- if (memory.LightTouched >= 3) {
- Material SaveBlock = block.getType();
- UseMe(e);
- //block.setType(SaveBlock);
- }
- break;
- case REDSTONE_ORE:
- case DEEPSLATE_REDSTONE_ORE:
- if (memory.LightTouched >= 4) {
- Material SaveBlock = block.getType();
- UseMe(e);
- //block.setType(SaveBlock);
- }
- break;
- case GOLD_ORE:
- case DEEPSLATE_GOLD_ORE:
- case NETHER_GOLD_ORE:
- if (memory.LightTouched >= 5) {
- Material SaveBlock = block.getType();
- UseMe(e);
- //block.setType(SaveBlock);
- }
- break;
- case EMERALD_ORE:
- case DEEPSLATE_EMERALD_ORE:
- if (memory.LightTouched >= 6) {
- Material SaveBlock = block.getType();
- UseMe(e);
- //block.setType(SaveBlock);
- }
- break;
- case DIAMOND_ORE:
- case DEEPSLATE_DIAMOND_ORE:
- if (memory.LightTouched >= 7) {
- Material SaveBlock = block.getType();
- UseMe(e);
- //block.setType(SaveBlock);
- }
- break;
- case LAPIS_ORE:
- case DEEPSLATE_LAPIS_ORE:
- if (memory.LightTouched >= 8) {
- Material SaveBlock = block.getType();
- UseMe(e);
- //block.setType(SaveBlock);
- }
- break;
- case ANCIENT_DEBRIS:
- if (memory.LightTouched >= 9) {
- Material SaveBlock = block.getType();
- UseMe(e);
- //block.setType(SaveBlock);
- }
- break;
- }
- }
- @EventHandler
- public void UseMe(BlockBreakEvent e) throws IOException {
- Player player = e.getPlayer();
- Block block = e.getBlock();
- File f = new File(PlayerUtility.getFolderPath(e.getPlayer()) + "/general.yml");
- FileConfiguration cfg = YamlConfiguration.loadConfiguration(f);
- memory.getSaveBlocks(cfg.getString("stats.SaveBlocks"));
- memory.setSaveBlocks(cfg.getString("stats.SaveBlocks"));
- memory.getMiningXP(cfg.getDouble("stats.MiningXP"));
- memory.setMiningXP(cfg.getDouble("stats.MiningXP"));
- memory.getLightTouched(cfg.getDouble("stats.LightTouched"));
- memory.setLightTouched(cfg.getDouble("stats.LightTouched"));
- /*
- Material TheBlock = block.getType();
- String SlocX = Integer.toString(locX);
- String SlocY = Integer.toString(locY);
- String STheBlock = TheBlock.toString(); */
- Material mTheBlock = block.getType();
- String TheBlock = mTheBlock.toString();
- Location loc = block.getLocation();
- ArrayList<String> Blockit = new ArrayList<String>();
- Blockit.add(TheBlock);
- World world = block.getWorld();
- memory.SaveBlocks = Blockit.toString();
- cfg.set("stats.SaveBlocks", memory.getSaveBlocks(cfg.getString("stats.SaveBlocks")));
- if (player.isSneaking() && MiningOre) { //(player.isSneaking() && memory.LightTouched >= 1) {
- block.breakNaturally();
- e.setCancelled(true);
- block.setType(Material.BEDROCK);
- MiningOre = false;
- new BukkitRunnable() {
- //@Override
- public void run() {
- //block.setType(blockit);
- world.getBlockAt(loc).setType(mTheBlock);
- }
- }.runTaskLater(JavaPlugin.getPlugin(EventListenersX.class), 180l);
- cfg.set("stats.MiningXP", memory.getMiningXP(cfg.getDouble("stats.MiningXP")));
- cfg.set("stats.LightTouched", memory.getLightTouched(cfg.getDouble("stats.LightTouched")));
- cfg.save(f);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment