// automatically generated by the FlatBuffers compiler, do not modify

package MyGame.Example;

import com.google.flatbuffers.BaseVector;
import com.google.flatbuffers.BooleanVector;
import com.google.flatbuffers.ByteVector;
import com.google.flatbuffers.Constants;
import com.google.flatbuffers.DoubleVector;
import com.google.flatbuffers.FlatBufferBuilder;
import com.google.flatbuffers.FloatVector;
import com.google.flatbuffers.IntVector;
import com.google.flatbuffers.LongVector;
import com.google.flatbuffers.ShortVector;
import com.google.flatbuffers.StringVector;
import com.google.flatbuffers.Struct;
import com.google.flatbuffers.Table;
import com.google.flatbuffers.UnionVector;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;

public class MonsterT {
  private MyGame.Example.Vec3T pos;
  private short mana;
  private short hp;
  private String name;
  private int[] inventory;
  private int color;
  private MyGame.Example.AnyUnion test;
  private MyGame.Example.TestT[] test4;
  private String[] testarrayofstring;
  private MyGame.Example.MonsterT[] testarrayoftables;
  private MyGame.Example.MonsterT enemy;
  private int[] testnestedflatbuffer;
  private MyGame.Example.StatT testempty;
  private boolean testbool;
  private int testhashs32Fnv1;
  private long testhashu32Fnv1;
  private long testhashs64Fnv1;
  private long testhashu64Fnv1;
  private int testhashs32Fnv1a;
  private long testhashu32Fnv1a;
  private long testhashs64Fnv1a;
  private long testhashu64Fnv1a;
  private boolean[] testarrayofbools;
  private float testf;
  private float testf2;
  private float testf3;
  private String[] testarrayofstring2;
  private MyGame.Example.AbilityT[] testarrayofsortedstruct;
  private int[] flex;
  private MyGame.Example.TestT[] test5;
  private long[] vectorOfLongs;
  private double[] vectorOfDoubles;
  private MyGame.InParentNamespaceT parentNamespaceTest;
  private MyGame.Example.ReferrableT[] vectorOfReferrables;
  private long singleWeakReference;
  private long[] vectorOfWeakReferences;
  private MyGame.Example.ReferrableT[] vectorOfStrongReferrables;
  private long coOwningReference;
  private long[] vectorOfCoOwningReferences;
  private long nonOwningReference;
  private long[] vectorOfNonOwningReferences;
  private MyGame.Example.AnyUniqueAliasesUnion anyUnique;
  private MyGame.Example.AnyAmbiguousAliasesUnion anyAmbiguous;
  private int[] vectorOfEnums;
  private byte signedEnum;
  private int[] testrequirednestedflatbuffer;
  private MyGame.Example.StatT[] scalarKeySortedTables;
  private MyGame.Example.TestT nativeInline;
  private long longEnumNonEnumDefault;
  private long longEnumNormalDefault;
  private float nanDefault;
  private float infDefault;
  private float positiveInfDefault;
  private float infinityDefault;
  private float positiveInfinityDefault;
  private float negativeInfDefault;
  private float negativeInfinityDefault;
  private double doubleInfDefault;

  public MyGame.Example.Vec3T getPos() { return pos; }

  public void setPos(MyGame.Example.Vec3T pos) { this.pos = pos; }

  public short getMana() { return mana; }

  public void setMana(short mana) { this.mana = mana; }

  public short getHp() { return hp; }

  public void setHp(short hp) { this.hp = hp; }

  public String getName() { return name; }

  public void setName(String name) { this.name = name; }

  public int[] getInventory() { return inventory; }

  public void setInventory(int[] inventory) { this.inventory = inventory; }

  public int getColor() { return color; }

  public void setColor(int color) { this.color = color; }

  public MyGame.Example.AnyUnion getTest() { return test; }

  public void setTest(MyGame.Example.AnyUnion test) { this.test = test; }

  public MyGame.Example.TestT[] getTest4() { return test4; }

  public void setTest4(MyGame.Example.TestT[] test4) { this.test4 = test4; }

  public String[] getTestarrayofstring() { return testarrayofstring; }

  public void setTestarrayofstring(String[] testarrayofstring) { this.testarrayofstring = testarrayofstring; }

  public MyGame.Example.MonsterT[] getTestarrayoftables() { return testarrayoftables; }

