Use sendNow in menus when sending data for first time
This commit is contained in:
parent
1eb90a5c17
commit
5b30f2e916
@ -402,45 +402,45 @@ abstract class MatteryMenu @JvmOverloads protected constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun broadcastChanges() {
|
private var broadcastOnce = false
|
||||||
|
|
||||||
|
protected fun matteryBroadcast() {
|
||||||
val payload = mSynchronizer.collectNetworkPayload()
|
val payload = mSynchronizer.collectNetworkPayload()
|
||||||
|
|
||||||
if (payload != null) {
|
if (payload != null) {
|
||||||
MenuNetworkChannel.send(ply, MenuFieldPacket(containerId, payload))
|
if (broadcastOnce) {
|
||||||
|
MenuNetworkChannel.send(ply, MenuFieldPacket(containerId, payload))
|
||||||
|
} else {
|
||||||
|
MenuNetworkChannel.sendNow(ply, MenuFieldPacket(containerId, payload))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
super.broadcastChanges()
|
|
||||||
|
|
||||||
val consumer = PacketDistributor.PLAYER.with { ply as ServerPlayer }
|
val consumer = PacketDistributor.PLAYER.with { ply as ServerPlayer }
|
||||||
|
|
||||||
for (slot in _filterSlots) {
|
for (slot in _filterSlots) {
|
||||||
val packet = slot.sendChanges()
|
val packet = slot.sendChanges()
|
||||||
|
|
||||||
if (packet != null) {
|
if (packet != null) {
|
||||||
MenuNetworkChannel.send(consumer, packet)
|
if (broadcastOnce) {
|
||||||
|
MenuNetworkChannel.send(consumer, packet)
|
||||||
|
} else {
|
||||||
|
MenuNetworkChannel.sendNow(consumer, packet)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
broadcastOnce = true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun broadcastChanges() {
|
||||||
|
super.broadcastChanges()
|
||||||
|
matteryBroadcast()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun broadcastFullState() {
|
override fun broadcastFullState() {
|
||||||
mSynchronizer.invalidate()
|
mSynchronizer.invalidate()
|
||||||
val payload = mSynchronizer.collectNetworkPayload()
|
|
||||||
|
|
||||||
if (payload != null) {
|
|
||||||
MenuNetworkChannel.send(ply, MenuFieldPacket(containerId, payload))
|
|
||||||
}
|
|
||||||
|
|
||||||
super.broadcastFullState()
|
super.broadcastFullState()
|
||||||
|
matteryBroadcast()
|
||||||
val consumer = PacketDistributor.PLAYER.with { ply as ServerPlayer }
|
|
||||||
|
|
||||||
for (slot in _filterSlots) {
|
|
||||||
val packet = slot.sendChanges(true)
|
|
||||||
|
|
||||||
if (packet != null) {
|
|
||||||
MenuNetworkChannel.send(consumer, packet)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun stillValid(player: Player): Boolean {
|
override fun stillValid(player: Player): Boolean {
|
||||||
|
Loading…
Reference in New Issue
Block a user