Non résolu Informations sur la météos
-
Bonjour, je souhaiterai vérifier qu’il fait beau dans le monde d’un joueur, je me suis dis qu’avec
WorldServer worldserver = MinecraftServer.getServer().worldServers[0]; WorldInfo worldinfo = worldserver.getWorldInfo(); while(!worldinfo.isRaining() || !worldinfo.isThundering()){ System.out.println("Il fais beau"); }
je pourrai vérifier qu’il fais bien beau mais le problème c’est que je ne sais pas du tout dans quel event mettre ça
-
Tout dépend de ce que tu veux faire avec la météo.
Par contre la boucle while n’a rien à faire là, elle va bloquer le jeu.
(et il manque le mot clé de version à ta demande d’aide …).
-
Ah pardon ^^" normalement c’est bon la
Je souhaite faire une armure qui regen de la dura quand il fait beau
-
Dans ce cas c’est dans la classe de ton armure qu’il faut ajouter la fonction onArmorUpdate et c’est dans celle-ci qu’il faut vérifier la condition.
-
@robin4002 D’accord merci de tes réponses ,du coup si je met
if(!worldinfo.isRaining() || !worldinfo.isThundering() || worldserver.getWorldTime() >= 1000 || worldserver.getWorldTime() < 13000){ mon code }
je suis sur que mon code ne sera effectué que de jour non ?
-
Quand je met
@Override public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { WorldServer worldserver = MinecraftServer.getServer().worldServers[0]; WorldInfo worldinfo = worldserver.getWorldInfo(); if(!worldinfo.isRaining() || !worldinfo.isThundering() || worldserver.getWorldTime() >= 1000 || worldserver.getWorldTime() < 13000){ System.out.println("Il fait beau et jour"); } }
Le sysout spam même si il fait nuit ou si il pleut
-
Il faut utiliser l’opérateur et pas le ou.
-
@robin4002 j’avais même pas vue dsl --’
-
Je suis confronté à un nouveau problème, si mon armure est à 700/760 de dura et que je la regen si je deco reco la dura est re set à 700/760
(je regen l’armure comme ça)public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { WorldServer worldserver = MinecraftServer.getServer().worldServers[0]; WorldInfo worldinfo = worldserver.getWorldInfo(); if(!worldinfo.isRaining() && !worldinfo.isThundering() && worldserver.getWorldTime() >= 1000 && worldserver.getWorldTime() < 13000){ cooldown++; if(cooldown == time){ setCooldown(0); itemStack.setItemDamage(itemStack.getItemDamage() -1); } } }
Je penses pouvoir faire quelque chose avec nbttag mais je ne sais pas trop m’en servir
-
Tu ne peux pas simplement faire world.getWorldInfo() au lieu de get le premier world de worldServers ?
Essaies de mettre le tout dans une conditionif(!world.isRemote)
. -
Oui j’avais aussi essayé avec
if(!world.isRemote)
Mais le problème reste le même
-
@tatsugui non c’est bon problème reglé