- Баллы
- 78
Здравствуйте, возникла проблема с проверкой блоков в чанке (работает только на Spigot, на других отказывается). Поставил грузить WorldBoarder мир, но что-то пошло не так, как запланировалось.
Проверка чанков не должна так идти, пробовал разные способы, но ничего не помогает, может что-то где-то упустил или использую старый метод. Прошу разобраться с этой проблемой.
Проверка чанков не должна так идти, пробовал разные способы, но ничего не помогает, может что-то где-то упустил или использую старый метод. Прошу разобраться с этой проблемой.
Код:
public void ChunkPopulate(ChunkPopulateEvent event) {
World world = event.getWorld();
Chunk chunk = event.getChunk();
for (int i = 0; i < worldList.size(); i++)
if (world.getName().equals(worldList.get(i))) {
Random random = new Random();
final int x = chunk.getX() << 4;
final int z = chunk.getZ() << 4;
if (debug) {
Main.log.info("-======-" + world.getName() + "-======-");
Main.log.info("-======-New Chunk-======-");
Main.log.info("X: " + x);
Main.log.info("Z: " + z);
}
Material material = Material.STONE;
if (air)
material = Material.AIR;
for (int ix = 0; ix < 16; ix++)
for (int iz = 0; iz < 16; iz++)
for (int y = 0; y < 128; y++) {
Block block = world.getBlockAt(x + ix, y, z + iz);
for (int j = 0; j < oreList.size(); j++) {
List<Integer> blockInfo = changeToIntList(oreList.get(j));
int id = blockInfo.get(0);
int meta = blockInfo.get(1);
int procent = blockInfo.get(2);
if (id == block.getTypeId())
if (meta == block.getState().getData().getData())
if (random.nextInt(100) + 1 >= procent || procent == 100)
block.setType(material);
}
}
}
}