Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PlayerData implements IPlayerData
- {
- public int[] bindedArtes = new int[9]; //binding of player artes. 0 is first click, 1 is second, etc. The value is the index of the arte in ArteHandler.
- public ArteHandler artes = new ArteHandler();
- protected int pArteCoolDown; //The duration of the cast. If chainCount is 0, it does nothing.
- //if chainCount is > 0 but currentpArte is -1, then it will tick to 6. If it does, then it resets the chainCount. Else, it counts till the end of the tick.
- public int currentCol; //Whether the selected arte is on left, middle, or right
- public int currentpArte;
- public float attackProgress;
- private boolean inBufferZone;
- public boolean activatepArte;
- private final PlayerEntity player;
- private final EntityDataManager privateData;
- private final static DataParameter<Float> MANA = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.FLOAT);
- private final static DataParameter<Float> REGEN = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.FLOAT);
- private final static DataParameter<Float> ACC = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.FLOAT);
- private final static DataParameter<Integer>R0C0 = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.VARINT);
- private final static DataParameter<Integer>R1C0 = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.VARINT);
- private final static DataParameter<Integer>R2C0 = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.VARINT);
- private final static DataParameter<Integer>R0C1 = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.VARINT);
- private final static DataParameter<Integer>R1C1 = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.VARINT);
- private final static DataParameter<Integer>R2C1 = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.VARINT);
- private final static DataParameter<Integer>R0C2 = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.VARINT);
- private final static DataParameter<Integer>R1C2 = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.VARINT);
- private final static DataParameter<Integer>R2C2 = EntityDataManager.createKey(PlayerEntity.class, DataSerializers.VARINT);
- public PlayerData()
- {
- this.player = null;
- this.manaRegenTime = 5.0F;
- this.regenTime = 0;
- this.privateData = null;
- this.regenRate = 1.0F;
- this.pArteCoolDown = 0;
- this.currentpArte = 0;
- this.currentCol = 0;
- this.attackProgress = 1.0F;
- this.activatepArte = false;
- this.inBufferZone = true;
- this.playermaxMana = 256;
- this.playerMana = playermaxMana;
- bindedArtes[0] = ArteHandler.ARTES.QUICK_SLASH.ordinal();
- bindedArtes[1] = ArteHandler.ARTES.QUICK_SLASH.ordinal();
- bindedArtes[2] = ArteHandler.ARTES.QUICK_SLASH.ordinal();
- bindedArtes[3] = ArteHandler.ARTES.SCATTERING_SLASH.ordinal();
- bindedArtes[4] = ArteHandler.ARTES.SCATTERING_SLASH.ordinal();
- bindedArtes[5] = ArteHandler.ARTES.SCATTERING_SLASH.ordinal();
- bindedArtes[6] = ArteHandler.ARTES.DEMON_FANG.ordinal();
- bindedArtes[7] = ArteHandler.ARTES.DEMON_FANG.ordinal();
- bindedArtes[8] = ArteHandler.ARTES.DEMON_FANG.ordinal();
- }
- public PlayerData(PlayerEntity player)
- {
- this.player = player;
- this.manaRegenTime = 5.0F;
- this.regenTime = 0;
- this.regenRate = 0.0F;
- this.pArteCoolDown = 0;
- this.currentpArte = 0;
- this.currentCol = 0;
- this.attackProgress = 1.0F;
- this.activatepArte = false;
- this.inBufferZone = true;
- this.playermaxMana = 256;
- this.playerMana = playermaxMana;
- bindedArtes[0] = ArteHandler.ARTES.QUICK_SLASH.ordinal();
- bindedArtes[1] = ArteHandler.ARTES.QUICK_SLASH.ordinal();
- bindedArtes[2] = ArteHandler.ARTES.QUICK_SLASH.ordinal();
- bindedArtes[3] = ArteHandler.ARTES.SCATTERING_SLASH.ordinal();
- bindedArtes[4] = ArteHandler.ARTES.SCATTERING_SLASH.ordinal();
- bindedArtes[5] = ArteHandler.ARTES.SCATTERING_SLASH.ordinal();
- bindedArtes[6] = ArteHandler.ARTES.DEMON_FANG.ordinal();
- bindedArtes[7] = ArteHandler.ARTES.DEMON_FANG.ordinal();
- bindedArtes[8] = ArteHandler.ARTES.DEMON_FANG.ordinal();
- privateData = player.getDataManager();
- privateData.register(MANA, 0.0F);
- privateData.register(R0C0,0);
- privateData.register(R1C0,0);
- privateData.register(R2C0,0);
- privateData.register(R0C1,0);
- privateData.register(R1C1,0);
- privateData.register(R2C1,0);
- privateData.register(R0C2,0);
- privateData.register(R1C2,0);
- privateData.register(R2C2,0);
- }
- public void onJoinWorld()
- {
- setPlayerStats();
- if (this.player.world.isRemote)
- {
- Necropolis_of_Nostalgia.packetHandler.sendToServer(new PlayerSyncCapability());
- }
- }
- public void onTick()
- {
- if (this.player.world.isRemote)
- {
- //clientside player logic here
- }
- else
- {
- if (this.syncCount == 1200)
- {
- Necropolis_of_Nostalgia.packetHandler.sendTo(new SyncPlayerStats(this.playerMana, bindedArtes[0],bindedArtes[1],bindedArtes[2],bindedArtes[3],
- bindedArtes[4],bindedArtes[5],bindedArtes[6],bindedArtes[7],bindedArtes[8]),this.player);
- }
- else if (this.syncCount == 0)
- {
- this.syncCount = 1200;
- }
- else
- this.syncCount--;
- }
- updateMana();
- }
- public void doAttack(int key)
- {
- artes.t_arte[bindedArtes[key]].setPlayer(this.player);
- artes.t_arte[bindedArtes[key]].startAttack();
- }
- public void bindArtes()
- {
- if (!this.player.world.isRemote)
- {
- privateData.set(R0C0,bindedArtes[0]);
- privateData.set(R1C0,bindedArtes[1]);
- privateData.set(R2C0,bindedArtes[2]);
- privateData.set(R0C1,bindedArtes[3]);
- privateData.set(R1C1,bindedArtes[4]);
- privateData.set(R2C1,bindedArtes[5]);
- privateData.set(R0C2,bindedArtes[6]);
- privateData.set(R1C2,bindedArtes[7]);
- privateData.set(R2C2,bindedArtes[8]);
- }
- }
- public void activateArte(int arteIndex)
- {
- this.consumeMana(50.0F);
- System.out.printf("Mana: %f", this.playerMana);
- }
- public void consumeMana(float points)
- {
- if (this.playerMana - points < 0.0F)
- {
- this.playerMana = 0.0F;
- }
- else
- {
- this.playerMana -= points;
- }
- if (!this.player.world.isRemote)
- {
- Necropolis_of_Nostalgia.packetHandler.sendTo(new SyncPlayerStats(this.playerMana, bindedArtes[0],bindedArtes[1],bindedArtes[2],bindedArtes[3],
- bindedArtes[4],bindedArtes[5],bindedArtes[6],bindedArtes[7],bindedArtes[8]), this.player);
- }
- }
- public void fillMana(float points)
- {
- if (this.playerMana + points > playermaxMana)
- {
- this.playerMana = this.playermaxMana;
- }
- else
- {
- this.playerMana += points;
- }
- }
- private void updateMana()
- {
- if (getMana() > playermaxMana)
- {
- setMana(playermaxMana);
- }
- else
- {
- regenTime += 1.0F/ 20.0F;
- if (regenTime >= 3.0F / manaRegenTime)
- {
- if (this.getMana() < this.playermaxMana)
- {
- this.fillMana(regenRate);
- }
- regenTime-= 3.0F / manaRegenTime;
- }
- }
- if (this)
- privateData.set(MANA, this.getMana());
- }
- private void setPlayerStats()
- {
- this.setManaRegenRate(1.0F);
- this.playermaxMana = 256F;
- this.pArteCoolDown = 0;
- this.currentpArte = 0;
- this.attackProgress = 1.0F;
- this.activatepArte = false;
- this.inBufferZone = true;
- }
- public void setActivatepArte(boolean val)
- {
- this.activatepArte = val;
- }
- public void setMana(float points)
- {
- this.playerMana = points;
- privateData.set(MANA, points);
- }
- public void setcurrentPArte(int key)
- {
- this.currentpArte = key;
- this.pArteCoolDown = 0;
- }
- public void setArteAtIndices(int[] args)
- {
- for (int i = 0; i < 9; i++)
- {
- this.bindedArtes[i] = args[i];
- }
- if (!this.player.world.isRemote)
- {
- privateData.set(R0C0,bindedArtes[0]);
- privateData.set(R1C0,bindedArtes[1]);
- privateData.set(R2C0,bindedArtes[2]);
- privateData.set(R0C1,bindedArtes[3]);
- privateData.set(R1C1,bindedArtes[4]);
- privateData.set(R2C1,bindedArtes[5]);
- privateData.set(R0C2,bindedArtes[6]);
- privateData.set(R1C2,bindedArtes[7]);
- privateData.set(R2C2,bindedArtes[8]);
- }
- }
- public void setArteAtIndex(int i1, int i2) //i2 is the index within the full list of artes
- {
- this.bindedArtes[i1] = bindedArtes[i2];
- }
- public int getArteAtIndex(int i1)
- {
- return this.bindedArtes[i1];
- }
- public void setMouseClick(int key)
- {
- this.currentCol = key;
- }
- public int getMouseClick()
- {
- return this.currentCol;
- }
- public boolean getInBufferZone()
- {
- return this.inBufferZone;
- }
- public int getCurrentpArte()
- {
- return bindedArtes[this.currentpArte + this.currentCol * 3];
- }
- public int getCurrentArteIndex()
- {
- return this.currentpArte + this.currentCol * 3;
- }
- public float getpArteTime()
- {
- if (this.inBufferZone == true)
- {
- return 1.0F;
- }
- else
- {
- return 0.0F;
- }
- }
- public float getMana()
- {
- return this.playerMana;
- }
- public float getManaRegenTime()
- {
- return this.manaRegenTime;
- }
- public void forceUpdate()
- {
- privateData.setDirty(MANA);
- privateData.setDirty(R0C0);
- privateData.setDirty(R1C0);
- privateData.setDirty(R2C0);
- privateData.setDirty(R0C1);
- privateData.setDirty(R1C1);
- privateData.setDirty(R2C1);
- privateData.setDirty(R0C2);
- privateData.setDirty(R1C2);
- privateData.setDirty(R2C2);
- }
- public void printArtes()
- {
- System.out.print(this.player.world.isRemote);
- System.out.print(privateData.get(R0C0));
- System.out.print(privateData.get(R1C0));
- System.out.print(privateData.get(R1C0));
- System.out.print(privateData.get(R0C1));
- System.out.print(privateData.get(R1C1));
- System.out.print(privateData.get(R1C1));
- System.out.print(privateData.get(R0C2));
- System.out.print(privateData.get(R1C2));
- System.out.print(privateData.get(R1C2));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement