更新于:

5.1 常见的对象获取方式

获取商店对象

1
ConfigManager.configmanager.shopConfigs.get(shopID);

获取商品对象

1
2
3
4
5
6
ObjectShop shop = ConfigManager.configmanager.shopConfigs.get(shopID);
if (shop == null) {
return;
}
ObjectItem item = shop.getProduct("TEST");
List<ObjectItem> items = shop.getProductList();

开始购买商品

1
BuyProductMethod.startBuy(Inventory inventory, String shop, String product, Player player, boolean quick, boolean test, int multi);

其中:

  • inventory 为 Bukkit 提供的 inventory 对象,对于玩家的背包,请使用 player.getInventory() 方法;
  • shop 即为商店 ID;
  • product 即为商品 ID;
  • quick 即为是否在购买后发送消息(即便 config.yml 中禁用了 send-message-after-buy 也会发送);
  • test 即为是否在购买后拿走玩家的钱,若你想知道玩家是否有足够的钱请将其设置为 true;
  • multi 为单次购买的数量,默认为 1. 开始出售商品
1
SellProductMethod.startSell(Inventory inventory, String shop, String product, Player player, boolean quick, boolean test, boolean ableMaxSell, int multi);
  • ableMaxSell 即为玩家如果没有足够的钱买得起当前 multi(数量)的物品时,是否自动获取玩家能够购买的最大数量。一般用于全部出售命令; 获取玩家缓存对象
1
CacheManager.cacheManager.playerCacheMap.get(player);

可以通过这个对象获取玩家的购买次数,出售时间等相关的数据。 获取服务器缓存对象

1
CacheManager.cacheManager.serverCache;