  public void setTestarrayoftables(MyGame.Example.MonsterT[] testarrayoftables) { this.testarrayoftables = testarrayoftables; }

  public MyGame.Example.MonsterT getEnemy() { return enemy; }

  public void setEnemy(MyGame.Example.MonsterT enemy) { this.enemy = enemy; }

  public int[] getTestnestedflatbuffer() { return testnestedflatbuffer; }

  public void setTestnestedflatbuffer(int[] testnestedflatbuffer) { this.testnestedflatbuffer = testnestedflatbuffer; }

  public MyGame.Example.StatT getTestempty() { return testempty; }

  public void setTestempty(MyGame.Example.StatT testempty) { this.testempty = testempty; }

  public boolean getTestbool() { return testbool; }

  public void setTestbool(boolean testbool) { this.testbool = testbool; }

  public int getTesthashs32Fnv1() { return testhashs32Fnv1; }

  public void setTesthashs32Fnv1(int testhashs32Fnv1) { this.testhashs32Fnv1 = testhashs32Fnv1; }

  public long getTesthashu32Fnv1() { return testhashu32Fnv1; }

  public void setTesthashu32Fnv1(long testhashu32Fnv1) { this.testhashu32Fnv1 = testhashu32Fnv1; }

  public long getTesthashs64Fnv1() { return testhashs64Fnv1; }

  public void setTesthashs64Fnv1(long testhashs64Fnv1) { this.testhashs64Fnv1 = testhashs64Fnv1; }

  public long getTesthashu64Fnv1() { return testhashu64Fnv1; }

  public void setTesthashu64Fnv1(long testhashu64Fnv1) { this.testhashu64Fnv1 = testhashu64Fnv1; }

  public int getTesthashs32Fnv1a() { return testhashs32Fnv1a; }

  public void setTesthashs32Fnv1a(int testhashs32Fnv1a) { this.testhashs32Fnv1a = testhashs32Fnv1a; }

  public long getTesthashu32Fnv1a() { return testhashu32Fnv1a; }

  public void setTesthashu32Fnv1a(long testhashu32Fnv1a) { this.testhashu32Fnv1a = testhashu32Fnv1a; }

  public long getTesthashs64Fnv1a() { return testhashs64Fnv1a; }

  public void setTesthashs64Fnv1a(long testhashs64Fnv1a) { this.testhashs64Fnv1a = testhashs64Fnv1a; }

  public long getTesthashu64Fnv1a() { return testhashu64Fnv1a; }

  public void setTesthashu64Fnv1a(long testhashu64Fnv1a) { this.testhashu64Fnv1a = testhashu64Fnv1a; }

  public boolean[] getTestarrayofbools() { return testarrayofbools; }

  public void setTestarrayofbools(boolean[] testarrayofbools) { this.testarrayofbools = testarrayofbools; }

  public float getTestf() { return testf; }

  public void setTestf(float testf) { this.testf = testf; }

  public float getTestf2() { return testf2; }

  public void setTestf2(float testf2) { this.testf2 = testf2; }

  public float getTestf3() { return testf3; }

  public void setTestf3(float testf3) { this.testf3 = testf3; }

  public String[] getTestarrayofstring2() { return testarrayofstring2; }

  public void setTestarrayofstring2(String[] testarrayofstring2) { this.testarrayofstring2 = testarrayofstring2; }

  public MyGame.Example.AbilityT[] getTestarrayofsortedstruct() { return testarrayofsortedstruct; }

  public void setTestarrayofsortedstruct(MyGame.Example.AbilityT[] testarrayofsortedstruct) { this.testarrayofsortedstruct = testarrayofsortedstruct; }

  public int[] getFlex() { return flex; }

  public void setFlex(int[] flex) { this.flex = flex; }

  public MyGame.Example.TestT[] getTest5() { return test5; }

  public void setTest5(MyGame.Example.TestT[] test5) { this.test5 = test5; }

  public long[] getVectorOfLongs() { return vectorOfLongs; }

  public void setVectorOfLongs(long[] vectorOfLongs) { this.vectorOfLongs = vectorOfLongs; }

  public double[] getVectorOfDoubles() { return vectorOfDoubles; }

  public void setVectorOfDoubles(double[] vectorOfDoubles) { this.vectorOfDoubles = vectorOfDoubles; }

