Résolu Medicament
-
bonjour/Bonsoir je voudrais savoir si c’était possible de créer un mod qui fait:
1/
Des qu’un zombi nous touche on a un effet qui toute les 10/15s on est un grand effet de ceciter de la sorte a ne pas voire plus loin que ces pieds et que l’on lache l’item que l’on a dans la main et que pour se soigner on n’est besoin d’un médicament
2/
des que l’on tombe de trop haut 4 bock et plus on se casse la jambe (pas d’animation on est juste énormément ralentie e) et que pour se soigner on est besoin de médicament aussiJe voudrai savoir si c’était possible et quelle niveaux en java faudrait t-il et si possible m’orienter vers des tuto ou des mods qui existe déjà le tout en 1.6.4
Merci
-
Le tout est très simple suffit d’utiliser les bon event
-
tu n’aurai pas un tuto ou quelque chose dans ce genre?? pour le zombi je parle
-
regarde au niveau des events ceux qui pourrait t’interesser.
https://dl.dropboxusercontent.com/s/h777x7ugherqs0w/forgeevents.html
Ensuite renseignes toi sur les GuiOverlaysIl n’y a pas de tuto pour tout les cas particuliers. Il faut savoir ce débrouiller par sois même
-
quelqu’un aurai le code pour que lorsque l’on utilise l’item l’effet choisi disparaisse?
Merci sinon sa avance très vite
-
regarde au niveau du code du sceau de lait
-
ok merci
-
de rien
-
jai de nouveaux un problème depuis la nouvelle méthode d’installation il n’y a plus ou elle a été beaucoup déplacer la classe net.minecraft.item je me retrouve pas avec la nouvelle “version”
Si quelqun saurait ou elle se trouve ce serai parfait merci
-
@‘MrFlocala’:
jai de nouveaux un problème depuis la nouvelle méthode d’installation il n’y a plus ou elle a été beaucoup déplacer la classe net.minecraft.item je me retrouve pas avec la nouvelle “version”
Si quelqun saurait ou elle se trouve ce serai parfait merci
Tu cherche la classe Item ?
Si oui fait clique avec ctrl sur le nom de classe dans une de tes classe si non je ne vois pas ^^.
Les classe de MC sont dans ressource library/forge… -
merci beaucoup encore
alors la je ne comprend plus rien jai copier le code de sceaux de lait dans les antalgique et jai enlever l’animation boire mais sa n’enlève pas les effet mais encore plus fous ces que maintenant quand on ce casse la figure on a plus l’effet de lenteur est ce quil y a quelque chose qui cloche dans met code??
package medoc.effet; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class antalgique extends Item { public antalgique(int par1) { super(par1); this.setMaxStackSize(1); this.setCreativeTab(CreativeTabs.tabMisc); } public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { if (!par3EntityPlayer.capabilities.isCreativeMode) { –par1ItemStack.stackSize; } if (!par2World.isRemote) { par3EntityPlayer.curePotionEffects(par1ItemStack); } return par1ItemStack.stackSize <= 0 ? new ItemStack(Item.bone) : par1ItemStack; } /** * How long it takes to use or consume an item */ public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 1; } /** * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer */ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); return par1ItemStack; } }
package medoc.effet; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingFallEvent; public class EventRegroupment { @ForgeSubscribe public void livingFallEvent(LivingFallEvent event) { if (event.entityLiving instanceof EntityPlayer) { if (event.entityLiving.worldObj.rand.nextInt(10) == 0) { if(event.entityLiving.fallDistance > 3) { event.entityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 24000, 1)); } } } } }
package medoc.effet; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraftforge.common.Configuration; import net.minecraftforge.common.MinecraftForge; import tutoriel.proxy.TutoCommonProxy; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; @Mod(modid = "ModTutoriel", name = "Mod Tutoriel", version = "1.0.0", acceptedMinecraftVersions = "[1.6.2,)") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class ModTutoriel { @SidedProxy(clientSide = "tutoriel.proxy.TutoClientProxy", serverSide = "tutoriel.proxy.TutoCommonProxy") public static TutoCommonProxy proxy; @Instance("ModTutoriel") public static ModTutoriel instance; public static Item antalgique, antibio; public static int antalgiqueID, antibioID; @EventHandler public void PreInit(FMLPreInitializationEvent event) { //Configuration Configuration cfg = new Configuration(event.getSuggestedConfigurationFile()); try { cfg.load(); antalgiqueID = cfg.getBlock("antalgique", 22378).getInt(); antibioID = cfg.getBlock("antibiotique", 22379).getInt(); } catch(Exception ex) { event.getModLog().severe("Failed to load configuration"); } finally { if(cfg.hasChanged()) { cfg.save(); } } //Blocks antalgique = new antalgique(22378).setUnlocalizedName("antalgique").setTextureName("modtutoriel:antalgique"); antibio = new antibiotique(22379).setUnlocalizedName("antibiotique").setTextureName("modtutoriel:antibio"); CreativeTabs TutorialCreativeTabs = new TutorialCreativeTabs("medicament"); //Achievements } @EventHandler public void Init(FMLInitializationEvent event) { //proxy.[…]; Pour les Rendus proxy.registerRender(); MinecraftForge.EVENT_BUS.register(new EventRegroupment()); //NetWork //Recipe } @EventHandler public void PostInit(FMLPostInitializationEvent event) { //Intégration avec les autres mods } }
-
Pour ce qui est de l’effet de fracture quand on chute il y a ce tutoriel
http://minecraftforgefrance.fr/showthread.php?tid=671
Pour l’antalgique regarde ce qui cloche en te référant à ceci
:::
public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { par1ItemStack.stackSize–; for (Potion potion : potionsToStop) { if (par3EntityPlayer.getActivePotionEffects() != null && par3EntityPlayer.isPotionActive(potion)) { par3EntityPlayer.removePotionEffect(potion.id); } } return par1ItemStack.stackSize <= 0 ? new ItemStack(ItemsManagement.syringue) : par1ItemStack; }
:::
-
merci ZeAmateis mais si tu va voir sur ton ujet tu vera que jai poster une reponse car jai remarquer quelque erreur ou sinon ces moi qui est mal compris
mais merci quand meme
J’ai mit le nom de l’effet met que faire il le souligne en rouge
j’ai essayer de lancer le jeu avec l’erreur ben l’antalgique fait quelque chose: …… crasher minecraft
mais j’ai suivis ton tuto mais quand je tombe de très haut rien ne ce passe -
en attendant que quelqu’un trouve d’ou vient cette d’erreur qui foir tout est ce que quelqu’un aurai l’event forge quand on ce fait frapper par un monstre??
-
LivingHurtEvent.
Et pour ton erreur, c’est simplement car la variable n’existe pas. C’est pas comme ça qu’il faut faire pour retirer un effet de potion. Si tu veux virer un effet de potion :
public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) { if(!player.capabilities.isCreativeMode) { –stack.stackSize; } if(!world.isRemote) { player.removePotionEffect(Potion.moveSlowdown.id); } return stack.stackSize <= 0 ? null : stack; }
-
merci pour le LivingHurtEvent
sauf que pour le code que tu mas donner j’utilise les antalgique en creative sa fonctionne nickel sauf quand survie le jeu crash et quand je revient sur le monde l’effet a disparue
donc le seul soucie est le crash en survie
et tu n’aurai pas la solution car quand je tombe de très haut je n’ai pas l’effet de lenteur je te passe mon code pour le verifier
package medoc.effet; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingFallEvent; public class EventRegroupment { @ForgeSubscribe public void livingFallEvent(LivingFallEvent event) { if (event.entityLiving instanceof EntityPlayer) { if (event.entityLiving.worldObj.rand.nextInt(10) == 0) { if(event.entityLiving.fallDistance > 4) { event.entityLiving.addPotionEffect(new PotionEffect(Potion.confusion.getId(), 24000, 3)); } } } }}
merci
-
C’est à cause du random non ?
Pour le crash, dans ce cas il aime pas le return null. Fait comme ça :public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) { if(!player.capabilities.isCreativeMode) { –stack.stackSize; } if(!world.isRemote) { player.removePotionEffect(Potion.moveSlowdown.id); } return stack; }
-
random ???
sinon les antalgique fonctionne nickel merci
ce je ne voit pas comment modifier le random si ces de cette ligne dont tu veut parler?
if (event.entityLiving.worldObj.rand.nextInt(10) == 0)
-
ceci est a cause du dix ou du zéro est je doit remplacer par quoi??
merci
-
if (event.entityLiving.worldObj.rand.nextInt(10) == 0)
Actuellement, ta condition a une chance sur 10 d’être vrai et 9 chance sur 10 d’être fausse.