Помогите npe в скорбордах

adodvstudios

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Jenka20091
Код:
Could not pass event PlayerInteractEvent to AdodvScoreBoardForSurvival v1.0
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485) [server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:235) [server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:202) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:109) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:877) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:40) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PacketPlayInBlockDig.a(SourceFile:10) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [server.jar:git-Spigot-dcd1643-e60fc34]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_271]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_271]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [server.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [server.jar:git-Spigot-dcd1643-e60fc34]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: java.lang.IllegalArgumentException: An objective of name 'PSBoard' already exists
        at org.apache.commons.lang.Validate.isTrue(Validate.java:136) ~[server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.scoreboard.CraftScoreboard.registerNewObjective(CraftScoreboard.java:31) ~[server.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.scoreboard.CraftScoreboard.registerNewObjective(CraftScoreboard.java:1) ~[server.jar:git-Spigot-dcd1643-e60fc34]
        at plugin.adodvstudios.sbsurvival.Main.pickaxe(Main.java:104) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_271]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_271]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_271]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_271]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[server.jar:git-Spigot-dcd1643-e60fc34]
        ... 18 more
Код:
PHP:
package plugin.adodvstudios.sbsurvival;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Score;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.ScoreboardManager;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.Statistic;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener
{
    
    public void onEnable()
    {
        Bukkit.getPluginManager().registerEvents(this, this);
    }
    
    @EventHandler
    public static void onJoined(PlayerJoinEvent event) throws Exception
    {
        Player p = event.getPlayer();

        //Scoreboard 1
        

        Objective o = SBManager.sb.registerNewObjective("MSB", "");
        o.setDisplaySlot(DisplaySlot.SIDEBAR);
        
        
        String NameMainSB = ChatColor.GOLD + "◈ ГРИФ BOOM ◈";
        
        o.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&6&l") + NameMainSB);

        Score lichnoe = o.getScore(ChatColor.GRAY + "⇣ " + ChatColor.GOLD + "ЛИЧНОЕ:");
        lichnoe.setScore(9);
        
        Score line2 = o.getScore(ChatColor.GRAY + " Ваше имя: " + ChatColor.GOLD + p.getName());
        line2.setScore(8);
        
        int time = p.getStatistic(Statistic.PLAY_ONE_TICK);
        
        Score line3 = o.getScore(ChatColor.GRAY + " Времени проиграно: " + ChatColor.GOLD + (time / 20) + ChatColor.GRAY + " сек");
        line3.setScore(7);
        
        Score stats = o.getScore(ChatColor.GRAY + "⇣ " + ChatColor.GOLD + "СТАТИСТИКА:");
        stats.setScore(6);
        
        Score line4 = o.getScore(ChatColor.GRAY + " Смерти: " + ChatColor.GOLD + p.getStatistic(Statistic.DEATHS));
        line4.setScore(5);
        
        Score line5 = o.getScore(ChatColor.GRAY + " Убийства игроков: " + ChatColor.GOLD + p.getStatistic(Statistic.PLAYER_KILLS));
        line5.setScore(4);
        
        Score line6 = o.getScore(ChatColor.GRAY + " Текущий gamemode: " + ChatColor.GOLD + p.getGameMode());
        line6.setScore(3);
        
        Score line7 = o.getScore(ChatColor.translateAlternateColorCodes('&', "&6&l  Донат можно купить на сайте: "));
        line7.setScore(2);
        
        Score line8 = o.getScore(ChatColor.translateAlternateColorCodes('&', "&6&l  www.сайт.ru "));
        line8.setScore(1);
        
        p.setScoreboard(SBManager.sb);
        
    }
    @EventHandler
    public void pickaxe(PlayerInteractEvent e)
    {   
        Player p = e.getPlayer();
        String pickaxe = p.getInventory().getItemInHand().getType().name();
        if(pickaxe == "WOOD_PICKAXE")
        {
            pickaxe = "Деревянная";
        }
        if(pickaxe == "STONE_PICKAXE")
        {
            pickaxe = "Камянная";
        }
        if(pickaxe == "DIAMOND_PICKAXE")
        {
            pickaxe = "Алмазная";
        }
        if(pickaxe == "IRON_PICKAXE")
        {
            pickaxe = "Железная";
        }
        if(pickaxe == "GOLD_PICKAXE")
        {
            pickaxe = "Золотая";
        }
        
        

        Objective o2 = SBManager.sb2.registerNewObjective("PSBoard", "");
        o2.setDisplaySlot(DisplaySlot.SIDEBAR);
        
        
        String NameMainSB2 = ChatColor.GOLD + "◈ ГРИФ BOOM - " + ChatColor.BLUE + "Майнинг" + ChatColor.GOLD + "◈";
        
        o2.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&6&l") + NameMainSB2);

        Score line1 = o2.getScore(ChatColor.GRAY + " Ваша кирка: " + ChatColor.GOLD + pickaxe);
        line1.setScore(4);
        
        Score line2 = o2.getScore(ChatColor.GRAY + " Ваше имя: " + ChatColor.GOLD + p.getName());
        line2.setScore(3);
        
        int time = p.getStatistic(Statistic.PLAY_ONE_TICK);
        
        Score line3 = o2.getScore(ChatColor.GRAY + " Времени проиграно: " + ChatColor.GOLD + (time / 20) + ChatColor.GRAY + " сек");
        line3.setScore(2);
        
        Score modem = o2.getScore(ChatColor.GREEN + "Режим копания " + ChatColor.GOLD + "= включен");
        modem.setScore(1);
        
        if(SBManager.sbm2.getNewScoreboard() != null)
        {
            p.setScoreboard(SBManager.sb);
        }
        if(e.isCancelled() == true)
        {
            p.setScoreboard(SBManager.sb);
        }
        
        if(p.getInventory().getItemInHand().getType().equals(Material.WOOD_PICKAXE))
        {
            pickaxe = "Деревянная";
            p.setScoreboard(SBManager.sb2);
        }
        if(p.getInventory().getItemInHand().getType().equals(Material.STONE_PICKAXE))
        {
            pickaxe = "Каменная";
            p.setScoreboard(SBManager.sb2);
        }
        if(p.getInventory().getItemInHand().getType().equals(Material.DIAMOND_PICKAXE))
        {
            pickaxe = "Алмазная";
            p.setScoreboard(SBManager.sb2);
        }
        if(p.getInventory().getItemInHand().getType().equals(Material.GOLD_PICKAXE))
        {
            pickaxe = "Золотая";
            p.setScoreboard(SBManager.sb2);
        }
    }
    
}
 
