1 parent
998d598fa3
commit
547afc1b90
1 file changed
+24
-10
@@ -1,9 +1,11 @@
|
|||||||
package ciomek.loon.mqtt.request;
|
package ciomek.loon.mqtt.request;
|
||||||
|
|
||||||
import ciomek.loon.mqtt.MQTTClient;
|
|
||||||
import ciomek.loon.mqtt.payload.data.ItemStackData;
|
import ciomek.loon.mqtt.payload.data.ItemStackData;
|
||||||
import ciomek.loon.mqtt.payload.data.PlayerIdentity;
|
import ciomek.loon.mqtt.payload.data.PlayerIdentity;
|
||||||
import ciomek.loon.mqtt.payload.player.inventory.PlayerInventoryPayload;
|
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.MinecraftServer;
|
||||||
import net.minecraft.server.entity.player.PlayerServer;
|
import net.minecraft.server.entity.player.PlayerServer;
|
||||||
|
|
||||||
@@ -18,18 +20,30 @@ public record InventoryRequest(UUID playerUuid) implements IRequest {
|
|||||||
.findFirst()
|
.findFirst()
|
||||||
.orElse(null);
|
.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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerInventoryPayload payload = new PlayerInventoryPayload(
|
CompoundTag data = server.getDimensionWorld(0).getLevelStorage().getPlayerData(null, playerUuid);
|
||||||
new PlayerIdentity(player.uuid, player.username),
|
if (data == null) {
|
||||||
Arrays.stream(player.inventory.mainInventory)
|
return;
|
||||||
.map(ItemStackData::from)
|
}
|
||||||
.toList(),
|
|
||||||
Arrays.stream(player.inventory.armorInventory)
|
ContainerInventory inventory = new ContainerInventory(null);
|
||||||
.map(ItemStackData::from)
|
inventory.load(data.getList("Inventory"));
|
||||||
.toList()
|
|
||||||
|
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();
|
payload.send();
|
||||||
|
|||||||
Reference in new issue
Block a user