parent
d7134f48bc
commit
5f28885b1a
7 changed files with 94 additions and 33 deletions
@ -1,18 +1,41 @@ |
|||||||
package xyz.soukup.mineconomiaCoreV2.database; |
package xyz.soukup.mineconomiaCoreV2.database; |
||||||
|
|
||||||
|
import jakarta.persistence.TypedQuery; |
||||||
import jakarta.persistence.criteria.CriteriaBuilder; |
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 xyz.soukup.mineconomiaCoreV2.variables.PlayerData; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
|
||||||
public class PlayerDataDatabase { |
public class PlayerDataDatabase { |
||||||
|
|
||||||
public static void savePlayerDataToDatabase(PlayerData playerData){ |
public static void saveToDatabase(PlayerData playerData){ |
||||||
HibernateUtil.saveToDatabase(playerData); |
HibernateUtil.saveToDatabase(playerData); |
||||||
} |
} |
||||||
|
|
||||||
public static PlayerData getPlayerDataFromDatabase(String nickname){ |
public static PlayerData getFromDatabase(String nickname){ |
||||||
CriteriaBuilder criteriaBuilder = HibernateUtil.newSession().getCriteriaBuilder(); |
|
||||||
|
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 null; |
||||||
} |
} |
||||||
|
|
||||||
|
return results.getFirst(); |
||||||
|
} |
||||||
|
|
||||||
} |
} |
||||||
|
|||||||
@ -1,5 +1,29 @@ |
|||||||
package xyz.soukup.mineconomiaCoreV2.database; |
package xyz.soukup.mineconomiaCoreV2.database; |
||||||
|
|
||||||
public class PlayerInit { |
import org.bukkit.entity.Player; |
||||||
public static void onJoin(){} |
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 |
version: 1.0 |
||||||
language: "czech.yml" |
language: "czech.yml" |
||||||
database: |
database: |
||||||
host: localhost |
host: uceni.soukup.xyz |
||||||
port: 3306 |
port: 3306 |
||||||
user: mcore |
user: mcore |
||||||
password: mcore |
password: mcore |
||||||
|
|||||||
Loading…
Reference in new issue