  public MyGame.InParentNamespaceT getParentNamespaceTest() { return parentNamespaceTest; }

  public void setParentNamespaceTest(MyGame.InParentNamespaceT parentNamespaceTest) { this.parentNamespaceTest = parentNamespaceTest; }

  public MyGame.Example.ReferrableT[] getVectorOfReferrables() { return vectorOfReferrables; }

  public void setVectorOfReferrables(MyGame.Example.ReferrableT[] vectorOfReferrables) { this.vectorOfReferrables = vectorOfReferrables; }

  public long getSingleWeakReference() { return singleWeakReference; }

  public void setSingleWeakReference(long singleWeakReference) { this.singleWeakReference = singleWeakReference; }

  public long[] getVectorOfWeakReferences() { return vectorOfWeakReferences; }

  public void setVectorOfWeakReferences(long[] vectorOfWeakReferences) { this.vectorOfWeakReferences = vectorOfWeakReferences; }

  public MyGame.Example.ReferrableT[] getVectorOfStrongReferrables() { return vectorOfStrongReferrables; }

  public void setVectorOfStrongReferrables(MyGame.Example.ReferrableT[] vectorOfStrongReferrables) { this.vectorOfStrongReferrables = vectorOfStrongReferrables; }

  public long getCoOwningReference() { return coOwningReference; }

  public void setCoOwningReference(long coOwningReference) { this.coOwningReference = coOwningReference; }

  public long[] getVectorOfCoOwningReferences() { return vectorOfCoOwningReferences; }

  public void setVectorOfCoOwningReferences(long[] vectorOfCoOwningReferences) { this.vectorOfCoOwningReferences = vectorOfCoOwningReferences; }

  public long getNonOwningReference() { return nonOwningReference; }

  public void setNonOwningReference(long nonOwningReference) { this.nonOwningReference = nonOwningReference; }

  public long[] getVectorOfNonOwningReferences() { return vectorOfNonOwningReferences; }

  public void setVectorOfNonOwningReferences(long[] vectorOfNonOwningReferences) { this.vectorOfNonOwningReferences = vectorOfNonOwningReferences; }

  public MyGame.Example.AnyUniqueAliasesUnion getAnyUnique() { return anyUnique; }

  public void setAnyUnique(MyGame.Example.AnyUniqueAliasesUnion anyUnique) { this.anyUnique = anyUnique; }

  public MyGame.Example.AnyAmbiguousAliasesUnion getAnyAmbiguous() { return anyAmbiguous; }

  public void setAnyAmbiguous(MyGame.Example.AnyAmbiguousAliasesUnion anyAmbiguous) { this.anyAmbiguous = anyAmbiguous; }

  public int[] getVectorOfEnums() { return vectorOfEnums; }

  public void setVectorOfEnums(int[] vectorOfEnums) { this.vectorOfEnums = vectorOfEnums; }

  public byte getSignedEnum() { return signedEnum; }

  public void setSignedEnum(byte signedEnum) { this.signedEnum = signedEnum; }

  public int[] getTestrequirednestedflatbuffer() { return testrequirednestedflatbuffer; }

  public void setTestrequirednestedflatbuffer(int[] testrequirednestedflatbuffer) { this.testrequirednestedflatbuffer = testrequirednestedflatbuffer; }

  public MyGame.Example.StatT[] getScalarKeySortedTables() { return scalarKeySortedTables; }

  public void setScalarKeySortedTables(MyGame.Example.StatT[] scalarKeySortedTables) { this.scalarKeySortedTables = scalarKeySortedTables; }

  public MyGame.Example.TestT getNativeInline() { return nativeInline; }

  public void setNativeInline(MyGame.Example.TestT nativeInline) { this.nativeInline = nativeInline; }

  public long getLongEnumNonEnumDefault() { return longEnumNonEnumDefault; }

  public void setLongEnumNonEnumDefault(long longEnumNonEnumDefault) { this.longEnumNonEnumDefault = longEnumNonEnumDefault; }

  public long getLongEnumNormalDefault() { return longEnumNormalDefault; }

  public void setLongEnumNormalDefault(long longEnumNormalDefault) { this.longEnumNormalDefault = longEnumNormalDefault; }

  public float getNanDefault() { return nanDefault; }

