我試圖完成的是當服務器啓動/重新加載插件將檢測世界上的所有SKULLS,然後設置對它們循環並且不會結束的效果。在世界上重複對塊的影響
我當前的代碼:
@EventHandler
public void onChunkLoad(ChunkLoadEvent event){
Chunk chunk = event.getChunk();
if(event.getWorld().getName().equals("world")){
for (int x = 0; x < 16; x++){
for (int y = 0; y < 256; y++){
for(int z = 0; z <16; z++){
Block block = chunk.getBlock(x, y, z);
if(block.getType() == Material.SKULL){
event.getWorld().playEffect(block.getLocation(), Effect.MOBSPAWNER_FLAMES, 0);
的循環可能沒有結束,由於事實,你在塊的16 * 256 * 16(65536)量循環。這是一個塊!這樣做對所有的塊會造成大量的滯後,因此給人的印象是循環永不結束 – Kerooker
另外,你還記得在你的主線程中的某個地方註冊你的事件嗎? – Kerooker
我註冊了事件,除非我做錯了。我也做了一個調試,它的工作。這裏是註冊事件代碼:Bukkit.getPluginManager()。registerEvents(new ChestManager(this),this); – InfernoArtz