我有一个清单
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