  public void setNanDefault(float nanDefault) { this.nanDefault = nanDefault; }

  public float getInfDefault() { return infDefault; }

  public void setInfDefault(float infDefault) { this.infDefault = infDefault; }

  public float getPositiveInfDefault() { return positiveInfDefault; }

  public void setPositiveInfDefault(float positiveInfDefault) { this.positiveInfDefault = positiveInfDefault; }

  public float getInfinityDefault() { return infinityDefault; }

  public void setInfinityDefault(float infinityDefault) { this.infinityDefault = infinityDefault; }

  public float getPositiveInfinityDefault() { return positiveInfinityDefault; }

  public void setPositiveInfinityDefault(float positiveInfinityDefault) { this.positiveInfinityDefault = positiveInfinityDefault; }

  public float getNegativeInfDefault() { return negativeInfDefault; }

  public void setNegativeInfDefault(float negativeInfDefault) { this.negativeInfDefault = negativeInfDefault; }

  public float getNegativeInfinityDefault() { return negativeInfinityDefault; }

  public void setNegativeInfinityDefault(float negativeInfinityDefault) { this.negativeInfinityDefault = negativeInfinityDefault; }

  public double getDoubleInfDefault() { return doubleInfDefault; }

  public void setDoubleInfDefault(double doubleInfDefault) { this.doubleInfDefault = doubleInfDefault; }


  public MonsterT() {
    this.pos = new MyGame.Example.Vec3T();
    this.mana = 150;
    this.hp = 100;
    this.name = null;
    this.inventory = null;
    this.color = 8;
    this.test = null;
    this.test4 = null;
    this.testarrayofstring = null;
    this.testarrayoftables = null;
    this.enemy = null;
    this.testnestedflatbuffer = null;
    this.testempty = null;
    this.testbool = false;
    this.testhashs32Fnv1 = 0;
    this.testhashu32Fnv1 = 0L;
    this.testhashs64Fnv1 = 0L;
    this.testhashu64Fnv1 = 0L;
    this.testhashs32Fnv1a = 0;
    this.testhashu32Fnv1a = 0L;
    this.testhashs64Fnv1a = 0L;
    this.testhashu64Fnv1a = 0L;
    this.testarrayofbools = null;
    this.testf = 3.14159f;
    this.testf2 = 3.0f;
    this.testf3 = 0.0f;
    this.testarrayofstring2 = null;
    this.testarrayofsortedstruct = null;
    this.flex = null;
    this.test5 = null;
    this.vectorOfLongs = null;
    this.vectorOfDoubles = null;
    this.parentNamespaceTest = null;
    this.vectorOfReferrables = null;
    this.singleWeakReference = 0L;
    this.vectorOfWeakReferences = null;
    this.vectorOfStrongReferrables = null;
    this.coOwningReference = 0L;
    this.vectorOfCoOwningReferences = null;
    this.nonOwningReference = 0L;
    this.vectorOfNonOwningReferences = null;
    this.anyUnique = null;
    this.anyAmbiguous = null;
    this.vectorOfEnums = null;
    this.signedEnum = -1;
    this.testrequirednestedflatbuffer = null;
    this.scalarKeySortedTables = null;
    this.nativeInline = new MyGame.Example.TestT();
    this.longEnumNonEnumDefault = 0L;
    this.longEnumNormalDefault = 2L;
    this.nanDefault = Float.NaN;
    this.infDefault = Float.POSITIVE_INFINITY;
    this.positiveInfDefault = Float.POSITIVE_INFINITY;
    this.infinityDefault = Float.POSITIVE_INFINITY;
    this.positiveInfinityDefault = Float.POSITIVE_INFINITY;
    this.negativeInfDefault = Float.NEGATIVE_INFINITY;
    this.negativeInfinityDefault = Float.NEGATIVE_INFINITY;
    this.doubleInfDefault = Double.POSITIVE_INFINITY;
  }
  public static MonsterT deserializeFromBinary(byte[] fbBuffer) {
    return Monster.getRootAsMonster(ByteBuffer.wrap(fbBuffer)).unpack();
  }
  public byte[] serializeToBinary() {
    FlatBufferBuilder fbb = new FlatBufferBuilder();
    Monster.finishMonsterBuffer(fbb, Monster.pack(fbb, this));
    return fbb.sizedByteArray();
  }
}

