Работа с cfg и мобами

Spokers

Пользователь
1) Пишет вот это: NullPointerException: Boss.java:42
2) Spigot 1.8
3)
boss.java на 42 строчке
Java:
Boss.bossLoc = new Location(Bukkit.getWorld(Prison.instance.getConfig().getString("boss.world")), (double)Prison.instance.getConfig().getInt("boss.x"), (double)Prison.instance.getConfig().getInt("boss.y"), (double)Prison.instance.getConfig().getInt("boss.z"));
Prison.java
Java:
Boss.spawnBoss(Boss.bossLoc, Boss.bossHealth, Boss.bossName);
 

Вложения

Последнее редактирование модератором:

Spokers

Пользователь
YAML:
boss:
    Health: 250.0
    Name: '&cDrevniy Spider!'
    world: world
    x: 82
    y: 31
    z: -1506
    damage: 5
    money: 500
    RespawnTime: 15
    DeathMessage: '&4Drevniy Spider pogib i vse napadavshie polychili %money%$'
    RewardMessage: '&4vi ybili drevnego spidera i polychili %money%$'
 

Koronavirus728

Пользователь
1) Пишет вот это
Посмотреть вложение 1982
2) Spigot 1.8
3)
boss.java на 42 строчке
Java:
Boss.bossLoc = new Location(Bukkit.getWorld(Prison.instance.getConfig().getString("boss.world")), (double)Prison.instance.getConfig().getInt("boss.x"), (double)Prison.instance.getConfig().getInt("boss.y"), (double)Prison.instance.getConfig().getInt("boss.z"));
Prison.java
Java:
Boss.spawnBoss(Boss.bossLoc, Boss.bossHealth, Boss.bossName);
Можно весь код? И как по мне ты злоупотребляешь статикой
 

Spokers

Пользователь
Java:
package prison;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

import prison.boss.Boss;
import prison.commands.BossCommands;
import prison.commands.MosterCommands;
import prison.commands.PrisonCommands;
import prison.commands.UpgrageCommands;

public class Prison extends JavaPlugin implements Listener{

    Logger log = getLogger();
    public static Prison instance;
    FileConfiguration config = getConfig();
    public static Prison instance() {
        return instance;
    }
    public void onEnable() {
        log.info("Your plugin has been enabled.");
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        Bukkit.getPluginManager().registerEvents(this, this);
        getCommand("prison").setExecutor(new PrisonCommands(this));
        getCommand("upgrade").setExecutor(new UpgrageCommands(this));
        getCommand("monster").setExecutor(new MosterCommands(this));
        getCommand("boss").setExecutor(new BossCommands(this));
        Boss.spawnBoss(Boss.bossLoc, Boss.bossHealth, Boss.bossName);
        
    }
    
