Modding FR

shadyre

Aventurier
12 Mai 2011
53
0
0
Ha :s tu à tester sa avec la SwordGold ou une autre ?

Car moi j'ai tester avec :

defaultHeldItem = new ItemStack(Item.swordSteel, 1);

ou encore :

defaultHeldItem = new ItemStack(mod_Nether.netherSword, 1);

et sa n'as pas marcher ...

voila le code de mon bestio :

Code:
package net.minecraft.src;

import java.util.List;
import java.util.Random;

public class EntityWarrior extends EntityMob {

    public EntityWarrior(World world) {
        super(world);
        texture = "/Nether/warrior.png";
        moveSpeed = 1.4F;
        isImmuneToFire = true;
        attackStrength = 5;
    }

    public int getMaxSpawnedInChunk() {
		return 3;
    }

    public boolean getCanSpawnHere() {
        return worldObj.difficultySetting > 0 && worldObj.checkIfAABBIsClear(boundingBox) && worldObj.getCollidingBoundingBoxes(this, boundingBox).size() == 0 && !worldObj.getIsAnyLiquid(boundingBox);
    }
    
    public void readEntityFromNBT(NBTTagCompound nbttagcompound) {
        super.readEntityFromNBT(nbttagcompound);
    }
	
    public void onLivingUpdate() {
        super.onLivingUpdate();
    }

    protected int getDropItemId() {
        return mod_Nether.netherPowder.shiftedIndex;
    }
}

et ma main class :

Code:
package net.minecraft.src;

import java.util.*;
import java.util.Map;

public class mod_Nether extends BaseMod {
	
	public mod_Nether() {
		
		// Adding stick
		netherStick = (new Item(901)).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/stick.png")).setItemName("NeoStick");
		ModLoader.AddName(netherStick, "NeoStick");
		ModLoader.AddRecipe(new ItemStack(netherStick, 4), new Object[] { "#", "#", Character.valueOf('#'), Block.netherrack });
		
		// Adding ingot
		netherIngot = (new Item(902)).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/ingot.png")).setItemName("NeoIngot");
		ModLoader.AddName(netherIngot, "NeoIngot");
		ModLoader.AddRecipe(new ItemStack(netherIngot, 2), new Object[] { "#", Character.valueOf('#'), Block.netherrack });
		
		// Adding Sword
		netherSword = (new ItemSword(903, EnumToolMaterial.IRON)).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/sword.png")).setItemName("NeoSword");
		ModLoader.AddName(netherSword, "NeoSword");
		ModLoader.AddRecipe(new ItemStack(netherSword, 1), new Object[] { "#", "#", "%", Character.valueOf('#'), netherIngot, Character.valueOf('%'), netherStick });
		
		// Adding Shovel
		netherShovel = (new ItemSpade(904, EnumToolMaterial.IRON)).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/shovel.png")).setItemName("NeoShovel");
		ModLoader.AddName(netherShovel, "NeoShovel");
		ModLoader.AddRecipe(new ItemStack(netherShovel, 1), new Object[] { "#", "%", "%", Character.valueOf('#'), netherIngot, Character.valueOf('%'), netherStick });
		
		// Adding Pickaxe
		netherPickaxe = (new ItemPickaxe(905, EnumToolMaterial.IRON)).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/pickaxe.png")).setItemName("NeoPickaxe");
		ModLoader.AddName(netherPickaxe, "NeoPickaxe");
		ModLoader.AddRecipe(new ItemStack(netherPickaxe, 1), new Object[] { "###", " % ", " % ", Character.valueOf('#'), netherIngot, Character.valueOf('%'), netherStick });
		
		// Adding Axe
		netherAxe = (new ItemAxe(906, EnumToolMaterial.IRON)).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/axe.png")).setItemName("NeoAxe");
		ModLoader.AddName(netherAxe, "NeoAxe");
		ModLoader.AddRecipe(new ItemStack(netherAxe, 1), new Object[] { "##", "#%", " %", Character.valueOf('#'), netherIngot, Character.valueOf('%'), netherStick });
		
		// Adding powder
		netherPowder = (new Item(907)).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Nether/powder.png")).setItemName("NeoPowder");
		ModLoader.AddName(netherPowder, "NeoPowder");
		ModLoader.AddRecipe(new ItemStack(netherPowder, 1), new Object[] { "#", Character.valueOf('#'), netherIngot });
		
		// Adding Workbench
		ModLoader.RegisterBlock(netherWorkbench);
		ModLoader.AddRecipe(new ItemStack(netherWorkbench, 1), new Object[] { "##", "##", Character.valueOf('#'), netherIngot });
		ModLoader.AddName(netherWorkbench, "NeoWorkbench");
		
		// Adding chest
		ModLoader.RegisterBlock(netherChest);
		ModLoader.AddRecipe(new ItemStack(netherChest, 1), new Object[] { "###", "# #", "###", Character.valueOf('#'), netherIngot });
		ModLoader.AddName(netherChest, "NeoChest");
		
		// Mobs regisration and spawn
		ModLoader.RegisterEntityID(EntityDamned.class, "Damned", ModLoader.getUniqueEntityId());
		ModLoader.AddSpawn(EntityDamned.class, 80, EnumCreatureType.monster, (new BiomeGenBase[]{BiomeGenBase.hell}));
		
		ModLoader.RegisterEntityID(EntitySpirit.class, "Spirit", ModLoader.getUniqueEntityId());
		ModLoader.AddSpawn(EntitySpirit.class, 30, EnumCreatureType.monster, (new BiomeGenBase[]{BiomeGenBase.hell}));
		
		ModLoader.RegisterEntityID(EntityWarrior.class, "Warrior", ModLoader.getUniqueEntityId());
		ModLoader.AddSpawn(EntityWarrior.class, 60, EnumCreatureType.monster, (new BiomeGenBase[]{BiomeGenBase.hell}));
	}
	
