mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-27 04:26:27 -04:00
More 1.20.5
This commit is contained in:
@@ -12,9 +12,12 @@ import com.cobblemon.mod.common.api.reactive.SimpleObservable
|
||||
import com.cobblemon.mod.common.net.IntSize
|
||||
import com.cobblemon.mod.common.util.DataKeys
|
||||
import com.cobblemon.mod.common.util.readSizedInt
|
||||
import com.cobblemon.mod.common.util.readString
|
||||
import com.cobblemon.mod.common.util.writeSizedInt
|
||||
import com.cobblemon.mod.common.util.writeString
|
||||
import com.google.gson.JsonArray
|
||||
import com.google.gson.JsonObject
|
||||
import io.netty.buffer.ByteBuf
|
||||
import net.minecraft.nbt.NbtCompound
|
||||
import net.minecraft.nbt.NbtList
|
||||
import net.minecraft.network.PacketByteBuf
|
||||
@@ -59,7 +62,7 @@ class BenchedMoves : Iterable<BenchedMove> {
|
||||
return json
|
||||
}
|
||||
|
||||
fun saveToBuffer(buffer: PacketByteBuf) {
|
||||
fun saveToBuffer(buffer: ByteBuf) {
|
||||
buffer.writeShort(benchedMoves.size)
|
||||
benchedMoves.forEach { it.saveToBuffer(buffer) }
|
||||
}
|
||||
@@ -81,7 +84,7 @@ class BenchedMoves : Iterable<BenchedMove> {
|
||||
return this
|
||||
}
|
||||
|
||||
fun loadFromBuffer(buffer: PacketByteBuf): BenchedMoves {
|
||||
fun loadFromBuffer(buffer: ByteBuf): BenchedMoves {
|
||||
doThenEmit {
|
||||
clear()
|
||||
repeat(times = buffer.readShort().toInt()) {
|
||||
@@ -105,7 +108,7 @@ data class BenchedMove(val moveTemplate: MoveTemplate, val ppRaisedStages: Int)
|
||||
return json
|
||||
}
|
||||
|
||||
fun saveToBuffer(buffer: PacketByteBuf) {
|
||||
fun saveToBuffer(buffer: ByteBuf) {
|
||||
buffer.writeString(moveTemplate.name)
|
||||
buffer.writeSizedInt(IntSize.U_BYTE, ppRaisedStages)
|
||||
}
|
||||
@@ -127,7 +130,7 @@ data class BenchedMove(val moveTemplate: MoveTemplate, val ppRaisedStages: Int)
|
||||
)
|
||||
}
|
||||
|
||||
fun loadFromBuffer(buffer: PacketByteBuf): BenchedMove {
|
||||
fun loadFromBuffer(buffer: ByteBuf): BenchedMove {
|
||||
val name = buffer.readString()
|
||||
return BenchedMove(
|
||||
Moves.getByName(name) ?: MoveTemplate.dummy(name),
|
||||
|
||||
@@ -14,6 +14,7 @@ import com.cobblemon.mod.common.api.types.ElementalType
|
||||
import com.cobblemon.mod.common.net.IntSize
|
||||
import com.cobblemon.mod.common.util.DataKeys
|
||||
import com.cobblemon.mod.common.util.readSizedInt
|
||||
import com.cobblemon.mod.common.util.readString
|
||||
import com.cobblemon.mod.common.util.writeSizedInt
|
||||
import com.cobblemon.mod.common.util.writeString
|
||||
import com.google.gson.JsonObject
|
||||
@@ -137,7 +138,7 @@ open class Move(
|
||||
return Move(template, currentPp, raisedPpStages)
|
||||
}
|
||||
|
||||
fun loadFromBuffer(buffer: PacketByteBuf): Move {
|
||||
fun loadFromBuffer(buffer: ByteBuf): Move {
|
||||
val moveName = buffer.readString()
|
||||
val currentPp = buffer.readSizedInt(IntSize.U_BYTE)
|
||||
val raisedPpStages = buffer.readSizedInt(IntSize.U_BYTE)
|
||||
|
||||
@@ -162,7 +162,7 @@ class MoveSet : Iterable<Move> {
|
||||
/**
|
||||
* Returns a MoveSet build from given Buffer
|
||||
*/
|
||||
fun loadFromBuffer(buffer: PacketByteBuf): MoveSet {
|
||||
fun loadFromBuffer(buffer: ByteBuf): MoveSet {
|
||||
doWithoutEmitting {
|
||||
clear()
|
||||
val amountMoves = buffer.readSizedInt(IntSize.U_BYTE)
|
||||
|
||||
@@ -37,6 +37,7 @@ import com.cobblemon.mod.common.util.readSizedInt
|
||||
import com.cobblemon.mod.common.util.readString
|
||||
import com.cobblemon.mod.common.util.readUuid
|
||||
import com.cobblemon.mod.common.util.writeIdentifier
|
||||
import com.cobblemon.mod.common.util.writeNbt
|
||||
import com.cobblemon.mod.common.util.writeNullable
|
||||
import com.cobblemon.mod.common.util.writeSizedInt
|
||||
import com.cobblemon.mod.common.util.writeString
|
||||
|
||||
@@ -13,6 +13,7 @@ import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.util.*
|
||||
import com.google.gson.JsonObject
|
||||
import io.netty.buffer.ByteBuf
|
||||
import net.minecraft.nbt.NbtCompound
|
||||
import net.minecraft.network.PacketByteBuf
|
||||
import net.minecraft.registry.RegistryKey
|
||||
@@ -30,7 +31,7 @@ sealed class PokemonState {
|
||||
"shouldered" to ShoulderedState::class.java
|
||||
)
|
||||
|
||||
fun fromBuffer(buffer: PacketByteBuf): PokemonState {
|
||||
fun fromBuffer(buffer: ByteBuf): PokemonState {
|
||||
val type = buffer.readString()
|
||||
return states[type]?.newInstance()?.readFromBuffer(buffer) ?: InactivePokemonState()
|
||||
}
|
||||
@@ -49,10 +50,10 @@ sealed class PokemonState {
|
||||
open fun readFromNBT(nbt: NbtCompound): PokemonState = this
|
||||
open fun writeToJSON(json: JsonObject): JsonObject? = json
|
||||
open fun readFromJSON(json: JsonObject): PokemonState = this
|
||||
open fun writeToBuffer(buffer: PacketByteBuf) {
|
||||
open fun writeToBuffer(buffer: ByteBuf) {
|
||||
buffer.writeString(name)
|
||||
}
|
||||
open fun readFromBuffer(buffer: PacketByteBuf): PokemonState = this
|
||||
open fun readFromBuffer(buffer: ByteBuf): PokemonState = this
|
||||
}
|
||||
class InactivePokemonState : PokemonState() {
|
||||
override fun writeToNBT(nbt: NbtCompound) = null
|
||||
@@ -78,13 +79,13 @@ class SentOutState() : ActivePokemonState() {
|
||||
override fun writeToNBT(nbt: NbtCompound) = null
|
||||
override fun writeToJSON(json: JsonObject) = null
|
||||
|
||||
override fun writeToBuffer(buffer: PacketByteBuf) {
|
||||
override fun writeToBuffer(buffer: ByteBuf) {
|
||||
super.writeToBuffer(buffer)
|
||||
buffer.writeInt(entityId)
|
||||
buffer.writeString(dimension.value.toString())
|
||||
}
|
||||
|
||||
override fun readFromBuffer(buffer: PacketByteBuf): SentOutState {
|
||||
override fun readFromBuffer(buffer: ByteBuf): SentOutState {
|
||||
super.readFromBuffer(buffer)
|
||||
entityId = buffer.readInt()
|
||||
dimension = RegistryKey.of(RegistryKey.ofRegistry(dimension.value), Identifier(buffer.readString()))
|
||||
@@ -154,7 +155,7 @@ class ShoulderedState() : ActivePokemonState() {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun writeToBuffer(buffer: PacketByteBuf) {
|
||||
override fun writeToBuffer(buffer: ByteBuf) {
|
||||
super.writeToBuffer(buffer)
|
||||
buffer.writeBoolean(isLeftShoulder)
|
||||
buffer.writeUuid(playerUUID)
|
||||
@@ -162,7 +163,7 @@ class ShoulderedState() : ActivePokemonState() {
|
||||
buffer.writeUuid(pokemonUUID)
|
||||
}
|
||||
|
||||
override fun readFromBuffer(buffer: PacketByteBuf): PokemonState {
|
||||
override fun readFromBuffer(buffer: ByteBuf): PokemonState {
|
||||
super.readFromBuffer(buffer)
|
||||
isLeftShoulder = buffer.readBoolean()
|
||||
playerUUID = buffer.readUuid()
|
||||
|
||||
@@ -4,10 +4,13 @@ import com.cobblemon.mod.common.api.storage.party.PartyPosition
|
||||
import com.cobblemon.mod.common.api.storage.pc.PCPosition
|
||||
import com.cobblemon.mod.common.net.IntSize
|
||||
import io.netty.buffer.ByteBuf
|
||||
import java.util.UUID
|
||||
import kotlin.jvm.optionals.getOrNull
|
||||
import io.netty.buffer.ByteBufOutputStream
|
||||
import io.netty.handler.codec.EncoderException
|
||||
import net.minecraft.entity.EntityDimensions
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.nbt.NbtElement
|
||||
import net.minecraft.nbt.NbtEnd
|
||||
import net.minecraft.nbt.NbtIo
|
||||
import net.minecraft.nbt.NbtOps
|
||||
import net.minecraft.network.PacketByteBuf
|
||||
import net.minecraft.network.codec.PacketEncoder
|
||||
@@ -15,7 +18,8 @@ import net.minecraft.network.encoding.StringEncoding
|
||||
import net.minecraft.text.Text
|
||||
import net.minecraft.text.TextCodecs
|
||||
import net.minecraft.util.Identifier
|
||||
import org.apache.commons.io.IOUtils.writer
|
||||
import java.io.IOException
|
||||
import java.util.UUID
|
||||
import kotlin.jvm.optionals.getOrNull
|
||||
|
||||
fun PacketByteBuf.readItemStack(): ItemStack {
|
||||
@@ -153,4 +157,17 @@ fun ByteBuf.writeEnumConstant(value: Enum<*>) {
|
||||
|
||||
fun <T : Enum<T>> ByteBuf.readEnumConstant(clazz: Class<T>): T {
|
||||
return clazz.getEnumConstants()[this.readInt()]
|
||||
}
|
||||
|
||||
fun ByteBuf.writeNbt(nbt: NbtElement) {
|
||||
if (nbt == null) {
|
||||
NbtIo.writeForPacket(NbtEnd.INSTANCE, ByteBufOutputStream(this))
|
||||
}
|
||||
|
||||
try {
|
||||
NbtIo.writeForPacket(nbt, ByteBufOutputStream(this))
|
||||
} catch (var3: IOException) {
|
||||
val iOException = var3
|
||||
throw EncoderException(iOException)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user