Zoom arc
-
As-tu essayé de changer de version de minecraft ? Car la 1.7.2 n’est pas stable
-
Je ne veux pas passer en 1.7.10 car les skins cauldron 1.7.10 sont bugués
-
C’est à dire ?
Car le problème c’est que ton problème peut venir de là
-
Je vais essayé en 1.7.10 mais je ne pense pas que sa vienne de là
EDIT: Non toujours le même problème, l’arc fonctionne parfaitement sauf le zoom et se que je voulais dire c’est que je préfère rester en 1.7.2 car en 1.7.10 le multijoueur est bugué et n’affiche pas les skins
-
Après quelques recherches, j’ai trouvé l’endroit qui pose problème : EntityPlayerSP:329 (si le numéro de ligne est le même sur ta version). Afin de modifier ça, créer un event handler pour intercepter l’event FOVUpdateEvent pour modifier la valeur en fonction du temps d’utilisation de ton item
-
Heu …. Quoi ? ^^ Je ne suis qu’un débutant tu peux développer s’il te plaît ?
Créer un event jusque là ça va mais après j’ai pas compris ^^ -
Pour savoir comment utiliser les events : https://www.minecraftforgefrance.fr/showthread.php?tid=716
Tu dois utiliser l’event FOVUpdateEvent afin de modifier le FOV du joueur.
-
@‘ErkoZ’:
Je ne veux pas passer en 1.7.10 car les skins cauldron 1.7.10 sont bugués
Les skins fonctionnent en 1.7.10.
Si ce n’est pas le cas c’est parce que ton serveur est en mode offline. Ce qui n’est pas bien du tout. -
@SubscribeEvent public void onTooltip(FOVUpdateEvent event) { float f = 1.0F; if(event.entity.isUsingItem() && event.entity.getItemInUse().getItem() == mod.emerald_bow) { int i = event.entity.getItemInUseDuration(); float f1 = (float)i / 20.0F; if (f1 > 1.0F) { f1 = 1.0F; } else { f1 *= f1; } f *= 1.0F - f1 * 0.15F; } } }J’ai fait un truc comme ça mais ça ne marche pas… Comprend pas

-
As-tu enregistré l’event ?
Pourquoi avoir appelé ta fonction onTooltip ?
Ici tu ne fais que des calculs sans jamais spécifié la valeur retournée, regarde les fonctions disponibles -
onToolTIp car à la base c’est un copié collé du tuto de Robin mais je vais changer et oui j’ai enregistré l’event.
J’ai fait un truc qui ressemble à ça, j’ai copié du code du fov de l’arc de Minecraft mais il crash:
@SubscribeEvent public float onUseBow(FOVUpdateEvent event) { float f = 1.0F; if (event.entity.capabilities.isFlying) { f *= 1.1F; } IAttributeInstance iattributeinstance = event.entity.getEntityAttribute(SharedMonsterAttributes.movementSpeed); f = (float)((double)f * ((iattributeinstance.getAttributeValue() / (double)event.entity.capabilities.getWalkSpeed() + 1.0D) / 2.0D)); if (event.entity.capabilities.getWalkSpeed() == 0.0F || Float.isNaN(f) || Float.isInfinite(f)) { f = 1.0F; } if (event.entity.isUsingItem() && event.entity.getItemInUse().getItem() == Items.bow) { int i = event.entity.getItemInUseDuration(); float f1 = (float)i / 20.0F; if (f1 > 1.0F) { f1 = 1.0F; } else { f1 *= f1; } f *= 1.0F - f1 * 0.15F; } return ForgeHooksClient.getOffsetFOV(event.entity, f); } -
Les fonctions d’event doit être des void.
-
Mais si je met void le return ne fonctionne pas alors comment je pourrais faire ?
-
Remplaces
return ForgeHooksClient.getOffsetFOV(event.entity, f);
par
event.newfov = f; -
@‘robin4002’:
Remplaces
return ForgeHooksClient.getOffsetFOV(event.entity, f);
par
event.newfov = f;Merci ça marche !