Fixed never getting users from the database (I don't think we're adding them yet but that's for another time :)))) (im gonna forget and be confused for sure)
This commit is contained in:
parent
3ccd198b9e
commit
c780054f24
|
|
@ -4,6 +4,7 @@ import com.alttd.GUI.GUIMerchant;
|
||||||
import com.alttd.VillagerUI;
|
import com.alttd.VillagerUI;
|
||||||
import com.alttd.config.Config;
|
import com.alttd.config.Config;
|
||||||
import com.alttd.config.WorthConfig;
|
import com.alttd.config.WorthConfig;
|
||||||
|
import com.alttd.database.Queries;
|
||||||
import com.alttd.events.SpawnShopEvent;
|
import com.alttd.events.SpawnShopEvent;
|
||||||
import com.alttd.objects.EconUser;
|
import com.alttd.objects.EconUser;
|
||||||
import com.alttd.objects.Price;
|
import com.alttd.objects.Price;
|
||||||
|
|
@ -17,6 +18,9 @@ import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public class BuyGUI extends GUIMerchant {
|
public class BuyGUI extends GUIMerchant {
|
||||||
|
|
||||||
private static final MiniMessage miniMessage = MiniMessage.get();
|
private static final MiniMessage miniMessage = MiniMessage.get();
|
||||||
|
|
@ -41,8 +45,8 @@ public class BuyGUI extends GUIMerchant {
|
||||||
Economy econ = VillagerUI.getInstance().getEconomy();
|
Economy econ = VillagerUI.getInstance().getEconomy();
|
||||||
double balance = econ.getBalance(player);
|
double balance = econ.getBalance(player);
|
||||||
int trans_pts = (int) (Math.floor(price.getPrice(amount)/ WorthConfig.POINT_MOD) * amount);
|
int trans_pts = (int) (Math.floor(price.getPrice(amount)/ WorthConfig.POINT_MOD) * amount);
|
||||||
EconUser econUser = EconUser.users.get(player.getUniqueId());
|
EconUser econUser = EconUser.getUser(player.getUniqueId());
|
||||||
int oldPoints = econUser.getPointsMap().get(villagerType.getName());
|
int oldPoints = Objects.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName()), 0);
|
||||||
double cost = price.calculatePriceThing(oldPoints, trans_pts);
|
double cost = price.calculatePriceThing(oldPoints, trans_pts);
|
||||||
|
|
||||||
if (balance < cost) {
|
if (balance < cost) {
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ public class SellGUI extends GUIMerchant {
|
||||||
|
|
||||||
private void sell(VillagerType villagerType, Player player, Material material, int amount, Price price) {
|
private void sell(VillagerType villagerType, Player player, Material material, int amount, Price price) {
|
||||||
Economy econ = VillagerUI.getInstance().getEconomy();
|
Economy econ = VillagerUI.getInstance().getEconomy();
|
||||||
EconUser econUser = EconUser.users.get(player.getUniqueId());
|
EconUser econUser = EconUser.getUser(player.getUniqueId());
|
||||||
int oldPoints = econUser.getPointsMap().get(villagerType.getName());
|
int oldPoints = econUser.getPointsMap().get(villagerType.getName());
|
||||||
int trans_pts = (int) (Math.floor(price.getPrice(amount)/ WorthConfig.POINT_MOD) * amount);
|
int trans_pts = (int) (Math.floor(price.getPrice(amount)/ WorthConfig.POINT_MOD) * amount);
|
||||||
double cost = price.calculatePriceThing(oldPoints, trans_pts);
|
double cost = price.calculatePriceThing(oldPoints, trans_pts);
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.alttd;
|
||||||
|
|
||||||
import com.alttd.GUI.GUIListener;
|
import com.alttd.GUI.GUIListener;
|
||||||
import com.alttd.commands.CommandManager;
|
import com.alttd.commands.CommandManager;
|
||||||
import com.alttd.commands.database.Database;
|
import com.alttd.database.Database;
|
||||||
import com.alttd.config.Config;
|
import com.alttd.config.Config;
|
||||||
import com.alttd.config.VillagerConfig;
|
import com.alttd.config.VillagerConfig;
|
||||||
import com.alttd.config.WorthConfig;
|
import com.alttd.config.WorthConfig;
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ public class Queries {
|
||||||
* @return success
|
* @return success
|
||||||
*/
|
*/
|
||||||
public static boolean createUserPointsEntry(UUID uuid, String villagerType, int points) {
|
public static boolean createUserPointsEntry(UUID uuid, String villagerType, int points) {
|
||||||
String sql = "INSERT INTO Points " +
|
String sql = "INSERT INTO user_points " +
|
||||||
"(uuid, villager_type, points) " +
|
"(uuid, villager_type, points) " +
|
||||||
"(?, ?, ?)";
|
"(?, ?, ?)";
|
||||||
|
|
||||||
|
|
@ -101,7 +101,7 @@ public class Queries {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static EconUser getEconUser(UUID uuid) {
|
public static EconUser getEconUser(UUID uuid) {
|
||||||
String sql = "SELECT * FROM POINTS WHERE uuid = ?";
|
String sql = "SELECT * FROM user_points WHERE uuid = ?";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
PreparedStatement preparedStatement = Database.connection.prepareStatement(sql);
|
PreparedStatement preparedStatement = Database.connection.prepareStatement(sql);
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.alttd.objects;
|
package com.alttd.objects;
|
||||||
|
|
||||||
import com.alttd.VillagerUI;
|
import com.alttd.VillagerUI;
|
||||||
import com.alttd.commands.database.Queries;
|
import com.alttd.database.Queries;
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;
|
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
|
@ -9,7 +9,7 @@ import java.util.UUID;
|
||||||
|
|
||||||
public class EconUser {
|
public class EconUser {
|
||||||
|
|
||||||
public static Object2ObjectArrayMap<UUID, EconUser> users = new Object2ObjectArrayMap<>();
|
private final static Object2ObjectArrayMap<UUID, EconUser> users = new Object2ObjectArrayMap<>();
|
||||||
|
|
||||||
private final UUID uuid;
|
private final UUID uuid;
|
||||||
private final Object2ObjectArrayMap<String, Integer> pointsMap;
|
private final Object2ObjectArrayMap<String, Integer> pointsMap;
|
||||||
|
|
@ -40,4 +40,9 @@ public class EconUser {
|
||||||
}
|
}
|
||||||
}.runTaskAsynchronously(VillagerUI.getInstance());
|
}.runTaskAsynchronously(VillagerUI.getInstance());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static EconUser getUser(UUID uuid) {
|
||||||
|
EconUser user = users.get(uuid);
|
||||||
|
return (user == null ? Queries.getEconUser(uuid) : user);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user