Cette vidéo t'aidera surement grandement, elle t'explique comment modifier le menu du jeu : https://www.youtube.com/watch?v=hv0HJDuzu9k

Infinite
@Infinite
Posts made by Infinite
-
RE: Image aléatoire
-
RE: Touche permettant un changement de dimension
Bonjour,
Il faut appelersetPositionAndUpdate(x, y, z);
apres avoir appelétravelToDimension
.
Donc si tu rajouteMinecraft.getMinecraft().thePlayer.setPositionAndUpdate(x, y, z);
en changeant x, y et z, tout devrait fonctionner. -
RE: Probleme de Loot random
Utilise la méthode
quantityDropped
:@Override public int quantityDropped(int meta, int fortune, Random random) { int drop = random.nextInt(10); //dans ce cas, il y aura une chance sur 9 de drop le loot if (drop == 0) { return 1; } else { return 0; } }
Mais dans ce cas, il faut que tu définisse le loot avec
getItemDropped
@Override public Item getItemDropped(int meta, Random random, int fortune) { return ItemMod.extremium_axe; }
Je n'ai pas verifié mais ca devrait marcher.
-
RE: getSubItem avec un item chargé en energie et un déchargé (API Energie Forge)
Problème réglé, l'item n'avait pas de tag, c'était a moi de le set. De plus, j'ai changé d'API, l'api Energie de Forge est tres compliquée a utiliser donc je me suis tourné vers l'api Redstone Flux (mais du coup mon mod en est dépendant, ce qui est dérangeant). Si vous le pouvez, ce serait cool de faire un tuto sur l'API énergie de forge, ça aiderait beaucoup de personnes voulant créer des mods d'énergie. En attendant, je pense peut être, si j'ai le temps faire un tuto sur l'api RedstoneFlux.
Bref, je passe en résolu !
Merci pour ton aide. -
RE: Craft avec des ID
Bonjour,
Tu n'a pas besoin d'utiliser les ID des items, la water bottle est nommée potion dans la classe Items.
(par contre vérifie si tu peux pas utiliser toutes les potions buvables pour crafter et si jamais tu peux, essaye en créant un ItemStack avec un métadata de 0 ( new ItemStack(Item.potion, 0) et la ca devrait être bon). -
getSubItem avec un item chargé en energie et un déchargé (API Energie Forge)
Bonjour,
Je travaille actuellement sur un mod qui utilise l'API d'énergie de Forge (FE) sauf que je n'arrive pas a ajouter un item chargé et un autre déchargé dans l'onglet créatif.
Je sais que l'api energétique de forge est tres similaire a l'API Redstone Flux de la CoFHTeam donc j'ai récupéré la méthode utilisée par Redstone Arsenal (un mod utilisant l'API Redstone Flux) et celle du CoFHCore.
Sauf qu'elle ne semble pas fonctionner du tout étant donné que cette méthode modifie un tag nbt avec comme clef "Energy" alors que l'api de Forge semble utiliser un capability.
Et, comme je ne connais pas les capabilities, je n'arrive pas a mettre une version chargée de mon objet dans l'onglet créatif.Voici la classe de mon item :
public class EnergizedItemBase extends Item implements IEnergyStorage, IHasModel { protected int energy; protected int capacity; protected int maxReceive; protected int maxExtract; protected boolean showInCreative = true; public EnergizedItemBase(String name, int capacity, int maxReceive, int maxExtract, int energy) { this.capacity = capacity; this.maxReceive = maxReceive; this.maxExtract = maxExtract; this.energy = Math.max(0 , Math.min(capacity, energy)); setUnlocalizedName(name); setRegistryName(name); setCreativeTab(ERST.ERST_TAB); ModItems.ITEMS.add(this); } @Override public int receiveEnergy(int maxReceive, boolean simulate) { if (!canReceive()) return 0; int energyReceived = Math.min(capacity - energy, Math.min(this.maxReceive, maxReceive)); if (!simulate) energy += energyReceived; return energyReceived; } @Override public int extractEnergy(int maxExtract, boolean simulate) { if (!canExtract()) return 0; int energyExtracted = Math.min(energy, Math.min(this.maxExtract, maxExtract)); if (!simulate) energy -= energyExtracted; return energyExtracted; } @Override public int getEnergyStored() { return energy; } @Override public int getMaxEnergyStored() { return capacity; } @Override public boolean canExtract() { return this.maxExtract > 0; } @Override public boolean canReceive() { return this.maxReceive > 0; } @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, @Nullable World playerIn, List<String> tooltip, ITooltipFlag advanced) { tooltip.add(getEnergyStored() + "/" + getMaxEnergyStored() + " FE"); } @Override public void registerModels() { ERST.proxy.registerItemRenderer(this, 0, "inventory"); } @Override public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) { if (isInCreativeTab(tab) && showInCreative) { items.add(setDefaultEnergyTag(new ItemStack(this, 1, 0), 0)); items.add(setDefaultEnergyTag(new ItemStack(this, 1, 0), capacity)); } } public EnergizedItemBase setShowInCreative(boolean showInCreative) { this.showInCreative = showInCreative; return this; } public static ItemStack setDefaultEnergyTag(ItemStack container, int energy) { if (!container.hasTagCompound()) { container.setTagCompound(new NBTTagCompound()); } System.out.println(container.getTagCompound().getInteger("Energy")); container.getTagCompound().setInteger("Energy", energy); return container; } }
Je précise que les deux méthodes que j'ai recopiées sont getSubItems (vient de Redstone Arsenal) et setDefaultEnergyTag (de CofhCore)
J'espère que vous serez en capacité de m'éclairer
-
Problème lancement du jeu après installation
Bonjour, j'ai créé un modpack a l'aide de l'installeur et tout allait bien jusqu’au lancement du jeu. Le jeu ne veut pas se lancer et cela vient forcément du launcher car les mods fonctionnent très bien quand je les installe manuellement.
Voici les logs et le remote info :
latest.log
remote_info.jsonMerci d'avance !
-
Système de grades
Bonjour,
je travaille actuellement sur un système de grade.
Je voudrais faire en sorte que quand un opérateur tape une commande comme : /rankset rang1 monpseudo
Le joueur se voit attribué un nom personnalisé et un surplus de vie.
Le problème est que je n'ai aucune idée de comment déclencher l’événement quand la commande est éxecutée et comment modifier la vie du joueur visé.
Je pense que le plus facile serait de dire qu'avec la commande le joueur est défini comme appartenant au rang1 et que je puisse faire dans les deux event un truc comme ca:
if(player.isInRang1)
{
faire qqch
}
Voici ce que j'ai déja réalisé :La classe de la commande :
public class RanksetCommand extends CommandBase { @Override public String getCommandName() { return "rankset"; } @Override public String getCommandUsage(ICommandSender p_71518_1_) { return null; } @Override public void processCommand(ICommandSender sender, String[] args) { EntityPlayerMP entityplayermp = getCommandSenderAsPlayer(sender); EntityPlayerMP targetplayer; if(args[0].equals("sith")) { targetplayer = getPlayer(sender, args[1]); System.out.println(targetplayer.getDisplayName() + " devient Sith !"); } else if(args[1].equals("jedi")) { targetplayer = getPlayer(sender, args[2]); System.out.println(targetplayer.getDisplayName() + " devient Jedi !"); } } //adding the player names when tab is pressed public List addTabCompletionOptions(ICommandSender sender, String[] args) { return args.length != 1 && args.length != 2 ? null : getListOfStringsMatchingLastWord(args, MinecraftServer.getServer().getAllUsernames()); } }
Merci d'avance.
-
RE: Changer la vie de certains joueurs.
Bonne idée, mais je crois que le système ne fonctionne pas quand le serveur est en "online-mode:false". J'ai simplement utilisé les nom modifiés a la place et ça fonctionne ! Je passe en résolu. Merci.