diff options
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/features')
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/VirtualInventory.kt | 3 | ||||
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/VirtualInventory.kt b/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/VirtualInventory.kt index 3c7bedd..102b197 100644 --- a/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/VirtualInventory.kt +++ b/src/main/kotlin/moe/nea/firmament/features/inventory/storageoverlay/VirtualInventory.kt @@ -21,6 +21,7 @@ import net.minecraft.nbt.NbtIo import net.minecraft.nbt.NbtList import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream +import net.minecraft.nbt.NbtSizeTracker @Serializable(with = VirtualInventory.Serializer::class) data class VirtualInventory( @@ -41,7 +42,7 @@ data class VirtualInventory( override fun deserialize(decoder: Decoder): VirtualInventory { val s = decoder.decodeString() - val n = NbtIo.readCompressed(ByteArrayInputStream(s.decodeBase64Bytes())) + val n = NbtIo.readCompressed(ByteArrayInputStream(s.decodeBase64Bytes()), NbtSizeTracker.of(100_000_000)) val items = n.getList(INVENTORY, NbtCompound.COMPOUND_TYPE.toInt()) return VirtualInventory(items.map { ItemStack.fromNbt(it as NbtCompound) }) } diff --git a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt b/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt index 66c0987..11b0a06 100644 --- a/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt +++ b/src/main/kotlin/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt @@ -20,6 +20,7 @@ import moe.nea.firmament.events.TickEvent import moe.nea.firmament.features.FirmamentFeature import moe.nea.firmament.gui.config.ManagedConfig import moe.nea.firmament.util.IdentityCharacteristics +import moe.nea.firmament.util.MC import moe.nea.firmament.util.item.decodeProfileTextureProperty import moe.nea.firmament.util.skyBlockId @@ -53,10 +54,9 @@ object CustomSkyBlockTextures : FirmamentFeature { private val skullTextureCache = mutableMapOf<IdentityCharacteristics<GameProfile>, Any>() private val sentinelPresentInvalid = Object() - val mcUrlRegex = "https?://textures.minecraft.net/texture/([a-fA-F0-9]+)".toRegex() + private val mcUrlRegex = "https?://textures.minecraft.net/texture/([a-fA-F0-9]+)".toRegex() fun getSkullId(profile: GameProfile): String? { - val textures = profile.properties.get(PlayerSkinProvider.TEXTURES) - val textureProperty = textures.singleOrNull() ?: return null + val textureProperty = MC.instance.sessionService.getPackedTextures(profile) ?: return null val texture = decodeProfileTextureProperty(textureProperty) ?: return null val textureUrl = texture.textures[MinecraftProfileTexture.Type.SKIN]?.url ?: return null |