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;
|