RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.game.service.HighscoreService Class Reference

Static Public Member Functions

static void saveHighscores (Player player)

Private Member Functions

 HighscoreService ()

Static Private Member Functions

static String generateQuery ()
static int getRank (PlayerRight right)

Static Private Attributes

static final String CONNECTION_STRING = "jdbc:mysql://45.88.231.118:3306/hiscores"
static final Logger logger = LogManager.getLogger(HighscoreService.class)
static final String PASSWORD = "bQ9R#UnPsW5^HLiU9$4LcJvE4%ZwJWLz"
static final String USERNAME = "root"

Detailed Description

Definition at line 16 of file HighscoreService.java.

Constructor & Destructor Documentation

◆ HighscoreService()

com.runehive.game.service.HighscoreService.HighscoreService ( )
private

Definition at line 135 of file HighscoreService.java.

135 {
136
137 }

Member Function Documentation

◆ generateQuery()

String com.runehive.game.service.HighscoreService.generateQuery ( )
staticprivate

Definition at line 69 of file HighscoreService.java.

69 {
70 StringBuilder sb = new StringBuilder();
71 sb.append("INSERT INTO hs_users (");
72 sb.append("id, ");
73 sb.append("username, ");
74 sb.append("rights, ");
75 sb.append("mode, ");
76 sb.append("total_prestiges, ");
77 sb.append("attack_prestiges, ");
78 sb.append("defence_prestiges, ");
79 sb.append("strength_prestiges, ");
80 sb.append("hitpoints_prestiges, ");
81 sb.append("ranged_prestiges, ");
82 sb.append("prayer_prestiges, ");
83 sb.append("magic_prestiges, ");
84 sb.append("cooking_prestiges, ");
85 sb.append("woodcutting_prestiges, ");
86 sb.append("fletching_prestiges, ");
87 sb.append("fishing_prestiges, ");
88 sb.append("firemaking_prestiges, ");
89 sb.append("crafting_prestiges, ");
90 sb.append("smithing_prestiges, ");
91 sb.append("mining_prestiges, ");
92 sb.append("herblore_prestiges, ");
93 sb.append("agility_prestiges, ");
94 sb.append("thieving_prestiges, ");
95 sb.append("slayer_prestiges, ");
96 sb.append("farming_prestiges, ");
97 sb.append("runecrafting_prestiges, ");
98 sb.append("hunter_prestiges, ");
99 sb.append("construction_prestiges,");
100 sb.append("total_level, ");
101 sb.append("overall_xp, ");
102 sb.append("attack_xp, ");
103 sb.append("defence_xp, ");
104 sb.append("strength_xp, ");
105 sb.append("hitpoints_xp, ");
106 sb.append("ranged_xp, ");
107 sb.append("prayer_xp, ");
108 sb.append("magic_xp, ");
109 sb.append("cooking_xp, ");
110 sb.append("woodcutting_xp, ");
111 sb.append("fletching_xp, ");
112 sb.append("fishing_xp, ");
113 sb.append("firemaking_xp, ");
114 sb.append("crafting_xp, ");
115 sb.append("smithing_xp, ");
116 sb.append("mining_xp, ");
117 sb.append("herblore_xp, ");
118 sb.append("agility_xp, ");
119 sb.append("thieving_xp, ");
120 sb.append("slayer_xp, ");
121 sb.append("farming_xp, ");
122 sb.append("runecrafting_xp, ");
123 sb.append("hunter_xp, ");
124 sb.append("construction_xp)");
125 sb.append("VALUES (" +
126 "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " +
127 "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " +
128 "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " +
129 "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " +
130 "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " +
131 "?, ?, ?)");
132 return sb.toString();
133 }

Referenced by saveHighscores().

Here is the caller graph for this function:

◆ getRank()

int com.runehive.game.service.HighscoreService.getRank ( PlayerRight right)
staticprivate

Definition at line 59 of file HighscoreService.java.

59 {
60 if (right == PlayerRight.ULTIMATE_IRONMAN)
61 return 3;
62 if (right == PlayerRight.HARDCORE_IRONMAN)
63 return 2;
64 if (right == PlayerRight.IRONMAN)
65 return 1;
66 return 0;
67 }

