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();
|
||||
|
||||
Reference in new issue
Block a user