Payload may not be larger than 1048576 bytes
This commit is contained in:
parent
6fa598d5fc
commit
289c3642d5
@ -14,11 +14,11 @@ import net.minecraft.nbt.CompoundTag
|
|||||||
import net.minecraft.nbt.NbtAccounter
|
import net.minecraft.nbt.NbtAccounter
|
||||||
import net.minecraft.nbt.NbtIo
|
import net.minecraft.nbt.NbtIo
|
||||||
import net.minecraft.network.FriendlyByteBuf
|
import net.minecraft.network.FriendlyByteBuf
|
||||||
|
import net.minecraft.network.chat.Component
|
||||||
import net.minecraft.world.item.Item
|
import net.minecraft.world.item.Item
|
||||||
import net.minecraft.world.item.ItemStack
|
import net.minecraft.world.item.ItemStack
|
||||||
import net.minecraftforge.registries.ForgeRegistries
|
import net.minecraftforge.registries.ForgeRegistries
|
||||||
import net.minecraftforge.registries.ForgeRegistry
|
import net.minecraftforge.registries.ForgeRegistry
|
||||||
import org.apache.commons.lang3.mutable.MutableInt
|
|
||||||
import java.io.*
|
import java.io.*
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
import java.math.BigInteger
|
import java.math.BigInteger
|
||||||
@ -239,6 +239,14 @@ fun InputStream.readJson(sizeLimit: NbtAccounter = NbtAccounter(1L shl 18 /* 256
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun InputStream.readBinaryComponent(): Component? {
|
||||||
|
return Component.Serializer.fromJson(readJson())
|
||||||
|
}
|
||||||
|
|
||||||
|
fun OutputStream.writeBinaryComponent(component: Component) {
|
||||||
|
writeJson(Component.Serializer.toJsonTree(component))
|
||||||
|
}
|
||||||
|
|
||||||
fun FriendlyByteBuf.readJson(sizeLimit: NbtAccounter = NbtAccounter(1L shl 18)): JsonElement {
|
fun FriendlyByteBuf.readJson(sizeLimit: NbtAccounter = NbtAccounter(1L shl 18)): JsonElement {
|
||||||
return ByteBufInputStream(this).readJson(sizeLimit)
|
return ByteBufInputStream(this).readJson(sizeLimit)
|
||||||
}
|
}
|
||||||
@ -246,3 +254,11 @@ fun FriendlyByteBuf.readJson(sizeLimit: NbtAccounter = NbtAccounter(1L shl 18)):
|
|||||||
fun FriendlyByteBuf.writeJson(value: JsonElement) {
|
fun FriendlyByteBuf.writeJson(value: JsonElement) {
|
||||||
ByteBufOutputStream(this).writeJson(value)
|
ByteBufOutputStream(this).writeJson(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun FriendlyByteBuf.readBinaryComponent(): Component {
|
||||||
|
return Component.Serializer.fromJson(readJson()) ?: throw NullPointerException("Received null component")
|
||||||
|
}
|
||||||
|
|
||||||
|
fun FriendlyByteBuf.writeBinaryComponent(component: Component) {
|
||||||
|
writeJson(Component.Serializer.toJsonTree(component))
|
||||||
|
}
|
||||||
|
@ -77,6 +77,8 @@ import ru.dbotthepony.mc.otm.core.orNull
|
|||||||
import ru.dbotthepony.mc.otm.core.readItemType
|
import ru.dbotthepony.mc.otm.core.readItemType
|
||||||
import ru.dbotthepony.mc.otm.core.registryName
|
import ru.dbotthepony.mc.otm.core.registryName
|
||||||
import ru.dbotthepony.mc.otm.core.stream
|
import ru.dbotthepony.mc.otm.core.stream
|
||||||
|
import ru.dbotthepony.mc.otm.core.util.readBinaryComponent
|
||||||
|
import ru.dbotthepony.mc.otm.core.util.writeBinaryComponent
|
||||||
import ru.dbotthepony.mc.otm.core.writeItemType
|
import ru.dbotthepony.mc.otm.core.writeItemType
|
||||||
import ru.dbotthepony.mc.otm.milliTime
|
import ru.dbotthepony.mc.otm.milliTime
|
||||||
import ru.dbotthepony.mc.otm.network.MatteryPacket
|
import ru.dbotthepony.mc.otm.network.MatteryPacket
|
||||||
@ -1399,7 +1401,7 @@ object MatterManager {
|
|||||||
|
|
||||||
val result = SyncPacket(
|
val result = SyncPacket(
|
||||||
buff.readMap(FriendlyByteBuf::readItemType, FriendlyByteBuf::readMatterValue),
|
buff.readMap(FriendlyByteBuf::readItemType, FriendlyByteBuf::readMatterValue),
|
||||||
buff.readMap(FriendlyByteBuf::readItemType) { self -> self.readCollection(::ArrayList, FriendlyByteBuf::readComponent) }
|
buff.readMap(FriendlyByteBuf::readItemType) { self -> self.readCollection(::ArrayList, FriendlyByteBuf::readBinaryComponent) }
|
||||||
)
|
)
|
||||||
|
|
||||||
LOGGER.debug("Reading matter registry packet took ${time.millis}ms")
|
LOGGER.debug("Reading matter registry packet took ${time.millis}ms")
|
||||||
@ -1414,7 +1416,7 @@ object MatterManager {
|
|||||||
override fun write(buff: FriendlyByteBuf) {
|
override fun write(buff: FriendlyByteBuf) {
|
||||||
val time = SystemTime()
|
val time = SystemTime()
|
||||||
buff.writeMap(values, FriendlyByteBuf::writeItemType, FriendlyByteBuf::writeMatterValue)
|
buff.writeMap(values, FriendlyByteBuf::writeItemType, FriendlyByteBuf::writeMatterValue)
|
||||||
buff.writeMap(comments, FriendlyByteBuf::writeItemType) { self, value -> self.writeCollection(value, FriendlyByteBuf::writeComponent) }
|
buff.writeMap(comments, FriendlyByteBuf::writeItemType) { self, value -> self.writeCollection(value, FriendlyByteBuf::writeBinaryComponent) }
|
||||||
LOGGER.debug("Encoding matter registry packet took ${time.millis}ms, written total ${buff.writerIndex() - 1} bytes")
|
LOGGER.debug("Encoding matter registry packet took ${time.millis}ms, written total ${buff.writerIndex() - 1} bytes")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user