我正在开发一个SkyBlock,Bukkit java插件。
我试图这样做,它在x中创建了100个岛屿,然后一个到达100就增加了一个...
示例第一个岛将是(0,0),(1,0)...... 100个岛(0,1)
但是让我们说(3,0)被删除我想填写那个插槽
我尝试使用
private static Vertex2 getNextGrid(int x){
if(islands.isEmpty()) return new Vertex2(0, 0);
ArrayList<Island> currentX = new ArrayList<>();
for(Island island : islands){
if(island.getGrid().getX() == x)
currentX.add(island);
}
int z = 0;
ArrayList<Integer> total = new ArrayList<>();
for(int i = 0; i < 100; i++) total.add(i);
for(Island island : currentX)
total.remove(island.getGrid().getY());
if(total.isEmpty())
getNextGrid(x++);
return new Vertex2(total.get(0), z);
}
但是我只是在上得到一个NullPointerException if(island.getGrid()。getX()== x)
答案 0 :(得分:0)
由于您获得了空指针,这意味着您正在尝试在尚未设置的实例上调用方法(或访问字段) - 在您和&# #39; ve表示,有两个地方可能就是这种情况。