References com.runehive.game.world.entity.mob.player.PlayerRight.HARDCORE_IRONMAN, com.runehive.game.world.entity.mob.player.PlayerRight.IRONMAN, and com.runehive.game.world.entity.mob.player.PlayerRight.ULTIMATE_IRONMAN.

Referenced by saveHighscores().

Here is the caller graph for this function:

◆ saveHighscores()

void com.runehive.game.service.HighscoreService.saveHighscores ( Player player)
static

Definition at line 24 of file HighscoreService.java.

24 {
25 if (player == null || Config.WORLD_TYPE != WorldType.LIVE || PlayerRight.isAdministrator(player)) {
26 return;
27 }
28
29 try (Connection connection = DriverManager.getConnection(CONNECTION_STRING, USERNAME, PASSWORD);
30 PreparedStatement dsta = connection.prepareStatement("DELETE FROM hs_users WHERE id = ?");
31 PreparedStatement ista = connection.prepareStatement(generateQuery())) {
32
33 dsta.setInt(1, player.getMemberId());
34 dsta.execute();
35
36 ista.setInt(1, player.getMemberId());
37 ista.setString(2, player.getName());
38 ista.setInt(3, getRank(player.right));
39 ista.setInt(4, getRank(player.right));
40 ista.setInt(5, player.prestige.totalPrestige);
41
42 for (int x = 0; x < Skill.SKILL_COUNT; x++) {
43 ista.setInt(6 + x, player.prestige.prestige[x]);
44 }
45
46 ista.setInt(29, player.skills.getTotalLevel());
47 ista.setLong(30, player.skills.getTotalXp());
48
49 for (int i = 0; i < Skill.SKILL_COUNT; i++) {
50 ista.setInt(31 + i, player.skills.get(i).getRoundedExperience());
51 }
52
53 ista.execute();
54 } catch (SQLException ex) {
55 logger.error(String.format("Failed to save highscores for player=%s", player.getName()), ex);
56 }
57 }

References CONNECTION_STRING, generateQuery(), com.runehive.game.world.entity.skill.SkillManager.get(), com.runehive.game.world.entity.mob.player.Player.getMemberId(), com.runehive.game.world.entity.mob.player.Player.getName(), getRank(), com.runehive.game.world.entity.skill.Skill.getRoundedExperience(), com.runehive.game.world.entity.skill.SkillManager.getTotalLevel(), com.runehive.game.world.entity.skill.SkillManager.getTotalXp(), com.runehive.game.world.entity.mob.player.PlayerRight.isAdministrator(), com.runehive.game.world.WorldType.LIVE, logger, PASSWORD, com.runehive.content.prestige.Prestige.prestige, com.runehive.game.world.entity.mob.player.Player.prestige, com.runehive.game.world.entity.mob.player.Player.right, com.runehive.game.world.entity.skill.Skill.SKILL_COUNT, com.runehive.game.world.entity.mob.Mob.skills, com.runehive.content.prestige.Prestige.totalPrestige, USERNAME, and com.runehive.Config.WORLD_TYPE.

Referenced by com.runehive.game.world.entity.mob.player.persist.PlayerPersistDB.save().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ CONNECTION_STRING

final String com.runehive.game.service.HighscoreService.CONNECTION_STRING = "jdbc:mysql://45.88.231.118:3306/hiscores"
staticprivate

Definition at line 20 of file HighscoreService.java.

Referenced by saveHighscores().

◆ logger

final Logger com.runehive.game.service.HighscoreService.logger = LogManager.getLogger(HighscoreService.class)
staticprivate

Definition at line 18 of file HighscoreService.java.

Referenced by saveHighscores().

◆ PASSWORD

final String com.runehive.game.service.HighscoreService.PASSWORD = "bQ9R#UnPsW5^HLiU9$4LcJvE4%ZwJWLz"
staticprivate

Definition at line 22 of file HighscoreService.java.

Referenced by saveHighscores().

◆ USERNAME

final String com.runehive.game.service.HighscoreService.USERNAME = "root"
staticprivate

Definition at line 21 of file HighscoreService.java.

Referenced by saveHighscores().


The documentation for this class was generated from the following file: