Move armor items to IMeshProvider
Minor change to IMeshProvider allow for this
This commit is contained in:
parent
6cd993a619
commit
aa48c540f5
|
@ -1,9 +1,11 @@
|
||||||
package WayofTime.bloodmagic.client;
|
package WayofTime.bloodmagic.client;
|
||||||
|
|
||||||
import net.minecraft.client.renderer.ItemMeshDefinition;
|
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -12,9 +14,28 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public interface IMeshProvider
|
public interface IMeshProvider
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Gets the custom ItemMeshDefinition to use for the item.
|
||||||
|
*
|
||||||
|
* @return - the custom ItemMeshDefinition to use for the item.
|
||||||
|
*/
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
ItemMeshDefinition getMeshDefinition();
|
ItemMeshDefinition getMeshDefinition();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets all possible variants for this item
|
||||||
|
*
|
||||||
|
* @return - All possible variants for this item
|
||||||
|
*/
|
||||||
List<String> getVariants();
|
List<String> getVariants();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If a custom ResourceLocation is required, return it here.
|
||||||
|
*
|
||||||
|
* Can be null if unneeded.
|
||||||
|
*
|
||||||
|
* @return - The custom ResourceLocation
|
||||||
|
*/
|
||||||
|
@Nullable
|
||||||
|
ResourceLocation getCustomLocation();
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.init.Enchantments;
|
import net.minecraft.init.Enchantments;
|
||||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
@ -35,6 +36,8 @@ import com.google.common.collect.HashMultiset;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public class ItemBoundAxe extends ItemBoundTool implements IMeshProvider
|
public class ItemBoundAxe extends ItemBoundTool implements IMeshProvider
|
||||||
{
|
{
|
||||||
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(Blocks.planks, Blocks.bookshelf, Blocks.log, Blocks.log2, Blocks.chest, Blocks.pumpkin, Blocks.lit_pumpkin, Blocks.melon_block, Blocks.ladder);
|
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(Blocks.planks, Blocks.bookshelf, Blocks.log, Blocks.log2, Blocks.chest, Blocks.pumpkin, Blocks.lit_pumpkin, Blocks.melon_block, Blocks.ladder);
|
||||||
|
@ -135,6 +138,13 @@ public class ItemBoundAxe extends ItemBoundTool implements IMeshProvider
|
||||||
return new CustomMeshDefinitionActivatable("ItemBoundAxe");
|
return new CustomMeshDefinitionActivatable("ItemBoundAxe");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getCustomLocation()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getVariants()
|
public List<String> getVariants()
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,6 +17,7 @@ import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.init.Enchantments;
|
import net.minecraft.init.Enchantments;
|
||||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
@ -35,6 +36,8 @@ import com.google.common.collect.HashMultiset;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public class ItemBoundPickaxe extends ItemBoundTool implements IMeshProvider
|
public class ItemBoundPickaxe extends ItemBoundTool implements IMeshProvider
|
||||||
{
|
{
|
||||||
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(Blocks.activator_rail, Blocks.coal_ore, Blocks.cobblestone, Blocks.detector_rail, Blocks.diamond_block, Blocks.diamond_ore, Blocks.double_stone_slab, Blocks.golden_rail, Blocks.gold_block, Blocks.gold_ore, Blocks.ice, Blocks.iron_block, Blocks.iron_ore, Blocks.lapis_block, Blocks.lapis_ore, Blocks.lit_redstone_ore, Blocks.mossy_cobblestone, Blocks.netherrack, Blocks.packed_ice, Blocks.rail, Blocks.redstone_ore, Blocks.sandstone, Blocks.red_sandstone, Blocks.stone, Blocks.stone_slab);
|
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(Blocks.activator_rail, Blocks.coal_ore, Blocks.cobblestone, Blocks.detector_rail, Blocks.diamond_block, Blocks.diamond_ore, Blocks.double_stone_slab, Blocks.golden_rail, Blocks.gold_block, Blocks.gold_ore, Blocks.ice, Blocks.iron_block, Blocks.iron_ore, Blocks.lapis_block, Blocks.lapis_ore, Blocks.lit_redstone_ore, Blocks.mossy_cobblestone, Blocks.netherrack, Blocks.packed_ice, Blocks.rail, Blocks.redstone_ore, Blocks.sandstone, Blocks.red_sandstone, Blocks.stone, Blocks.stone_slab);
|
||||||
|
@ -152,6 +155,13 @@ public class ItemBoundPickaxe extends ItemBoundTool implements IMeshProvider
|
||||||
return new CustomMeshDefinitionActivatable("ItemBoundPickaxe");
|
return new CustomMeshDefinitionActivatable("ItemBoundPickaxe");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getCustomLocation()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getVariants()
|
public List<String> getVariants()
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,6 +16,7 @@ import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.init.Enchantments;
|
import net.minecraft.init.Enchantments;
|
||||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
@ -34,6 +35,8 @@ import com.google.common.collect.HashMultiset;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public class ItemBoundShovel extends ItemBoundTool implements IMeshProvider
|
public class ItemBoundShovel extends ItemBoundTool implements IMeshProvider
|
||||||
{
|
{
|
||||||
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(Blocks.clay, Blocks.dirt, Blocks.farmland, Blocks.grass, Blocks.gravel, Blocks.mycelium, Blocks.sand, Blocks.snow, Blocks.snow_layer, Blocks.soul_sand);
|
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(Blocks.clay, Blocks.dirt, Blocks.farmland, Blocks.grass, Blocks.gravel, Blocks.mycelium, Blocks.sand, Blocks.snow, Blocks.snow_layer, Blocks.soul_sand);
|
||||||
|
@ -134,6 +137,13 @@ public class ItemBoundShovel extends ItemBoundTool implements IMeshProvider
|
||||||
return new CustomMeshDefinitionActivatable("ItemBoundShovel");
|
return new CustomMeshDefinitionActivatable("ItemBoundShovel");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getCustomLocation()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getVariants()
|
public List<String> getVariants()
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,6 +15,7 @@ import net.minecraft.item.ItemSword;
|
||||||
import net.minecraft.util.ActionResult;
|
import net.minecraft.util.ActionResult;
|
||||||
import net.minecraft.util.EnumActionResult;
|
import net.minecraft.util.EnumActionResult;
|
||||||
import net.minecraft.util.EnumHand;
|
import net.minecraft.util.EnumHand;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
@ -36,6 +37,8 @@ import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.HashMultimap;
|
import com.google.common.collect.HashMultimap;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public class ItemBoundSword extends ItemSword implements IBindable, IActivatable, IMeshProvider
|
public class ItemBoundSword extends ItemSword implements IBindable, IActivatable, IMeshProvider
|
||||||
{
|
{
|
||||||
private float attackDamage;
|
private float attackDamage;
|
||||||
|
@ -136,6 +139,13 @@ public class ItemBoundSword extends ItemSword implements IBindable, IActivatable
|
||||||
return new CustomMeshDefinitionActivatable("ItemBoundSword");
|
return new CustomMeshDefinitionActivatable("ItemBoundSword");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getCustomLocation()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getVariants()
|
public List<String> getVariants()
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,12 +4,15 @@ import WayofTime.bloodmagic.BloodMagic;
|
||||||
import WayofTime.bloodmagic.api.Constants;
|
import WayofTime.bloodmagic.api.Constants;
|
||||||
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
|
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
|
||||||
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
||||||
|
import WayofTime.bloodmagic.client.IMeshProvider;
|
||||||
import WayofTime.bloodmagic.livingArmour.LivingArmour;
|
import WayofTime.bloodmagic.livingArmour.LivingArmour;
|
||||||
import WayofTime.bloodmagic.registry.ModItems;
|
import WayofTime.bloodmagic.registry.ModItems;
|
||||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||||
|
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
|
|
||||||
|
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||||
|
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||||
|
@ -19,17 +22,19 @@ import net.minecraft.item.ItemArmor;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.DamageSource;
|
import net.minecraft.util.DamageSource;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ISpecialArmor;
|
import net.minecraftforge.common.ISpecialArmor;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
public class ItemLivingArmour extends ItemArmor implements ISpecialArmor
|
public class ItemLivingArmour extends ItemArmor implements ISpecialArmor, IMeshProvider
|
||||||
{
|
{
|
||||||
public static String[] names = { "helmet", "chest", "legs", "boots" };
|
public static String[] names = { "helmet", "chest", "legs", "boots" };
|
||||||
|
|
||||||
|
@ -258,6 +263,45 @@ public class ItemLivingArmour extends ItemArmor implements ISpecialArmor
|
||||||
return super.getUnlocalizedName(stack) + names[armorType.getIndex()];
|
return super.getUnlocalizedName(stack) + names[armorType.getIndex()];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public ItemMeshDefinition getMeshDefinition()
|
||||||
|
{
|
||||||
|
return new ItemMeshDefinition()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public ModelResourceLocation getModelLocation(ItemStack stack)
|
||||||
|
{
|
||||||
|
assert getCustomLocation() != null;
|
||||||
|
if (stack.getItem() == ModItems.livingArmourHelmet)
|
||||||
|
return new ModelResourceLocation(getCustomLocation(), "armour=head");
|
||||||
|
else if (stack.getItem() == ModItems.livingArmourChest)
|
||||||
|
return new ModelResourceLocation(getCustomLocation(), "armour=body");
|
||||||
|
else if (stack.getItem() == ModItems.livingArmourLegs)
|
||||||
|
return new ModelResourceLocation(getCustomLocation(), "armour=leg");
|
||||||
|
else
|
||||||
|
return new ModelResourceLocation(getCustomLocation(), "armour=feet");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getCustomLocation()
|
||||||
|
{
|
||||||
|
return new ResourceLocation(Constants.Mod.MODID, "item/ItemLivingArmour");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getVariants()
|
||||||
|
{
|
||||||
|
List<String> ret = new ArrayList<String>();
|
||||||
|
ret.add("armour=head");
|
||||||
|
ret.add("armour=body");
|
||||||
|
ret.add("armour=leg");
|
||||||
|
ret.add("armour=feet");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
public static LivingArmour getLivingArmour(ItemStack stack)
|
public static LivingArmour getLivingArmour(ItemStack stack)
|
||||||
{
|
{
|
||||||
NBTTagCompound livingTag = getArmourTag(stack);
|
NBTTagCompound livingTag = getArmourTag(stack);
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
package WayofTime.bloodmagic.item.armour;
|
package WayofTime.bloodmagic.item.armour;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import WayofTime.bloodmagic.client.IMeshProvider;
|
||||||
|
import net.minecraft.client.renderer.ItemMeshDefinition;
|
||||||
|
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||||
import net.minecraft.enchantment.Enchantment;
|
import net.minecraft.enchantment.Enchantment;
|
||||||
import net.minecraft.enchantment.EnchantmentHelper;
|
import net.minecraft.enchantment.EnchantmentHelper;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
|
@ -12,6 +17,7 @@ import net.minecraft.item.ItemArmor;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.DamageSource;
|
import net.minecraft.util.DamageSource;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.common.ISpecialArmor;
|
import net.minecraftforge.common.ISpecialArmor;
|
||||||
import WayofTime.bloodmagic.BloodMagic;
|
import WayofTime.bloodmagic.BloodMagic;
|
||||||
import WayofTime.bloodmagic.api.Constants;
|
import WayofTime.bloodmagic.api.Constants;
|
||||||
|
@ -19,8 +25,10 @@ import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
|
||||||
import WayofTime.bloodmagic.api.soul.PlayerDemonWillHandler;
|
import WayofTime.bloodmagic.api.soul.PlayerDemonWillHandler;
|
||||||
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
|
||||||
import WayofTime.bloodmagic.registry.ModItems;
|
import WayofTime.bloodmagic.registry.ModItems;
|
||||||
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class ItemSentientArmour extends ItemArmor implements ISpecialArmor
|
public class ItemSentientArmour extends ItemArmor implements ISpecialArmor, IMeshProvider
|
||||||
{
|
{
|
||||||
public static String[] names = { "helmet", "chest", "legs", "boots" };
|
public static String[] names = { "helmet", "chest", "legs", "boots" };
|
||||||
|
|
||||||
|
@ -220,6 +228,45 @@ public class ItemSentientArmour extends ItemArmor implements ISpecialArmor
|
||||||
// player.inventory.armorInventory[3 - armorType.getIndex()] = stack;
|
// player.inventory.armorInventory[3 - armorType.getIndex()] = stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public ItemMeshDefinition getMeshDefinition()
|
||||||
|
{
|
||||||
|
return new ItemMeshDefinition()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public ModelResourceLocation getModelLocation(ItemStack stack)
|
||||||
|
{
|
||||||
|
assert getCustomLocation() != null;
|
||||||
|
if (stack.getItem() == ModItems.sentientArmourHelmet)
|
||||||
|
return new ModelResourceLocation(getCustomLocation(), "armour=head");
|
||||||
|
else if (stack.getItem() == ModItems.sentientArmourChest)
|
||||||
|
return new ModelResourceLocation(getCustomLocation(), "armour=body");
|
||||||
|
else if (stack.getItem() == ModItems.sentientArmourLegs)
|
||||||
|
return new ModelResourceLocation(getCustomLocation(), "armour=leg");
|
||||||
|
else
|
||||||
|
return new ModelResourceLocation(getCustomLocation(), "armour=feet");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getCustomLocation()
|
||||||
|
{
|
||||||
|
return new ResourceLocation(Constants.Mod.MODID, "item/ItemSentientArmour");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getVariants()
|
||||||
|
{
|
||||||
|
List<String> ret = new ArrayList<String>();
|
||||||
|
ret.add("armour=head");
|
||||||
|
ret.add("armour=body");
|
||||||
|
ret.add("armour=leg");
|
||||||
|
ret.add("armour=feet");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
public static void revertAllArmour(EntityPlayer player)
|
public static void revertAllArmour(EntityPlayer player)
|
||||||
{
|
{
|
||||||
ItemStack[] armourInventory = player.inventory.armorInventory;
|
ItemStack[] armourInventory = player.inventory.armorInventory;
|
||||||
|
|
|
@ -30,10 +30,12 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.ActionResult;
|
import net.minecraft.util.ActionResult;
|
||||||
import net.minecraft.util.EnumActionResult;
|
import net.minecraft.util.EnumActionResult;
|
||||||
import net.minecraft.util.EnumHand;
|
import net.minecraft.util.EnumHand;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -157,6 +159,13 @@ public class ItemSentientSword extends ItemSword implements IDemonWillWeapon, IA
|
||||||
return new CustomMeshDefinitionActivatable("ItemSentientSword");
|
return new CustomMeshDefinitionActivatable("ItemSentientSword");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getCustomLocation()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getVariants()
|
public List<String> getVariants()
|
||||||
{
|
{
|
||||||
|
|
|
@ -111,8 +111,11 @@ public class ClientProxy extends CommonProxy
|
||||||
{
|
{
|
||||||
IMeshProvider meshProvider = (IMeshProvider) item;
|
IMeshProvider meshProvider = (IMeshProvider) item;
|
||||||
ModelLoader.setCustomMeshDefinition(item, meshProvider.getMeshDefinition());
|
ModelLoader.setCustomMeshDefinition(item, meshProvider.getMeshDefinition());
|
||||||
|
ResourceLocation resourceLocation = meshProvider.getCustomLocation();
|
||||||
|
if (resourceLocation == null)
|
||||||
|
resourceLocation = new ResourceLocation(Constants.Mod.MODID, "item/" + name);
|
||||||
for (String variant : meshProvider.getVariants())
|
for (String variant : meshProvider.getVariants())
|
||||||
ModelLoader.registerItemVariants(item, new ModelResourceLocation(new ResourceLocation(Constants.Mod.MODID, "item/" + name), variant));
|
ModelLoader.registerItemVariants(item, new ModelResourceLocation(resourceLocation, variant));
|
||||||
} else if (item instanceof IVariantProvider)
|
} else if (item instanceof IVariantProvider)
|
||||||
{
|
{
|
||||||
IVariantProvider variantProvider = (IVariantProvider) item;
|
IVariantProvider variantProvider = (IVariantProvider) item;
|
||||||
|
|
|
@ -15,7 +15,6 @@ import WayofTime.bloodmagic.item.routing.ItemRouterFilter;
|
||||||
import WayofTime.bloodmagic.item.sigil.*;
|
import WayofTime.bloodmagic.item.sigil.*;
|
||||||
import WayofTime.bloodmagic.item.soul.*;
|
import WayofTime.bloodmagic.item.soul.*;
|
||||||
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
|
import WayofTime.bloodmagic.util.helper.InventoryRenderHelper;
|
||||||
import WayofTime.bloodmagic.util.helper.InventoryRenderHelperV2;
|
|
||||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
@ -201,17 +200,6 @@ public class ModItems
|
||||||
public static void initRenders()
|
public static void initRenders()
|
||||||
{
|
{
|
||||||
InventoryRenderHelper renderHelper = BloodMagic.proxy.getRenderHelper();
|
InventoryRenderHelper renderHelper = BloodMagic.proxy.getRenderHelper();
|
||||||
InventoryRenderHelperV2 renderHelperV2 = BloodMagic.proxy.getRenderHelperV2();
|
|
||||||
|
|
||||||
renderHelperV2.registerRender(livingArmourHelmet, "ItemLivingArmour", "helm");
|
|
||||||
renderHelperV2.registerRender(livingArmourChest, "ItemLivingArmour", "chest");
|
|
||||||
renderHelperV2.registerRender(livingArmourLegs, "ItemLivingArmour", "legs");
|
|
||||||
renderHelperV2.registerRender(livingArmourBoots, "ItemLivingArmour", "boots");
|
|
||||||
|
|
||||||
renderHelperV2.registerRender(sentientArmourHelmet, "ItemSentientArmour", "helm");
|
|
||||||
renderHelperV2.registerRender(sentientArmourChest, "ItemSentientArmour", "chest");
|
|
||||||
renderHelperV2.registerRender(sentientArmourLegs, "ItemSentientArmour", "legs");
|
|
||||||
renderHelperV2.registerRender(sentientArmourBoots, "ItemSentientArmour", "boots");
|
|
||||||
|
|
||||||
renderHelper.itemRenderAll(bloodOrb);
|
renderHelper.itemRenderAll(bloodOrb);
|
||||||
OrbRegistry.registerOrbTexture(orbWeak, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbWeak"));
|
OrbRegistry.registerOrbTexture(orbWeak, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbWeak"));
|
||||||
|
|
|
@ -5,23 +5,23 @@
|
||||||
"transform": "forge:default-item"
|
"transform": "forge:default-item"
|
||||||
},
|
},
|
||||||
"variants": {
|
"variants": {
|
||||||
"type": {
|
"armour": {
|
||||||
"helm": {
|
"head": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/LivingHelmet"
|
"layer0": "bloodmagic:items/LivingHelmet"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chest": {
|
"body": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/LivingPlate"
|
"layer0": "bloodmagic:items/LivingPlate"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legs": {
|
"leg": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/LivingLeggings"
|
"layer0": "bloodmagic:items/LivingLeggings"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"boots": {
|
"feet": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/LivingBoots"
|
"layer0": "bloodmagic:items/LivingBoots"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,23 +5,23 @@
|
||||||
"transform": "forge:default-item"
|
"transform": "forge:default-item"
|
||||||
},
|
},
|
||||||
"variants": {
|
"variants": {
|
||||||
"type": {
|
"armour": {
|
||||||
"helm": {
|
"head": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/SentientHelmet"
|
"layer0": "bloodmagic:items/SentientHelmet"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chest": {
|
"body": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/SentientPlate"
|
"layer0": "bloodmagic:items/SentientPlate"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"legs": {
|
"leg": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/SentientLeggings"
|
"layer0": "bloodmagic:items/SentientLeggings"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"boots": {
|
"feet": {
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "bloodmagic:items/SentientBoots"
|
"layer0": "bloodmagic:items/SentientBoots"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue