Coins 插件为您的 Minecraft 服务器创建了一个基于 MySQL 的自定义货币系统,支持多服务器数据同步,并提供了丰富的 API 和可自定义的 GUI 商店功能。
/coins)。addCoins, removeCoins, setCoins:当玩家自行修改货币数量时发送给该玩家。支持 %COINS% 占位符。addTargetCoins, removeTargetCoins, setTargetCoins:当玩家的货币被他人修改时发送给该玩家。支持 %COINS% 和 %PLAYER% 占位符。addPlayerCoins, removePlayerCoins, setPlayerCoins:当执行者修改他人货币时发送给执行者。支持 %COINS% 和 %TARGET% 占位符。loadingerror:当命令执行者输入了无效的 UUID 或玩家名时发送。%COINS%:在消息中显示货币数量。%TARGET%:在消息中显示目标玩家。%PLAYER%:在消息中显示操作执行者。Coins.Commands:允许使用 /coins 命令及其所有子命令。/coins:查看自己的余额(无需权限)。/coins <玩家名/UUID>:查看指定玩家的余额。/coins add <数量>:为自己增加指定数量的货币。/coins add <玩家名> <数量>:为指定玩家增加货币。/coins remove <数量>:从自己这里移除指定数量的货币。/coins remove <玩家名> <数量>:从指定玩家处移除货币。/coins set <数量>:设置自己的货币数量。/coins set <玩家名> <数量>:设置指定玩家的货币数量。在代码中调用 Coins. 后可使用以下方法:
getCoins(Player p):返回玩家当前的货币数量。setCoins(Player p, Integer Amount):设置玩家的货币数量。addCoins(Player p, Integer coins, boolean notify):为玩家增加货币。若 notify 为 true,玩家将通过动作栏收到通知。removeCoins(Player p, Integer coins, boolean notify):移除玩家的货币。若 notify 为 true,玩家将通过动作栏收到通知。getOfflineCoins(String data):获取离线玩家的货币。data 可以是玩家的 UUID 或名称。您可以使用 InventoryManager.createShopInventory(ShopInventory) 来创建一个商店。
创建新的商店 GUI 时,需要重写三个基础方法以自定义提示信息:
getSuccessfulPurchaseMessage(String defaultmessage):购买成功时发送的消息。getNotEnoughMoneyMessage(String defaultmessage):货币不足时发送的消息。getNoPermissionMessage(String defaultmessage):无购买权限时发送的消息。参数 defaultmessage 是插件预设的默认消息。如果您返回 null,则不会向玩家发送任何消息。
ShopInventory inventory = InventoryManager.createShopInventory(new ShopInventory(ChatColor.AQUA + "Shop", 9) {
@Override
public String getSuccessfulPurchaseMessage(String defaultmessage) {
return defaultmessage;
}
@Override
public String getNotEnoughMoneyMessage(String defaultmessage) {
return ChatColor.RED + "You don't have enough money";
}
@Override
public String getNoPermissionMessage(String defaultmessage) {
return null;
}
});
inventory.addItem(displayitem);
inventory.open(player);new DisplayItem(ItemStack item, int price, int slot, BuyItem buyitem);new DisplayItem(ItemStack item, String permission, int slot, BuyItem buyitem);new DisplayItem(ItemStack item, int price, String permission, int slot, BuyItem buyitem);new DisplayItem(Material material, byte data, int price, int slot, BuyItem buyitem);new DisplayItem(Material material, byte data, String permission, int slot, BuyItem buyitem);new DisplayItem(Material material, byte data, int price, String permission, int slot, BuyItem buyitem);new BuyItem(Material material, int amount);new BuyItem(Material material, int amount, byte data);new BuyItem(ItemStack item);DisplayItem 和 BuyItem 都支持以下方法进行深度自定义:
setDisplayName(String name):设置物品显示名称。setAmount(int amount):设置物品数量。setUnbreakable(boolean unbreakable):设置物品是否不可破坏。setItemMeta(ItemMeta meta):设置物品元数据。addItemFlag(ItemFlag... flags):添加物品标志。removeItemFlag(ItemFlag... flags):移除物品标志。setLore(String... lore) / setLore(ArrayList<String> lore):设置物品描述。addLore(String... lore):追加物品描述。setColor(Color color):设置颜色(仅限皮革盔甲)。setColor(int red, int green, int blue):设置 RGB 颜色(仅限皮革盔甲)。addEnchantment(Enchantment ench, int level):添加附魔(任何附魔,任何等级)。setGlow(boolean enchanted):设置物品是否发光。如果您重写了 onClick 方法,该界面将不再具有商店的自动购买行为。此方法在玩家点击商店界面时被调用(即使点击的是空位)。
InventoryManager.createShopInventory(new ShopInventory(ChatColor.AQUA + "Shop", 9) {
@Override
public void onClick(Player p, DisplayItem item, ClickType click) {
if (item == null)
return;
p.sendMessage(ChatColor.GRAY + "You clicked a shop item :)");
}
// ... 仍需重写三个消息方法
});友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:2,634,093 | 历史访问人次:3,192,190
今日访问人数:8,975 | 今日访问人次:9,549
昨日访问人数:46,463 | 昨日访问人次:52,262
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6