problems with entities not loading correctly

This commit is contained in:
2024-07-19 23:25:24 +02:00
parent 79790dae8d
commit c6f0c0ba4b
7 changed files with 49 additions and 13 deletions

View File

@@ -12,7 +12,7 @@ public class BlockBreakListener implements Listener {
PixelBlock pixelBlock = PixelBlock.getPixelBlockFromWorld(event.getBlock().getLocation().getWorld());
assert pixelBlock != null;
pixelBlock.handleBlockBreak(event, true);
pixelBlock.handleBlockBreak(event, false);
}
}
}

View File

@@ -44,7 +44,7 @@ public class BlockPlaceListener implements Listener {
PixelBlock pixelBlock = PixelBlock.getPixelBlockFromWorld(event.getBlock().getLocation().getWorld());
assert pixelBlock != null;
pixelBlock.handleBlockPlace(event, true);
pixelBlock.handleBlockPlace(event, false);
}
}
}

View File

@@ -0,0 +1,27 @@
package eu.mhsl.minecraft.pixelblocks.listeners;
import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlock;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.world.ChunkLoadEvent;
import org.bukkit.event.world.ChunkUnloadEvent;
public class ChunkLoadListener implements Listener {
@EventHandler
static void onChunkLoad(ChunkLoadEvent event) {
PixelBlock.placedPixelBlocks.forEach(pixelBlock -> {
if(pixelBlock.hitbox == null) {
pixelBlock.update();
}
});
}
@EventHandler
static void onChunkUnload(ChunkUnloadEvent event) {
PixelBlock.placedPixelBlocks.forEach(pixelBlock -> {
if(pixelBlock.hitbox != null) {
pixelBlock.clearEntities();
}
});
}
}

View File

@@ -1,17 +1,20 @@
package eu.mhsl.minecraft.pixelblocks.listeners;
import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlock;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerChangedWorldEvent;
import java.util.Objects;
import static eu.mhsl.minecraft.pixelblocks.PixelBlocks.plugin;
public class PlayerChangeWorldListener implements Listener {
@EventHandler
static void onPlayerChangeWorld(PlayerChangedWorldEvent event) {
if(CommonEventHandlers.isInPixelWorld(event.getFrom())) {
Objects.requireNonNull(PixelBlock.getPixelBlockFromWorld(event.getFrom())).update();
Bukkit.getScheduler().runTaskLater(plugin, () -> Objects.requireNonNull(PixelBlock.getPixelBlockFromWorld(event.getFrom())).update(), 60);
}
}
}