Skip to content

Commit a3ee9b1

Browse files
committed
correctly send player location & disconnect
1 parent c666f67 commit a3ee9b1

File tree

3 files changed

+24
-12
lines changed

3 files changed

+24
-12
lines changed

simulator/bun.lockb

0 Bytes
Binary file not shown.

src/main/kotlin/com/possible_triangle/atheneum_connector/AtheneumConnector.kt

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package com.possible_triangle.atheneum_connector
22

3+
import com.possible_triangle.atheneum.createContextualJson
34
import com.possible_triangle.atheneum.messages.ServerStatus
45
import com.possible_triangle.atheneum.messages.ServerStatusMessage
5-
import com.possible_triangle.atheneum.createContextualJson
66
import com.possible_triangle.atheneum_connector.network.Network
7-
import kotlinx.serialization.json.Json
8-
import kotlinx.serialization.json.JsonBuilder
97
import net.minecraftforge.event.server.ServerStartedEvent
108
import net.minecraftforge.event.server.ServerStoppingEvent
119
import net.minecraftforge.eventbus.api.SubscribeEvent
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
package com.possible_triangle.atheneum_connector.events
22

3-
import com.possible_triangle.atheneum_connector.LocationCache
4-
import com.possible_triangle.atheneum_connector.RabbitMQ
3+
import com.possible_triangle.atheneum.messages.PlayerDisconnectMessage
54
import com.possible_triangle.atheneum.messages.PlayerMoveMessage
65
import com.possible_triangle.atheneum.models.Point
6+
import com.possible_triangle.atheneum_connector.LocationCache
7+
import com.possible_triangle.atheneum_connector.RabbitMQ
78
import com.possible_triangle.atheneum_connector.network.DisplayTitlePaket
89
import com.possible_triangle.atheneum_connector.network.Network
910
import com.possible_triangle.atheneum_connector.publish
1011
import net.minecraft.network.chat.Component
1112
import net.minecraft.server.level.ServerPlayer
1213
import net.minecraftforge.api.distmarker.Dist
1314
import net.minecraftforge.event.TickEvent.PlayerTickEvent
15+
import net.minecraftforge.event.entity.player.PlayerEvent.PlayerLoggedOutEvent
1416
import net.minecraftforge.eventbus.api.SubscribeEvent
1517
import net.minecraftforge.fml.common.Mod.EventBusSubscriber
1618

@@ -24,13 +26,17 @@ object PlayerEvents {
2426

2527
if (level.gameTime % 20 != 0L) return
2628

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+
)
3238
)
33-
))
39+
)
3440

3541
val location = LocationCache.containing(level.dimension(), player.onPos) ?: return
3642

@@ -39,8 +45,16 @@ object PlayerEvents {
3945
}
4046

4147
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+
)
4352
}
4453
}
4554

55+
@SubscribeEvent
56+
fun onPlayerDisconnect(event: PlayerLoggedOutEvent) {
57+
RabbitMQ.publish(PlayerDisconnectMessage(event.entity.uuid))
58+
}
59+
4660
}

0 commit comments

Comments
 (0)