Minecraft Scoreboard

B

Bob_Gmbh

Neues Mitglied
Ich habe ein Essentialssystem für Minecraft als plugin gecodet daher ich noch relativ neu in der Java sprache bin hätte ich eine frage bezüglich des Scoreboards. Ich habe nähmlch ein coinssystem programmiert und möchte das diese Coins im Scoreboard angeziegt werden.



Code für Scoreboard :

Java:
package de.bob.listener;



import java.io.File;

import java.util.Collection;

import java.util.HashMap;

import java.util.UUID;



import org.apache.commons.io.output.ThresholdingOutputStream;

import org.bukkit.Bukkit;

import org.bukkit.OfflinePlayer;

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.event.player.PlayerQuitEvent;

import org.bukkit.scheduler.BukkitScheduler;

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.scoreboard.Team;



import com.avaje.ebeaninternal.server.subclass.GetterSetterMethods;



import de.bob.commands.COMMAND_Coins;



import de.bob.main.Main;

import io.netty.channel.local.LocalAddress;



public class ScoreboardJoinListener

 implements Listener

{

 private static HashMap<String, String[]> savedData = new HashMap();



 public static void reload()

 {

   for (Player all : Bukkit.getOnlinePlayers() ) {

     createBoard(all);

   }

 }



 public static void createBoard(Player p)

 {

   Scoreboard board = Bukkit.getScoreboardManager().getNewScoreboard();

   board.registerNewTeam("00000Inhaber");

   board.registerNewTeam("00001Admin");

   board.registerNewTeam("00002SrMod");

   board.registerNewTeam("00003Mod");

   board.registerNewTeam("00004SrDev");

   board.registerNewTeam("00005Dev");

   board.registerNewTeam("00006SrBuilder");

   board.registerNewTeam("00007Builder");

   board.registerNewTeam("00008Sup");

   board.registerNewTeam("00009Freund");

   board.registerNewTeam("99999Spieler");



   board.getTeam("00000Inhaber").setPrefix("§4Inhaber §7» ");

   board.getTeam("00001Admin").setPrefix("§4Admin §7» ");

   board.getTeam("00002SrMod").setPrefix("§cSrMod §7» ");

   board.getTeam("00003Mod").setPrefix("§cMod §7» ");

   board.getTeam("00004SrDev").setPrefix("§3SrDev §7» ");

   board.getTeam("00005Dev").setPrefix("§3Dev §7» ");

   board.getTeam("00006SrBuilder").setPrefix("§6SrBuilder §7» ");

   board.getTeam("00007Builder").setPrefix("§6Builder §7» ");

   board.getTeam("00008Sup").setPrefix("§9Sup §7» ");

   board.getTeam("00009Freund").setPrefix("§eFreund §7» ");

   board.getTeam("99999Spieler").setPrefix("§7Spieler §7» ");



   p.setScoreboard(board);

   for (Player all : Bukkit.getOnlinePlayers()) {

     setTeam(p, all);

   }

   createSidebar(p);

 }



 public static void setTeam(Player p, Player toUpdate)

 {

   String team = getTeam(toUpdate);



   Team scoreboardTeam = p.getScoreboard().getTeam(team);

   scoreboardTeam.addPlayer(toUpdate);

 }



 private static String getTeam(Player p)

 {

   if (p.hasPermission("system.Inhaber")) {

     return "00000Inhaber";

   }

   if (p.hasPermission("system.Admin")) {

     return "00001Admin";

   }

   if (p.hasPermission("system.SrModerator")) {

     return "00002SrMod";

   }

   if (p.hasPermission("system.Moderator")) {

     return "00003Mod";

   }

   if (p.hasPermission("system.SrDeveloper")) {

     return "00004SrDev";

   }

   if (p.hasPermission("system.Developer")) {

     return "00005Dev";

   }

   if (p.hasPermission("system.SrBuilder")) {

     return "00006SrBuilder";

   }

   if (p.hasPermission("system.Builder")) {

     return "00007Builder";

   }

   if (p.hasPermission("system.Supporter")) {

     return "00008Sup";

   }

   if (p.hasPermission("system.Freund")) {

      return "00009Freund";

   }

   return "99999Spieler";

 }



 public static void updateOnline()

 {

   int online = Bukkit.getOnlinePlayers().size();

   for (Player all : Bukkit.getOnlinePlayers()) {

     updateOnlineCount(all, online);

   }

 }



 private static void updateOnlineCount(Player p, int online)

 {

   Scoreboard board = p.getScoreboard();

   String lastValue = ((String[])savedData.get(p.getUniqueId().toString()))[0];

   if (lastValue != null) {

     board.resetScores(lastValue);

   }

   Objective obj = board.getObjective(DisplaySlot.SIDEBAR);

   String newScore = "§7" + online + "§8/§7" + Bukkit.getMaxPlayers();

   obj.getScore(newScore).setScore(6);



   String[] value = (String[])savedData.get(p.getUniqueId().toString());

   value[0] = newScore;

   savedData.put(p.getUniqueId().toString(), value);

 }

 public static void createSidebar(Player p)

 {

   Scoreboard board = p.getScoreboard();

   Objective obj = board.registerNewObjective("abcd", "abcd");



   obj.setDisplaySlot(DisplaySlot.SIDEBAR);

   obj.setDisplayName("§7§ §6Spectralgames.net §7");



   obj.getScore("§a ").setScore(11);

   obj.getScore("§cRang:").setScore(10);

   if (p.hasPermission("system.Inhaber")) {

     obj.getScore("§4Inhaber").setScore(9);

   } else if (p.hasPermission("system.Admin")) {

     obj.getScore("§4Admin").setScore(9);

   } else if (p.hasPermission("system.SrModerator")) {

     obj.getScore("§cSrMod").setScore(9);

   } else if (p.hasPermission("system.Moderator")) {

     obj.getScore("§cMod").setScore(9);

   } else if (p.hasPermission("system.SrDeveloper")) {

     obj.getScore("§3SrDev").setScore(9);

   } else if (p.hasPermission("system.Developer")) {

     obj.getScore("§3Dev").setScore(9);

   } else if (p.hasPermission("system.SrBuilder")) {

     obj.getScore("§6SrBuilder").setScore(9);

   } else if (p.hasPermission("system.Builder")) {

     obj.getScore("§6Builder").setScore(9);

   } else if (p.hasPermission("system.Supporter")) {

     obj.getScore("§9Sup").setScore(9);

   } else if (p.hasPermission("system.freund")){

     obj.getScore("§eFreund").setScore(9);

   } else {

      obj.getScore("§7Spieler").setScore(9);

   }

   String playerCount = "§7" + Bukkit.getOnlinePlayers().size() + "§8/§7" + Bukkit.getMaxPlayers();

   obj.getScore("§b ").setScore(8);

   obj.getScore("§aOnline: ").setScore(7);

   obj.getScore(playerCount).setScore(6);

   obj.getScore("§c ").setScore(5);

   obj.getScore("§eCoins:").setScore(4);

   obj.getScore("§a").setScore(3);

   obj.getScore("").setScore(2);

   obj.getScore("§3TeamSpeak:").setScore(1);

   obj.getScore("§7Spectralgames.net").setScore(0);



   savedData.put(p.getUniqueId().toString(), new String[] {

     playerCount });

 }



 @EventHandler

 public void handlePlayerJoin(PlayerJoinEvent e)

 {

   Player p = e.getPlayer();



   createBoard(p);

   for (Player all : Bukkit.getOnlinePlayers()) {

     setTeam(all, p);

   }

   updateOnline();

 }



 @EventHandler

 public void handlePlayerleave(PlayerQuitEvent e)

 {

   Bukkit.getScheduler().scheduleSyncDelayedTask(Main.getInstance(), new Runnable()

   {

     public void run() {}

   }, 10L);

 }

}

