Started work on using data-lock for database queries

This commit is contained in:
Stijn committed 2022-05-11 22:01:22 +02:00
1 parent 82fbe5370c
commit bd8c6f414c
8 files changed
+96 -16

No files matched your search

@@ -17,6 +17,7 @@ public class LoginEvent implements Listener {
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
final Player player = event.getPlayer();
//TODO lock user
new BukkitRunnable() {
@Override
public void run() {
@@ -0,0 +1,22 @@
package com.alttd.events;
import com.alttd.util.Logger;
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteStreams;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PluginMessageListener implements org.bukkit.plugin.messaging.PluginMessageListener {
@Override
public void onPluginMessageReceived(@NotNull String channel, @NotNull Player player, @NotNull byte[] bytes) {
if (!channel.equals("VillagerUI:player-data")) {
Logger.warning("Received plugin message on invalid channel");
return;
}
ByteArrayDataInput in = ByteStreams.newDataInput(bytes);
switch (in.readUTF()) {
}
}
}
@@ -7,7 +7,10 @@ import com.alttd.config.VillagerConfig;
import com.alttd.objects.EconUser;
import com.alttd.objects.LoadedVillagers;
import com.alttd.objects.VillagerType;
import com.alttd.util.Utilities;
import jdk.jshell.execution.Util;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.entity.Villager;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -31,19 +34,25 @@ public class VillagerEvents implements Listener {
if (loadedVillager == null)
return;
Player player = event.getPlayer();
event.setCancelled(true);
if (!event.getPlayer().hasPermission(loadedVillager.getPermission())) {
event.getPlayer().sendMiniMessage(Config.NO_PERMISSION, null); //TODO more specific message?
if (!player.hasPermission(loadedVillager.getPermission())) {
player.sendMiniMessage(Config.NO_PERMISSION, null); //TODO more specific message?
return;
}
EconUser user = EconUser.getUser(player.getUniqueId());
if (user == null) {
Utilities.econSyncingMessage(player);
return;
}
new BukkitRunnable() {
@Override
public void run() {
OpenGUI openGUI = new OpenGUI(loadedVillager, EconUser.getUser(event.getPlayer().getUniqueId()));
OpenGUI openGUI = new OpenGUI(loadedVillager, user);
new BukkitRunnable() {
@Override
public void run() {
openGUI.open(event.getPlayer());
openGUI.open(player);
}
}.runTask(VillagerUI.getInstance());
}