【发布时间】:2018-09-30 11:07:29
【问题描述】:
我根据世界守卫地区创建情节。我正在寻找一种很好的方法来检查在每个方向 50 个计数的半径内是否没有其他区域。我的观点是,没有人创造一个情节和别人的情节。目前,我以一种奇怪的方式检查了它,但它确实有效。
Location p3 = p.getLocation();
p3.setX(p3.getBlockX());
p3.setY(60);
p3.setZ(p3.getBlockZ()+size);
if(region.getApplicableRegions(p3).size() == 0) {
plotsCheck.put(p.getUniqueId(), plotsCheck.get(p.getUniqueId())+1);
}
Location p3a = p.getLocation();
p3a.setX(p3a.getBlockX());
p3a.setY(60);
p3a.setZ(p3a.getBlockZ()+10);
if(region.getApplicableRegions(p3a).size() == 0) {
plotsCheck.put(p.getUniqueId(), plotsCheck.get(p.getUniqueId())+1);
}
Location p4 = p.getLocation();
p4.setX(p4.getBlockX());
p4.setY(60);
p4.setZ(p4.getBlockZ()-size);
if(region.getApplicableRegions(p4).size() == 0) {
plotsCheck.put(p.getUniqueId(), plotsCheck.get(p.getUniqueId())+1);
}
这样,我检查了它是否为空。如果是这样,我在哈希图中添加了 1 个点。 不幸的是,这并不总是有效,并以几个情节属于 2 人的事实而告终。你们有没有人为此提出不同的解决方案?
【问题讨论】: