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 PreventLiquidsFlowListener(),
|
||||||
new PreventPistonsListener(),
|
new PreventPistonsListener(),
|
||||||
new PreventEntityPlacementListener(),
|
new PreventEntityPlacementListener(),
|
||||||
new DiscoverRecipesListener()
|
new DiscoverRecipesListener(),
|
||||||
|
new QuitWhileInPixelBlockListener()
|
||||||
};
|
};
|
||||||
|
|
||||||
for (Listener listener : listeners) {
|
for (Listener listener : listeners) {
|
||||||
@ -87,6 +88,7 @@ public final class Main extends JavaPlugin {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
|
Bukkit.getOnlinePlayers().forEach(QuitWhileInPixelBlockListener::kickPlayerOutOfWorld);
|
||||||
try {
|
try {
|
||||||
database.close();
|
database.close();
|
||||||
} catch (SQLException e) {
|
} 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.PixelBlock;
|
||||||
import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlockWorld;
|
import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlockWorld;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
@ -12,10 +13,14 @@ import java.util.Objects;
|
|||||||
public class QuitWhileInPixelBlockListener implements Listener {
|
public class QuitWhileInPixelBlockListener implements Listener {
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onLeave(PlayerQuitEvent event) {
|
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;
|
if(!PixelBlockWorld.isPixelWorld(pixelBlockWorld)) return;
|
||||||
PixelBlock pixelBlock = PixelBlock.getPixelBlockFromBlockWorld(pixelBlockWorld);
|
PixelBlock pixelBlock = PixelBlock.getPixelBlockFromBlockWorld(pixelBlockWorld);
|
||||||
Objects.requireNonNull(pixelBlock);
|
Objects.requireNonNull(pixelBlock);
|
||||||
pixelBlock.exitBlock(event.getPlayer());
|
pixelBlock.exitBlock(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user