started with database
This commit is contained in:
@@ -1,13 +1,29 @@
|
||||
package eu.mhsl.minecraft.pixelblocks.listeners;
|
||||
|
||||
import eu.mhsl.minecraft.pixelblocks.pixelblock.PixelBlock;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class PlayerChangeWorldListener implements Listener {
|
||||
@EventHandler
|
||||
static void onPlayerChangeWorld(PlayerChangedWorldEvent event) {
|
||||
World worldLeft = event.getFrom();
|
||||
World[] standardWorlds = {Bukkit.getWorlds().get(0), Bukkit.getWorlds().get(1), Bukkit.getWorlds().get(2)};
|
||||
|
||||
if(!Arrays.stream(standardWorlds).toList().contains(worldLeft)) {
|
||||
String blockUUID = Arrays.stream(worldLeft.getName().split("/")).toList().getLast();
|
||||
List<PixelBlock> pixelBlocks = PixelBlock.placedBlocks.stream().filter(block -> block.uuid.toString().equals(blockUUID)).toList();
|
||||
|
||||
if(!pixelBlocks.isEmpty()) {
|
||||
PixelBlock pixelBlock = pixelBlocks.getFirst();
|
||||
pixelBlock.update();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,21 +44,21 @@ public class PlayerInteractListener implements Listener {
|
||||
.orElseThrow();
|
||||
UUID blockOwner = pixelBlock.owner;
|
||||
|
||||
if(playerUID == blockOwner) {
|
||||
if(playerUID.equals(blockOwner)) {
|
||||
pixelBlock.lastEntryLocation = event.getPlayer().getLocation();
|
||||
pixelBlock.lastEntryTime = System.currentTimeMillis();
|
||||
|
||||
World blockWorld = Bukkit.getWorld(plugin.getDataFolder().getPath()+"/"+pixelBlock.uuid);
|
||||
World blockWorld = Bukkit.getWorld(plugin.getDataFolder().getPath()+ "/"+pixelBlock.uuid);
|
||||
assert blockWorld != null;
|
||||
event.getPlayer().teleport(blockWorld.getSpawnLocation());
|
||||
|
||||
Bukkit.getScheduler().cancelTask(pixelBlock.updateTaskID);
|
||||
pixelBlock.updateTaskID = Bukkit.getScheduler().scheduleSyncRepeatingTask(
|
||||
PixelBlocks.plugin,
|
||||
pixelBlock::update,
|
||||
100L,
|
||||
100L
|
||||
);
|
||||
// Bukkit.getScheduler().cancelTask(pixelBlock.updateTaskID);
|
||||
// pixelBlock.updateTaskID = Bukkit.getScheduler().scheduleSyncRepeatingTask(
|
||||
// PixelBlocks.plugin,
|
||||
// pixelBlock::update,
|
||||
// 100L,
|
||||
// 100L
|
||||
// );
|
||||
} else {
|
||||
event.getPlayer().sendMessage("Dieser Block gehört nicht dir!");
|
||||
}
|
||||
@@ -79,7 +79,7 @@ public class PlayerInteractListener implements Listener {
|
||||
.orElseThrow();
|
||||
UUID blockOwner = pixelBlock.owner;
|
||||
|
||||
if(playerUID == blockOwner) {
|
||||
if(playerUID.equals(blockOwner)) {
|
||||
Bukkit.getScheduler().runTask(PixelBlocks.plugin, pixelBlock::remove);
|
||||
} else {
|
||||
event.getPlayer().sendMessage("Dieser Block gehört nicht dir!");
|
||||
|
||||
Reference in New Issue
Block a user