Help With A Code!

Discussion in 'Plugin Development' started by Scott102, Jan 6, 2015.

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

    Scott102

    Hi, I'm making a survival game like plugin, and I'm trying to add this player.addPotionEffect(new PotionEffect(PotionEffectType.type , Integer.MAX_VALUE , levelofpotion)); which is adding a potion effect to the player, I'm asking on where exactly do I add the code?
     
  2. Online

    timtower Administrator Administrator Moderator

    @Scott102 Where you want it to activate probably
     
  3. Offline

    Scott102

    I want to activate it when the game starts. So where exactly do I add it?
     
  4. Offline

    nverdier

    @Scott102 He just said you'd want to add it when you activate it...
     
  5. Offline

    Scott102

    @nverdier that is my Arena.jar code, Sorry for still asking but in the code where do I place the code?
    Code:
    public enum ArenaState {
            WAITING, COUNTDOWN, In_Game
        }
    
        private String id;
        private ArenaState state;
    
        private ArrayList<Location> spawns;
        private ArrayList<Chest> chests;
    
        private ArrayList<Player> players;
    
        protected Arena(String id) {
            this.id = id;
            this.state = ArenaState.WAITING;
    
            this.spawns = new ArrayList<Location>();
            for (String spawnID : SettingsManager.getArenas()
                    .<ConfigurationSection> get(id + ".spawns").getKeys(false)) {
                spawns.add(SettingsManager.getArenas().<Location> get(
                        id + ".spawns." + spawnID));
            }
    
            this.chests = new ArrayList<Chest>();
            for (String chestID : SettingsManager.getArenas()
                    .<ConfigurationSection> get(id + ".chests").getKeys(false)) {
                Location loc = SettingsManager.getArenas().<Location> get(
                        id + ".chests." + chestID);
    
                if (loc.getBlock() == null
                        || !(loc.getBlock().getState() instanceof Chest)) {
                    SettingsManager.getArenas()
                            .set(id + ".chests." + chestID, null);
                } else {
                    chests.add((Chest) loc.getBlock().getState());
                }
            }
    
            this.players = new ArrayList<Player>();
        }
    
        public String getID() {
            return id;
        }
    
        public int getMaxPlayers() {
            return spawns.size();
        }
    
        public ArenaState getState() {
            return state;
        }
    
        protected void setState(ArenaState state) {
            this.state = state;
        }
    
        public Player[] getPlayers() {
            return players.toArray(new Player[players.size()]);
        }
    
        public boolean hasPlayer(Player p) {
            return players.contains(p);
        }
    
        public void addPlayer(Player p) {
            if (players.size() + 1 > spawns.size()) {
                p.sendMessage(ChatColor.RED
                        + "Sorry Arena Is Full! Pickup A Rank To Join A Full Game!.");
                return;
            }
    
            players.add(p);
            p.teleport(spawns.get(players.size() - 1));
    
            ItemStack kitSelector = new ItemStack(Material.COMPASS, 1);
            ItemMeta meta = kitSelector.getItemMeta();
            meta.setDisplayName(ChatColor.GOLD + "Kit Selector");
            meta.setLore(Arrays
                    .asList("Right click this", "to choose", "your kit."));
            kitSelector.setItemMeta(meta);
            p.getInventory().addItem(kitSelector);
    
            p.sendMessage(ChatColor.GREEN + "You have joined arena " + id + ".");
    
            if (players.size() >= spawns.size() && state == ArenaState.WAITING) {
                this.state = ArenaState.COUNTDOWN;
                new Countdown(this, 30, 30, 20, 10, 5, 4, 3, 2, 1).runTaskTimer(
                        Main.getPlugin(), 0, 1000);
            }
        }
    
        public void removePlayer(Player p) {
            players.remove(p);
            p.teleport(Bukkit.getServer().getWorlds().get(0).getSpawnLocation()); // TODO:
                                                                                    // Temporary.
    
            if (players.size() <= 1) {
                if (players.size() == 1) {
                    Bukkit.getServer()
                            .broadcastMessage(
                                    players.get(0).getName() + " has won arena "
                                            + id + "!");
                    players.remove(0);
                    players.get(0).teleport(
                            Bukkit.getServer().getWorlds().get(0)
                                    .getSpawnLocation()); // TODO: Temporary.
                }
    
                else {
                    Bukkit.getServer().broadcastMessage(
                            "Arena " + id + " has ended.");
                }
    
                players.clear();
                state = ArenaState.WAITING;
            }
        }
    
        public void addSpawn(Location loc) {
            spawns.add(loc);
        }
    
        public void addChest(Chest chest) {
            chests.add(chest);
        }
    
        public void start() {
            setState(ArenaState.In_Game);
    
            Material[] items = new Material[] { Material.STONE_SWORD,
                    Material.APPLE, Material.LEATHER_CHESTPLATE, Material.BOW,
                    Material.ARROW, Material.LEATHER_CHESTPLATE, Material.APPLE,
                    Material.BOW, Material.ARROW };
            Random r = new Random();
    
            for (Chest chest : chests) {
                int numItems = r.nextInt(5) + 1; // A random number between 1 and 5.
    
                for (int i = 0; i < numItems; i++) {
                    Material material = items[r.nextInt(items.length)]; // A random
                                                                        // Material
                                                                        // from the
                                                                        // items
                                                                        // array.
                    ItemStack item = new ItemStack(material, 1);
    
                    int index;
    
                    do {
                        index = r.nextInt(chest.getInventory().getSize()); // A
                                                                            // random
                                                                            // index
                                                                            // in
                                                                            // the
                                                                            // chest
                                                                            // inventory.
                    } while (chest.getInventory().getItem(index) != null);
    
                    chest.getInventory().setItem(index, item);
                }
            }
        }
    }
     
Thread Status:
Not open for further replies.

Share This Page