格兰蒂协会

 找回密码
 立即注册
快捷导航
搜索
查看: 171|回复: 2
收起左侧

[其它] 编程求救

[复制链接]

33

积分

13

金币

0

点数

Lv.2

Rank: 2Rank: 2

积分
33
发表于 2019-12-2 20:15:27 | 显示全部楼层 |阅读模式
我的世界
原创度: 原创
原帖地址: -

你好像忘了登录了...

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 3513312668 于 2019-12-2 20:16 编辑

求大神教学
Scoreboard
类如何使用
关于玩家计分板

是1.8以上的

2626

积分

1909

金币

0

点数

管理员

格兰蒂吉祥物

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
2626
发表于 2019-12-3 00:25:24 | 显示全部楼层
明天我把我用的工具类发给你
作为格兰蒂的吉祥物而存在着,但是很可爱!

爱发电上赞助我你将获得下载专属资源的权利
回复

使用道具 举报

2626

积分

1909

金币

0

点数

管理员

格兰蒂吉祥物

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
2626
发表于 2019-12-8 15:53:40 | 显示全部楼层
虽然鸽了好多天,但代码还是补发了

  1. package com.relatev.minecraft.CustomAxya;

  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.World;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.Listener;
  10. import org.bukkit.scoreboard.DisplaySlot;
  11. import org.bukkit.scoreboard.Objective;
  12. import org.bukkit.scoreboard.Scoreboard;
  13. import org.bukkit.scoreboard.ScoreboardManager;
  14. import org.bukkit.scoreboard.Team;

  15. public class ScoreboardUtils implements Runnable, Listener {

  16.     private static ScoreboardManager SBM;
  17.     private static ScoreboardUtils Instance;
  18.     private static HashMap<Player, List<ScoreBoardLine>> BoardLines = new HashMap();

  19.     public static void init() {
  20.         CustomAxya.MainPlugin.getLogger().info("计分板系统初始化...");
  21.         SBM = Bukkit.getScoreboardManager();
  22.         Instance = new ScoreboardUtils();
  23.         Bukkit.getScheduler().runTaskTimer(CustomAxya.MainPlugin, Instance, 20, 20);
  24.         Bukkit.getPluginManager().registerEvents(Instance, CustomAxya.MainPlugin);
  25.     }

  26.     public static void SendScoreBoardLine(Player player, String msg, int line) {
  27.         ScoreBoardLine thisline = new ScoreBoardLine(msg, line);
  28.         if (BoardLines.containsKey(player) == false) {
  29.             BoardLines.put(player, new ArrayList());
  30.         }
  31.         BoardLines.get(player).add(thisline);
  32.     }

  33.     @Override
  34.     public void run() {
  35.         World world = Bukkit.getWorld("world");
  36.         String title;
  37.         if (SomeUtils.isDay(world)) {
  38.             long second = (12000 - world.getTime()) / 20;
  39.             if (second <= 60) {
  40.                 title = "§6======§d白昼剩余§r§l" + second + "§9秒§6======";
  41.             } else {
  42.                 title = "§6======§d白昼剩余§r§l" + (second / 60 + 1) + "§d分钟§6======";
  43.             }
  44.         } else {
  45.             long second = (24000 - world.getTime()) / 20;
  46.             if (second <= 60) {
  47.                 title = "§6======§9夜晚剩余§r§l" + second + "§b秒§6======";
  48.             } else {
  49.                 title = "§6======§9夜晚剩余§r§l" + (second / 60 + 1) + "§9分钟§6======";
  50.             }
  51.         }
  52.         for (Player player : Bukkit.getOnlinePlayers()) {
  53.             Scoreboard sbd = SBM.getNewScoreboard();
  54.             if (BoardLines.containsKey(player)) {
  55.                 Objective objective = sbd.registerNewObjective("TheObjectivePath", "TheObjectiveValue");
  56.                 objective.setDisplaySlot(DisplaySlot.SIDEBAR);
  57.                 objective.setDisplayName(title);
  58.                 for (ScoreBoardLine sbl : BoardLines.get(player)) {
  59.                     objective.getScore(sbl.LineMessage).setScore(sbl.Line);
  60.                 }
  61.             }
  62.             player.setScoreboard(sbd);
  63.         }
  64.         BoardLines.clear();
  65.     }
  66. }

  67. class ScoreBoardLine {

  68.     public ScoreBoardLine(String linemessage, int line) {
  69.         LineMessage = linemessage;
  70.         Line = line;
  71.     }
  72.     public String LineMessage;
  73.     public int Line;
  74. }
复制代码


作为格兰蒂的吉祥物而存在着,但是很可爱!

爱发电上赞助我你将获得下载专属资源的权利
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|格兰蒂协会

GMT+8, 2020-1-28 22:04

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表