4 votes

Générer tous les blocs d'un type en tant que blocs d'un autre type ?

Existe-t-il un mod ou une autre méthode qui me permettrait d'avoir un monde dans lequel chaque fois qu'un type de bloc serait normalement généré, un autre le serait à la place ? Plus précisément, je pensais qu'il serait intéressant et difficile d'essayer de jouer dans un monde où tout le bois généré serait généré sous forme d'obsidienne et vice versa.

Existe-t-il un moyen de le faire ? Si ce n'est pas le cas, quelqu'un peut-il nous dire à quel point un tel mod serait difficile à créer ? Je n'ai jamais fait de modding de Minecraft auparavant, mais j'ai beaucoup d'expérience en programmation, et si cela ne prend pas trop de temps, j'essaierai de le faire.

2voto

Shadowtrot Points 490

Je sais que c'est une vieille question mais si vous n'avez pas trouvé une solution ou un mod qui implémente déjà cette fonctionnalité, je jette un coup d'œil rapide sur les sources Minecraft générées par le dernier Minecraft Coder Pack (9.03 pour Minecraft 1.7.2) et dans la classe BlockSapling (net.Minecraft.block.BlockSapling) j'ai trouvé une liste d'importations pour les types d'arbres qui peuvent être cultivés à partir de jeunes pousses.

import net.minecraft.world.gen.feature.WorldGenBigTree;
import net.minecraft.world.gen.feature.WorldGenCanopyTree;
import net.minecraft.world.gen.feature.WorldGenForest;
import net.minecraft.world.gen.feature.WorldGenMegaJungle;
import net.minecraft.world.gen.feature.WorldGenMegaPineTree;
import net.minecraft.world.gen.feature.WorldGenSavannaTree;
import net.minecraft.world.gen.feature.WorldGenTaiga2;
import net.minecraft.world.gen.feature.WorldGenTrees;
import net.minecraft.world.gen.feature.WorldGenerator;

Les classes génératrices d'arbres disposent de méthodes de génération

public boolean generate(World, Random, int, int, int)

Comme il s'agit des principales classes génératrices d'arbres pour la génération de mondes, vous pourriez trouver l'endroit où elles créent les journaux (Blocks.log et Blocks.log2) et changer le type généré.

Gardez à l'esprit que vous devrez modifier le bloc que les feuilles recherchent lorsqu'elles font leur tic aléatoire (si vous voulez toujours des feuilles). D'après ce que je vois, vous devez modifier la ligne 134 (telle qu'elle est générée par cette version de MCP) dans net.Minecraft.block.BlockLeaves

if (var15 != Blocks.log && var15 != Blocks.log2)

à

if (var15 != Blocks.obsidian)

Pour ce qui est de la transformation de l'obsidienne en billes, il faut procéder comme suit :

Dans BlockLiquid.java (net.Minecraft.block.BlockLiquid) à la ligne 526 (tel que généré par cette version de MCP) vous trouverez

p_149805_1_.setBlock(p_149805_2_, p_149805_3_, p_149805_4_, Blocks.obsidian);

qui, une fois désobfusqué, serait

par1World.setBlock(xCoord, yCoord, zCoord, Blocks.obsidian);

vous devez remplacer Blocks.obsidian par Blocks.log et éventuellement définir une valeur aléatoire pour les métadonnées.

Si vous voulez aussi que l'obsidienne à la fin soit générée comme des logs, vous devez éditer net.Minecraft.world.gen.feature.WorldGenSpikes, à la ligne 55 (également comme généré par le MCP actuel), vous devez faire la même chose que ci-dessus.

Comme je l'ai vu dans l'un des commentaires, il y a le problème du bois qui est brûlé par la lave avant que le joueur ne puisse l'atteindre. La solution à ce problème est aussi la raison pour laquelle il n'a jamais été un problème. La seule fois où l'obsidienne est créée naturellement, c'est dans The End (les piliers d'obsidienne) et chaque fois que l'eau coule sur la lave. Comme il n'y a pas d'air autour de l'obsidienne (qu'il s'agisse de pierre, de gravier, de minerai, d'eau ou de lave), le feu ne peut pas être allumé et ne peut pas détruire les rondins.

Edit : Si vous voulez changer le comportement et le type de bloc utilisé par les portails du Nether, cela pourrait être un peu plus compliqué, et changer cela entraînerait la possibilité de portails brûlants, puisqu'ils peuvent être générés près du feu ou de la lave dans l'un ou l'autre des mondes.

1voto

Mark Points 599

Si vous essayez cette méthode en mode solo, vous pouvez limiter le nombre de terres générées, puis suivre les étapes suivantes :

  1. Télécharger MCedit à partir de aquí .
  2. Allez dans MCedit, puis ouvrez votre monde.
  3. Regardez une vidéo sur la façon de sélectionner une zone dans MCedit, puis sélectionnez votre zone limitée.
  4. Appuyez sur la touche 4 de votre clavier.
  5. Choisissez votre bloc de remplacement, puis cliquez sur ok.
  6. Cliquez sur remplacer, sélectionnez le deuxième bloc à remplacer.
  7. Cliquez sur remplacer.

À moins que vous ne vouliez rendre le monde entier comme ça, mais cela prendra beaucoup plus de temps :

  1. Étapes 1-2
  2. Appuyer sur Ctrl+A
  3. Étapes 4-7

0voto

NixillUmbreon Points 1

Il n'existe pas de mods de ce type à ma connaissance, mais je ne vois pas pourquoi il serait si difficile à réaliser. Pour moi, la partie la plus difficile serait probablement l'interface où vous feriez le choix des blocs à remplacer et par quoi.

Ce que je pense de la façon dont vous pourriez faire cela (bien que je sois presque dans le même bateau que vous - j'ai à peine moddé Minecraft mais j'ai beaucoup d'expérience en programmation), c'est que vous pourriez simplement prendre le générateur de monde existant et utiliser des variables pour chaque type de bloc qui serait généré. L'interface vous permettrait de changer les valeurs de ces variables, puis ces variables seraient introduites dans le générateur et créeraient votre monde personnalisé.

0voto

einsteinsci Points 140

Je ne connais pas de mod de remplacement à l'identique, mais si vous voulez changer les taux de génération de minerais et ajouter de nouveaux "minerais" de n'importe quel bloc, vous pouvez consulter CoFHCore. Il dispose d'un fichier de configuration pour affecter la génération de monde. Je l'ai configuré pour générer des "veines" de Melonium (blocs de melon) dans le monde.

0voto

PWM Points 121

Il n'y a pas de mods de ce type, mais avant de (peut-être) commencer à coder quoi que ce soit, jetez un coup d'œil à mcedit. C'est un programme gratuit pour modifier vos sauvegardes.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X