Skip to content

Commit 94a3eb9

Browse files
committed
feat: save player kill statistics
1 parent 189afe1 commit 94a3eb9

5 files changed

Lines changed: 65 additions & 8 deletions

File tree

src/main/java/org/matrixnetwork/stats2/entity/Account.java

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/main/java/org/matrixnetwork/stats2/entity/MatrixPlayer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ public class MatrixPlayer {
88
String uuid;
99
@Id
1010
@GeneratedValue(strategy = GenerationType.IDENTITY)
11-
private
12-
Long id;
11+
private Long id;
1312
private String username;
1413

1514
@OneToMany(mappedBy = "matrixPlayer", fetch = FetchType.EAGER)
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package org.matrixnetwork.stats2.entity;
2+
3+
import javax.persistence.Entity;
4+
import javax.persistence.GeneratedValue;
5+
import javax.persistence.GenerationType;
6+
import javax.persistence.Id;
7+
8+
@Entity
9+
public class PlayerKill {
10+
@Id
11+
@GeneratedValue(strategy = GenerationType.IDENTITY)
12+
private Long id;
13+
14+
private String killerUUID;
15+
private String killedUUID;
16+
17+
public PlayerKill(String killerUUID, String killedUUID) {
18+
this.killerUUID = killerUUID;
19+
this.killedUUID = killedUUID;
20+
}
21+
22+
public PlayerKill() {
23+
24+
}
25+
26+
public Long getId() {
27+
return id;
28+
}
29+
30+
public void setId(Long id) {
31+
this.id = id;
32+
}
33+
34+
public String getKillerUUID() {
35+
return killerUUID;
36+
}
37+
38+
public void setKillerUUID(String killerUUID) {
39+
this.killerUUID = killerUUID;
40+
}
41+
42+
public String getKilledUUID() {
43+
return killedUUID;
44+
}
45+
46+
public void setKilledUUID(String killedUUID) {
47+
this.killedUUID = killedUUID;
48+
}
49+
}

src/main/java/org/matrixnetwork/stats2/listener/StatsListener.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
import org.bukkit.entity.Player;
44
import org.bukkit.event.EventHandler;
55
import org.bukkit.event.Listener;
6+
import org.bukkit.event.entity.PlayerDeathEvent;
67
import org.bukkit.event.player.PlayerJoinEvent;
78
import org.hibernate.Session;
89
import org.hibernate.Transaction;
910
import org.matrixnetwork.stats2.entity.MatrixPlayer;
11+
import org.matrixnetwork.stats2.entity.PlayerKill;
1012
import org.matrixnetwork.stats2.manager.DataManager;
1113

1214
public class StatsListener implements Listener {
@@ -23,4 +25,15 @@ public void onJoin(PlayerJoinEvent event) {
2325
t.commit();
2426
}
2527
}
28+
29+
@EventHandler
30+
public void onPlayerDeath(PlayerDeathEvent event) {
31+
if(event.getEntity().getKiller() != null) {
32+
Session s = DataManager.getInstance().getSession();
33+
Transaction t = s.beginTransaction();
34+
s.merge(new PlayerKill(event.getPlayer().getKiller().getUniqueId().toString(),
35+
event.getPlayer().getUniqueId().toString()));
36+
t.commit();
37+
}
38+
}
2639
}

src/main/java/org/matrixnetwork/stats2/manager/DataManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.hibernate.cfg.Environment;
88
import org.hibernate.service.ServiceRegistry;
99
import org.matrixnetwork.stats2.entity.MatrixPlayer;
10+
import org.matrixnetwork.stats2.entity.PlayerKill;
1011
import org.matrixnetwork.stats2.entity.PlayerStats;
1112

1213
import javax.persistence.criteria.CriteriaBuilder;
@@ -42,6 +43,7 @@ private DataManager() {
4243

4344
configuration.addAnnotatedClass(MatrixPlayer.class);
4445
configuration.addAnnotatedClass(PlayerStats.class);
46+
configuration.addAnnotatedClass(PlayerKill.class);
4547

4648
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
4749
.applySettings(configuration.getProperties()).build();

0 commit comments

Comments
 (0)