Offline inv
build / build (push) Successful in 2m58s

This commit is contained in:
ciomek committed 2026-08-20 20:55:03 +02:00
1 parent 998d598fa3
commit 547afc1b90
1 file changed
+24 -10
@@ -1,9 +1,11 @@
package ciomek.loon.mqtt.request;
import ciomek.loon.mqtt.MQTTClient;
import ciomek.loon.mqtt.payload.data.ItemStackData;
import ciomek.loon.mqtt.payload.data.PlayerIdentity;
import ciomek.loon.mqtt.payload.player.inventory.PlayerInventoryPayload;
import com.mojang.nbt.tags.CompoundTag;
import net.minecraft.core.item.ItemStack;
import net.minecraft.core.player.inventory.container.ContainerInventory;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.entity.player.PlayerServer;
@@ -18,18 +20,30 @@ public record InventoryRequest(UUID playerUuid) implements IRequest {
.findFirst()
.orElse(null);
if (player == null) {
if (player != null) {
PlayerInventoryPayload payload = new PlayerInventoryPayload(
new PlayerIdentity(player.uuid, player.username),
Arrays.stream(player.inventory.mainInventory).map(ItemStackData::from).toList(),
Arrays.stream(player.inventory.armorInventory).map(ItemStackData::from).toList()
);
payload.send();
return;
}
PlayerInventoryPayload payload = new PlayerInventoryPayload(
new PlayerIdentity(player.uuid, player.username),
Arrays.stream(player.inventory.mainInventory)
.map(ItemStackData::from)
.toList(),
Arrays.stream(player.inventory.armorInventory)
.map(ItemStackData::from)
.toList()
CompoundTag data = server.getDimensionWorld(0).getLevelStorage().getPlayerData(null, playerUuid);
if (data == null) {
return;
}
ContainerInventory inventory = new ContainerInventory(null);
inventory.load(data.getList("Inventory"));
String username = data.containsKey("Nickname") ? data.getString("Nickname") : "";
PlayerInventoryPayload payload = new PlayerInventoryPayload(
new PlayerIdentity(playerUuid, username),
Arrays.stream(inventory.mainInventory).map(ItemStackData::from).toList(),
Arrays.stream(inventory.armorInventory).map(ItemStackData::from).toList()
);
payload.send();