	// Version
	public String Version() {
		return "1.5_01";
	}
	
	// Add render to mobs
	public void AddARenderer(Map map) {
		map.put(EntityDamned.class, new RenderBiped(new ModelBiped(),0.5F));
		map.put(EntitySpirit.class, new RenderBiped(new ModelBiped(),0.5F));
		map.put(EntityWarrior.class, new RenderBiped(new ModelBiped(),0.5F));
	}
	
	// Items declaration
	public static Item netherStick;	
	public static Item netherIngot;
	public static Item netherShovel;
	public static Item netherPickaxe;	
	public static Item netherAxe;
	public static Item netherSword;
	public static Item netherPowder;
	
	// Blocks declarations
	public static final Block netherWorkbench = (new Block(100, ModLoader.addOverride("/terrain.png", "/Nether/ingot.png"), Material.wood)).setHardness(2.0F).setResistance(10F).setStepSound(Block.soundWoodFootstep).setBlockName("NeoWorkbench");
	public static final Block netherChest = (new Block(101, ModLoader.addOverride("/terrain.png", "/Nether/ingot.png"), Material.wood)).setHardness(2.0F).setResistance(10F).setStepSound(Block.soundWoodFootstep).setBlockName("NeoChest");
}
 

Jamatofu

Aventurier
19 Avril 2011
78
0
1
J'ai encore un problème. J'ai besoin de faire des plants de tomate qui poussent comme le blé mais je sais vraiment pas comment faire.

Quelqu'un sait?
 

shadyre

Aventurier
12 Mai 2011
53
0
0
Oula, sa je ne sais pas, j'ai pas encore chercher pour faire ce genre de chose, à mon avis, et je dit bien à mon avis, c'est le même objet à la base, qui détect sur une durée exemple :

X-----X-----X-----X

Les X représente une étape dans le temps, ou par des action imaginon, les trais représente ... rien juste ce qu'il y a entre temps.

A chaque X tu fais une nouvelle action, du genre, redéfinir la texture de ton block, pour changer l'étape visuel de ton block ou encore pour changer le type de drop lors de cette étape.

Exemple au premier X tu a un bout de plante, si tu le casse tu n'as rien, le second tu a une pouce de plante et tu drop une graine ... la troisième une plante avec plusieurs graines, et le dernier l'objet final et plante mure ...

Par contre le code pour mettre sa en place je ne le connais pas trop. mais pour chaque étape, tu les ferais passer par une variable que tu pourrait transmettre par argument sur une méthode !
 

Jamatofu

Aventurier
19 Avril 2011
78
0
1
Donc, je prends ma graine. Je clic droit sur un bloc de terre cultivable et ensuite je commence la fonction.

C'est ça?
 

shadyre

Aventurier
12 Mai 2011
53
0
0
En gros sa serait sa, bien qu'il faut que tu fasse la détection de sur koi tu pose ta graine, apar si tu souhaite pouvoir la poser nimporte ou

[ Voici mes 5 minutes de silence ... ]
La personne qui finançai le serveur que j'administrai à fait un coup d'état ... car il n'as pas respecter le règlement et n'as pas supporter que je le rappel à l'ordre ...
[ -_-' ]

Sinon pour revenir au sujet, je n'arrive toujours pas à mettre une arme à mes mobs pourquoi ? :(

Tes mobs on le même modèle ? ( ModelBiped() ) ?
 

shadyre

Aventurier
12 Mai 2011
53
0
0
@sorax, tu pense que sa pourrait venir d'ou mon problème la ? :s

J'ai aussi essayer comme sa :

public ItemStack getHeldItem() {
return defaultHeldItem;
}

private static final ItemStack defaultHeldItem;

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

mais toujours pas de résultat :(
 

sokyu

Aventurier
20 Mars 2011
9
0
1
salut j'ai suivi ton tuto pour céer un mod mais je suis bloquer a la troisième partie je n'ai aucun fichier dans le fichier sources et je ne peut donc pas recompiler le mod et aussi quand j lance la décompilation C:\Documants n'est pas reconnu en tant que que commande interne ou externe, un programme exécutable ou un fichier commande et normale car a la fin sa me met quand même MCP 2.12 decompile script finished alors je te demande de l'aide en espéant que tu me réponde
 

shadyre

Aventurier
12 Mai 2011
53
0
0
Salut, peut tu rééxpliquer ton souci ? je vais essayer de t'aider !

Ah je pense avoir une idée !!! as-tu bien modifier le PATH ?

en fesant clic droit sur l'icone de ton poste de travail, propriété, avancé puis variables d'environement, de la tu clic et fait modifier sur la ligne qui s'appel Path, tu remplace son nom par PATH en majuscule et sa destination à "C:\Program Files\Java\jdk1.6.0_25\bin;C:\Program Files\Java\jre6\bin", sans les guillemets.

Sa devrait marché !
 

sokyu

Aventurier
20 Mars 2011
9
0
1
je te remercie sa a marché même si je l'avais fait avant il n'avait pas l'air d'avoir été modifié alors merci
 

shadyre

Aventurier
12 Mai 2011
53
0
0
mais derien, et sorax, j'ai trouver d'ou venait le problème, mes class étendait EntityMob et non pas EntityZombie ...

Maintenant sa marche !

Quelqu'un aurait un exemple pour les armure ? xD