prevent players in pixelblock wile being offline
This commit is contained in:
parent
154c1cf936
commit
32e6eb259e
@ -72,7 +72,8 @@ public final class Main extends JavaPlugin {
|
||||
new PreventLiquidsFlowListener(),
|
||||
new PreventPistonsListener(),
|
||||
new PreventEntityPlacementListener(),
|
||||
new DiscoverRecipesListener()
|
||||
new DiscoverRecipesListener(),
|
||||
new QuitWhileInPixelBlockListener()
|
||||
};
|
||||
|
||||
for (Listener listener : listeners) {
|
||||
@ -87,6 +88,7 @@ public final class Main extends JavaPlugin {
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
Bukkit.getOnlinePlayers().forEach(QuitWhileInPixelBlockListener::kickPlayerOutOfWorld);
|
||||
try {
|
||||
database.close();
|
||||
} catch (SQLException e) {
|
||||
|
@ -3,6 +3,7 @@ package eu.mhsl.minecraft.pixelblocks.listeners;
|
||||
import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlock;
|
||||
import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlockWorld;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
@ -12,10 +13,14 @@ import java.util.Objects;
|
||||
public class QuitWhileInPixelBlockListener implements Listener {
|
||||
@EventHandler
|
||||
public void onLeave(PlayerQuitEvent event) {
|
||||
World pixelBlockWorld = event.getPlayer().getLocation().getWorld();
|
||||
kickPlayerOutOfWorld(event.getPlayer());
|
||||
}
|
||||
|
||||
public static void kickPlayerOutOfWorld(Player player) {
|
||||
World pixelBlockWorld = player.getLocation().getWorld();
|
||||
if(!PixelBlockWorld.isPixelWorld(pixelBlockWorld)) return;
|
||||
PixelBlock pixelBlock = PixelBlock.getPixelBlockFromBlockWorld(pixelBlockWorld);
|
||||
Objects.requireNonNull(pixelBlock);
|
||||
pixelBlock.exitBlock(event.getPlayer());
|
||||
pixelBlock.exitBlock(player);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user