started with database

This commit is contained in:
2024-07-12 19:00:56 +02:00
parent 992cea92ef
commit 216258955d
6 changed files with 169 additions and 61 deletions

View File

@@ -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();
}
}
}
}

View File

@@ -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!");