Texture thirst mod
-
robin probléme je croit que que thirst mod prend le bottle de minecraft est le color est moi je veut que je puise mettre des texture
-
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int currentPass) {
return currentPass > 0 ? 16777215 : itemColour;
}Tu as juste à enlever cette fonction si tu veux retirer l’effet de couleur.
-
oui si je retire sa donc pour la texture j ai juste a mettre .settexturename puisque je veut mettre mes texture
-
alor je fait comment pour que il y a une texture est que sa garde pas celle de
minecraft -
Tu changes les valeurs dans la fonction registerIcons
-
je mes sa
[font=Ubuntu, sans-serif**this**][font=Ubuntu, sans-serif.][font=Ubuntu, sans-serifdrinkable ][font=Ubuntu, sans-serif=][font=Ubuntu, sans-serif par1IconRegister][font=Ubuntu, sans-serif.][font=Ubuntu, sans-serifregisterIcon][font=Ubuntu, sans-serif(][font=Ubuntu, sans-serif"havenrp:eaux"][font=Ubuntu, sans-serif);] [font=Ubuntu, sans-serif**this**][font=Ubuntu, sans-serif.][font=Ubuntu, sans-serifoverlay ][font=Ubuntu, sans-serif=][font=Ubuntu, sans-serif par1IconRegister][font=Ubuntu, sans-serif.][font=Ubuntu, sans-serifregisterIcon][font=Ubuntu, sans-serif(][font=Ubuntu, sans-serif"havenrp:eaux"][font=Ubuntu, sans-serif);] -
exemple:
1. @SideOnly(Side.CLIENT) 2. @Override 3. **public** **void** registerIcons(IIconRegister par1IconRegister) { 4. **this**.drinkable = par1IconRegister.registerIcon(HavenRP.MODID+""+unlocalizedname); 5. **this**.overlay = par1IconRegister.registerIcon([color=#666600HavenRP.MODID+][font=monospace""+unlocalizedname]); 6. } -
@‘impuuu’:
je mes sa
[font=Ubuntu, sans-serif**this**][font=Ubuntu, sans-serif.][font=Ubuntu, sans-serifdrinkable ][font=Ubuntu, sans-serif=][font=Ubuntu, sans-serif par1IconRegister][font=Ubuntu, sans-serif.][font=Ubuntu, sans-serifregisterIcon][font=Ubuntu, sans-serif(][font=Ubuntu, sans-serif"havenrp:eaux"][font=Ubuntu, sans-serif);] [font=Ubuntu, sans-serif**this**][font=Ubuntu, sans-serif.][font=Ubuntu, sans-serifoverlay ][font=Ubuntu, sans-serif=][font=Ubuntu, sans-serif par1IconRegister][font=Ubuntu, sans-serif.][font=Ubuntu, sans-serifregisterIcon][font=Ubuntu, sans-serif(][font=Ubuntu, sans-serif"havenrp:eaux"][font=Ubuntu, sans-serif);]Oui.
ça ne fonctionne pas ? -
Oui mais je vais mettre le unlocalized name en gros je supprime l event que tu a donné avant puis changer les 2 this
-
oui mais je veut plusieur item pas que 1seul
-
en gros j ai pas que 1 seul bouteille j en ai une dizaine a fait donc si je mais comme tu fait voir sa me mettrait une texture pour tous
-
Dans ce cas retires :
private IIcon drinkable;
private IIcon overlay;
et
@Override
public IIcon getIconFromDamageForRenderPass(int damageValue, int currentPass) {
return currentPass == 0 ? this.overlay : this.drinkable;
}
et@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister par1IconRegister) {
this.drinkable = par1IconRegister.registerIcon(“potion_bottle_drinkable”);
this.overlay = par1IconRegister.registerIcon(“potion_overlay”);
} -
sa donne sa
package com.thetorine.thirstmod.core.content; import java.util.List; import java.util.Random; import com.thetorine.thirstmod.core.client.player.ClientStats; import com.thetorine.thirstmod.core.main.ThirstMod; import com.thetorine.thirstmod.core.player.PlayerContainer; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.util.IIcon; import net.minecraft.world.World; public class ItemDrink extends Item { public int itemColour; public int itemStackSize; public boolean specialEffect; public boolean alwaysDrinkable; public Item returnItem = Items.glass_bottle; public ItemStack recipeItem; public int thirstHeal; public float saturationHeal; public float poisonChance; public boolean curesPotion; public int hungerHeal; public float hungerSatHeal; public int potionID; public int duration; public ItemDrink(int thirst, float saturation, int stacksize, boolean effect, boolean drinkable, String name) { this.thirstHeal = thirst; this.saturationHeal = saturation; this.specialEffect = effect; this.alwaysDrinkable = drinkable; this.setUnlocalizedName(name); this.setCreativeTab(ThirstMod.thirstCreativeTab); this.setMaxStackSize(stacksize); } @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { if(canDrink(player) || alwaysDrinkable || player.capabilities.isCreativeMode) { player.setItemInUse(stack, getMaxItemUseDuration(stack)); } return stack; } @Override public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) { if(!world.isRemote) { stack.stackSize–; PlayerContainer playerContainer = PlayerContainer.getPlayer(player); playerContainer.addStats(thirstHeal, saturationHeal); if (poisonChance > 0 && ThirstMod.config.POISON_ON) { Random rand = new Random(); if (rand.nextFloat() < poisonChance) { playerContainer.getStats().poisonLogic.poisonPlayer(); } } if (curesPotion) { player.curePotionEffects(new ItemStack(Items.milk_bucket)); } if (hungerHeal > 0 && hungerSatHeal > 0) { player.getFoodStats().addStats(hungerHeal, hungerSatHeal); } if (potionID > 0) { player.addPotionEffect(new PotionEffect(potionID, duration * 20, 1)); } player.inventory.addItemStackToInventory(new ItemStack(returnItem)); } return stack; } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean advancedItemTooltip) { super.addInformation(stack, player, list, advancedItemTooltip); float f = Float.parseFloat(Integer.toString(thirstHeal)) / 2; String s2 = Float.toString(f); list.add("Heals " + (s2.endsWith(".0") ? s2.replace(".0", "") : s2) + " Droplets"); if(recipeItem != null) { list.add("Ingredient: " + recipeItem.getDisplayName()); } } @Override public boolean hasEffect(ItemStack par1ItemStack, int pass) { if(pass == 0) return specialEffect; return false; } @Override public EnumAction getItemUseAction(ItemStack itemstack) { return EnumAction.drink; } @Override @SideOnly(Side.CLIENT) public boolean requiresMultipleRenderPasses() { return true; } @Override public int getMaxItemUseDuration(ItemStack stack) { return 32; } public ItemDrink setPotionEffect(int i, int j) { potionID = i; duration = j; return this; } public ItemDrink setPoisoningChance(float chance) { poisonChance = chance; return this; } public ItemDrink healFood(int level, float saturation) { hungerHeal = level; hungerSatHeal = saturation; return this; } public ItemDrink setReturn(Item item) { returnItem = item; return this; } public ItemDrink setCuresPotions(boolean b) { curesPotion = b; return this; } public ItemDrink setRecipeItem(Item i) { recipeItem = new ItemStack(i); return this; } public boolean canDrink(EntityPlayer player) { if(!player.worldObj.isRemote) { return PlayerContainer.getPlayer(player).getStats().thirstLevel < 20; } else { return ClientStats.getInstance().level < 20; } } } -
Oui et donc tu as juste à mettre le .setTextureName dans la déclaration de l’item.