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.config.Config;
|
||||
import com.alttd.config.WorthConfig;
|
||||
import com.alttd.database.Queries;
|
||||
import com.alttd.events.SpawnShopEvent;
|
||||
import com.alttd.objects.EconUser;
|
||||
import com.alttd.objects.Price;
|
||||
|
|
@ -17,6 +18,9 @@ import org.bukkit.Material;
|
|||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class BuyGUI extends GUIMerchant {
|
||||
|
||||
private static final MiniMessage miniMessage = MiniMessage.get();
|
||||
|
|
@ -41,8 +45,8 @@ public class BuyGUI extends GUIMerchant {
|
|||
Economy econ = VillagerUI.getInstance().getEconomy();
|
||||
double balance = econ.getBalance(player);
|
||||
int trans_pts = (int) (Math.floor(price.getPrice(amount)/ WorthConfig.POINT_MOD) * amount);
|
||||
EconUser econUser = EconUser.users.get(player.getUniqueId());
|
||||
int oldPoints = econUser.getPointsMap().get(villagerType.getName());
|
||||
EconUser econUser = EconUser.getUser(player.getUniqueId());
|
||||
int oldPoints = Objects.requireNonNullElse(econUser.getPointsMap().get(villagerType.getName()), 0);
|
||||
double cost = price.calculatePriceThing(oldPoints, trans_pts);
|
||||
|
||||
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) {
|
||||
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 trans_pts = (int) (Math.floor(price.getPrice(amount)/ WorthConfig.POINT_MOD) * amount);
|
||||
double cost = price.calculatePriceThing(oldPoints, trans_pts);
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.alttd;
|
|||
|
||||
import com.alttd.GUI.GUIListener;
|
||||
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.VillagerConfig;
|
||||
import com.alttd.config.WorthConfig;
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ public class Queries {
|
|||
* @return success
|
||||
*/
|
||||
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) " +
|
||||
"(?, ?, ?)";
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ public class Queries {
|
|||
}
|
||||
|
||||
public static EconUser getEconUser(UUID uuid) {
|
||||
String sql = "SELECT * FROM POINTS WHERE uuid = ?";
|
||||
String sql = "SELECT * FROM user_points WHERE uuid = ?";
|
||||
|
||||
try {
|
||||
PreparedStatement preparedStatement = Database.connection.prepareStatement(sql);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.alttd.objects;
|
||||
|
||||
import com.alttd.VillagerUI;
|
||||
import com.alttd.commands.database.Queries;
|
||||
import com.alttd.database.Queries;
|
||||
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
|
|
@ -9,7 +9,7 @@ import java.util.UUID;
|
|||
|
||||
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 Object2ObjectArrayMap<String, Integer> pointsMap;
|
||||
|
|
@ -40,4 +40,9 @@ public class EconUser {
|
|||
}
|
||||
}.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