Les choses étranges du code de Minecraft
-
Sauf que là çà devrait pas être le cas, comme j’ai dit, mon code static fonctionne côté serveur.
-
Si cette fonction n’existe pas côté serveur ça ne veut pas forcément dire qu’elle ne peut pas fonctionner côté serveur, ça veut dire que Mojang n’en a pas besoin côté serveur.
-
Pour continuer le sujet, je n’aurai que deux mot:
Les. BlockPos.
Ils auraient au moins pu faire en sorte de les réutiliser au lieu de surcharger le GC. -
Moi j’ai une petite trouvaille, la class MinecraftError:
@SideOnly(Side.CLIENT) public class MinecraftError extends Error { private static final String __OBFID = "CL_00000657"; }Conclusion: Utilité: 0%
-
+1 xavpok. J’espère qu’ils ne seront plus là en 1.9.
-
@67clement il y a le nom de la classe ce qui fait qu’au lieu d’afficher “Error”, çà affiche “MinecraftError” donc on sait que çà vient de Minecraft.
@jglrxavpok +1.
-
J’étais en train de faire des tests avec Isador, lorsque j’ai remarqué ceci :
Faites un Math.cos(Math.PI) et MathHelper.cos(Math.PI), au début je croyais que l’un utilisait les radians et l’autres les degrés sauf que ce n’est pas le cas, les 2 utilisent les radians. Sauf que celui de MathHelper a moins de précision et qu’il utilise ses propres valeurs. -
Ah, bon à savoir, il faut utiliser le premier
-
Pas forcément! MathHelper utilise ce qu’on appelle une “lookup table” et une interpolation (de mémoire, je n’ai pas le code sous les yeux) pour avoir les résultats plus rapidement, ça permet d’éviter de faire le calcul à chaque appel de cos.
-
Oui mais en attendant cette méthode fait perdre de la précision et mange de la mémoire : donc je sais pas si la gain est si important que çà au niveau des performances.
-
net.minecraft.item.Item$ToolMaterial :
WOOD(0, 59, 2.0F, 0.0F, 15), STONE(1, 131, 4.0F, 1.0F, 5), IRON(2, 250, 6.0F, 2.0F, 14), EMERALD(3, 1561, 8.0F, 3.0F, 10), GOLD(0, 32, 12.0F, 0.0F, 22); /** The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = WOOD/GOLD) */ private final int harvestLevel;Diamant ou émeraude? >.<’
-
Emerald est bien Diamond. Le nom du field n’a juste pas changé, en fait.
-
@‘elias54’:
Emerald est bien Diamond. Le nom du field n’a juste pas changé, en fait.
Oui il me semble qu’en 1.9 Nathan avait parlé du fait qu’il avais enfin remplacer tout les EMERALD par diamond ^^
-
Oui sauf que là ça vient de MinecraftForge qui n’a pas changé ses mappings.
-
@‘jglrxavpok’:
Oui sauf que là ça vient de MinecraftForge qui n’a pas changé ses mappings.
Mauvais MF ! ;o
-
La classe BlockVine a attiré mon attention.
Pourquoi elle n’utilise pas un EnumFacing comme les autre classes qui nécessite un placement particulier ? A la place, elle utilise une série de PropertyBool
-
Il me semble que c’est parce que les vignes peuvent êtres présentes sur plusieurs faces
-
J’ai trouvé. C’est parce qu’une vigne peut être soutenue soit par la vigne du dessus, soit par le bloc sur lequel elle est apposée

-
@‘Blackout’:
une vigne peut être soutenue par la vigne du dessus
Ce qui est bizarre en soit puisque les blocs de Minecraft ne sont pas soumis à la gravité…
-
Je vais plutôt parler du code Forge cette fois :
L’event ChunkDataEvent.Load est propagé lorsque les données NBT d’un Chunk sont chargé.
L’event ChunkDataEvent.Save est propagé lorsque les données NBT d’un Chunk sont sauvegardée.L’event ChunkEvent.Load est propagé lorsqu’un Chunk est chargé
L’event ChunkEvent.Unload est propagé lorsqu’un Chunk est déchargé.ChunkDataEvent.Load est propagé AVANT ChunkEvent.Load.
Donc dans mon handler de ChunkDataEvent.Load, je charge les données, mais j’en fais quoi ??!
Puis qu’imaginons que le Chunk ne soit finalement pas chargé, je n’ai aucun moyen de le savoir.
ChunkEvent.Load ne va pas être propagé, et ChunkEvent.Unload non plus.Je pense faire un point sur le forum officiel de Forge. Si toutefois vous avez des explications, je prends !


