- Баллы
- 76
- Имя в Minecraft
- Lisenochek
Не помогло, все так же лагаетхм. Тогда сделай проверку есть ли в чанке с сундуком игрок.
Код:import org.bukkit.Bukkit; import org.bukkit.Chunk; import org.bukkit.Effect; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.block.Chest; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; public class TOP implements Runnable { private Entity entity; @Override public void run() { // Получаем мир World w = Bukkit.getWorld("world"); // получаем все загруженные чанки for (Chunk chunk : w.getLoadedChunks()) { int cx = chunk.getX() << 4; int cz = chunk.getZ() << 4; for (int x = cx; x < cx + 16; x++) { for (int z = cz; z < cz + 16; z++) { for (int y = 0; y < 128; y++) { // получаем блок :o Block b = (Block) chunk.getBlock(x, y, z); // проверяем что это сундучок if (w.getBlockAt(x, y, z).getType() == Material.CHEST) { Chest chest = (Chest) b.getState(); // проверяем название if (chest.getBlockInventory().getName().equalsIgnoreCase("Realistic Crate")) { // Получаем всех онлайн игроков for (Player ps : Bukkit.getOnlinePlayers()) { // Смотрим что в чанке с сундуком есть игрок if (chunk.getEntities().equals(ps)) { w.playEffect(chest.getLocation().add(0, 0.7, 0), Effect.ENDER_SIGNAL, 50); } } } } } } } } } }
Мне кажется, что это из-за чанков, которые указаны в коде.
