Résolu Probleme de Capabilities
-
Salut, j’ai un petit problème contraignant avec mes capabilities
Tout va bien sur le système de capabilities des Niveau de joueur
Lorsque je me connecte je vois bien les capabilities (Niveau de joueur) apparaitre dans mon GUI mais lorsque je meurs pouf plus rien mais lorsque j’actualise mon xp ça se remet a la normalExemple :
Je meurs je suis niveau 10 xp 1500
Je respawn je suis niveau 1 xp 0
Je recupere de l’xp je repasse a 10 niveau 1510 xpça fait un moment que je cherche comment faire j’ai essayer des tickevent de syncro refaire mes packets mon event de clone et de respawn mais rien
@SubscribeEvent public void onPlayerCloned(PlayerEvent.Clone event) { if (event.wasDeath) { System.out.println("test"); MoneyCapabilities cap = event.original.getCapability(Arthania.MONEY_CAP, null); MoneyCapabilities newCap = event.entityPlayer.getCapability(Arthania.MONEY_CAP, null); newCap.setMoney(cap.getMoney()); CaractCapabilities cap1 = event.original.getCapability(Arthania.CARAC_CAP, null); CaractCapabilities newCap1 = event.entityPlayer.getCapability(Arthania.CARAC_CAP, null); newCap1.setEarth(cap1.getEarth()); newCap1.setLife(cap1.getLife()); newCap1.setFire(cap1.getFire()); newCap1.setWater(cap1.getWater()); newCap1.setBase(cap1.getBase()); LevelCapabilities cap2 = event.original.getCapability(Arthania.LEVEL_CAP, null); LevelCapabilities newCap2 = event.entityPlayer.getCapability(Arthania.LEVEL_CAP, null); newCap2.setLevel(cap2.getLevel()); newCap2.setXp(cap2.getXp()); System.out.println(cap1.getBase()); } } @SubscribeEvent public void onPlayerRespawn(PlayerRespawnEvent event) { if (!event.player.worldObj.isRemote) { event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(60 + (5 * event.player.getCapability(Arthania.LEVEL_CAP, null).getLevel()) + (event.player.getCapability(Arthania.CARAC_CAP, null).getLife())); if (event.player.hasCapability(Arthania.MONEY_CAP, null)) { event.player.getCapability(Arthania.MONEY_CAP, null).sync(); } if (event.player.hasCapability(Arthania.CARAC_CAP, null)) { event.player.getCapability(Arthania.CARAC_CAP, null).sync(); } if (event.player.hasCapability(Arthania.LEVEL_CAP, null)) { event.player.getCapability(Arthania.LEVEL_CAP, null).sync(); } } } @SubscribeEvent public void onPlayerLogin(PlayerLoggedInEvent event) { if (event.player.hasCapability(Arthania.MONEY_CAP, null)) { event.player.getCapability(Arthania.MONEY_CAP, null).sync(); } if (event.player.hasCapability(Arthania.CARAC_CAP, null)) { event.player.getCapability(Arthania.CARAC_CAP, null).sync(); } if (event.player.hasCapability(Arthania.LEVEL_CAP, null)) { event.player.getCapability(Arthania.LEVEL_CAP, null).sync(); } event.player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(60 + (5 * event.player.getCapability(Arthania.LEVEL_CAP, null).getLevel()) + (event.player.getCapability(Arthania.CARAC_CAP, null).getLife())); }
-
Je remonte un chouilla le sujet personne n’a jamais eu se problème ?
Ou un indication sur se qu’il bug ? -
J’ai du mal à identifier ton problème, qu’est ce que tu veux faire ou quel est le résultat attendu ?
-
Effectivement j’ai oublier se poste problème résolue :tick server et sync toutes les 30 secs