Последнее редактирование:
Читать умеешь? Тебе в ошибке пишет, что objective с таким названием уже существует
 
Читать умеешь? Тебе в ошибке пишет, что objective с таким названием уже существует
Так он при каждем копании блока это пишет. Как мне его всего-лишь один раз создать?
 
Не создавать его при каждом копании может?)
Хорошо держи аптечку
[09:27:56 ERROR]: Could not load 'plugins\protect.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~[server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:248) [server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:305) [server.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:205) [server.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [server.jar:git-Spigot-dcd1643-e60fc34]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: java.lang.ExceptionInInitializerError
at plugin.adodvstudios.sbsurvival.Main.<init>(Main.java:24) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_271]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_271]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) ~[server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[server.jar:git-Spigot-dcd1643-e60fc34]
... 6 more
Caused by: java.lang.NullPointerException
at plugin.adodvstudios.sbsurvival.SBManager.<clinit>(SBManager.java:14) ~[?:?]
at plugin.adodvstudios.sbsurvival.Main.<init>(Main.java:24) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_271]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_271]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) ~[server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[server.jar:git-Spigot-dcd1643-e60fc34]
... 6 more
 
Хорошо держи аптечку
[09:27:56 ERROR]: Could not load 'plugins\protect.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~[server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:248) [server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:305) [server.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:205) [server.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [server.jar:git-Spigot-dcd1643-e60fc34]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
Caused by: java.lang.ExceptionInInitializerError
at plugin.adodvstudios.sbsurvival.Main.<init>(Main.java:24) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_271]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_271]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) ~[server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[server.jar:git-Spigot-dcd1643-e60fc34]
... 6 more
Caused by: java.lang.NullPointerException
at plugin.adodvstudios.sbsurvival.SBManager.<clinit>(SBManager.java:14) ~[?:?]
at plugin.adodvstudios.sbsurvival.Main.<init>(Main.java:24) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_271]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_271]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_271]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_271]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:90) ~[server.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[server.jar:git-Spigot-dcd1643-e60fc34]
... 6 more
Так ты его создай 1 раз и все, в чем проблема?
 
Аптечка номер 2
PHP:
package plugin.adodvstudios.sbsurvival;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Score;

import org.bukkit.ChatColor;
import org.bukkit.Statistic;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener
{
    
    public void onEnable()
    {
        Bukkit.getPluginManager().registerEvents(this, this);
    }
    Objective o2 = SBManager.sb2.registerNewObjective("PSBoard", "");
    
    @EventHandler
    public static void onJoined(PlayerJoinEvent event) throws Exception
    {
        Player p = event.getPlayer();
        
        //Scoreboard 1
        

        Objective o = SBManager.sb.registerNewObjective("MSB", "");
        o.setDisplaySlot(DisplaySlot.SIDEBAR);
        
        
        String NameMainSB = ChatColor.GOLD + "◈ ГРИФ BOOM ◈";
        
        o.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&6&l") + NameMainSB);

        Score lichnoe = o.getScore(ChatColor.GRAY + "⇣ " + ChatColor.GOLD + "ЛИЧНОЕ:");
        lichnoe.setScore(9);
        
        Score line2 = o.getScore(ChatColor.GRAY + " Ваше имя: " + ChatColor.GOLD + p.getName());
        line2.setScore(8);
        
        int time = p.getStatistic(Statistic.PLAY_ONE_TICK);
        
        Score line3 = o.getScore(ChatColor.GRAY + " Времени проиграно: " + ChatColor.GOLD + (time / 20) + ChatColor.GRAY + " сек");
        line3.setScore(7);
        
        Score stats = o.getScore(ChatColor.GRAY + "⇣ " + ChatColor.GOLD + "СТАТИСТИКА:");
        stats.setScore(6);
        
        Score line4 = o.getScore(ChatColor.GRAY + " Смерти: " + ChatColor.GOLD + p.getStatistic(Statistic.DEATHS));
        line4.setScore(5);
        
        Score line5 = o.getScore(ChatColor.GRAY + " Убийства игроков: " + ChatColor.GOLD + p.getStatistic(Statistic.PLAYER_KILLS));
        line5.setScore(4);
        
        Score line6 = o.getScore(ChatColor.GRAY + " Текущий gamemode: " + ChatColor.GOLD + p.getGameMode());
        line6.setScore(3);
        
        Score line7 = o.getScore(ChatColor.translateAlternateColorCodes('&', "&6&l  Донат можно купить на сайте: "));
        line7.setScore(2);
        
        Score line8 = o.getScore(ChatColor.translateAlternateColorCodes('&', "&6&l  www.сайт.ru "));
        line8.setScore(1);
        
        p.setScoreboard(SBManager.sb);
        
    }
    @EventHandler
    public void pickaxe(PlayerInteractEvent e)
    {   
        Player p = e.getPlayer();
        if(e.isCancelled() == true)
        {
            p.setScoreboard(SBManager.sb);
        }
        String pickaxe = p.getInventory().getItemInHand().getType().name();
        if(pickaxe == "WOOD_PICKAXE")
        {
            pickaxe = "Деревянная";
        }
        if(pickaxe == "STONE_PICKAXE")
        {
            pickaxe = "Камянная";
        }
        if(pickaxe == "DIAMOND_PICKAXE")
        {
            pickaxe = "Алмазная";
        }
        if(pickaxe == "IRON_PICKAXE")
        {
            pickaxe = "Железная";
        }
        if(pickaxe == "GOLD_PICKAXE")
        {
            pickaxe = "Золотая";
        }
        
        String NameMainSB2 = ChatColor.GOLD + "◈ ГРИФ BOOM - " + ChatColor.BLUE + "Майнинг" + ChatColor.GOLD + "◈";
        
        o2.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&6&l") + NameMainSB2);

        Score line1 = o2.getScore(ChatColor.GRAY + " Ваша кирка: " + ChatColor.GOLD + pickaxe);
        line1.setScore(4);
        
        Score line2 = o2.getScore(ChatColor.GRAY + " Ваше имя: " + ChatColor.GOLD + p.getName());
        line2.setScore(3);
        
        int time = p.getStatistic(Statistic.PLAY_ONE_TICK);
        
        Score line3 = o2.getScore(ChatColor.GRAY + " Времени проиграно: " + ChatColor.GOLD + (time / 20) + ChatColor.GRAY + " сек");
        line3.setScore(2);
        
        Score modem = o2.getScore(ChatColor.GREEN + "Режим копания " + ChatColor.GOLD + "= включен");
        modem.setScore(1);
        
        
        
    }
    
}
 
Аптечка номер 2
PHP:
package plugin.adodvstudios.sbsurvival;

import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Score;

import org.bukkit.ChatColor;
import org.bukkit.Statistic;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener
{
 
    public void onEnable()
    {
        Bukkit.getPluginManager().registerEvents(this, this);
    }
    Objective o2 = SBManager.sb2.registerNewObjective("PSBoard", "");
 
    @EventHandler
    public static void onJoined(PlayerJoinEvent event) throws Exception
    {
        Player p = event.getPlayer();
   
        //Scoreboard 1
   

        Objective o = SBManager.sb.registerNewObjective("MSB", "");
        o.setDisplaySlot(DisplaySlot.SIDEBAR);
   
   
        String NameMainSB = ChatColor.GOLD + "◈ ГРИФ BOOM ◈";
   
        o.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&6&l") + NameMainSB);

        Score lichnoe = o.getScore(ChatColor.GRAY + "⇣ " + ChatColor.GOLD + "ЛИЧНОЕ:");
        lichnoe.setScore(9);
   
        Score line2 = o.getScore(ChatColor.GRAY + " Ваше имя: " + ChatColor.GOLD + p.getName());
        line2.setScore(8);
   
        int time = p.getStatistic(Statistic.PLAY_ONE_TICK);
   
        Score line3 = o.getScore(ChatColor.GRAY + " Времени проиграно: " + ChatColor.GOLD + (time / 20) + ChatColor.GRAY + " сек");
        line3.setScore(7);
   
        Score stats = o.getScore(ChatColor.GRAY + "⇣ " + ChatColor.GOLD + "СТАТИСТИКА:");
        stats.setScore(6);
   
        Score line4 = o.getScore(ChatColor.GRAY + " Смерти: " + ChatColor.GOLD + p.getStatistic(Statistic.DEATHS));
        line4.setScore(5);
   
        Score line5 = o.getScore(ChatColor.GRAY + " Убийства игроков: " + ChatColor.GOLD + p.getStatistic(Statistic.PLAYER_KILLS));
        line5.setScore(4);
   
        Score line6 = o.getScore(ChatColor.GRAY + " Текущий gamemode: " + ChatColor.GOLD + p.getGameMode());
        line6.setScore(3);
   
        Score line7 = o.getScore(ChatColor.translateAlternateColorCodes('&', "&6&l  Донат можно купить на сайте: "));
        line7.setScore(2);
   
        Score line8 = o.getScore(ChatColor.translateAlternateColorCodes('&', "&6&l  www.сайт.ru "));
        line8.setScore(1);
   
        p.setScoreboard(SBManager.sb);
   
    }
    @EventHandler
    public void pickaxe(PlayerInteractEvent e)
    {
        Player p = e.getPlayer();
        if(e.isCancelled() == true)
        {
            p.setScoreboard(SBManager.sb);
        }
        String pickaxe = p.getInventory().getItemInHand().getType().name();
        if(pickaxe == "WOOD_PICKAXE")
        {
            pickaxe = "Деревянная";
        }
        if(pickaxe == "STONE_PICKAXE")
        {
            pickaxe = "Камянная";
        }
        if(pickaxe == "DIAMOND_PICKAXE")
        {
            pickaxe = "Алмазная";
        }
        if(pickaxe == "IRON_PICKAXE")
        {
            pickaxe = "Железная";
        }
        if(pickaxe == "GOLD_PICKAXE")
        {
            pickaxe = "Золотая";
        }
   
        String NameMainSB2 = ChatColor.GOLD + "◈ ГРИФ BOOM - " + ChatColor.BLUE + "Майнинг" + ChatColor.GOLD + "◈";
   
        o2.setDisplayName(ChatColor.translateAlternateColorCodes('&', "&6&l") + NameMainSB2);

        Score line1 = o2.getScore(ChatColor.GRAY + " Ваша кирка: " + ChatColor.GOLD + pickaxe);
        line1.setScore(4);
   
        Score line2 = o2.getScore(ChatColor.GRAY + " Ваше имя: " + ChatColor.GOLD + p.getName());
        line2.setScore(3);
   
        int time = p.getStatistic(Statistic.PLAY_ONE_TICK);
   
        Score line3 = o2.getScore(ChatColor.GRAY + " Времени проиграно: " + ChatColor.GOLD + (time / 20) + ChatColor.GRAY + " сек");
        line3.setScore(2);
   
        Score modem = o2.getScore(ChatColor.GREEN + "Режим копания " + ChatColor.GOLD + "= включен");
        modem.setScore(1);
   
   
   
    }
 
}
Иди учи джаву, больше мне нечего сказать. И начинай уже думать своей головой. Код писал на 1.16.4, так что создание objective может отличаться слегка.
PHP:
    @EventHandler
    void onInteract(PlayerInteractEvent e) {
        Objective obj;
        if (e.getPlayer().getScoreboard().getObjective("Example") == null) {
            obj = e.getPlayer().getScoreboard().registerNewObjective("Example", "", "Test");
            obj.setDisplaySlot(DisplaySlot.SIDEBAR);
            Score s = obj.getScore("clicked");
            s.setScore(s.getScore() + 1);
            return;
        }
        obj = e.getPlayer().getScoreboard().getObjective("Example");
        Score clicked = obj.getScore("clicked");
        clicked.setScore(clicked.getScore() + 1);
    }
9qKsbt8.png
 
Иди учи джаву, больше мне нечего сказать. И начинай уже думать своей головой. Код писал на 1.16.4, так что создание objective может отличаться слегка.
PHP:
    @EventHandler
    void onInteract(PlayerInteractEvent e) {
        Objective obj;
        if (e.getPlayer().getScoreboard().getObjective("Example") == null) {
            obj = e.getPlayer().getScoreboard().registerNewObjective("Example", "", "Test");
            obj.setDisplaySlot(DisplaySlot.SIDEBAR);
            Score s = obj.getScore("clicked");
            s.setScore(s.getScore() + 1);
            return;
        }
        obj = e.getPlayer().getScoreboard().getObjective("Example");
        Score clicked = obj.getScore("clicked");
        clicked.setScore(clicked.getScore() + 1);
    }
9qKsbt8.png
Ну и ты тоже не далеко ушел)
 
