Solved How to? Items in config

Discussion in 'Plugin Development' started by ToldiIII, May 23, 2017.

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

    ToldiIII

    How to? The name and amount of the item in the config.
    Here is a code I started, but if I get the getConfig(), it will make a mistake.
    PHP:
        //item1 = _plugin.getConfig().getString("first-join-kit.items");
          //if (_plugin.getConfig().getBoolean("first-join-kit.enable") == true) {
              //ItemStack itemstack1 = new ItemStack(Material.getMaterial(item1));
              //inv.setItem(0, itemstack1);
              //player.openInventory(inv);
      //}
          
    ItemStack item = new ItemStack(Material.BOOK1);
          
    ItemMeta meta item.getItemMeta();

          
    meta.setDisplayName(ChatColor.LIGHT_PURPLE "Welcome Book");
          
    ArrayList<Stringlore = new ArrayList<String>();
          
    lore.add(ChatColor.WHITE "Read this for instructions and rules");
          
    meta.setLore(lore);
          
    item.setItemMeta(meta);

          
    player.getInventory().setItem(0item);
    How can this be solved?
     
  2. Offline

    timtower Administrator Administrator Moderator

    @ToldiIII What error do you get then? What is the value of _plugin?
     
  3. Offline

    ToldiIII

    The console throws a long bug.
     
  4. Offline

    yPedx

  5. Offline

    ToldiIII

  6. Offline

    timtower Administrator Administrator Moderator

    @ToldiIII Again: What error do you get then?
     
  7. Offline

    ToldiIII

    Last edited by a moderator: May 23, 2017
  8. Offline

    timtower Administrator Administrator Moderator

  9. Offline

    ToldiIII

    PHP:
    import java.util.Random;

    import org.bukkit.Bukkit;
    import org.bukkit.Color;
    import org.bukkit.FireworkEffect;
    import org.bukkit.FireworkEffect.Type;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.Sound;
    import org.bukkit.World;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.Firework;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.FireworkMeta;

    import net.md_5.bungee.api.ChatColor;

    public class 
    JoinListener implements Listener {

        private 
    NoJoinLeaveMessage _plugin;
       
        static 
    String item1;
       
        public 
    JoinListener(NoJoinLeaveMessage plugin) {
            
    _plugin plugin;
        }
       
        @
    EventHandler
        
    public void onJoin(PlayerJoinEvent e) {
            if (
    _plugin.getConfig().getBoolean("join.enable_message") == true) {
                
    e.setJoinMessage(ChatColor.translateAlternateColorCodes('&'_plugin.getConfig().getString("join.message").replace("%player%"e.getPlayer().getName()).replace("%displayname%"e.getPlayer().getDisplayName())));
            }else{
                
    e.setJoinMessage("");
            }
        }
        @
    EventHandler
        
    public void onJoin1(PlayerJoinEvent event) {

        
    Player player event.getPlayer();

        if (
    _plugin.getConfig().getBoolean("join-teleport.enable") == true) {
            
    int spawnX this._plugin.getConfig().getInt("join-teleport" ".X");
            
    int spawnY this._plugin.getConfig().getInt("join-teleport" ".Y");
            
    int spawnZ this._plugin.getConfig().getInt("join-teleport" ".Z");
            
    World world Bukkit.getWorld(_plugin.getConfig().getString("join-teleport.World"));
          
            
    Location spawn = new Location(worldspawnXspawnYspawnZ);
            
    player.teleport(spawn);
            if (
    _plugin.getConfig().getBoolean("join-teleport.join-teleport-enable_message") == true) {
            
    player.sendMessage(ChatColor.translateAlternateColorCodes('&'_plugin.getConfig().getString("join-teleport.join-teleported").replace("%player%"event.getPlayer().getName() + player.getName()).replace("%displayname%"event.getPlayer().getDisplayName())));
            }

        }
        }
        @
    EventHandler
        
    public void onPJ(PlayerJoinEvent ev) {
            
    Player p ev.getPlayer();
            if (
    _plugin.getConfig().getBoolean("join-sounds.enable")) {
                
    Location loc p.getLocation();
                
    p.playSound(locSound.valueOf(_plugin.getConfig().getString("join-sounds.sound")), _plugin.getConfig().getInt("join-sounds.volume"), _plugin.getConfig().getInt("join-sounds.pitch"));
            }
    }
        @
    EventHandler
        
    public void onPj(PlayerJoinEvent event) {              
            
    Player p event.getPlayer();
            if (
    _plugin.getConfig().getBoolean("join-random-fireworks.enable") == true) {
              
                
    Firework fw = (Fireworkp.getWorld().spawnEntity(p.getLocation(), EntityType.FIREWORK);
                
    FireworkMeta fwm fw.getFireworkMeta();
              
                
    Random r = new Random();
                
    int rt r.nextInt(4) + 1;
                
    Type type Type.BALL;
                if (
    rt == 1type Type.BALL;
                if (
    rt == 2type Type.BALL_LARGE;
                if (
    rt == 3type Type.BURST;
                if (
    rt == 4type Type.CREEPER;
                if (
    rt == 5type Type.STAR;
              
                
    int r1i r.nextInt(17) + 1;
                
    int r2i r.nextInt(17) + 1;
                
    Color c1 getColor(r1i);
                
    Color c2 getColor(r2i);
              
                
    FireworkEffect effect FireworkEffect.builder().flicker(r.nextBoolean()).withColor(c1).withFade(c2).with(type).trail(r.nextBoolean()).build();
              
                
    fwm.addEffect(effect);
              
                
    int rp r.nextInt(1) + 1;
                
    fwm.setPower(rp);
              
                
    fw.setFireworkMeta(fwm);
        }
        }
        private 
    Color getColor(int i) {
            
    Color c null;
            if(
    i==1){
            
    c=Color.AQUA;
            }
            if(
    i==2){
            
    c=Color.BLACK;
            }
            if(
    i==3){
            
    c=Color.BLUE;
            }
            if(
    i==4){
            
    c=Color.FUCHSIA;
            }
            if(
    i==5){
            
    c=Color.GRAY;
            }
            if(
    i==6){
            
    c=Color.GREEN;
            }
            if(
    i==7){
            
    c=Color.LIME;
            }
            if(
    i==8){
            
    c=Color.MAROON;
            }
            if(
    i==9){
            
    c=Color.NAVY;
            }
            if(
    i==10){
            
    c=Color.OLIVE;
            }
            if(
    i==11){
            
    c=Color.ORANGE;
            }
            if(
    i==12){
            
    c=Color.PURPLE;
            }
            if(
    i==13){
            
    c=Color.RED;
            }
            if(
    i==14){
            
    c=Color.SILVER;
            }
            if(
    i==15){
            
    c=Color.TEAL;
            }
            if(
    i==16){
            
    c=Color.WHITE;
            }
            if(
    i==17){
            
    c=Color.YELLOW;
            }
            
            return 
    c;
            }
       
        private 
    Inventory inv;
       
        @
    EventHandler
        
    public void onPlayerJoin(PlayerJoinEvent ev) {
          
    Player player ev.getPlayer();
          
    World w player.getWorld();
          if (
    this._plugin.getConfig().getBoolean("join-lightning.join") == true) {
              
    w.strikeLightningEffect(player.getLocation());
          }
          if (
    _plugin.getConfig().getBoolean("join-motd.enable") == true) {
            for(
    String motd NoJoinLeaveMessage.get().getConfig().getStringList("join-motd.motd")) {
                
    player.sendMessage(ChatColor.translateAlternateColorCodes('&'motd).replace("%player%"ev.getPlayer().getName()).replace("%displayname%"ev.getPlayer().getDisplayName()));
    }
        }
          if (
    _plugin.getConfig().getBoolean("first-join-kit.enable") == true) {
              
    item1 _plugin.getConfig().getString("first-join-kit.items");
              
    ItemStack itemstack1 = new ItemStack(Material.getMaterial(item1));
              
    inv.setItem(0itemstack1);
              
    player.openInventory(inv);
      }
         
    }
        @
    EventHandler
        
    public void onPlayerLeave(PlayerQuitEvent ev) {
          
    Player player ev.getPlayer();
          
    World w player.getWorld();
        if (
    this._plugin.getConfig().getBoolean("join-lightning.leave") == true) {
            
    w.strikeLightningEffect(player.getLocation());
        }
      }
    }
     
  10. Offline

    timtower Administrator Administrator Moderator

    @ToldiIII Don't have multiple methods for the same event.
    And your error is on a line that doesn't exist in your code...
     
  11. Offline

    ToldiIII

    But it has to be because the FirstJoinPlus plugin example makes it possible to make the first-join-kit in the config.
     
  12. Offline

    timtower Administrator Administrator Moderator

    @ToldiIII It is possible, but that code is generally in the same method, not in 5 that have very similar names.
    Or in different classes at least.
    Try to find the missing lines, if you are removing stuff from your code: don't.
    Find what is null.
     
  13. Offline

    ToldiIII

    I'm still waiting for the answers.
     
  14. Offline

    timtower Administrator Administrator Moderator

    @ToldiIII Where exactly did you set inv?
     
  15. Offline

    ToldiIII

    HTML:
    inv.setItem(1, itemstack1);
    player.openInventory(inv);
    
     
  16. Offline

    timtower Administrator Administrator Moderator

    @ToldiIII inv is null at that point, you never create an inventory.
    Next time: please check to see what exactly is null.
     
  17. Offline

    ToldiIII

    I'm still waiting for the answers. If possible, please code!
     
  18. Offline

    timtower Administrator Administrator Moderator

    @ToldiIII I gave you the answer.
    inv is null, make an instance for it.
    Nobody is going to spoonfeed, but the method that you are looking for is createInventory
     
  19. Offline

    ToldiIII

    PHP:
          //if (_plugin.getConfig().getBoolean("first-join-kit.enable") == true) {
              //item1 = _plugin.getConfig().getString("first-join-kit.items");
              //ItemStack itemstack = new ItemStack(Material.valueOf(_plugin.getConfig().getString("first-join-kit.items")), _plugin.getConfig().getInt("first-join-kit.amount"));
              //inv.setItem(1, itemstack);
              //player.openInventory(inv);
              //}
        //String items = _plugin.getConfig().getStringList("first-join-kit.items").toString();
        //int slot = _plugin.getConfig().getInt("first-join-kit.slot");
        //boolean joinItems = _plugin.getConfig().getBoolean("first-join-kit.enable");
        //if(joinItems) {
            //if(joinItems == false);
        //}
        //if(joinItems) {
            //if(joinItems == true) {
                //ItemStack joinitem = new ItemStack(Material.matchMaterial(items));
                //player.getInventory().setItem(slot, joinitem);
            //}
    //}
     
  20. Offline

    timtower Administrator Administrator Moderator

    @ToldiIII What am I looking at?
    I never see "inv = something"
     
  21. Offline

    ToldiIII

    This would be the code that is not appropriate.
     
  22. Offline

    timtower Administrator Administrator Moderator

    @ToldiIII Give a value to inv, using createInventory.
     
  23. Offline

    ToldiIII

    And where do I go?
     
  24. Offline

    Zombie_Striker

    @ToldiIII
    I assume you are asking where to put that code. In which case, you should create the inventory in the constructor of the class.

    Also, try keeping all fields at the top of the class; I would have had to scroll past multiple methods before I would have known that the field existed.
     
Thread Status:
Not open for further replies.

Share This Page