applyNetworkPayload -> read
This commit is contained in:
parent
513ef21926
commit
b254a705d7
@ -40,7 +40,7 @@ abstract class AndroidFeature(val type: AndroidFeatureType<*>, val android: Matt
|
|||||||
}
|
}
|
||||||
|
|
||||||
open fun applyNetworkPayload(stream: InputStream) {
|
open fun applyNetworkPayload(stream: InputStream) {
|
||||||
synchronizer.applyNetworkPayload(stream)
|
synchronizer.read(stream)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun serializeNBT(): CompoundTag {
|
override fun serializeNBT(): CompoundTag {
|
||||||
|
@ -196,7 +196,7 @@ class AndroidResearch(val type: AndroidResearchType, val capability: MatteryPlay
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun applyNetworkPayload(stream: InputStream) {
|
fun applyNetworkPayload(stream: InputStream) {
|
||||||
synchronizer.applyNetworkPayload(stream)
|
synchronizer.read(stream)
|
||||||
}
|
}
|
||||||
|
|
||||||
val canResearch: Boolean get() {
|
val canResearch: Boolean get() {
|
||||||
|
@ -39,13 +39,11 @@ import java.io.InputStream
|
|||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.function.Consumer
|
|
||||||
import java.util.function.Supplier
|
import java.util.function.Supplier
|
||||||
import kotlin.ConcurrentModificationException
|
import kotlin.ConcurrentModificationException
|
||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
import kotlin.collections.HashMap
|
import kotlin.collections.HashMap
|
||||||
import kotlin.properties.ReadOnlyProperty
|
import kotlin.properties.ReadOnlyProperty
|
||||||
import kotlin.properties.ReadWriteProperty
|
|
||||||
import kotlin.reflect.KMutableProperty0
|
import kotlin.reflect.KMutableProperty0
|
||||||
import kotlin.reflect.KProperty
|
import kotlin.reflect.KProperty
|
||||||
import kotlin.reflect.KProperty0
|
import kotlin.reflect.KProperty0
|
||||||
@ -1112,7 +1110,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
|
|||||||
private val missingFields = ObjectArraySet<String>()
|
private val missingFields = ObjectArraySet<String>()
|
||||||
private val missingFieldsMap = Int2ObjectArrayMap<String>()
|
private val missingFieldsMap = Int2ObjectArrayMap<String>()
|
||||||
|
|
||||||
fun applyNetworkPayload(stream: InputStream, sizeLimit: NbtAccounter = NbtAccounter(1L shl 21 /* 2 MiB */)): Int {
|
fun read(stream: InputStream, sizeLimit: NbtAccounter = NbtAccounter(1L shl 21 /* 2 MiB */)): Int {
|
||||||
if (stream.read() > 0) {
|
if (stream.read() > 0) {
|
||||||
idToField.clear()
|
idToField.clear()
|
||||||
missingFieldsMap.clear()
|
missingFieldsMap.clear()
|
||||||
|
@ -60,9 +60,9 @@ class MatteryPlayerFieldPacket(val bytes: ByteArray, val length: Int, val isPubl
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isPublic) {
|
if (isPublic) {
|
||||||
player.publicSynchronizer.applyNetworkPayload(ByteArrayInputStream(bytes, 0, length))
|
player.publicSynchronizer.read(ByteArrayInputStream(bytes, 0, length))
|
||||||
} else {
|
} else {
|
||||||
player.synchronizer.applyNetworkPayload(ByteArrayInputStream(bytes, 0, length))
|
player.synchronizer.read(ByteArrayInputStream(bytes, 0, length))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ class MenuFieldPacket(val bytes: ByteArray, val length: Int) : MatteryPacket {
|
|||||||
override fun play(context: Supplier<NetworkEvent.Context>) {
|
override fun play(context: Supplier<NetworkEvent.Context>) {
|
||||||
context.packetHandled = true
|
context.packetHandled = true
|
||||||
context.get().enqueueWork {
|
context.get().enqueueWork {
|
||||||
(minecraft.player?.containerMenu as? MatteryMenu)?.mSynchronizer?.applyNetworkPayload(ByteArrayInputStream(bytes, 0, length))
|
(minecraft.player?.containerMenu as? MatteryMenu)?.mSynchronizer?.read(ByteArrayInputStream(bytes, 0, length))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ class BlockEntitySyncPacket(val position: BlockPos, val buffer: ByteArray, val v
|
|||||||
val blockEntity = level.getBlockEntity(position) as? SynchronizedBlockEntity ?: return@enqueueWork
|
val blockEntity = level.getBlockEntity(position) as? SynchronizedBlockEntity ?: return@enqueueWork
|
||||||
|
|
||||||
try {
|
try {
|
||||||
blockEntity.synchronizer.applyNetworkPayload(FastByteArrayInputStream(buffer, 0, validBytes))
|
blockEntity.synchronizer.read(FastByteArrayInputStream(buffer, 0, validBytes))
|
||||||
} catch(err: Throwable) {
|
} catch(err: Throwable) {
|
||||||
LOGGER.error("Exception while reading synchronized BlockEntity data!\nPosition: $position\nBlock: ${level.getBlockState(position)}\nBlock entity: $blockEntity", err)
|
LOGGER.error("Exception while reading synchronized BlockEntity data!\nPosition: $position\nBlock: ${level.getBlockState(position)}\nBlock entity: $blockEntity", err)
|
||||||
throw err
|
throw err
|
||||||
|
@ -31,7 +31,7 @@ object FieldSynchronizerTests {
|
|||||||
intA2.value = 348488
|
intA2.value = 348488
|
||||||
intA3.value = -4
|
intA3.value = -4
|
||||||
|
|
||||||
b.applyNetworkPayload(a.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
b.read(a.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
||||||
|
|
||||||
assertEquals(boolA.value, boolB.value)
|
assertEquals(boolA.value, boolB.value)
|
||||||
assertEquals(intA.value, intB.value)
|
assertEquals(intA.value, intB.value)
|
||||||
@ -62,7 +62,7 @@ object FieldSynchronizerTests {
|
|||||||
//intA2.setValue(348488)
|
//intA2.setValue(348488)
|
||||||
intA3.value = -4
|
intA3.value = -4
|
||||||
|
|
||||||
b.applyNetworkPayload(a.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
b.read(a.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
||||||
|
|
||||||
assertEquals(boolA.value, boolB.value)
|
assertEquals(boolA.value, boolB.value)
|
||||||
assertEquals(intA.value, intB.value)
|
assertEquals(intA.value, intB.value)
|
||||||
@ -95,8 +95,8 @@ object FieldSynchronizerTests {
|
|||||||
|
|
||||||
f4.value = 80L
|
f4.value = 80L
|
||||||
|
|
||||||
b.applyNetworkPayload(bEndpoint.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
b.read(bEndpoint.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
||||||
c.applyNetworkPayload(cEndpoint.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
c.read(cEndpoint.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
||||||
|
|
||||||
for ((i, field) in bFields.withIndex()) {
|
for ((i, field) in bFields.withIndex()) {
|
||||||
assertEquals(aFields[i].value, field.value)
|
assertEquals(aFields[i].value, field.value)
|
||||||
@ -125,7 +125,7 @@ object FieldSynchronizerTests {
|
|||||||
fieldsa[i].value = i
|
fieldsa[i].value = i
|
||||||
}
|
}
|
||||||
|
|
||||||
b.applyNetworkPayload(a.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
b.read(a.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
||||||
|
|
||||||
for (i in 0 .. 900) {
|
for (i in 0 .. 900) {
|
||||||
assertEquals(fieldsa[i].value, fieldsb[i].value)
|
assertEquals(fieldsa[i].value, fieldsb[i].value)
|
||||||
@ -153,7 +153,7 @@ object FieldSynchronizerTests {
|
|||||||
fieldsa[i].value = i
|
fieldsa[i].value = i
|
||||||
}
|
}
|
||||||
|
|
||||||
b.applyNetworkPayload(a.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
b.read(a.collectNetworkPayload()!!.let { ByteArrayInputStream(it.array, 0, it.length) })
|
||||||
|
|
||||||
for (i in 0 .. 900) {
|
for (i in 0 .. 900) {
|
||||||
assertEquals(fieldsa[i].value, fieldsb[i].value)
|
assertEquals(fieldsa[i].value, fieldsb[i].value)
|
||||||
|
Loading…
Reference in New Issue
Block a user