Bukkit Плагин Minecraft Сундуки заполнить и построить из класса с INT в списке

1

У меня есть список

private List<ChestPoint> chestpoints = new ArrayList<>();

и ChestPoint.java

int x;
int y;
int z;
String findhardness;
String arena;

и хотите установить сундуки и наполнить их

if(cmd.getName().equalsIgnoreCase("buildfillchests")) {
    ItemStack itemsforchest = new ItemStack(Material.CHEST, 1728);
    if(args.length == 1){
        for(ChestPoint cp : chestpoints){
            Location chestloc = null;
            if(cp.arena == null ? args[0] == null : cp.arena.equals(args[0])){
                chestloc.setX(cp.x);
                chestloc.setY(cp.y);
                chestloc.setZ(cp.z);
                if(chestloc.getBlock().getType() == Material.AIR){
                    chestloc.getBlock().setType(Material.CHEST);
                    Inventory chestinv = ((Chest) chestloc.getBlock().getState()).getInventory();
                    chestinv.addItem(itemsforchest);
                }
            }
        }
    } else {
        if(args.length == 3 && "by".equals(args[0]) && "all".equals(args[1]) && "chests".equals(args[2])){
            for(ChestPoint cp : chestpoints){
                Location chestloc = null;
                chestloc.setX(cp.x);
                chestloc.setY(cp.y);
                chestloc.setZ(cp.z);
                if(chestloc.getBlock().getType() == Material.AIR){
                    chestloc.getBlock().setType(Material.CHEST);
                    Inventory chestinv = ((Chest) chestloc.getBlock().getState()).getInventory();
                    chestinv.addItem(itemsforchest);
                }
            }
        } else {
            sender.sendMessage(ChatColor.RED + "Es funktioniert nur /buildfillchests <arena> oder /buildfillchests by all chests");
    }
}

Это не работает! Я хочу построить сундуки на всех в контрольных точках списка, установил контрольные точки и наполнит сундуки сундуками! Но в моем файле журнала ошибка не регистрируется! Может ли кто-нибудь найти мою ошибку?

Теги:
plugins
bukkit

1 ответ

0
Лучший ответ

Вам нужно будет вызвать методы BlockState.update(), чтобы применить BlockState к фактическому блоку.

http://jd.bukkit.org/beta/doxygen/d9/d1c/interfaceorg_1_1bukkit_1_1block_1_1BlockState.html#a0734c83720823a6eb2247aaf4b60ec0e

Ещё вопросы

Сообщество Overcoder
Наверх
Меню