Ну я сделал теперь у меня при взятии меча мой главный скорборд не показывается
if(e.isCancelled() == true)
{
p.setScoreboard(SBManager.sb);
}
 
Я знаю) Первое что в голову пришло работающее - то и написал + не работаю с бакитовским бордом обычно
Дело не в борде, просто можно было создать нормальный класс для работы с бордом и не городить костыли.
 
Дело не в борде, просто можно было создать нормальный класс для работы с бордом и не городить костыли.
Ну это он может и сам сделать по сути. Я ему дал лишь пример того, как создать 1 objective, а не несколько.
 
Эй. Ку ку я здесь. Помощь мне не нужна, да?
Объясни мне строку с e.isCancelled() == true. Если ты ивент не отменяешь, то чего ты еще хочешь то? Я в твоем коде не видел отмены ивента, да и ивента на смену предмета тоже не наблюдаю
 
Мне нужно при ломании блока киркой, чтобы появлялся скорборд, если игрок взял меч показать скорборд
p.setScoreboard(SBManager.sb);
 
+ твой скорборд не обновляется, я беру меч мне написанно: в вашей руке WOOD_SWORD а потом я беру алмазный меч и ничего не меняется
 
Вот создаешь такой класс, чтоб по 10 раз не копировать одно и тоже на каждый борд.
Код:
public class Board {
    private Scoreboard board;
    private Objective objective;

    public Board(String name) {
        this.board = Bukkit.getScoreboardManager().getNewScoreboard();
        this.objective = board.registerNewObjective(name, name, name);
        this.objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    }

    public Scoreboard getScoreboard() {
        return this.board;
    }

    public int getScore(String name) {
        Score score = this.objective.getScore(name);
        return score.getScore();
    }

    public void setScore(String name, int index) {
        Score score = this.objective.getScore(name);
        score.setScore(index);
    }

    public void resetScores(String name) {
        this.board.resetScores(name);
    }
}
Ну и где надо создаешь нужный борд Board board = new Board("Имя борда");
Потом работаешь с ним используя гетеры сетеры.
 
Назад
Верх