Java:
package de.bob.commands;



import java.io.File;

import java.io.IOException;



import org.bukkit.Bukkit;

import org.bukkit.Sound;

import org.bukkit.command.Command;

import org.bukkit.command.CommandExecutor;

import org.bukkit.command.CommandSender;

import org.bukkit.configuration.file.FileConfiguration;

import org.bukkit.configuration.file.YamlConfiguration;

import org.bukkit.entity.Player;



import de.bob.main.Main;



public class COMMAND_Coins

 implements CommandExecutor

{

 public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)

 {

   Player p = (Player)sender;

   if (args.length == 0)

   {

     p.sendMessage("§8[§2Coins§8]§7 Du besitzt: §6" + getMoney(p.getName()) + " Coin(s)");

   }

   else if (args.length == 3)

   {

     if (args[0].equalsIgnoreCase("add"))

     {

       if (p.hasPermission("eco.add"))

       {

         String target = args[1];

         Integer amount = Integer.valueOf(args[2]);

         addMoney(target, amount.intValue());

         p.sendMessage("§8[§2Coins§8]§7 Dem Spieler §6" + target + " §7wurden §6" + amount + " §7Coin(s) hinzugef§gt!");

         p.playSound(p.getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);

       }

     }

     else if (args[0].equalsIgnoreCase("remove"))

     {

       if (p.hasPermission("eco.remove"))

       {

         String target = args[1];

         Integer amount = Integer.valueOf(args[2]);

         removeMoney(target, amount.intValue());

         p.sendMessage("§8[§2Coins§8]§7 Dem Spieler §6" + target + " §7wurden §6" + amount + " §7Coin(s) entfernt!");

         p.playSound(p.getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);

       }

     }

     else if (args[0].equalsIgnoreCase("set"))

     {

       if (p.hasPermission("eco.set"))

       {

         String target = args[1];

         Integer amount = Integer.valueOf(args[2]);

         setMoney(target, amount.intValue());

         p.sendMessage("§8[§2Coins§8]§7 Die Coins vom Spieler §6" + target + " §7wurden auf §6" + amount + " §7Coin(s) gesetzt!");

         p.playSound(p.getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);

       }

     }

     else if (args[0].equalsIgnoreCase("pay"))

     {

       String target = args[1];

       Integer amount = Integer.valueOf(args[2]);

       if(amount < 0) {

          p.sendMessage("§8[§2Coins§8]§7 §cDie zahl ist negativ!");

       }

       else if (hassEnoughMoney(p.getName(), amount)) {

          removeMoney(p.getName(), amount);

          p.sendMessage("§8[§2Coins§8]§7 Du hast dem Spieler §6" + target + " " + amount + " §7Coin(s) überwiesen!");

          addMoney(target, amount.intValue());

          Player z = Bukkit.getPlayer(target);

          z.sendMessage("§8[§2Coins§8]§7 Du hast vom Spieler §6" + p.getName() + " " + amount + " §7Coin(s) Bekommen!");

       } else {

          p.sendMessage("§8[§2Coins§8]§7 Du hast nicht Genügent Coin(s)!");

       }

     }

   }

   else

   {

     p.playSound(p.getLocation(), Sound.NOTE_BASS, 1.0F, 1.0F);

     p.sendMessage("§8[§2Coins§8]§7------------ Coins-Help -----------");

     p.sendMessage("§8[§2Coins§8]§7 Benutze /coins add [Name] [Coins]");

     p.sendMessage("§8[§2Coins§8]§7 Benutze /coins remove [Name] [Coins]");

     p.sendMessage("§8[§2Coins§8]§7 Benutze /coins set [Name] [Coins]");

     p.sendMessage("§8[§2Coins§8]§7 Benutze /coins pay [Name] [Coins]");

     p.sendMessage("§8[§2Coins§8]§7------------ Coins-Help -----------");

   }

   return true;

 }



 public Integer getMoney(String name)

 {

   File file = new File("plugins/CityBuild/Coins", "coins.yml");

   FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);



   int coins = cfg.getInt(name + ".coins");

   return Integer.valueOf(coins);

 }



 public void addMoney(String name, int amount)

 {

   File file = new File("plugins/CityBuild/Coins", "coins.yml");

   FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);



   int coins = cfg.getInt(name + ".coins");

   coins += amount;

   cfg.set(name + ".coins", Integer.valueOf(coins));

   try

   {

     cfg.save(file);

   }

   catch (IOException e)

   {

     e.printStackTrace();

   }

 }



 public void removeMoney(String name, int amount)

 {

   File file = new File("plugins/CityBuild/Coins", "coins.yml");

   FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);



   int coins = cfg.getInt(name + ".coins");

   coins -= amount;

   cfg.set(name + ".coins", Integer.valueOf(coins));

   try

   {

     cfg.save(file);

   }

   catch (IOException e)

   {

     e.printStackTrace();

   }

 }



 public void setMoney(String name, int amount)

 {

   File file = new File("plugins/CityBuild/Coins", "coins.yml");

   FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);



   cfg.set(name + ".coins", Integer.valueOf(amount));

   try

   {

     cfg.save(file);

   }

   catch (IOException e)

   {

     e.printStackTrace();

   }

 }



 public boolean hassEnoughMoney(String name, int amount)

 {

   File file = new File("plugins/CityBuild/Coins", "coins.yml");

   FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);



   int coins = cfg.getInt(name + ".coins");

   if (coins >= amount) {

     return true;

   }

   return false;

 }



 public void pay(String name, int amount)

 {

   File file = new File("plugins/CityBuild/Coins", "coins.yml");

   FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);



   int coins = cfg.getInt(name + ".coins");

   coins -= amount;

 }

}



