Modding FR

mysterioxes

Bucheron
8 Juin 2011
118
0
11
bonjour et me revoila pour un nouveau problème au niveau d'un mob plus particulièrement une abeille et de sa texture..bon alors voila j'ai un problème avec sa texture elle ne se coordonne pas au corps portant cela marchait très bien sous techne
j'aimerais aussi qui spawn le jour et pas la nuit
 

redleouf

Aventurier
14 Novembre 2010
18
0
1
Bonjour à tous !

Je débute pour les mods de Minecraft et je me suis pour l'instant arrêter au tuto 4 pour m'amuser et m'entrainer a créer des cubes normale.

J'essaye de créer un cube d’éponge (qui n’éponge pas pour le moment car je verrai ça plus tard si j'ai envie) mais je rencontre un problème.

J'ai beau bien écrire sur la ligne:

public BlockMyBloc(int i, int j)
{
super(i, j, Material.ground);
}

Qui est donc sensé faire que mon block se creuse plus vite a la pelle mais ensuite, en jeu, que je le creuse a la pelle ou a la main c'est exactement la même chose !

Voila pour le problème :p

Pendant que je suis la j'en profite pour poser 2 petite question ^^

1) J'aimerai que mon block éponge flotte sur l'eau exactement comme un bateau mais sans que je puisse monter dedans, est-ce possible avec un block normale ou faut t-il qu'il sois une entier obligatoirement ?

2) J'aimerai que comme la viande, mon cube ne sois stackable que par 1 et non 64, dans quelle fichier je devrai chercher la commande le permettant ?

Merci d'avance pour tout !! :D
 

ulko10

Bucheron
20 Avril 2011
367
3
13
Pour stacker les item par 1 chercher autour de la commande :

Maxstacksize = 1

Pour la question 1 si tu t'est arreter au tuto 4 n'essai meme pas
 

arkos59

Aventurier
14 Avril 2011
12
0
0
Bonjour à tous !

Avant tout, merci beaucoup pour ce tuto !

J'ai un petit soucis sur la création d'un bloc d'escalier en stone...
voici mon code :

Code:
package net.minecraft.src;

public class mod_barriere extends BaseMod
{
	public mod_barriere()
	{
		ModLoader.RegisterBlock(Cfence);
		ModLoader.RegisterBlock(SStairs);
		ModLoader.AddName(Cfence, "Cobblestone Fence");
		ModLoader.AddName(SStairs, "Stone Stairs");
		ModLoader.AddRecipe(new ItemStack(Cfence, 4), new Object[] 
		{"###", "###", Character.valueOf('#'), Block.cobblestone});
		ModLoader.AddRecipe(new ItemStack(SStairs, 4), new Object[] 
		{"#", "##", "###", Character.valueOf('#'), Block.stone});
	}
	
	public static final Block Cfence = (new BlockFence(185,16)).setHardness(2.0F).setResistance(10F).setBlockName("Cobblestone's Fence").setStepSound(Block.soundStoneFootstep);
	public static final Block SStairs = (new BlockStairs(186,Block.stone)).setHardness(2.0F).setResistance(10F).setBlockName("Stone Stairs").setStepSound(Block.soundStoneFootstep);
	public String Version()
	{
		return "1.0";
	}
}

J'ai don créé un bloc de barrière en cobblestone, celui ci marche sans soucis.

Mais lorsque je me suis attaqué à l'escalier en stone, j'ai rencontré un léger problème.

cette ligne ci :
Code:
public static final Block SStairs = (new BlockStairs(186,Block.stone)).setHardness(2.0F).setResistance(10F).setBlockName("Stone Stairs").setStepSound(Block.soundStoneFootstep);
me demande en 2éme paramètre une variable (objet?) de type Block.
j'ai donc testé de mettre Block.stone pour créer un escalier de stone.
Le compilateur ne renvoie pas d'erreur mais le jeu crash au lancement me donnant cette erreur :

