Giving A Player 1 of a list of random items?

Discussion in 'Plugin Development' started by yewtree8, Apr 17, 2014.

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

    yewtree8

    This is my current code, how would I make it so i would give a player a 1 of a list of items, completely random, my code is below.
    Code:java
    1. package me.mat.mysterybox;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.List;
    5. import java.util.Random;
    6.  
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.Material;
    9. import org.bukkit.block.Block;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.event.EventHandler;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.block.Action;
    14. import org.bukkit.event.player.PlayerInteractEvent;
    15. import org.bukkit.inventory.Inventory;
    16. import org.bukkit.inventory.ItemStack;
    17. import org.bukkit.inventory.PlayerInventory;
    18.  
    19. public class BoxListener implements Listener {
    20.  
    21.  
    22. Random random = new Random();
    23. List<String> list = new ArrayList<>();
    24.  
    25.  
    26.  
    27.  
    28.  
    29. @EventHandler
    30. public void BoxInteract(PlayerInteractEvent event) {
    31. Player player = event.getPlayer();
    32. Action action = event.getAction();
    33. Inventory inv = player.getInventory();
    34. PlayerInventory pi = player.getInventory();
    35. Material block = event.getClickedBlock().getType();
    36. if(action == Action.RIGHT_CLICK_BLOCK) {
    37. if(block == Material.PISTON_BASE) {
    38. if(player.getInventory().contains(Material.GOLD_INGOT, 35)) {
    39. player.getInventory().remove(new ItemStack(Material.GOLD_INGOT, 35));
    40. player.sendMessage("This Has Worked");
    41.  
    42.  
    43. } else if(!player.getInventory().contains(Material.GOLD_INGOT, 35)){
    44.  
    45. player.sendMessage(ChatColor.RED + "You Do Not Have 35 Gold Ingots");
    46.  
    47. }
    48.  
    49. } return;
    50.  
    51. } return;
    52.  
    53. }
    54.  
    55. }
    56.  




    Any help would be greatly appriciated and i hope you can give me pointers?
     
  2. Offline

    tackleza

    Code:java
    1. Material[] itemlist = {Material.DIRT, Material.STONE, Material.BREAD}//add item list here!
    2. Random rand = new Random();
    3. int randomNum = rand.nextInt(((itemlist.size-1) - 0) + 1) + 0;//Random index of item
    4. p.getInventory.add(new ItemStack(itemlist[randomNum], 1));//give to player
    5.  


    //Edit Ha Ha

    Code:java
    1. Material[] itemlist = {Material.DIRT, Material.STONE, Material.BREAD}//add item list here!
    2. Random rand = new Random();
    3. int randomNum = rand.nextInt(itemlist.size);//Random index of item
    4. p.getInventory.add(new ItemStack(itemlist[randomNum], 1));//give to player
    5.  


    somethink like this, didn't test this code yes :D
     
  3. What the hell did you do there with the randomNumber...

    Code:
    List<Material> itemMaterials = Arrays.asList(Material.DIRT, Material.STONE, Material.DIAMOND);
    player.getInventory().addItem(new ItemStack(itemMaterials.get(this.random.nextInt(itemMaterials.size()))));
     
  4. Offline

    TGRHavoc

    EDIT: Never mind... Someone already answered....
     
Thread Status:
Not open for further replies.

Share This Page