Das währe alles.



Ich bedanke mich im Vorraus

L.G. Bob_Gmbh
 
Zuletzt bearbeitet von einem Moderator:
B

Bob_Gmbh

Neues Mitglied
Wie ich aus der coins.yml die coins auslesen kann und diese im scoreboard anzeigen lässt
 
VfL_Freak

VfL_Freak

Top Contributor
Moin,
und nutze bitte die Code-Tags, so bekommt man ja Augenkrebs :confused:
VG Klaus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Minecraft Spigot Entities 1.8 Spiele- und Multimedia-Programmierung 2
C Eigene Minecraft Enchantements Spiele- und Multimedia-Programmierung 0
C Minecraft Enchantements Spiele- und Multimedia-Programmierung 1
K Minecraft "Griefergames" CobbleBot Spiele- und Multimedia-Programmierung 1
N Musikplayer in Minecraft Spiele- und Multimedia-Programmierung 0
G Minecraft PlayerBot (Listener Thread für jeden Spieler?) Spiele- und Multimedia-Programmierung 3
F Spigot 1.14 Minecraft Welt file löschen Spiele- und Multimedia-Programmierung 6
M Minecraft Spigot Plugin kompilieren Spiele- und Multimedia-Programmierung 4
N Minecraft Spigot-Plugin | Schusswaffe programmieren Spiele- und Multimedia-Programmierung 3
T Minecraft Event Plugin Spiele- und Multimedia-Programmierung 6
I Minecraft Support Bot Mod Spiele- und Multimedia-Programmierung 8
L wo sehe ich die Range und die Hitbox im Minecraft Sourcecode? Spiele- und Multimedia-Programmierung 2
M Minecraft Spieler move/run (bewegen) Spiele- und Multimedia-Programmierung 0
M Minecraft neue setDirection() (Blickrichtung) setzten Spiele- und Multimedia-Programmierung 5
Z Minecraft Multiplayer geht nicht Spiele- und Multimedia-Programmierung 2
A Minecraft Withdraw und Deposit Spiele- und Multimedia-Programmierung 1
A Minecraft Plugin, welches nur bestimmten Block zum bebauen festlegt Spiele- und Multimedia-Programmierung 26
L Minecraft 1.7.10 Server startet nicht Spiele- und Multimedia-Programmierung 1
B Programmieren wie der Befehl /ban in Minecraft geblockt wird aber nicht /ban mit einem Argument Spiele- und Multimedia-Programmierung 1
C [Minecraft] Launcher Spiele- und Multimedia-Programmierung 14
J Minecraft Coding BlockBreakEvent Spiele- und Multimedia-Programmierung 2
KeexZDeveoper Launcher (Minecraft) Spiele- und Multimedia-Programmierung 1
C Minecraft Coding Spiele- und Multimedia-Programmierung 8
C Minecraft Coding Spiele- und Multimedia-Programmierung 5
I Minecraft Plugin: Auf Spielerantwort warten Spiele- und Multimedia-Programmierung 1
I Minecraft: Craftingrecipe für Braustand ändern Spiele- und Multimedia-Programmierung 9
DanielsLPecke Minecraft Bukkit Scheduler. ALLGEMEIN. Spiele- und Multimedia-Programmierung 1
K Minecraft-Forge Mod Programmierung Spiele- und Multimedia-Programmierung 1
T Problem mit Eclipse (java)-(minecraft) Spiele- und Multimedia-Programmierung 3
C Minecraft Plugin 'Ancient Gates' Spiele- und Multimedia-Programmierung 0
C +++Minecraft Plug-In Programmierer gesucht+++ Spiele- und Multimedia-Programmierung 3
L Minecraft - BungeePerms Spiele- und Multimedia-Programmierung 1
F Minecraft Bot Mouse Inputs Spiele- und Multimedia-Programmierung 3
lord239123 Minecraft Nur sichtbare Objekte rendern Spiele- und Multimedia-Programmierung 5
T Minecraft Bukkit Plugin Text Datei auslesen Spiele- und Multimedia-Programmierung 1
A Minecraft Plugin Teleport Fehler Spiele- und Multimedia-Programmierung 1
B Minecraft mehr Ram zuweißen Problem Spiele- und Multimedia-Programmierung 0
H [Minecraft] Eclipse Spiele- und Multimedia-Programmierung 3
F Minecraft Bukkit Plugin - Inventory wiederherstellung? Spiele- und Multimedia-Programmierung 2
M Minecraft Bukkit Programmierung Spiele- und Multimedia-Programmierung 3
B Hilfe bei Minecraft Plugin Spiele- und Multimedia-Programmierung 3
M Minecraft Bukkit Server VM Kann nicht Vergrößert werden Spiele- und Multimedia-Programmierung 20
Doopy Minecraft Launcher modden Spiele- und Multimedia-Programmierung 15
K 3D Game wie Minecraft Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Anzeige

Neue Themen


Oben