Adding client-side and server-side interactions. Also adds purpur/paper support

This commit is contained in:
Dmitri Shimanski
2026-07-20 05:41:57 +03:00
parent fbe4d786ca
commit ce93e99962
71 changed files with 5068 additions and 279 deletions
+71
View File
@@ -0,0 +1,71 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package gmb
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type BlockProperty struct {
_tab flatbuffers.Table
}
func GetRootAsBlockProperty(buf []byte, offset flatbuffers.UOffsetT) *BlockProperty {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &BlockProperty{}
x.Init(buf, n+offset)
return x
}
func FinishBlockPropertyBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsBlockProperty(buf []byte, offset flatbuffers.UOffsetT) *BlockProperty {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &BlockProperty{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedBlockPropertyBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *BlockProperty) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *BlockProperty) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *BlockProperty) Key() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *BlockProperty) Value() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func BlockPropertyStart(builder *flatbuffers.Builder) {
builder.StartObject(2)
}
func BlockPropertyAddKey(builder *flatbuffers.Builder, key flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(key), 0)
}
func BlockPropertyAddValue(builder *flatbuffers.Builder, value flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(value), 0)
}
func BlockPropertyEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
+142
View File
@@ -0,0 +1,142 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package gmb
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type BlockSnapshot struct {
_tab flatbuffers.Table
}
func GetRootAsBlockSnapshot(buf []byte, offset flatbuffers.UOffsetT) *BlockSnapshot {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &BlockSnapshot{}
x.Init(buf, n+offset)
return x
}
func FinishBlockSnapshotBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsBlockSnapshot(buf []byte, offset flatbuffers.UOffsetT) *BlockSnapshot {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &BlockSnapshot{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedBlockSnapshotBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *BlockSnapshot) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *BlockSnapshot) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *BlockSnapshot) Dimension() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *BlockSnapshot) X() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *BlockSnapshot) MutateX(n int32) bool {
return rcv._tab.MutateInt32Slot(6, n)
}
func (rcv *BlockSnapshot) Y() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *BlockSnapshot) MutateY(n int32) bool {
return rcv._tab.MutateInt32Slot(8, n)
}
func (rcv *BlockSnapshot) Z() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *BlockSnapshot) MutateZ(n int32) bool {
return rcv._tab.MutateInt32Slot(10, n)
}
func (rcv *BlockSnapshot) Block() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *BlockSnapshot) Properties(obj *BlockProperty, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x)
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *BlockSnapshot) PropertiesLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
func BlockSnapshotStart(builder *flatbuffers.Builder) {
builder.StartObject(6)
}
func BlockSnapshotAddDimension(builder *flatbuffers.Builder, dimension flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(dimension), 0)
}
func BlockSnapshotAddX(builder *flatbuffers.Builder, x int32) {
builder.PrependInt32Slot(1, x, 0)
}
func BlockSnapshotAddY(builder *flatbuffers.Builder, y int32) {
builder.PrependInt32Slot(2, y, 0)
}
func BlockSnapshotAddZ(builder *flatbuffers.Builder, z int32) {
builder.PrependInt32Slot(3, z, 0)
}
func BlockSnapshotAddBlock(builder *flatbuffers.Builder, block flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(block), 0)
}
func BlockSnapshotAddProperties(builder *flatbuffers.Builder, properties flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(5, flatbuffers.UOffsetT(properties), 0)
}
func BlockSnapshotStartPropertiesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func BlockSnapshotEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
+303
View File
@@ -0,0 +1,303 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package gmb
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type EntitySnapshot struct {
_tab flatbuffers.Table
}
func GetRootAsEntitySnapshot(buf []byte, offset flatbuffers.UOffsetT) *EntitySnapshot {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &EntitySnapshot{}
x.Init(buf, n+offset)
return x
}
func FinishEntitySnapshotBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsEntitySnapshot(buf []byte, offset flatbuffers.UOffsetT) *EntitySnapshot {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &EntitySnapshot{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedEntitySnapshotBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *EntitySnapshot) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *EntitySnapshot) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *EntitySnapshot) RuntimeId() int32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.GetInt32(o + rcv._tab.Pos)
}
return 0
}
func (rcv *EntitySnapshot) MutateRuntimeId(n int32) bool {
return rcv._tab.MutateInt32Slot(4, n)
}
func (rcv *EntitySnapshot) Uuid() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *EntitySnapshot) Type() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *EntitySnapshot) Name() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *EntitySnapshot) Dimension() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *EntitySnapshot) X() float64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(14))
if o != 0 {
return rcv._tab.GetFloat64(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutateX(n float64) bool {
return rcv._tab.MutateFloat64Slot(14, n)
}
func (rcv *EntitySnapshot) Y() float64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(16))
if o != 0 {
return rcv._tab.GetFloat64(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutateY(n float64) bool {
return rcv._tab.MutateFloat64Slot(16, n)
}
func (rcv *EntitySnapshot) Z() float64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(18))
if o != 0 {
return rcv._tab.GetFloat64(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutateZ(n float64) bool {
return rcv._tab.MutateFloat64Slot(18, n)
}
func (rcv *EntitySnapshot) Yaw() float32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(20))
if o != 0 {
return rcv._tab.GetFloat32(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutateYaw(n float32) bool {
return rcv._tab.MutateFloat32Slot(20, n)
}
func (rcv *EntitySnapshot) Pitch() float32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(22))
if o != 0 {
return rcv._tab.GetFloat32(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutatePitch(n float32) bool {
return rcv._tab.MutateFloat32Slot(22, n)
}
func (rcv *EntitySnapshot) VelocityX() float64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(24))
if o != 0 {
return rcv._tab.GetFloat64(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutateVelocityX(n float64) bool {
return rcv._tab.MutateFloat64Slot(24, n)
}
func (rcv *EntitySnapshot) VelocityY() float64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(26))
if o != 0 {
return rcv._tab.GetFloat64(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutateVelocityY(n float64) bool {
return rcv._tab.MutateFloat64Slot(26, n)
}
func (rcv *EntitySnapshot) VelocityZ() float64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(28))
if o != 0 {
return rcv._tab.GetFloat64(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutateVelocityZ(n float64) bool {
return rcv._tab.MutateFloat64Slot(28, n)
}
func (rcv *EntitySnapshot) Alive() bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(30))
if o != 0 {
return rcv._tab.GetBool(o + rcv._tab.Pos)
}
return false
}
func (rcv *EntitySnapshot) MutateAlive(n bool) bool {
return rcv._tab.MutateBoolSlot(30, n)
}
func (rcv *EntitySnapshot) Player() bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(32))
if o != 0 {
return rcv._tab.GetBool(o + rcv._tab.Pos)
}
return false
}
func (rcv *EntitySnapshot) MutatePlayer(n bool) bool {
return rcv._tab.MutateBoolSlot(32, n)
}
func (rcv *EntitySnapshot) HasHealth() bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(34))
if o != 0 {
return rcv._tab.GetBool(o + rcv._tab.Pos)
}
return false
}
func (rcv *EntitySnapshot) MutateHasHealth(n bool) bool {
return rcv._tab.MutateBoolSlot(34, n)
}
func (rcv *EntitySnapshot) Health() float32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(36))
if o != 0 {
return rcv._tab.GetFloat32(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutateHealth(n float32) bool {
return rcv._tab.MutateFloat32Slot(36, n)
}
func (rcv *EntitySnapshot) MaxHealth() float32 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(38))
if o != 0 {
return rcv._tab.GetFloat32(o + rcv._tab.Pos)
}
return 0.0
}
func (rcv *EntitySnapshot) MutateMaxHealth(n float32) bool {
return rcv._tab.MutateFloat32Slot(38, n)
}
func EntitySnapshotStart(builder *flatbuffers.Builder) {
builder.StartObject(18)
}
func EntitySnapshotAddRuntimeId(builder *flatbuffers.Builder, runtimeId int32) {
builder.PrependInt32Slot(0, runtimeId, 0)
}
func EntitySnapshotAddUuid(builder *flatbuffers.Builder, uuid flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(1, flatbuffers.UOffsetT(uuid), 0)
}
func EntitySnapshotAddType(builder *flatbuffers.Builder, type_ flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(type_), 0)
}
func EntitySnapshotAddName(builder *flatbuffers.Builder, name flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(name), 0)
}
func EntitySnapshotAddDimension(builder *flatbuffers.Builder, dimension flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(dimension), 0)
}
func EntitySnapshotAddX(builder *flatbuffers.Builder, x float64) {
builder.PrependFloat64Slot(5, x, 0.0)
}
func EntitySnapshotAddY(builder *flatbuffers.Builder, y float64) {
builder.PrependFloat64Slot(6, y, 0.0)
}
func EntitySnapshotAddZ(builder *flatbuffers.Builder, z float64) {
builder.PrependFloat64Slot(7, z, 0.0)
}
func EntitySnapshotAddYaw(builder *flatbuffers.Builder, yaw float32) {
builder.PrependFloat32Slot(8, yaw, 0.0)
}
func EntitySnapshotAddPitch(builder *flatbuffers.Builder, pitch float32) {
builder.PrependFloat32Slot(9, pitch, 0.0)
}
func EntitySnapshotAddVelocityX(builder *flatbuffers.Builder, velocityX float64) {
builder.PrependFloat64Slot(10, velocityX, 0.0)
}
func EntitySnapshotAddVelocityY(builder *flatbuffers.Builder, velocityY float64) {
builder.PrependFloat64Slot(11, velocityY, 0.0)
}
func EntitySnapshotAddVelocityZ(builder *flatbuffers.Builder, velocityZ float64) {
builder.PrependFloat64Slot(12, velocityZ, 0.0)
}
func EntitySnapshotAddAlive(builder *flatbuffers.Builder, alive bool) {
builder.PrependBoolSlot(13, alive, false)
}
func EntitySnapshotAddPlayer(builder *flatbuffers.Builder, player bool) {
builder.PrependBoolSlot(14, player, false)
}
func EntitySnapshotAddHasHealth(builder *flatbuffers.Builder, hasHealth bool) {
builder.PrependBoolSlot(15, hasHealth, false)
}
func EntitySnapshotAddHealth(builder *flatbuffers.Builder, health float32) {
builder.PrependFloat32Slot(16, health, 0.0)
}
func EntitySnapshotAddMaxHealth(builder *flatbuffers.Builder, maxHealth float32) {
builder.PrependFloat32Slot(17, maxHealth, 0.0)
}
func EntitySnapshotEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
+120
View File
@@ -0,0 +1,120 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package gmb
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type LevelSnapshot struct {
_tab flatbuffers.Table
}
func GetRootAsLevelSnapshot(buf []byte, offset flatbuffers.UOffsetT) *LevelSnapshot {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &LevelSnapshot{}
x.Init(buf, n+offset)
return x
}
func FinishLevelSnapshotBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.Finish(offset)
}
func GetSizePrefixedRootAsLevelSnapshot(buf []byte, offset flatbuffers.UOffsetT) *LevelSnapshot {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &LevelSnapshot{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedLevelSnapshotBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
builder.FinishSizePrefixed(offset)
}
func (rcv *LevelSnapshot) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *LevelSnapshot) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *LevelSnapshot) Dimension() []byte {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.ByteVector(o + rcv._tab.Pos)
}
return nil
}
func (rcv *LevelSnapshot) GameTime() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *LevelSnapshot) MutateGameTime(n int64) bool {
return rcv._tab.MutateInt64Slot(6, n)
}
func (rcv *LevelSnapshot) DayTime() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *LevelSnapshot) MutateDayTime(n int64) bool {
return rcv._tab.MutateInt64Slot(8, n)
}
func (rcv *LevelSnapshot) Raining() bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.GetBool(o + rcv._tab.Pos)
}
return false
}
func (rcv *LevelSnapshot) MutateRaining(n bool) bool {
return rcv._tab.MutateBoolSlot(10, n)
}
func (rcv *LevelSnapshot) Thundering() bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
return rcv._tab.GetBool(o + rcv._tab.Pos)
}
return false
}
func (rcv *LevelSnapshot) MutateThundering(n bool) bool {
return rcv._tab.MutateBoolSlot(12, n)
}
func LevelSnapshotStart(builder *flatbuffers.Builder) {
builder.StartObject(5)
}
func LevelSnapshotAddDimension(builder *flatbuffers.Builder, dimension flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(dimension), 0)
}
func LevelSnapshotAddGameTime(builder *flatbuffers.Builder, gameTime int64) {
builder.PrependInt64Slot(1, gameTime, 0)
}
func LevelSnapshotAddDayTime(builder *flatbuffers.Builder, dayTime int64) {
builder.PrependInt64Slot(2, dayTime, 0)
}
func LevelSnapshotAddRaining(builder *flatbuffers.Builder, raining bool) {
builder.PrependBoolSlot(3, raining, false)
}
func LevelSnapshotAddThundering(builder *flatbuffers.Builder, thundering bool) {
builder.PrependBoolSlot(4, thundering, false)
}
func LevelSnapshotEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}
+169
View File
@@ -0,0 +1,169 @@
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package gmb
import (
flatbuffers "github.com/google/flatbuffers/go"
)
type ServerSnapshot struct {
_tab flatbuffers.Table
}
const ServerSnapshotIdentifier = "GMBS"
func GetRootAsServerSnapshot(buf []byte, offset flatbuffers.UOffsetT) *ServerSnapshot {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &ServerSnapshot{}
x.Init(buf, n+offset)
return x
}
func FinishServerSnapshotBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
identifierBytes := []byte(ServerSnapshotIdentifier)
builder.FinishWithFileIdentifier(offset, identifierBytes)
}
func ServerSnapshotBufferHasIdentifier(buf []byte) bool {
return flatbuffers.BufferHasIdentifier(buf, ServerSnapshotIdentifier)
}
func GetSizePrefixedRootAsServerSnapshot(buf []byte, offset flatbuffers.UOffsetT) *ServerSnapshot {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &ServerSnapshot{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func FinishSizePrefixedServerSnapshotBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
identifierBytes := []byte(ServerSnapshotIdentifier)
builder.FinishSizePrefixedWithFileIdentifier(offset, identifierBytes)
}
func SizePrefixedServerSnapshotBufferHasIdentifier(buf []byte) bool {
return flatbuffers.SizePrefixedBufferHasIdentifier(buf, ServerSnapshotIdentifier)
}
func (rcv *ServerSnapshot) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *ServerSnapshot) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *ServerSnapshot) Tick() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *ServerSnapshot) MutateTick(n int64) bool {
return rcv._tab.MutateInt64Slot(4, n)
}
func (rcv *ServerSnapshot) TimestampUnixMilli() int64 {
o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
if o != 0 {
return rcv._tab.GetInt64(o + rcv._tab.Pos)
}
return 0
}
func (rcv *ServerSnapshot) MutateTimestampUnixMilli(n int64) bool {
return rcv._tab.MutateInt64Slot(6, n)
}
func (rcv *ServerSnapshot) Levels(obj *LevelSnapshot, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x)
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *ServerSnapshot) LevelsLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
func (rcv *ServerSnapshot) Entities(obj *EntitySnapshot, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x)
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *ServerSnapshot) EntitiesLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(10))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
func (rcv *ServerSnapshot) Blocks(obj *BlockSnapshot, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
x := rcv._tab.Vector(o)
x += flatbuffers.UOffsetT(j) * 4
x = rcv._tab.Indirect(x)
obj.Init(rcv._tab.Bytes, x)
return true
}
return false
}
func (rcv *ServerSnapshot) BlocksLength() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(12))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
func ServerSnapshotStart(builder *flatbuffers.Builder) {
builder.StartObject(5)
}
func ServerSnapshotAddTick(builder *flatbuffers.Builder, tick int64) {
builder.PrependInt64Slot(0, tick, 0)
}
func ServerSnapshotAddTimestampUnixMilli(builder *flatbuffers.Builder, timestampUnixMilli int64) {
builder.PrependInt64Slot(1, timestampUnixMilli, 0)
}
func ServerSnapshotAddLevels(builder *flatbuffers.Builder, levels flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(2, flatbuffers.UOffsetT(levels), 0)
}
func ServerSnapshotStartLevelsVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func ServerSnapshotAddEntities(builder *flatbuffers.Builder, entities flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(3, flatbuffers.UOffsetT(entities), 0)
}
func ServerSnapshotStartEntitiesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func ServerSnapshotAddBlocks(builder *flatbuffers.Builder, blocks flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(4, flatbuffers.UOffsetT(blocks), 0)
}
func ServerSnapshotStartBlocksVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func ServerSnapshotEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}