Modding FR

shadyre

Aventurier
12 Mai 2011
53
0
0
ah oui et j'ai bien fait pareil pour le import java.util.map, le souci n'est pas de la mais que les paramètre qui sont à l'intérieur ... et c'est pas ma spécialité java c'est pour sa que je galère un peu ...

Enfin bref je n'est pas testé car mon mob ne passe pas pour le moment ( je bug sur la déclaration ) ...

Tu peut tester sa : ( je ne sais pas trop à quoi tous correspond, la 3e argument est ok j'ai vérifier, par contre les deux premier ce n'est qu'une suposition, le premier serait le nom du mob en question, le second un ID ? et le dernier je ne sais pas trop comment le déclarer si ce n'est de la manière dont je l'ai faite )

AddSpawn("nom du mob ?", ?, EnumCreatureType.monster, BiomeGenHell)

et sa c'est la déclaration du biome en question :
public static final BiomeGenBase hell = (new BiomeGenHell()).setColor(0xff0000).setBiomeName("Hell").setDisableRain();
 

Sorax

Bucheron
13 Février 2011
577
4
13
28
Ok, merci je test de suite et si ça fonctionne et bien GG, t'as une place dans le readme de mon mod xD.
 

shadyre

Aventurier
12 Mai 2011
53
0
0
xD j'en demande pas tant :) mais merci lool

D'après le code que j'ai lu sa devrait être quelque chose comme sa, mais je n'est pas tester donc je ne garanti rien ...

Et je bloque toujours à la déclaration de mon mob dans la main class -_-' il faut que je trouve un mode qui n'est pas codé "bizarement"
 

Sorax

Bucheron
13 Février 2011
577
4
13
28
Code:
package net.minecraft.src;
	import java.util.*;
	import java.util.Map;
	public class mod_JungleCraft extends BaseMod
	{
        public String Version()
        {
            return "1.5_01";
        }
		
        public mod_JungleCraft()
        {//Recette craftingbox
		ModLoader.AddRecipe(new ItemStack(mybowlMilk, 1), new Object[] {"A", "B", 
		Character.valueOf('A'), ItemBucket.bucketMilk, Character.valueOf('B'), Item.bowlEmpty}); //Recette du bol de lait
		ModLoader.AddRecipe(new ItemStack(myamethyste, 1), new Object[] {"#XY",
		Character.valueOf('#'), myfiolerubis, Character.valueOf('X'), myfiolediamant, Character.valueOf('Y'), myfioleor});
		//Recette amethyste
		
		//Recette Four
		ModLoader.AddSmelting(Item.ingotGold.shiftedIndex, new ItemStack(myfioleor, 1));
		ModLoader.AddSmelting(Item.diamond.shiftedIndex, new ItemStack(myfiolediamant, 1));
		ModLoader.AddSmelting(myrubis.shiftedIndex, new ItemStack(myfiolerubis, 1));
		
		
		//Mobs spawn
		ModLoader.RegisterEntityID(EntityMyGorille.class, "Gorille", ModLoader.getUniqueEntityId());
		ModLoader.RegisterEntityID(EntityGiantZombie.class, "Giant Zombie", ModLoader.getUniqueEntityId());
		ModLoader.RegisterEntityID(EntityMyYetizombie.class, "Yeti Zombie", ModLoader.getUniqueEntityId());
		ModLoader.RegisterEntityID(EntityMyYeti.class, "Yeti", ModLoader.getUniqueEntityId());
		ModLoader.RegisterEntityID(EntityMyMorse.class, "Morse", ModLoader.getUniqueEntityId());
		
		
		ModLoader.AddSpawn(EntityMyGorille.class, 1, EnumCreatureType.monster);
		ModLoader.AddSpawn(EntityGiantZombie.class, 1, EnumCreatureType.monster); //Génération du zombie Géant
		ModLoader.AddSpawn(EntityMyYetizombie.class, 1, EnumCreatureType.monster, BiomeGenHell); //Génération du Yeti zombie
		ModLoader.AddSpawn(EntityMyYeti.class, 1, EnumCreatureType.monster); //Génération du Yeti
		ModLoader.AddSpawn(EntityMyMorse.class, 1, EnumCreatureType.monster); //Génération du Morse
		
		}
		
		public void AddARenderer(Map map)
		
			{
			map.put(EntityMyGorille.class, new RenderBiped(new ModelBiped(),0.5F));//Formation du gorille
			map.put(EntityMyYetizombie.class, new RenderBiped(new ModelBiped(),0.5F));//Formation du yetizombie
			map.put(EntityMyYeti.class, new RenderBiped(new ModelBiped(),0.5F));//Formation du yeti
			map.put(EntityMyMorse.class, new RenderBiped(new ModelBiped(),0.5F));//Formation du morse
			
			}
        
		public void addItems()
			{
			ModLoader.AddName(mybowlMilk, "Bol de lait");
			ModLoader.AddName(mybanane, "Banane");
			ModLoader.AddName(myamethyste, "Amethyste");
			ModLoader.AddName(myrubis, "Rubis");
			ModLoader.AddName(myfioleor, "Orium");
			ModLoader.AddName(myfiolediamant, "Diamonsium");
			ModLoader.AddName(myfiolerubis, "Rubissium");
			ModLoader.AddName(myswordamethyste, "Epee Amethyste");
			}
			
	public static final Item mybowlMilk = 
        (new ItemMybowlMilk(1820,3)).setItemName("mybowlMilk").setIconIndex
        (ModLoader.addOverride("/gui/items.png", "/mod/junglecraft/boldelait.png"));
		//Propriété du bol de lait
		
	public static final Item mybanane =
		(new ItemMyBanane(2010,4)).setItemName("mybanane").setIconIndex
		(ModLoader.addOverride("/gui/items.png", "/mod/junglecraft/banane.png"));
		//Propriété de la banane
        
    public static final Item myamethyste =
		(new ItemMyAmethyste(2011)).setItemName("myamethyste").setIconIndex
		(ModLoader.addOverride("/gui/items.png", "/mod/junglecraft/amethyste.png"));
		//propriété de l'amethyste
	public static final Item myrubis =
		(new ItemMyRubis(2012)).setItemName("myrubis").setIconIndex
		(ModLoader.addOverride("/gui/items.png", "/mod/junglecraft/rubis.png"));
		//Propriété du rubis
	public static final Item myfioleor =
		(new ItemMyFioleOr(2013)).setItemName("myfioleor").setIconIndex
		(ModLoader.addOverride("/gui/items.png", "/mod/junglecraft/fioleor.png"));
		//Propiété de la fiole or
	public static final Item myfiolediamant =
		(new ItemMyFioleDiamant(2014)).setItemName("myfiolediamant").setIconIndex
		(ModLoader.addOverride("/gui/items.png", "/mod/junglecraft/fiolediamant.png"));
		//Propriété de la fiole diamant
	public static final Item myfiolerubis =
		(new ItemMyFioleRubis (2015)).setItemName("myfiolerubis").setIconIndex
		(ModLoader.addOverride("/gui/items.png", "/mod/junglecraft/fiolerubis.png"));
		//Propriété de la fiole rubis
	public static final Item myswordamethyste =
		(new ItemSword(2016, EnumToolMaterial.AMETHYSTE)).setItemName("myswordamethyste").setIconIndex
		(ModLoader.addOverride("/gui/items.png", "/mod/junglecraft/swordamethyste.png"));
		//Propriété de l'épée en amethyste
	
	
	public static final BiomeGenBase hell = (new BiomeGenHell()).setColor(0xff0000).setBiomeName("Hell").setDisableRain();//Biome spawn
	}

Y'a un peu de tout et de n'importe quoi, mais je pense que ça peu aider :).

