RuneHive-Game
Loading...
Searching...
No Matches
PickupItemLogEvent.java
Go to the documentation of this file.
1
package
com.runehive.game.event.impl.log;
2
3
import
com.jcabi.jdbc.JdbcSession;
4
import
com.jcabi.jdbc.SingleOutcome;
5
import
com.runehive.game.service.PostgreService;
6
import
com.runehive.game.world.entity.mob.player.Player;
7
import
com.runehive.game.world.items.ground.GroundItem;
8
9
public
class
PickupItemLogEvent
extends
LogEvent
{
10
11
private
final
Player
player
;
12
private
final
GroundItem
groundItem
;
13
14
public
PickupItemLogEvent
(
Player
player
,
GroundItem
groundItem
) {
15
this.player =
player
;
16
this.groundItem =
groundItem
;
17
}
18
19
@Override
20
public
void
onLog
() throws Exception {
21
if
((
groundItem
.item.getValue() *
groundItem
.item.getAmount()) < 250_000) {
22
return
;
23
}
24
25
JdbcSession session =
new
JdbcSession(
PostgreService
.
getConnectionPool
());
26
long
logId = session.autocommit(
false
)
27
.sql(
"INSERT INTO log.log(log_time) VALUES (?::timestamp) RETURNING id"
)
28
.set(
dateTime
)
29
.insert(
new
SingleOutcome<>(Long.class));
30
31
session.sql(
"INSERT INTO log.pickup_item_log(player_id, log_id, item_id, item_amount) VALUES (?, ?, ?, ?)"
)
32
.set(
player
.getMemberId())
33
.set(logId)
34
.set(
groundItem
.item.getId())
35
.set(
groundItem
.item.getAmount())
36
.execute()
37
.commit();
38
}
39
40
}
com.runehive.game.event.impl.log.LogEvent
Definition
LogEvent.java:10
com.runehive.game.event.impl.log.LogEvent.dateTime
final LocalDateTime dateTime
Definition
LogEvent.java:13
com.runehive.game.event.impl.log.PickupItemLogEvent.player
final Player player
Definition
PickupItemLogEvent.java:11
com.runehive.game.event.impl.log.PickupItemLogEvent.onLog
void onLog()
Definition
PickupItemLogEvent.java:20
com.runehive.game.event.impl.log.PickupItemLogEvent.groundItem
final GroundItem groundItem
Definition
PickupItemLogEvent.java:12
com.runehive.game.event.impl.log.PickupItemLogEvent.PickupItemLogEvent
PickupItemLogEvent(Player player, GroundItem groundItem)
Definition
PickupItemLogEvent.java:14
com.runehive.game.service.PostgreService
Definition
PostgreService.java:14
com.runehive.game.service.PostgreService.getConnectionPool
static HikariDataSource getConnectionPool()
Definition
PostgreService.java:35
com.runehive.game.world.entity.mob.player.Player
This class represents a character controlled by a player.
Definition
Player.java:125
com.runehive.game.world.items.ground.GroundItem
Represents a single Ground item on the world map.
Definition
GroundItem.java:28