1
1
package com.possible_triangle.atheneum_connector.events
2
2
3
- import com.possible_triangle.atheneum_connector.LocationCache
4
- import com.possible_triangle.atheneum_connector.RabbitMQ
3
+ import com.possible_triangle.atheneum.messages.PlayerDisconnectMessage
5
4
import com.possible_triangle.atheneum.messages.PlayerMoveMessage
6
5
import com.possible_triangle.atheneum.models.Point
6
+ import com.possible_triangle.atheneum_connector.LocationCache
7
+ import com.possible_triangle.atheneum_connector.RabbitMQ
7
8
import com.possible_triangle.atheneum_connector.network.DisplayTitlePaket
8
9
import com.possible_triangle.atheneum_connector.network.Network
9
10
import com.possible_triangle.atheneum_connector.publish
10
11
import net.minecraft.network.chat.Component
11
12
import net.minecraft.server.level.ServerPlayer
12
13
import net.minecraftforge.api.distmarker.Dist
13
14
import net.minecraftforge.event.TickEvent.PlayerTickEvent
15
+ import net.minecraftforge.event.entity.player.PlayerEvent.PlayerLoggedOutEvent
14
16
import net.minecraftforge.eventbus.api.SubscribeEvent
15
17
import net.minecraftforge.fml.common.Mod.EventBusSubscriber
16
18
@@ -24,13 +26,17 @@ object PlayerEvents {
24
26
25
27
if (level.gameTime % 20 != 0L ) return
26
28
27
- RabbitMQ .publish(PlayerMoveMessage (
28
- player.uuid,
29
- Point (
30
- player.level().dimension().location().path,
31
- player.blockX, player.blockY, player.blockZ,
29
+ RabbitMQ .publish(
30
+ PlayerMoveMessage (
31
+ player.uuid,
32
+ Point (
33
+ world = player.level().dimension().location().path,
34
+ x = player.blockX,
35
+ y = player.blockY,
36
+ z = player.blockZ,
37
+ )
32
38
)
33
- ))
39
+ )
34
40
35
41
val location = LocationCache .containing(level.dimension(), player.onPos) ? : return
36
42
@@ -39,8 +45,16 @@ object PlayerEvents {
39
45
}
40
46
41
47
location.ifRight {
42
- Network .sendTo(player, DisplayTitlePaket (Component .literal(" You are close to ${it.name} " ), " place-${it.id} " ))
48
+ Network .sendTo(
49
+ player,
50
+ DisplayTitlePaket (Component .literal(" You are close to ${it.name} " ), " place-${it.id} " )
51
+ )
43
52
}
44
53
}
45
54
55
+ @SubscribeEvent
56
+ fun onPlayerDisconnect (event : PlayerLoggedOutEvent ) {
57
+ RabbitMQ .publish(PlayerDisconnectMessage (event.entity.uuid))
58
+ }
59
+
46
60
}
0 commit comments