Java: 1.6.0_26, Sun Microsystems Inc.
VM: Java HotSpot(TM) Client VM (mixed mode), Sun Microsystems Inc.
LWJGL: 2.4.2
OpenGL: GeForce 6600 GT/PCI/SSE2/3DNOW! version 2.1.2, NVIDIA Corporation

java.lang.StringIndexOutOfBoundsException: String index out of range: 6
at java.lang.String.charAt(String.java:686)
at net.minecraft.src.CraftingManager.addRecipe(CraftingManager.java:261)
at net.minecraft.src.ModLoader.AddRecipe(ModLoader.java:330)
at net.minecraft.src.mod_barriere.<init>(mod_barriere.java:13)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at net.minecraft.src.ModLoader.addMod(ModLoader.java:224)
at net.minecraft.src.ModLoader.readFromClassPath(ModLoader.java:1022)
at net.minecraft.src.ModLoader.init(ModLoader.java:687)
at net.minecraft.src.ModLoader.AddAllRenderers(ModLoader.java:121)
at net.minecraft.src.RenderManager.<init>(RenderManager.java:65)
at net.minecraft.src.RenderManager.<clinit>(RenderManager.java:158)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:138)
at net.minecraft.client.Minecraft.run(Minecraft.java:435)
at java.lang.Thread.run(Thread.java:662)
--- END ERROR REPORT 3165e220 ----------


Je ne comprend pas d'ou viens l'erreur...

Merci d'avance !

Cordialement, Arkos59.
 

Jamatofu

Aventurier
19 Avril 2011
78
0
1
Salut!

J'ai crée une entité qui se nomme EntityShuriken (une flêche) et j'ai fait un render qui se nomme RenderShuriken. Puis pour relier le tout, j'ai mis ce code qui li le render à l'entité.

Code:
ModLoader.RegisterEntityID(EntityShuriken.class, "Shuriken", ModLoader.getUniqueEntityId());
	public void AddARenderer(Map map)
		{
			map.put(EntityShuriken.class, new RenderShuriken());
		}

Mais quand je lance le shuriken, il y a toujours un cube blanc qui apparait. Je crois que c'est à cause du ModLoader.Register[...].

Vous avez une idée d'où vient l'erreur?
 

Mack

Architecte en herbe
3 Juin 2011
123
5
124
Mack a dit:
Bon, j'ai finalement réussis mes problème de la page précédente.
Mais maintenant, j'en ai une autre :
Comment faire pour utiliser une planche de sprite ?
Parce que pour l'instant, j'ai une image par objets ...
J'ai pas beaucoup d'objet, mais bon, j'aimerai bien tout mettre sur une seule image.

De plus, j'ai une seconde question :
Comment faire pour que le bloc s'oriente comme un piston ?
En gros, suivant comment le joueur place le bloc, je voudrais que ce dernier s'oriente de certaine façon. ( En gros, c'est vraiment comme le piston que je voudrais ... )
J'ai beau chercher, je trouve pas ...
Dans le même genre, comment faire pour donner une texture "custom" à un bloc à l'interrieur de celui ci ?
En gros, comment faire pour qu'une seule de ses faces et un côté custom ?
Si on le veux pas custom il suffit de faire un truc comme ça :
Code:
 public int getBlockTextureFromSideAndMetadata(int i, int j)
    {
        if(i == 1)
        {
            return 1;
        }
        else
        {
            return blockIndexInTexture;
        }
    }
Et le bloc du dessus est pas le même, mais il doit resté dans Terrain.png. Comment faire pour prendre l'image à autre part ?

Et autre question :
Comment faire pour activer des trucs seulement si le bloc et parcourut par du courant ?
Enfin, plus exactement, je voudrais faire que si le bloc reçoit du courant redstone, un truc se passe une seule fois. Et dès que le courant passe plus, un au truc se passe ( Une seule fois aussi. )


Merci d'avance.