Solved Move items in inventory

Discussion in 'Plugin Development' started by xepisolonxx, Jun 18, 2014.

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

    xepisolonxx

    I want to add to an int and set the item to the int number
    Video of example:

    Test code
    Code:
    if (cmd.getName().equalsIgnoreCase("chest")){ 
            final Player p = (Player) sender;
            slot.remove(p.getName());
            slot.put(p.getName(), 0);
           
            Random random = new Random();
              final int stop = random.nextInt(15) + 1;
            Material[] materials = Material.values();
            int size = materials.length;
            int index = random.nextInt(size);
            Material randomMaterial = materials[index];
            final ItemStack item = new ItemStack(randomMaterial);
           
                    final Inventory inventory = Bukkit.getServer().createInventory(p, 27, ChatColor.BLUE + "Test"); 
                    while(!(slot.get(p.getName()) >=stop)){
                        Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
                              @Override
                            public void run() {
                                  slot.put(p.getName(),slot.get(p.getName()) + 1);
                                  p.sendMessage(ChatColor.RED + "" + slot.get(p.getName()));
     
                                   
                              }
                          },20);
                                       
                                   
                                             
                                       
    inventory.clear();
    inventory.setItem(slot.get(p.getName()), item);
    p.sendMessage(ChatColor.GOLD + "" + slot.get(p.getName()));
     
     
    
     
  2. Offline

    chasechocolate

    Try something like this:
    Code:java
    1. final Inventory inv = ...;
    2.  
    3. new BukkitRunnable(){
    4. int slot = 0;
    5. int goTo = [your random];
    6.  
    7. @Override
    8. public void run(){
    9. if(slot == random){
    10. //Reached slot, send message? Close inventory? Do whatever.
    11. this.cancel();
    12. return;
    13. } else {
    14. inv.setItem(slot - 1, new ItemStack(Material.AIR));
    15. inv.setItem(slot, [item to go in slot]); //Perhaps save in hashmap?
    16. }
    17.  
    18. slot += 1;
    19. }
    20. }.runTaskTimer(plugin, 0L, 2L);
     
Thread Status:
Not open for further replies.

Share This Page