【发布时间】:2014-04-12 07:07:54
【问题描述】:
好的,所以我正在尝试制作一个列表,以收集玩家在线使用该插件创建的所有帮派。
但是,当它向 YML 列表添加一个项目时,它会将其命名为“true”,这不是我想要的。我要添加帮派名称。
当我尝试将帮派中的玩家添加到与帮派所有者一起保存的列表时也会这样做。
这是我的 GangJoinCommand 类。
package me.galaxywarrior6.minecraftgta.commands;
import me.galaxywarrior6.minecraftgta.MinecraftGTA;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
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;
public class GangCreateCommand implements CommandExecutor{
public MinecraftGTA plugin;
public GangCreateCommand(MinecraftGTA instance){
plugin = instance;
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String args[]){
Player p = (Player) sender;
String prefix = ChatColor.DARK_GRAY + "[" + ChatColor.GOLD + "Gangs" + ChatColor.DARK_GRAY + "] ";
if (cmd.getName().equalsIgnoreCase("gcreate")){
if (args.length <= 0 || args.length >= 2){
p.sendMessage(prefix + "That's an invalid command structure!");
return true;
}
String UUID = p.getUniqueId().toString().toLowerCase();
if (!(MinecraftGTA.config.getString(UUID + ".Gang").equalsIgnoreCase("none"))){
p.sendMessage(prefix + ChatColor.RED + "You're already in a gang!");
return true;
}
if (MinecraftGTA.config.getStringList("gangs").contains(args[0].toString())){
p.sendMessage(prefix + ChatColor.RED + "That gang name is already taken!");
return true;
}
if (args[0].length() >= 16){
p.sendMessage(prefix + ChatColor.RED + "Please shorten your gangname to 15 or less characters.");
return true;
}
MinecraftGTA.config.set(UUID + ".Gang", args[0]);
MinecraftGTA.config.set(UUID + ".GangOwnership", args[0]);
MinecraftGTA.config.set(UUID + ".GangRank", "GodFather");
MinecraftGTA.config.set("gangs", MinecraftGTA.config.getStringList("gangs").add(args[0]));
MinecraftGTA.config.set(UUID + ".GangMembers", MinecraftGTA.config.getStringList(UUID + ".GangMembers").add(UUID));
p.sendMessage(prefix + ChatColor.GREEN + "You've successfully created a gang!");
Bukkit.getServer().broadcastMessage(prefix + ChatColor.BLUE + p.getName() + ChatColor.GREEN + " has started up a gang!");
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard board = manager.getNewScoreboard();
Objective sidebar = board.registerNewObjective("money", "count");
sidebar.setDisplaySlot(DisplaySlot.SIDEBAR);
sidebar.setDisplayName("§a§l-----Stats-----");
p.setScoreboard(board);
Score spacer1 = sidebar.getScore(Bukkit.getOfflinePlayer("§f"));
spacer1.setScore(12);
Score gangs = sidebar.getScore(Bukkit.getOfflinePlayer("§5§lGang:"));
gangs.setScore(11);
Score gangName = sidebar.getScore(Bukkit.getOfflinePlayer("§d§l" + MinecraftGTA.config.getString(UUID + ".Gang")));
gangName.setScore(10);
Score spacer4 = sidebar.getScore(Bukkit.getOfflinePlayer("§f"));
spacer4.setScore(9);
Score dollars = sidebar.getScore(Bukkit.getOfflinePlayer("§6§lMoney:"));
dollars.setScore(8);
Score dollarsnum = sidebar.getScore(Bukkit.getOfflinePlayer("§e§l$" + MinecraftGTA.config.getInt(UUID + ".Dollars")));
dollarsnum.setScore(7);
Score spacer2 = sidebar.getScore(Bukkit.getOfflinePlayer("§7"));
spacer2.setScore(6);
Score kills = sidebar.getScore(Bukkit.getOfflinePlayer("§3§lKills:"));
kills.setScore(5);
Score killsnum = sidebar.getScore(Bukkit.getOfflinePlayer("§b§l" + MinecraftGTA.config.getInt(UUID + ".Kills")));
killsnum.setScore(4);
Score spacer3 = sidebar.getScore(Bukkit.getOfflinePlayer("§8"));
spacer3.setScore(3);
if(MinecraftGTA.config.getInt(UUID + ".WantedLv") <= 4){
Score wanted = sidebar.getScore(Bukkit.getOfflinePlayer("§c§lWanted:"));
wanted.setScore(2);
Score wantednum = sidebar.getScore(Bukkit.getOfflinePlayer("✩ ✩ ✩ ✩ ✩"));
wantednum.setScore(1);
}else if(MinecraftGTA.config.getInt(UUID + ".WantedLv") <= 10){
Score wanted = sidebar.getScore(Bukkit.getOfflinePlayer("§c§lWanted:"));
wanted.setScore(2);
Score wantednum = sidebar.getScore(Bukkit.getOfflinePlayer("✭ ✩ ✩ ✩ ✩"));
wantednum.setScore(1);
p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 99999, 1));
}else if(MinecraftGTA.config.getInt(UUID + ".WantedLv") <= 15){
Score wanted = sidebar.getScore(Bukkit.getOfflinePlayer("§c§lWanted:"));
wanted.setScore(2);
Score wantednum = sidebar.getScore(Bukkit.getOfflinePlayer("✭ ✭ ✩ ✩ ✩"));
wantednum.setScore(1);
p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 99999, 2));
}else if(MinecraftGTA.config.getInt(UUID + ".WantedLv") <= 20){
Score wanted = sidebar.getScore(Bukkit.getOfflinePlayer("§c§lWanted:"));
wanted.setScore(2);
Score wantednum = sidebar.getScore(Bukkit.getOfflinePlayer("✭ ✭ ✭ ✩ ✩"));
wantednum.setScore(1);
p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 99999, 3));
}else if(MinecraftGTA.config.getInt(UUID + ".WantedLv") <= 25){
Score wanted = sidebar.getScore(Bukkit.getOfflinePlayer("§c§lWanted:"));
wanted.setScore(2);
Score wantednum = sidebar.getScore(Bukkit.getOfflinePlayer("✭ ✭ ✭ ✭ ✩"));
wantednum.setScore(1);
p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 99999, 4));
}else if(MinecraftGTA.config.getInt(UUID + ".WantedLv") >= 30){
Score wanted = sidebar.getScore(Bukkit.getOfflinePlayer("§c§lWanted:"));
wanted.setScore(2);
Score wantednum = sidebar.getScore(Bukkit.getOfflinePlayer("✭ ✭ ✭ ✭ ✭"));
wantednum.setScore(1);
p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 99999, 5));
}
MinecraftGTA.saveFile();
return true;
}
return false;
}
}
可以在此处找到它添加到列表中的区域:
MinecraftGTA.config.set("gangs", MinecraftGTA.config.getStringList("gangs").add(args[0]));
MinecraftGTA.config.set(UUID + ".GangMembers", MinecraftGTA.config.getStringList(UUID + ".GangMembers").add(UUID));
这会将配置设置为以下内容:
gangs: true
5e1839e8-4c81-4dd9-80f3-18475b98f192:
Dollars: 78
Kills: 0
WantedLv: 0
LastUsername: I_Stole_The_Sock
Gang: Tgang
GangOwnership: Tgang
GangRank: GodFather
GangMembers: true
CurrentInvite: ''
Inviter: ''
请告诉我如何阻止它说“真”并将其设置为我想要的实际字符串。
【问题讨论】:
标签: java yaml config minecraft bukkit