    public void onDisable() {
        
    }
    private void saveDate(FileConfiguration ymlConfig, File ymlFile) {
        try {
            ymlConfig.save(ymlFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }   
    @EventHandler
    public void onJoins(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        
        File pl_new = new File("plugins/Prison/players", ""+ e.getPlayer().getName() +".yml");       
        if(!pl_new.exists()) {
            FileConfiguration pl = YamlConfiguration.loadConfiguration(pl_new);
            p.sendMessage(ChatColor.YELLOW+"["+ChatColor.GREEN+"i"+ChatColor.YELLOW+"] >> "+ChatColor.RED+p.getName()+ChatColor.GREEN+" Спасибо что выбрали наш сервер! by Spokers");
            pl.set("users."+p.getPlayer().getName()+".lvl", 0);
            pl.set("users."+p.getPlayer().getName()+".blocks", 0);
            pl.set("users."+p.getPlayer().getName()+".balance", 0);
            pl.set("users."+p.getPlayer().getName()+".kill_mobs", 0);
            pl.set("users."+p.getPlayer().getName()+".kill_palayer", 0);
            ItemStack wood_lvl_one = new ItemStack(Material.WOOD_AXE);
            ItemMeta meta = wood_lvl_one.getItemMeta();
            meta.spigot().setUnbreakable(true);
            meta.setDisplayName("Топор");
            List<String> lore = new ArrayList<>();
            lore.add(ChatColor.GOLD+"Уровень предмета: "+ChatColor.RED+"1");
            meta.setLore(lore);
            wood_lvl_one.setItemMeta(meta);
            p.getInventory().addItem(wood_lvl_one);
            saveDate(pl,pl_new);
            
        }
    }
    
    @EventHandler
    public void onJoinPlayer(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        e.setJoinMessage(ChatColor.GOLD+"["+ChatColor.GREEN+"i"+ChatColor.GOLD+"]"+" "+ChatColor.RED+p.getName()+" "+ChatColor.GRAY+"зашёл на сервер");
    }
}
 

Koronavirus728

Пользователь
Java:
package prison;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

import prison.boss.Boss;
import prison.commands.BossCommands;
import prison.commands.MosterCommands;
import prison.commands.PrisonCommands;
import prison.commands.UpgrageCommands;

public class Prison extends JavaPlugin implements Listener{

    Logger log = getLogger();
    public static Prison instance;
    FileConfiguration config = getConfig();
    public static Prison instance() {
        return instance;
    }
    public void onEnable() {
        log.info("Your plugin has been enabled.");
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        Bukkit.getPluginManager().registerEvents(this, this);
        getCommand("prison").setExecutor(new PrisonCommands(this));
        getCommand("upgrade").setExecutor(new UpgrageCommands(this));
        getCommand("monster").setExecutor(new MosterCommands(this));
        getCommand("boss").setExecutor(new BossCommands(this));
        Boss.spawnBoss(Boss.bossLoc, Boss.bossHealth, Boss.bossName);
      
    }
  
    public void onDisable() {
      
    }
    private void saveDate(FileConfiguration ymlConfig, File ymlFile) {
        try {
            ymlConfig.save(ymlFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    } 
    @EventHandler
    public void onJoins(PlayerJoinEvent e) {
        Player p = e.getPlayer();
      
        File pl_new = new File("plugins/Prison/players", ""+ e.getPlayer().getName() +".yml");     
        if(!pl_new.exists()) {
            FileConfiguration pl = YamlConfiguration.loadConfiguration(pl_new);
            p.sendMessage(ChatColor.YELLOW+"["+ChatColor.GREEN+"i"+ChatColor.YELLOW+"] >> "+ChatColor.RED+p.getName()+ChatColor.GREEN+" Спасибо что выбрали наш сервер! by Spokers");
            pl.set("users."+p.getPlayer().getName()+".lvl", 0);
            pl.set("users."+p.getPlayer().getName()+".blocks", 0);
            pl.set("users."+p.getPlayer().getName()+".balance", 0);
            pl.set("users."+p.getPlayer().getName()+".kill_mobs", 0);
            pl.set("users."+p.getPlayer().getName()+".kill_palayer", 0);
            ItemStack wood_lvl_one = new ItemStack(Material.WOOD_AXE);
            ItemMeta meta = wood_lvl_one.getItemMeta();
            meta.spigot().setUnbreakable(true);
            meta.setDisplayName("Топор");
            List<String> lore = new ArrayList<>();
            lore.add(ChatColor.GOLD+"Уровень предмета: "+ChatColor.RED+"1");
            meta.setLore(lore);
            wood_lvl_one.setItemMeta(meta);
            p.getInventory().addItem(wood_lvl_one);
            saveDate(pl,pl_new);
          
        }
    }
  
    @EventHandler
    public void onJoinPlayer(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        e.setJoinMessage(ChatColor.GOLD+"["+ChatColor.GREEN+"i"+ChatColor.GOLD+"]"+" "+ChatColor.RED+p.getName()+" "+ChatColor.GRAY+"зашёл на сервер");
    }
}
Переменная instance не инициализирована
И зачем так много статики?
 

Комнаты в чате

Верх Низ