parent
d7134f48bc
commit
5f28885b1a
7 changed files with 94 additions and 33 deletions
@ -1,18 +1,41 @@ |
||||
package xyz.soukup.mineconomiaCoreV2.database; |
||||
|
||||
import jakarta.persistence.TypedQuery; |
||||
import jakarta.persistence.criteria.CriteriaBuilder; |
||||
import jakarta.persistence.criteria.CriteriaQuery; |
||||
import jakarta.persistence.criteria.Predicate; |
||||
import jakarta.persistence.criteria.Root; |
||||
import org.hibernate.Session; |
||||
import xyz.soukup.mineconomiaCoreV2.variables.PlayerData; |
||||
|
||||
import java.util.List; |
||||
|
||||
|
||||
public class PlayerDataDatabase { |
||||
|
||||
public static void savePlayerDataToDatabase(PlayerData playerData){ |
||||
public static void saveToDatabase(PlayerData playerData){ |
||||
HibernateUtil.saveToDatabase(playerData); |
||||
} |
||||
|
||||
public static PlayerData getPlayerDataFromDatabase(String nickname){ |
||||
CriteriaBuilder criteriaBuilder = HibernateUtil.newSession().getCriteriaBuilder(); |
||||
return null; |
||||
public static PlayerData getFromDatabase(String nickname){ |
||||
|
||||
Session session = HibernateUtil.newSession(); |
||||
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder(); |
||||
CriteriaQuery<PlayerData> criteriaQuery = criteriaBuilder.createQuery(PlayerData.class); |
||||
Root<PlayerData> root = criteriaQuery.from(PlayerData.class); |
||||
Predicate predicate = criteriaBuilder.equal(root.get("PlayerData"), nickname); |
||||
|
||||
criteriaQuery.where(predicate); |
||||
TypedQuery<PlayerData> query = session.createQuery(criteriaQuery); |
||||
List<PlayerData> results = query.getResultList(); |
||||
|
||||
session.close(); |
||||
|
||||
if (results.isEmpty()){ |
||||
return null; |
||||
} |
||||
|
||||
return results.getFirst(); |
||||
} |
||||
|
||||
} |
||||
|
||||
@ -1,5 +1,29 @@ |
||||
package xyz.soukup.mineconomiaCoreV2.database; |
||||
|
||||
public class PlayerInit { |
||||
public static void onJoin(){} |
||||
import org.bukkit.entity.Player; |
||||
import org.bukkit.event.EventHandler; |
||||
import org.bukkit.event.Listener; |
||||
import org.bukkit.event.player.PlayerJoinEvent; |
||||
import xyz.soukup.mineconomiaCoreV2.variables.PlayerData; |
||||
|
||||
import static xyz.soukup.mineconomiaCoreV2.MineconomiaCoreV2.PlayersData; |
||||
|
||||
public class PlayerInit implements Listener { |
||||
|
||||
@EventHandler |
||||
public static void onJoin(PlayerJoinEvent event){ |
||||
Player player = event.getPlayer(); |
||||
String name = player.getDisplayName(); |
||||
|
||||
PlayerData playerData = PlayerDataDatabase.getFromDatabase(name); |
||||
|
||||
if (playerData == null){ |
||||
playerData = PlayerData.generateFromPlayer(player); |
||||
|
||||
PlayerDataDatabase.saveToDatabase(playerData); |
||||
} |
||||
|
||||
PlayersData.put(player, playerData); |
||||
|
||||
} |
||||
} |
||||
|
||||
@ -1,7 +1,7 @@ |
||||
version: 1.0 |
||||
language: "czech.yml" |
||||
database: |
||||
host: localhost |
||||
host: uceni.soukup.xyz |
||||
port: 3306 |
||||
user: mcore |
||||
password: mcore |
||||
|
||||
Loading…
Reference in new issue