Sinon ça ne fonctionne pas, il ne reconnait pas la variable BiomeGenHell ni la method .setDisableRain.
 

shadyre

Aventurier
12 Mai 2011
53
0
0
Hum d'accord, je pense qu'il faudrait faire comme pour EnumCreatureType.monster

Trouver ce qui vas : BiomeGenBase.hell par exemple, je vais regarder comment déclarer mon mob gr

Bon ok déjà grace à toi mes mobs passe, je ne les ai pas encore vue, mais je suppose qu'il sont la mdr.

Donc je test dessuite pour trouver le code d'appartition dans le nether

public static final BiomeGenBase hell = (new BiomeGenHell()).setColor(0xff0000).setBiomeName("Hell").setDisableRain();//Biome spawn

sa tu n'as pas besoin de le mettre dans ton code, c'est pour créer un nouveau biome, du moins je pense, sa fait partit de la déclaration de tout les biome à la fin du fichier BiomeGenBase

Alors très bonne nouvelle :

ModLoader.AddSpawn(EntityDamned.class, 1, EnumCreatureType.monster, BiomeGenBase.hell);

SA MARCHE !

Mauvaise, j'ai eu beau chercher je n'est pas trouver mes mobs ... faut'il les ajouter à la spawnlist ? xD

ou le second argument n'est pas une ID mais la valeur du spawrate ...

