Error on executing command NPE

Discussion in 'Plugin Development' started by j0ach1mmall3, Apr 19, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    j0ach1mmall3

    Hello, this is the first time I create a plugin, but I encountered an error I can not fix. This is a plugin for Tekkit Classic 1.2.5. Also, if you have other suggestions about my plugin, please post them below.
    Stacktrace:
    Show Spoiler

    19.04 11:52:45 [Server] SEVERE null
    19.04 11:52:45 [Server] INFO org.bukkit.command.CommandException: Unhandled exception executing command 'splegg' in plugin Dwarvencraftmc v6.0.0
    19.04 11:52:45 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    19.04 11:52:45 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
    19.04 11:52:45 [Server] INFO at forge.bukkit.ForgeCommandMap.dispatch(ForgeCommandMap.java:55)
    19.04 11:52:45 [Server] INFO at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:664)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:862)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:818)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:800)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.NetworkManager.b(NetworkManager.java:262)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:119)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:97)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:651)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:525)
    19.04 11:52:45 [Server] INFO at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    19.04 11:52:45 [Server] INFO Caused by: java.lang.NullPointerException
    19.04 11:52:45 [Server] INFO at me.j0ach1mmall3.Dwarvencraftmc.Main.onCommand(Main.java:197)
    19.04 11:52:45 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    19.04 11:52:45 [Server] INFO ... 13 more

    Main.class (not everything):
    Show Spoiler
    Code:
    package me.j0ach1mmall3.Dwarvencraftmc;
     
    import java.util.ArrayList;
    import java.util.HashMap;
     
    import net.minecraft.server.ItemSpade;
     
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.block.Block;
    import org.bukkit.block.Sign;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Egg;
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Item;
    import org.bukkit.entity.Player;
    import org.bukkit.entity.Projectile;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.block.SignChangeEvent;
    import org.bukkit.event.entity.EntityDamageByEntityEvent;
    import org.bukkit.event.entity.EntityInteractEvent;
    import org.bukkit.event.entity.ItemSpawnEvent;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.entity.ProjectileHitEvent;
    import org.bukkit.event.player.PlayerDropItemEvent;
    import org.bukkit.event.player.PlayerEggThrowEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.scheduler.BukkitScheduler;
    import org.bukkit.util.Vector;
     
    public class Main extends JavaPlugin implements Listener {
     
    String SpleggTool;
    String SpleggBlock;
    String Border;
    String VoteLink;
    String DonateLink;
    String WebsiteLink;
    String SelectionTool;
    String ArenaName;
    String World;
    int x1;
    int y1;
    int z1;
    int x2 ;
    int y2;
    int z2;
    HashMap<String, Boolean> isJoined;
    ArrayList<String> joinedPlayers;
    boolean inGame;
    boolean inCountdown;
     
    //ON ENABLE
    public void onEnable(){
    saveDefaultConfig();
    reloadConfig();
    PluginManager pm = getServer().getPluginManager();
    pm.registerEvents(new Main(), this);
    this.getServer().getPluginManager().registerEvents(this, this);
    SpleggTool = getConfig().getString("SpleggTool");
    SpleggBlock = getConfig().getString("SpleggBlock");
    Border = getConfig().getString("Border").replaceAll("&", "§");
    VoteLink = getConfig().getString("VoteLink").replaceAll("§", "§");
    DonateLink = getConfig().getString("DonateLink").replaceAll("§", "§");
    WebsiteLink = getConfig().getString("WebsiteLink").replaceAll("§", "§");
    SelectionTool = getConfig().getString("SelectionTool");
    ArenaName = getConfig().getString("ArenaName");
    World = getConfig().getString("World");
    x1 = getConfig().getInt("x1");
    y1 = getConfig().getInt("y1");
    z1 = getConfig().getInt("z1");
    x2 = getConfig().getInt("x2");
    y2 = getConfig().getInt("y2");
    z2 = getConfig().getInt("z2");
    HashMap<String, Boolean> isJoined = new HashMap<String, Boolean>();
    ArrayList<String> joinedPlayers = new ArrayList<String>();
    Boolean inGame = false;
    Boolean inCountdown = false;
    }
    //COMMANDS
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] a) {
    Player p = (Player) sender;
    if((cmd.getName().equalsIgnoreCase("splegg")) && (a.length != 0) && (sender instanceof Player)){
    if ((a[0].equalsIgnoreCase("create")) && (a.length != 1) && p.hasPermission("dwarvencraftmc.splegg.create")){
    this.getConfig().set("ArenaName", a[1]);
    saveConfig();
    p.sendMessage("§aDone!");
    } else if((a[0].equalsIgnoreCase("create")) && (a.length == 1) && (sender instanceof Player)){ p.sendMessage("§cUsage: /splegg create [name]."); }
    if (a[0].equalsIgnoreCase("info") && (p.hasPermission("dwarvencraftmc.splegg.info")) && (sender instanceof Player)){
    ArenaName = getConfig().getString("ArenaName");
    World = getConfig().getString("World");
    x1 = getConfig().getInt("x1");
    y1 = getConfig().getInt("y1");
    z1 = getConfig().getInt("z1");
    x2 = getConfig().getInt("x2");
    y2 = getConfig().getInt("y2");
    z2 = getConfig().getInt("z2");
    p.sendMessage("§bArenaName: " + ChatColor.RED + ArenaName);
    p.sendMessage("§bWorld: " + ChatColor.RED + World);
    p.sendMessage("§bx1: " + ChatColor.RED + x1);
    p.sendMessage("§by1: " + ChatColor.RED + y1);
    p.sendMessage("§bz1: " + ChatColor.RED + z1);
    p.sendMessage("§bx2: " + ChatColor.RED + x2);
    p.sendMessage("§by2: " + ChatColor.RED + y2);
    p.sendMessage("§bz2: " + ChatColor.RED + z2);
    p.sendMessage("§bInGame: " + ChatColor.RED + inGame);
    p.sendMessage("§bIsJoined: " + ChatColor.RED + isJoined);
    }
    if ((a[0].equalsIgnoreCase("remove") && (p.hasPermission("dwarvencraftmc.splegg.remove")) && (sender instanceof Player))){
    this.getConfig().set("x1", 0);
    this.getConfig().set("y1", 0);
    this.getConfig().set("z1", 0);
    this.getConfig().set("x2", 0);
    this.getConfig().set("y2", 0);
    this.getConfig().set("z2", 0);
    this.getConfig().set("World", "world");
    this.getConfig().set("ArenaName", "Default");
    p.sendMessage("§aDone!");
    }
    if ((a[0].equalsIgnoreCase("restore") && p.hasPermission("dwarvencraftmc.splegg.restore")) && (sender instanceof Player)){
    saveConfig();
    x1 = getConfig().getInt("x1");
    y1 = getConfig().getInt("y1");
    z1 = getConfig().getInt("z1");
    x2 = getConfig().getInt("x2");
    y2 = getConfig().getInt("y2");
    z2 = getConfig().getInt("z2");
    int x = x1;
    int z = z1;
    p.sendMessage("§aRestoring...");
    try {
    if ((x1<x2) && (z1<z2)){
    while ((x != x2+1) && (z != z2+1)){
    while (x != x2+1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x+1;
    }
    if ((x == x2+1) && (z != z2+1)){
    z = z+1;
    x = x1;
    }
    }
    } else
    if ((x1>x2) && (z1<z2)){
    while ((x != x2-1) && (z != z2+1)){
    while (x != x2-1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x-1;
    }
    if ((x == x2-1) && (z != z2+1)){
    z = z+1;
    x = x1;
    }
    }
    } else
    if ((x1<x2) && (z1>z2)){
    while ((x != x2+1) && (z != z2-1)){
    while (x != x2+1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x+1;
    }
    if ((x == x2+1) && (z != z2-1)){
    z = z-1;
    x = x1;
    }
    }
    } else
    if ((x1>x2) && (z1>z2)){
    while ((x != x2-1) && (z != z2-1)){
    while (x != x2-1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x-1;
    }
    if ((x == x2-1) && (z != z2-1)){
    z = z-1;
    x = x1;
    }
    }
    }
    } catch(NullPointerException e){
     
    }
    }
    if((a[0].equalsIgnoreCase("join") && p.hasPermission("dwarvencraftmc.splegg.use")) && (isJoined.get(p.getDisplayName()) == false) && (inGame == false) && (sender instanceof Player)){
    isJoined.put(p.getDisplayName(), true);
    saveConfig();
    x1 = getConfig().getInt("x1");
    y1 = getConfig().getInt("y1");
    z1 = getConfig().getInt("z1");
    Location l = new Location(p.getWorld(), x1+0.5, y1+1, z1+0.5);
    p.teleport(l);
    p.getInventory().addItem(new ItemStack(Material.getMaterial(SpleggTool), 1));
    p.sendMessage("§aYou joined the Game.");
    p.sendMessage("§aDo /Splegg ready when you are ready.");
    } else if((a[0].equalsIgnoreCase("join") && p.hasPermission("dwarvencraftmc.splegg.use")) && (isJoined.get(p.getDisplayName()) == true) && (sender instanceof Player)){ p.sendMessage("§cYou already joined!");
    } else if((a[0].equalsIgnoreCase("join") && p.hasPermission("dwarvencraftmc.splegg.use")) && (isJoined.get(p.getDisplayName()) == false) && (inGame == true) && (sender instanceof Player)){ p.sendMessage("§cThe game has already started!");}
    if((a[0].equalsIgnoreCase("leave") && p.hasPermission("dwarvencraftmc.splegg.use")) && (isJoined.get(p.getDisplayName()) == true) && (inCountdown == false) && (sender instanceof Player)){
    p.sendMessage("§aYou left the Game.");
    isJoined.put(p.getDisplayName(), false);
    p.getInventory().clear();
    Bukkit.broadcastMessage("§3[Splegg] " + p.getDisplayName() + " §3left.");
    try {
    joinedPlayers.remove(p);
    Location l = new Location(p.getWorld(), 0.5, 65, 2.5);
    p.teleport(l);
    if (joinedPlayers.size() > 1){
    Bukkit.broadcastMessage("§3[Splegg] There are " + joinedPlayers.size() + " left.");
    } else if(joinedPlayers.size() == 1){
    Player joinedPlayers0 = Bukkit.getServer().getPlayer(joinedPlayers.get(0));
    Bukkit.broadcastMessage("§3[Splegg] " + joinedPlayers0.getDisplayName() + " won the game!");
    joinedPlayers0.getInventory().clear();
    isJoined.put(joinedPlayers0.getDisplayName(), false);
    joinedPlayers0.teleport(l);
    joinedPlayers.remove(joinedPlayers.get(0));
    Bukkit.broadcastMessage("§3[Splegg] Restoring the arena!" );
    saveConfig();
    x1 = getConfig().getInt("x1");
    y1 = getConfig().getInt("y1");
    z1 = getConfig().getInt("z1");
    x2 = getConfig().getInt("x2");
    y2 = getConfig().getInt("y2");
    z2 = getConfig().getInt("z2");
    int x = x1;
    int z = z1;
    if ((x1<x2) && (z1<z2)){
    while ((x != x2+1) && (z != z2+1)){
    while (x != x2+1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x+1;
    }
    if ((x == x2+1) && (z != z2+1)){
    z = z+1;
    x = x1;
    }
    }
    } else
    if ((x1>x2) && (z1<z2)){
    while ((x != x2-1) && (z != z2+1)){
    while (x != x2-1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x-1;
    }
    if ((x == x2-1) && (z != z2+1)){
    z = z+1;
    x = x1;
    }
    }
    } else
    if ((x1<x2) && (z1>z2)){
    while ((x != x2+1) && (z != z2-1)){
    while (x != x2+1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x+1;
    }
    if ((x == x2+1) && (z != z2-1)){
    z = z-1;
    x = x1;
    }
    }
    } else
    if ((x1>x2) && (z1>z2)){
    while ((x != x2-1) && (z != z2-1)){
    while (x != x2-1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x-1;
    }
    if ((x == x2-1) && (z != z2-1)){
    z = z-1;
    x = x1;
    }
    }
    }
    }
    inGame = false;
    } catch(NullPointerException ex){
    }
    }else if((a[0].equalsIgnoreCase("leave") && p.hasPermission("dwarvencraftmc.splegg.use")) && (isJoined.get(p.getDisplayName()) == false) && (sender instanceof Player)){ p.sendMessage("§cYou are not joined!");
    }else if((a[0].equalsIgnoreCase("leave") && p.hasPermission("dwarvencraftmc.splegg.use")) && (isJoined.get(p.getDisplayName()) == true) && (inCountdown == true) && (sender instanceof Player)){ p.sendMessage("§cYou can not leave if the game is counting down!");}
    if((a[0].equalsIgnoreCase("ready")) && p.hasPermission("dwarvencraftmc.splegg.use") && (isJoined.get(p.getDisplayName()) == true) && (sender instanceof Player)){
    joinedPlayers.add(p.getName());
    p.sendMessage("§aYou have been marked as ready!");
    p.sendMessage("§aThere are " + joinedPlayers.size() + " player(s) ready.");
    if((joinedPlayers.size() >= 2) && (inCountdown == false)){
    BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
    inCountdown = true;
    //COUNTDOWN
    scheduler.scheduleSyncRepeatingTask(this, new Runnable(){
    int Time = 120;
    //COUNTDOWN
    @Override
    public void run() {
    if(Time >= 0){
    if(Time == 120){
    Bukkit.broadcastMessage("§3[Splegg] 2 minutes left untill start.");
    Time = Time-1;
    } else if(Time == 60){
    Bukkit.broadcastMessage("§3[Splegg] 1 minute left untill start.");
    Time = Time-1;
    } else if((Time <= 10) && (Time > 0)){
    Bukkit.broadcastMessage("§3[Splegg] " + Time + " seconds left untill start.");
    Time = Time-1;
    } else if (Time == 0) {
    Bukkit.broadcastMessage("§3[Splegg] The Game has started!");
    inGame = true;
    Time--;
     
    } else Time = Time-1;
    }
    }
    }, 0L, 20L);
    }
    }
    } else if((cmd.getName().equalsIgnoreCase("Splegg")) && (a.length == 0) && (sender instanceof Player)){p.sendMessage("§cPossible Arguments: create, info, remove, join, leave, ready, restore.");}
    if((cmd.getName().equalsIgnoreCase("donate")) && (p.hasPermission("dwarvencraftmc.donate")) && (sender instanceof Player)){
    p.sendMessage(Border);
    p.sendMessage("§cDonate at: " + ChatColor.DARK_BLUE + DonateLink);
    p.sendMessage(Border);
    }
    if((cmd.getName().equalsIgnoreCase("vote")) && (p.hasPermission("dwarvencraftmc.vote")) && (sender instanceof Player)){
    p.sendMessage(Border);
    p.sendMessage("§4§lMAKE SURE YOU ARE IN THE RIGHT WORLD");
    p.sendMessage("§cYou get diamonds, 16 Bronze ingots, claim blocks and money.");
    p.sendMessage("§cVote at: " + ChatColor.DARK_BLUE + VoteLink);
    p.sendMessage(Border);
    }
    if((cmd.getName().equalsIgnoreCase("website")) && (p.hasPermission("dwarvencraftmc.website")) && (sender instanceof Player)){
    p.sendMessage(Border);
    p.sendMessage("§cVisit our website to stay informed.");
    p.sendMessage("§cWebsite: " + ChatColor.DARK_BLUE + WebsiteLink);
    p.sendMessage(Border);
    }
    if((cmd.getName().equalsIgnoreCase("serverinfo")) && (p.hasPermission("dwarvencraftmc.serverinfo")) && (sender instanceof Player)){
    p.sendMessage(Border);
    p.sendMessage("§cType §1/serverinfo §cfor info about the server.");
    p.sendMessage("§cType §1/vote §cto vote.");
    p.sendMessage("§cType §1/donate §cto donate.");
    p.sendMessage("§cType §1/website §cto view the website.");
    p.sendMessage("§cType §1/ticket §cfor questions, suggestions etc.");
    p.sendMessage(Border);
    }
    if((cmd.getName().equalsIgnoreCase("dmc-reload")) && (p.hasPermission("dwarvencraftmc.reload")) && (sender instanceof Player)){
    p.sendMessage("§aConfiguration Reloaded!");
    reloadConfig();
    SpleggTool = getConfig().getString("SpleggTool");
    SpleggBlock = getConfig().getString("SpleggBlock");
    Border = getConfig().getString("Border").replaceAll("&", "§");
    VoteLink = getConfig().getString("VoteLink").replaceAll("§", "§");
    DonateLink = getConfig().getString("DonateLink").replaceAll("§", "§");
    WebsiteLink = getConfig().getString("WebsiteLink").replaceAll("§", "§");
    SelectionTool = getConfig().getString("SelectionTool");
    ArenaName = getConfig().getString("ArenaName");
    World = getConfig().getString("World");
    x1 = getConfig().getInt("x1");
    y1 = getConfig().getInt("y1");
    z1 = getConfig().getInt("z1");
    x2 = getConfig().getInt("x2");
    y2 = getConfig().getInt("y2");
    z2 = getConfig().getInt("z2");
    }
    if((cmd.getName().equalsIgnoreCase("help")) && (p.hasPermission("dwarvencraftmc.help")) && (sender instanceof Player)){
    p.sendMessage(Border);
    p.sendMessage("§cType §1/helpop §cto recieve help from online mods/admins.");
    p.sendMessage("§cType §1/ticket §cto create a ticket that will be reviewed later.");
    p.sendMessage("§cType §1/lwc §cto get help about container protections.");
    p.sendMessage("§cType §1/plotme help §cto get help about plotme.");
    p.sendMessage("§cProtect your home by right-clicking with an Golden Shovel (Survival).");
    p.sendMessage(Border);
    }
    if(cmd.getName().equalsIgnoreCase("motd") && (sender instanceof Player)){
    if(p.hasPermission("dwarvencraftmc.motd")){
    p.sendMessage(Border);
    p.sendMessage("§cWelcome back, " + p.getPlayerListName() + "!");
    p.sendMessage("§cType §1/serverinfo §cfor info about the server.");
    p.sendMessage("§cType §1/website §cto stay informed about updates.");
    p.sendMessage("§cType §1/vote §cto vote and get §3§lFREE §citems!");
    p.sendMessage(Border);
    }
    }
    if((cmd.getName().equalsIgnoreCase("banneditems")) && (p.hasPermission("dwarvencraftmc.banneditems")) && (sender instanceof Player)){
    p.sendMessage(Border);
    p.sendMessage("§1[1]§b[ALL WORLDS]§cWireless Tracker");
    p.sendMessage("§1[2]§b[PVE WORLD]§cExplosives");
    p.sendMessage("§1[3]§b[PVP WORLD]§cEnderchests&EnderPouches");
    p.sendMessage("§cThese are the banned items, to view the restricted items, do §1/restricteditems.");
    p.sendMessage(Border);
    }
    if((cmd.getName().equalsIgnoreCase("restricteditems") && (p.hasPermission("dwarvencraftmc.restricteditems"))) && (sender instanceof Player)){
    p.sendMessage(Border);
    p.sendMessage("§1[1]§b[ALL WORLDS]§cQuarry 1 per person");
    p.sendMessage("§1[2]§b[PVE WORLD]§a[Regular Dwarf]§cMining Laser");
    p.sendMessage("§1[3]§b[PVE WORLD]§a[Regular Dwarf]§cMining Turtles");
    p.sendMessage("§1[4]§b[ALL WORLDS]§a[Senior Dwarf]§cRing Of Arcana");
    p.sendMessage("§1[5]§b[ALL WORLDS]§c[Stone Dwarf]§cHarvest Godess Band");
    p.sendMessage("§1[6]§b[ALL WORLDS]§c[Iron Dwarf]§cRed Katar");
    p.sendMessage("§1[7]§b[ALL WORLDS]§c[Iron Dwarf]§cRed Morningstar");
    p.sendMessage("§1[8]§b[ALL WORLDS]§c[Bronze Dwarf]§cGem Armor");
    p.sendMessage("§1[9]§b[ALL WORLDS]§c[Golden Dwarf]§cTeleport Pipes");
    p.sendMessage("§cYou can view the ranks by doing §1/ranks.");
    p.sendMessage(Border);
    }
    if((cmd.getName().equalsIgnoreCase("worldinfo")) && (p.hasPermission("dwarvencraftmc.worldinfo")) && (sender instanceof Player)){
    String World = p.getWorld().getName();
    long gameTime = p.getWorld().getTime(), hours = gameTime / 1000 + 6, minutes = (gameTime % 1000) * 60 / 1000;
    p.sendMessage(Border);
    p.sendMessage("§cYour world is: " + ChatColor.BLUE + World);
    p.sendMessage("§cWorld Time: " + ChatColor.BLUE + hours + "h " + minutes + "m");
    p.sendMessage("§cChunkloaders are patched in this world");
    if(new String(World).equals("Survival")){
    p.sendMessage("§cGRIEFING IS NOT ALLOWED IN THIS WORLD");
    p.sendMessage("§cExplosives are banned in this world");
    }
    if(new String(World).equals("Creative")){
    p.sendMessage("§cThere is no Nether in this world.");
    }
    if(new String(World).equals("Factions")){
    p.sendMessage("§cThere is no Nether in this world.");
    }
    p.sendMessage(Border);
    }
    if((cmd.getName().equalsIgnoreCase("ranks")) && (p.hasPermission("dwarvencraftmc.ranks")) && (sender instanceof Player)){
    p.sendMessage(Border);
    p.sendMessage("§f[Dwarfling]§rYou are this when you first join.");
    p.sendMessage("§a[Young Dwarf]§rYou get this after 30m of playtime.");
    p.sendMessage("§2[Regular Dwarf]§rYou get this after 20h of playtime.");
    p.sendMessage("§9[Senior Dwarf]§rYou get this after 50h of playtime.");
    p.sendMessage("§0[Wooden Dwarf]§rYou get this after donating 5$.");
    p.sendMessage("§8[Stone Dwarf]§rYou get this after donating 10$.");
    p.sendMessage("§7[Iron Dwarf]§rYou get this after donating 20$.");
    p.sendMessage("§6[Bronze Dwarf]§rYou get this after donating 35$.");
    p.sendMessage("§e[Golden Dwarf]§rYou get this after donating 50$.");
    p.sendMessage("§b[Diamond Dwarf]§rYou get this after donating 100$.");
    p.sendMessage(Border);
    }
    return true;
    }
     
    //MOTD
    @EventHandler(priority = EventPriority.LOWEST)
    public void onPlayerJoin(PlayerJoinEvent e){
    Player p = e.getPlayer();
    if(e.getPlayer().hasPlayedBefore()){
    e.setJoinMessage(ChatColor.DARK_PURPLE + "Welcome back, " + p.getPlayerListName() + ChatColor.DARK_PURPLE + " to Dwarvencraftmc!");
    }
    try {
    if(p.hasPermission("dwarvencraftmc.motd")){
    p.sendMessage(Border);
    p.sendMessage("§cWelcome back, " + p.getPlayerListName() + "!");
    p.sendMessage("§cType §1/serverinfo §cfor info about the server.");
    p.sendMessage("§cType §1/website §cto stay informed about updates.");
    p.sendMessage("§cType §1/vote §cto vote and get §3§lFREE §citems!");
    p.sendMessage(Border);
    isJoined.put(p.getDisplayName(), false);
    }
    } catch(NullPointerException ex){
     
    }
    }
     
    //PLAYER DEATH
    @EventHandler(priority = EventPriority.LOWEST)
    public void onPlayerDeathEvent(PlayerDeathEvent e){
    Player p = e.getEntity();
    try {
    if((isJoined.get(p.getDisplayName()) == true) && (inGame == true)){
    e.setDeathMessage("§3[Splegg] " + p.getDisplayName() + " died.");
    joinedPlayers.remove(p.getDisplayName());
    Location l = new Location(p.getWorld(), 0.5, 65, 2.5);
    p.teleport(l);
    if (joinedPlayers.size() > 1){
    Bukkit.broadcastMessage("§3[Splegg] There are " + joinedPlayers.size() + " left.");
    } else if(joinedPlayers.size() == 1){
    Player joinedPlayers0 = Bukkit.getServer().getPlayer(joinedPlayers.get(0));
    Bukkit.broadcastMessage("§3[Splegg] " + joinedPlayers0.getDisplayName() + " won the game!");
    joinedPlayers0.getInventory().clear();
    isJoined.put(joinedPlayers0.getDisplayName(), false);
    joinedPlayers0.teleport(l);
    joinedPlayers.remove(joinedPlayers.get(0));
    Bukkit.broadcastMessage("§3[Splegg] Restoring the arena!" );
    saveConfig();
    x1 = getConfig().getInt("x1");
    y1 = getConfig().getInt("y1");
    z1 = getConfig().getInt("z1");
    x2 = getConfig().getInt("x2");
    y2 = getConfig().getInt("y2");
    z2 = getConfig().getInt("z2");
    int x = x1;
    int z = z1;
    if ((x1<x2) && (z1<z2)){
     
    while ((x != x2+1) && (z != z2+1)){
    while (x != x2+1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x+1;
    }
    if ((x == x2+1) && (z != z2+1)){
    z = z+1;
    x = x1;
    }
    }
    } else
    if ((x1>x2) && (z1<z2)){
    while ((x != x2-1) && (z != z2+1)){
    while (x != x2-1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x-1;
    }
    if ((x == x2-1) && (z != z2+1)){
    z = z+1;
    x = x1;
    }
    }
    } else
    if ((x1<x2) && (z1>z2)){
    while ((x != x2+1) && (z != z2-1)){
    while (x != x2+1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x+1;
    }
    if ((x == x2+1) && (z != z2-1)){
    z = z-1;
    x = x1;
    }
    }
    } else
    if ((x1>x2) && (z1>z2)){
    while ((x != x2-1) && (z != z2-1)){
    while (x != x2-1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x-1;
    }
    if ((x == x2-1) && (z != z2-1)){
    z = z-1;
    x = x1;
    }
    }
    }
    }
    }
    inGame = false;
    } catch(NullPointerException ex){
    }
    }
     
    //PLAYER QUIT
    @EventHandler(priority = EventPriority.LOWEST)
    public void onPlayerLeaveEvent(PlayerQuitEvent e){
    e.setQuitMessage("");
    Player p = e.getPlayer();
    try {
    if(isJoined.get(p.getDisplayName()) == true){
    Bukkit.broadcastMessage("§3[Splegg] " + p.getDisplayName() + " left.");
    isJoined.put(p.getDisplayName(), false);
    p.getInventory().clear();
    p.sendMessage("§aYou left the Game.");
    joinedPlayers.remove(p);
    Location l = new Location(p.getWorld(), 0.5, 65, 2.5);
    p.teleport(l);
    if (joinedPlayers.size() > 1){
    Bukkit.broadcastMessage("§3[Splegg] There are " + joinedPlayers.size() + " left.");
    } else if(joinedPlayers.size() == 1){
    Player joinedPlayers0 = Bukkit.getServer().getPlayer(joinedPlayers.get(0));
    Bukkit.broadcastMessage("§3[Splegg] " + joinedPlayers0.getDisplayName() + " won the game!");
    joinedPlayers0.getInventory().clear();
    isJoined.put(joinedPlayers0.getDisplayName(), false);
    joinedPlayers0.teleport(l);
    joinedPlayers.remove(joinedPlayers.get(0));
    Bukkit.broadcastMessage("§3[Splegg] Restoring the arena!" );
    saveConfig();
    x1 = getConfig().getInt("x1");
    y1 = getConfig().getInt("y1");
    z1 = getConfig().getInt("z1");
    x2 = getConfig().getInt("x2");
    y2 = getConfig().getInt("y2");
    z2 = getConfig().getInt("z2");
    int x = x1;
    int z = z1;
    if ((x1<x2) && (z1<z2)){
    while ((x != x2+1) && (z != z2+1)){
    while (x != x2+1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x+1;
    }
    if ((x == x2+1) && (z != z2+1)){
    z = z+1;
    x = x1;
    }
    }
    } else
    if ((x1>x2) && (z1<z2)){
    while ((x != x2-1) && (z != z2+1)){
    while (x != x2-1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x-1;
    }
    if ((x == x2-1) && (z != z2+1)){
    z = z+1;
    x = x1;
    }
    }
    } else
    if ((x1<x2) && (z1>z2)){
    while ((x != x2+1) && (z != z2-1)){
    while (x != x2+1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x+1;
    }
    if ((x == x2+1) && (z != z2-1)){
    z = z-1;
    x = x1;
    }
    }
    } else
    if ((x1>x2) && (z1>z2)){
    while ((x != x2-1) && (z != z2-1)){
    while (x != x2-1){
    new Location(getServer().getWorld(World), x, y1, z).getBlock().setType(Material.getMaterial(SpleggBlock));
    x = x-1;
    }
    if ((x == x2-1) && (z != z2-1)){
    z = z-1;
    x = x1;
    }
    }
    }
    }
    }
    inGame = false;
    } catch(NullPointerException ex){
     
    }
    }
    @EventHandler(priority = EventPriority.LOWEST)
    public void onPlayerDropItemEvent(PlayerDropItemEvent e){
    Player p = e.getPlayer();
    if ((e.getItemDrop().getItemStack().getType() == Material.getMaterial(SpleggTool)) && (!p.hasPermission("dwarvencraftmc.splegg.drop")) && (isJoined.get(p.getDisplayName()) == true)){
    e.setCancelled(true);
    p.sendMessage("§cYou are not allowed to drop your SpleggTool!");
    }
    }
     
    //EGG LAUNCH + ARENA SELECTION
    @EventHandler( priority= EventPriority.LOWEST)
    public void onPlayerInteractEvent(PlayerInteractEvent e) {
    Player p = e.getPlayer();
    Action a = e.getAction();
    Block b = e.getClickedBlock();
    Material m = p.getItemInHand().getType();
    Material m2 = Material.getMaterial(SpleggTool);
    Material m3 = Material.getMaterial(SelectionTool);
    String w = p.getWorld().getName();
    if((m == m2) && (p.hasPermission("dwarvencraftmc.splegg.use")) && ((a == Action.RIGHT_CLICK_BLOCK) || (a == Action.RIGHT_CLICK_AIR)) && (isJoined.get(p.getDisplayName()) == true) && (inGame == true)){
    p.launchProjectile(Egg.class);
    } else if((m == m3) && (p.hasPermission("dwarvencraftmc.splegg.select")) && (a == Action.LEFT_CLICK_BLOCK)){
    Location l1 = b.getLocation();
    int x1 = l1.getBlockX();
    this.getConfig().set("x1", x1);
    int y1 = l1.getBlockY();
    this.getConfig().set("y1", y1);
    int z1 = l1.getBlockZ();
    this.getConfig().set("z1", z1);
    String world = l1.getWorld().getName();
    this.getConfig().set("World", world);
    saveConfig();
    e.setCancelled(true);
    p.sendMessage("§aYou selected the first location: x: " + x1 + " y: " + y1 + " z: " + z1 + " World: " + world);
    } else if((m == m3) && (p.hasPermission("dwarvencraftmc.splegg.select")) && (a == Action.RIGHT_CLICK_BLOCK)){
    Location l2 = b.getLocation();
    int x2 = l2.getBlockX();
    this.getConfig().set("x2", x2);
    int y2 = l2.getBlockY();
    this.getConfig().set("y2", y2);
    int z2 = l2.getBlockZ();
    this.getConfig().set("z2", z2);
    String world = l2.getWorld().getName();
    saveConfig();
    p.sendMessage("§aYou selected the second location: x: " + x2 + " y: " + y2 + " z: " + z2 + " World: " + world);
     
    }
    }
     
    //EGG HITS BLOCK
    @EventHandler( priority= EventPriority.LOWEST)
    public void onHit(ProjectileHitEvent event) {
    Entity e = event.getEntity();
    String w = e.getWorld().getName();
    if((e.getType() == EntityType.EGG) && (new String(w).equals("Minigames")) && (inGame == true)){
    Location l = e.getLocation();
    Vector vec = e.getVelocity();
    Location l2 = new Location(l.getWorld(), l.getX()
    + vec.getX(), l.getY() + vec.getY(), l.getZ()
    + vec.getZ());
    Block b = l2.getBlock();
    Material m = b.getType();
    Material m2 = Material.getMaterial(SpleggBlock);
    if(m == m2){
    b.setType(Material.AIR);
    }
    }
    }
    }
     
    
     
  2. Offline

    mbaxter ʇıʞʞnq ɐ sɐɥ ı

    Seek support from the mod authors. We do not support mods (such as Tekkit) here. :)
     
Thread Status:
Not open for further replies.

Share This Page