Modifier le nombre de ticks de la journée et de la nuit


  • Salut
    Je vous le dit franchement, vous allez peut-être pas comprendre car comme j’explique comme un pied… Mais je vais faire de mon mieux ^^

    En fait, j’aimerai modifier les ticks du jour et ceux de la nuit(mettre le jour moins longtemps et la nuit plus longtemps)
    Est ce que c’est possible et si oui, comment ?
    Merci d’avance

    PS : J’ai chercher dans le fichier qui pour moi étais logique(donc dans net.minecraft.world world.java ; et ben non)


  • Personne ?
    Je ne sais pas dans quel fichier chercher


  • Merci de patienter pour une réponse.

    Les membres du site, et l’équipe ne peuvent pas répondre rapidement tout le temps.

    Le Week-End se présentant, une réponse arriveras sûrement.


  • Salut

    Si vous ne comprenez pas n’hésitez pas à me demander


  • Personne ?
    En fait, j’aimerai mettre la nuit à environ 15 minutes(temps réel) et le jour environ 5 minutes(temps réel)
    Je pense que ce n’est que des chiffres à modifier, mais je ne sais pas c’est quel fichier.

    Merci d’avance pour vos éventuelles réponses

    PS : J’ai calculer : 5 minutes réel = 6000 ticks & 15 minutes réel = 18000 ticks car
    20 ticks = 1 seconde réel
    donc
    1200 ticks = 1 minute réel
    donc
    6000 ticks = 5 minutes réel
    donc
    18000 ticks = 15 minutes réel

  • Modérateurs

    Déjà:
    1 tick = 0.1 s
    600 ticks = 1 min
    3000 ticks = 5 mins
    9000 ticks = 15 mins

  • Administrateurs Rédacteurs Moddeurs confirmés

    Non, minecraft tourne à 20 tick par seconde. Si tu as moins de 20 tick par seconde (/forge tps) c’est que ton serveur/ta map lag.

  • Modérateurs

    J’ai toujours pensé que 10 faisaient 1 seconde, surtout lors des systèmes redstone expliqué par aypierre.


  • aypierre dans certaine de ses video explique que 20 tick fait 1 second(je ne sais plus dans quel video il le dit 😕 )

    –------------EDIT----------------
    Axaurus regarde dans le package net.minecraft.world.storage il y a une classe qui s’appelle WorldInfo

  • Administrateurs

    @‘Superloup10’:

    J’ai toujours pensé que 10 faisaient 1 seconde, surtout lors des systèmes redstone expliqué par aypierre.

    Aypierre ne connait pas le vrai système technique de Minecraft (nombre de ticks etc…). Surtout que là il a dit une grosse bêtise en disant que 10 ticks = 1 seconde…

  • Modérateurs

    Ok, de toute façon, on en apprend tous les jours.


  • on est là pour aider Axaurus –’


  • Salut
    J’ai chercher dans le fichier, mais je ne trouve pas

    J’ai lu tout le fichier, mais non : rien

    Peut être que je sais pas chercher

    Mais pouvez vous m’indiquez c’est dans quel condition, ou quel ligne pour modifier ?

    Merci d’avance


  • désoler j’ai rien trouver d’autres 😕

  • Modérateurs

    Dans WorldInfo.java, tu devrais avoir ceci:

    private long worldTime;
    

    Avec la réflexion (Java, pas de ton cerveau… quoi qu’il faut bien l’utiliser ici ^^’), tu devrais pouvoir détecter si c’est la nuit ou le jour et accélérer/ralentir artificiellement le temps du monde


  • Petit cours sur les ticks :

    Dans Minecraft, il y a DEUX types de ticks :

    Les ticks du jeu
    Les “redstone ticks”

    Le tick du jeu représente 0.05 secondes ( 20 ticks = 1 seconde )
    Le “redstone tick” représente 0.1 seconde ( 10 redstone ticks = 1 seconde ).


  • @‘jglrxavpok’:

    Dans WorldInfo.java, tu devrais avoir ceci:

    private long worldTime;
    

    Avec la réflexion (Java, pas de ton cerveau… quoi qu’il faut bien l’utiliser ici ^^’), tu devrais pouvoir détecter si c’est la nuit ou le jour et accélérer/ralentir artificiellement le temps du monde

    Salut
    Merci, mais je ne peux pas(enfin……, je ne pense pas)
    Car, chaque “truc”(pas explicite) est dans Minecraft.java
    Par exemple :

    ObfuscationReflectionHelper.setPrivateValue(SoundManager.class, mc.sndManager, 999999999, "ticksBeforeMusic", "");
    

    Ici, sndManager est dans le fichier Minecraft.java

    J’ai donc chercher le worldinfo, mais il n’y a pas

    Donc si vous pouvez m’aider, merci d’avance

  • Modérateurs

    Chaque “truc” est dans Minecraft.java…

    Minecraft est looooooooooooooooooooooooooooooooooooooooooooooooin d’avoir une seule classe qui dirige tout (parce que Notch/Dinner bone/jeb_ savent coder un minimum). Et WorldInfo est dans les instances de World 😉


  • Salut
    Donc logiquement, dans la reflection de Forge, il devrait y avoir un truc en rapport avec worldinfo quand je met world et que je met un point après.
    Mais quand je met le point, le seul truc que ça met, c’est MAX_ENTITY_RADIUS
    J’ai donc marquer worldclient après le point, mais ils me disent de le mettre en public(je le fait juste pour tester). Mais une fois que je l’ai mis en public, ils me disent que ce field n’existe pas.
    Donc du coup, je suis bloquer

    Voilà la ligne :

    ObfuscationReflectionHelper.setPrivateValue(WorldInfo.class, World., 0, "ceci_n'est_pas_un_field", "");
    
    
  • Modérateurs

    Ne jamais, au grand JAMAIS, modifier le code source de Minecraft si tu utilises Forge, autant coder en Vanilla sinon.
    De plus, le field worldInfo EXISTE dans World. Je suis pas sûr-sûr que tu connaisses vraiment le principe de la POO (& de la réflexivité.)
    Et il faut que tu ais une instance (variable) de World.

    Ce forum n’étant pas un forum d’apprentissage du java, donc je te redirige donc vers OpenClassroom (anciennement siteduzero.com😞
    http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-java

    Ah aussi, je sens que je vais le répéter, le re-répéter et le re-re-répéter sur le forum… Mais Java est sensible à la casse! wordInfo n’a rien à voir avec worldinfo ou WorldInfo (pareil WORLDINFO).