我有一个清单

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");
    }
}


那行不通!
我想在已设置的“列表”胸部的所有胸部上建立胸部,并用胸部填充胸部!但是在我的日志文件中没有记录错误!
有人能找到我的脾气吗?

最佳答案

您将必须调用BlockState.update()方法以将BlockState应用于实际的Block。

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

07-27 14:05