ah non j'ai une erreur -_-' j'ai du oublier de compiller :s

ah et j'ai bien raison, le second argument est un pourcentage d'apparition ... :

spawnlistentry.spawnRarityRate = i;

i = int i le second args

C'est bien cette méthode qu'il faut utiliser ( public static void AddSpawn(Class class1, int i, EnumCreatureType enumcreaturetype, BiomeGenBase abiomegenbase[]) ), mais comment ...

Je viens de tester environ une vingtaine de syntax et rien n'y fais :s ...

Apparement ( bien que le java ne soit pas ma spécialité ), l'argument abiomegenbase à l'air d'être un tableau, sans doute pour appliquer plusieurs biome pour les spawn, mais moi je ne sais pas comment on utilise les tableau en java ...
 

shadyre

Aventurier
12 Mai 2011
53
0
0
je n'irais pas dormir avant d'avoir trouver la solution -_-'

AddSpawn

public static void AddSpawn(java.lang.Class<? extends kw> entityClass,
int weightedProb,
ko spawnList,
jj... biomes)

Add entity to spawn list for selected biomes.

Parameters:
entityClass - Class of entity to spawn.
weightedProb - Higher number means more likely to spawn.
spawnList - The type of list to add entity to. Monster, Creature, or Water.
biomes - Array of biomes to add entity spawning to.

Voila une méga doc super détailler ...
un seul exemple n'aurais pas été de trop !

Un moment de soulagement pour indiquer qu'après plusieurs heure de dure recherche ...
J'ai enfin trouver la solution :') j'en pleur de joie ...

San plus vous faire attendre voici la syntax pour ajouter les mobs bans le nether :

ModLoader.AddSpawn(EntityDamned.class, 80, EnumCreatureType.monster, (new BiomeGenBase[]{BiomeGenBase.hell}));

Un grand merci à moi même mdr, maintenant je vais pouvoir allez reposer en paix PTDRRR
 

Sorax

Bucheron
13 Février 2011
577
4
13
28
Merci beaucoup, malgrès que je ne puisse pas testé de suite, j'essaierai de testé, si ça fonctionne, promis tu as une petite place dans le crédit du mod :).
 

Sorax

Bucheron
13 Février 2011
577
4
13
28
Sinon tu trouve pas que 80 c'est beaucoup pour la rareté ? :).

Merci sa fonctionne à merveille *.* ! Bravo à toi !
 

shadyre

Aventurier
12 Mai 2011
53
0
0
Non, la rareté d'appartition ?

Dans mon cas ce n'est pas le but, mon mod est éxclusivement dans le nether, et dans le nether apar les fantome qui sont agressif, les cochon zombie ne l'étant qu'a moitier, j'ai carrement repeupler le nether avec 3 nouveau mob, totalement agressif avec des spawn de fou xD je suis sado sur ce jeux !!!

Et derien j'ai vraiment passé beaucoup de temps à chercher comment faire ...

Maintenant j'éssai de faire comme pour le pigzombie, rajouter de l'équipement à mes mobs, ou du moins juste une épée ... avec ce bout de code :

public ItemStack getHeldItem()
{
return defaultHeldItem;
}

private static final ItemStack defaultHeldItem;

static
{
defaultHeldItem = new ItemStack(Item.swordGold, 1);
}

mais sa passe pas pour mes mobs