Fixed the last of the model errors

This commit is contained in:
Nicholas Ignoffo 2017-08-16 16:39:57 -07:00
parent 3b173ecf17
commit 37ec0582eb
36 changed files with 176 additions and 121 deletions

View file

@ -120,7 +120,7 @@ public class ItemBoundAxe extends ItemBoundTool implements IMeshProvider {
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionActivatable("ItemBoundAxe");
return new CustomMeshDefinitionActivatable("bound_axe");
}
@Nullable

View file

@ -133,7 +133,7 @@ public class ItemBoundPickaxe extends ItemBoundTool implements IMeshProvider {
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionActivatable("ItemBoundPickaxe");
return new CustomMeshDefinitionActivatable("bound_pickaxe");
}
@Nullable

View file

@ -119,7 +119,7 @@ public class ItemBoundShovel extends ItemBoundTool implements IMeshProvider {
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionActivatable("ItemBoundShovel");
return new CustomMeshDefinitionActivatable("bound_shovel");
}
@Nullable

View file

@ -130,7 +130,7 @@ public class ItemBoundSword extends ItemSword implements IBindable, IActivatable
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionActivatable("ItemBoundSword");
return new CustomMeshDefinitionActivatable("bound_sword");
}
@Nullable

View file

@ -127,7 +127,7 @@ public class ItemPotionFlask extends Item implements IMeshProvider {
boolean full = true;
if (stack.hasTagCompound() && stack.getTagCompound().hasKey("empty"))
full = false;
return new ModelResourceLocation(new ResourceLocation(BloodMagic.MODID, "item/" + getRegistryName().getResourcePath()), "full=" + (full ? "true" : "false"));
return new ModelResourceLocation(getRegistryName(), "full=" + full);
};
}

View file

@ -170,18 +170,15 @@ public class ItemSacrificialDagger extends Item implements IMeshProvider {
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new ItemMeshDefinition() {
@Override
public ModelResourceLocation getModelLocation(ItemStack stack) {
String variant = "type=normal";
if (stack.getItemDamage() != 0)
variant = "type=creative";
return stack -> {
String variant = "type=normal";
if (stack.getItemDamage() != 0)
variant = "type=creative";
if (canUseForSacrifice(stack))
variant = "type=ceremonial";
if (canUseForSacrifice(stack))
variant = "type=ceremonial";
return new ModelResourceLocation(new ResourceLocation(BloodMagic.MODID, "item/ItemSacrificialDagger"), variant);
}
return new ModelResourceLocation(getRegistryName(), variant);
};
}

View file

@ -76,7 +76,7 @@ public class ItemLivingArmour extends ItemArmor implements ISpecialArmor, IMeshP
return "bloodmagic:models/armor/livingArmour_layer_1.png";
}
if (this == RegistrarBloodMagicItems.LIVING_ARMOUR_LEGS) {
if (this == RegistrarBloodMagicItems.LIVING_ARMOUR_LEGGINGS) {
return "bloodmagic:models/armor/livingArmour_layer_2.png";
} else {
return null;
@ -107,7 +107,7 @@ public class ItemLivingArmour extends ItemArmor implements ISpecialArmor, IMeshP
if (this == RegistrarBloodMagicItems.LIVING_ARMOUR_BOOTS || this == RegistrarBloodMagicItems.LIVING_ARMOUR_HELMET) {
damageAmount = 3d / 20d * 0.6;
} else if (this == RegistrarBloodMagicItems.LIVING_ARMOUR_LEGS) {
} else if (this == RegistrarBloodMagicItems.LIVING_ARMOUR_LEGGINGS) {
damageAmount = 6d / 20d * 0.6;
} else if (this == RegistrarBloodMagicItems.LIVING_ARMOUR_CHEST) {
damageAmount = 0.64;
@ -182,7 +182,7 @@ public class ItemLivingArmour extends ItemArmor implements ISpecialArmor, IMeshP
return 8;
}
if (armor.getItem() == RegistrarBloodMagicItems.LIVING_ARMOUR_LEGS) {
if (armor.getItem() == RegistrarBloodMagicItems.LIVING_ARMOUR_LEGGINGS) {
return 6;
}
@ -348,25 +348,21 @@ public class ItemLivingArmour extends ItemArmor implements ISpecialArmor, IMeshP
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new ItemMeshDefinition() {
@Override
public ModelResourceLocation getModelLocation(ItemStack stack) {
assert getCustomLocation() != null;
if (stack.getItem() == RegistrarBloodMagicItems.LIVING_ARMOUR_HELMET)
return new ModelResourceLocation(getCustomLocation(), "armour=head");
else if (stack.getItem() == RegistrarBloodMagicItems.LIVING_ARMOUR_CHEST)
return new ModelResourceLocation(getCustomLocation(), "armour=body");
else if (stack.getItem() == RegistrarBloodMagicItems.LIVING_ARMOUR_LEGS)
return new ModelResourceLocation(getCustomLocation(), "armour=leg");
else
return new ModelResourceLocation(getCustomLocation(), "armour=feet");
}
return stack -> {
if (stack.getItem() == RegistrarBloodMagicItems.LIVING_ARMOUR_HELMET)
return new ModelResourceLocation(getCustomLocation(), "armour=head");
else if (stack.getItem() == RegistrarBloodMagicItems.LIVING_ARMOUR_CHEST)
return new ModelResourceLocation(getCustomLocation(), "armour=body");
else if (stack.getItem() == RegistrarBloodMagicItems.LIVING_ARMOUR_LEGGINGS)
return new ModelResourceLocation(getCustomLocation(), "armour=leg");
else
return new ModelResourceLocation(getCustomLocation(), "armour=feet");
};
}
@Override
public ResourceLocation getCustomLocation() {
return new ResourceLocation(BloodMagic.MODID, "item/ItemLivingArmour");
return new ResourceLocation(BloodMagic.MODID, "living_armour");
}
@Override

View file

@ -76,7 +76,7 @@ public class ItemSentientArmour extends ItemArmor implements ISpecialArmor, IMes
return "bloodmagic:models/armor/sentientArmour_layer_1.png";
}
if (this == RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGS) {
if (this == RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGGINGS) {
switch (this.getCurrentType(stack)) {
case DEFAULT:
return "bloodmagic:models/armor/sentientArmour_layer_2.png";
@ -142,7 +142,7 @@ public class ItemSentientArmour extends ItemArmor implements ISpecialArmor, IMes
if (this == RegistrarBloodMagicItems.SENTIENT_ARMOUR_BOOTS || this == RegistrarBloodMagicItems.SENTIENT_ARMOUR_HELMET) {
damageAmount = 3d / 20d * 0.6;
} else if (this == RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGS) {
} else if (this == RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGGINGS) {
damageAmount = 6d / 20d * 0.6;
} else if (this == RegistrarBloodMagicItems.SENTIENT_ARMOUR_CHEST) {
damageAmount = 0.64;
@ -207,7 +207,7 @@ public class ItemSentientArmour extends ItemArmor implements ISpecialArmor, IMes
return 8;
}
if (armor.getItem() == RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGS) {
if (armor.getItem() == RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGGINGS) {
return 6;
}
@ -277,27 +277,23 @@ public class ItemSentientArmour extends ItemArmor implements ISpecialArmor, IMes
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new ItemMeshDefinition() {
@Override
public ModelResourceLocation getModelLocation(ItemStack stack) {
assert getCustomLocation() != null;
EnumDemonWillType type = ((ItemSentientArmour) RegistrarBloodMagicItems.SENTIENT_ARMOUR_HELMET).getCurrentType(stack);
String additional = "_" + type.getName().toLowerCase();
if (stack.getItem() == RegistrarBloodMagicItems.SENTIENT_ARMOUR_HELMET)
return new ModelResourceLocation(getCustomLocation(), "armour=head" + additional);
else if (stack.getItem() == RegistrarBloodMagicItems.SENTIENT_ARMOUR_CHEST)
return new ModelResourceLocation(getCustomLocation(), "armour=body" + additional);
else if (stack.getItem() == RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGS)
return new ModelResourceLocation(getCustomLocation(), "armour=leg" + additional);
else
return new ModelResourceLocation(getCustomLocation(), "armour=feet" + additional);
}
return stack -> {
EnumDemonWillType type = ((ItemSentientArmour) RegistrarBloodMagicItems.SENTIENT_ARMOUR_HELMET).getCurrentType(stack);
String additional = "_" + type.getName().toLowerCase();
if (stack.getItem() == RegistrarBloodMagicItems.SENTIENT_ARMOUR_HELMET)
return new ModelResourceLocation(getCustomLocation(), "armour=head" + additional);
else if (stack.getItem() == RegistrarBloodMagicItems.SENTIENT_ARMOUR_CHEST)
return new ModelResourceLocation(getCustomLocation(), "armour=body" + additional);
else if (stack.getItem() == RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGGINGS)
return new ModelResourceLocation(getCustomLocation(), "armour=leg" + additional);
else
return new ModelResourceLocation(getCustomLocation(), "armour=feet" + additional);
};
}
@Override
public ResourceLocation getCustomLocation() {
return new ResourceLocation(BloodMagic.MODID, "item/ItemSentientArmour");
return new ResourceLocation(BloodMagic.MODID, "sentient_armour");
}
@Override
@ -557,7 +553,7 @@ public class ItemSentientArmour extends ItemArmor implements ISpecialArmor, IMes
{
ItemStack omegaHelmetStack = ((ItemSentientArmour) RegistrarBloodMagicItems.SENTIENT_ARMOUR_HELMET).getSubstituteStack(type, will, helmetStack);
ItemStack omegaChestStack = ((ItemSentientArmour) RegistrarBloodMagicItems.SENTIENT_ARMOUR_CHEST).getSubstituteStack(type, will, chestStack);
ItemStack omegaLeggingsStack = ((ItemSentientArmour) RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGS).getSubstituteStack(type, will, leggingsStack);
ItemStack omegaLeggingsStack = ((ItemSentientArmour) RegistrarBloodMagicItems.SENTIENT_ARMOUR_LEGGINGS).getSubstituteStack(type, will, leggingsStack);
ItemStack omegaBootsStack = ((ItemSentientArmour) RegistrarBloodMagicItems.SENTIENT_ARMOUR_BOOTS).getSubstituteStack(type, will, bootsStack);
player.setItemStackToSlot(EntityEquipmentSlot.HEAD, omegaHelmetStack);

View file

@ -1,6 +1,8 @@
package WayofTime.bloodmagic.item.block;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.tile.TileAlchemyTable;
import com.google.common.collect.Lists;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
@ -10,8 +12,11 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import org.apache.commons.lang3.tuple.Pair;
public class ItemBlockAlchemyTable extends ItemBlock {
import java.util.List;
public class ItemBlockAlchemyTable extends ItemBlock implements IVariantProvider {
public ItemBlockAlchemyTable(Block block) {
super(block);
}
@ -57,4 +62,9 @@ public class ItemBlockAlchemyTable extends ItemBlock {
return true;
}
@Override
public List<Pair<Integer, String>> getVariants() {
return Lists.newArrayList(Pair.of(0, "inventory"));
}
}

View file

@ -19,7 +19,7 @@ import net.minecraft.world.World;
public class ItemSigilBloodLight extends ItemSigilBase {
public ItemSigilBloodLight() {
super("bloodLight", 10);
super("blood_light", 10);
}
@Override

View file

@ -9,7 +9,7 @@ import net.minecraft.world.World;
public class ItemSigilElementalAffinity extends ItemSigilToggleableBase {
public ItemSigilElementalAffinity() {
super("elementalAffinity", 200);
super("elemental_affinity", 200);
}
@Override

View file

@ -13,7 +13,7 @@ import java.util.List;
public class ItemSigilEnderSeverance extends ItemSigilToggleableBase {
public ItemSigilEnderSeverance() {
super("enderSeverance", 200);
super("ender_severance", 200);
}
@Override

View file

@ -14,7 +14,7 @@ import java.util.List;
public class ItemSigilFastMiner extends ItemSigilToggleableBase {
public ItemSigilFastMiner() {
super("fastMiner", 100);
super("fast_miner", 100);
}
@Override

View file

@ -16,7 +16,7 @@ import net.minecraftforge.fml.common.eventhandler.Event.Result;
public class ItemSigilGreenGrove extends ItemSigilToggleableBase {
public ItemSigilGreenGrove() {
super("greenGrove", 150);
super("green_grove", 150);
}
@Override

View file

@ -17,7 +17,7 @@ public class ItemSigilPhantomBridge extends ItemSigilToggleableBase {
private int range = 3;
public ItemSigilPhantomBridge() {
super("phantomBridge", 100);
super("phantom_bridge", 100);
}
@Override

View file

@ -19,6 +19,7 @@ import org.apache.commons.lang3.text.WordUtils;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class ItemSigilToggleableBase extends ItemSigilToggleable implements IMeshProvider {
protected final String tooltipBase;
@ -49,7 +50,7 @@ public class ItemSigilToggleableBase extends ItemSigilToggleable implements IMes
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionActivatable("ItemSigil" + WordUtils.capitalize(name));
return new CustomMeshDefinitionActivatable("sigil_" + name.toLowerCase(Locale.ROOT));
}
@Nullable

View file

@ -3,20 +3,24 @@ package WayofTime.bloodmagic.item.soul;
import WayofTime.bloodmagic.BloodMagic;
import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
import WayofTime.bloodmagic.api.soul.PlayerDemonWillHandler;
import WayofTime.bloodmagic.client.IMeshProvider;
import WayofTime.bloodmagic.item.armour.ItemSentientArmour;
import com.google.common.collect.Lists;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemMeshDefinition;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.*;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ItemSentientArmourGem extends Item {
import javax.annotation.Nullable;
import java.util.List;
public class ItemSentientArmourGem extends Item implements IMeshProvider {
public ItemSentientArmourGem() {
super();
@ -53,19 +57,29 @@ public class ItemSentientArmourGem extends Item {
}
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
boolean hasSentientArmour = false;
NonNullList<ItemStack> armourInventory = player.inventory.armorInventory;
for (ItemStack armourStack : armourInventory) {
if (armourStack != null && armourStack.getItem() instanceof ItemSentientArmour) {
hasSentientArmour = true;
@Override
public ItemMeshDefinition getMeshDefinition() {
return stack -> {
boolean flag = false;
NonNullList<ItemStack> armourInventory = Minecraft.getMinecraft().player.inventory.armorInventory;
for (ItemStack armourStack : armourInventory) {
if (armourStack != null && armourStack.getItem() instanceof ItemSentientArmour) {
flag = true;
}
}
}
if (hasSentientArmour) {
return new ModelResourceLocation("bloodmagic:ItemSentientArmourGem1", "inventory");
}
return new ModelResourceLocation(stack.getItem().getRegistryName(), "type=" + (flag ? "" : "de") + "activated");
};
}
@Override
public List<String> getVariants() {
return Lists.newArrayList("type=activated", "type=deactivated");
}
@Nullable
@Override
public ResourceLocation getCustomLocation() {
return null;
}
}

View file

@ -297,7 +297,7 @@ public class ItemSentientAxe extends ItemAxe implements IDemonWillWeapon, IMeshP
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionMultiWill("ItemSentientAxe");
return new CustomMeshDefinitionMultiWill("sentient_axe");
}
@Nullable

View file

@ -7,9 +7,11 @@ import WayofTime.bloodmagic.api.iface.ISentientTool;
import WayofTime.bloodmagic.api.soul.EnumDemonWillType;
import WayofTime.bloodmagic.api.soul.PlayerDemonWillHandler;
import WayofTime.bloodmagic.api.util.helper.NBTHelper;
import WayofTime.bloodmagic.client.IVariantProvider;
import WayofTime.bloodmagic.core.RegistrarBloodMagicItems;
import WayofTime.bloodmagic.entity.mob.EntitySentientSpecter;
import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
import com.google.common.collect.Lists;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
@ -32,10 +34,12 @@ import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import org.apache.commons.lang3.tuple.Pair;
import java.util.List;
import java.util.Locale;
public class ItemSentientBow extends ItemBow implements IMultiWillTool, ISentientTool//, IMeshProvider
public class ItemSentientBow extends ItemBow implements IMultiWillTool, ISentientTool, IVariantProvider//, IMeshProvider
{
public static int[] soulBracket = new int[]{16, 60, 200, 400, 1000};
public static double[] defaultDamageAdded = new double[]{0.25, 0.5, 0.75, 1, 1.25};
@ -248,6 +252,11 @@ public class ItemSentientBow extends ItemBow implements IMultiWillTool, ISentien
return super.onItemRightClick(world, player, hand);
}
@Override
public List<Pair<Integer, String>> getVariants() {
return Lists.newArrayList(Pair.of(0, "inventory"));
}
public EntityTippedArrow getArrowEntity(World world, ItemStack stack, EntityLivingBase target, EntityLivingBase user, float velocity) {
EnumDemonWillType type = this.getCurrentType(stack);

View file

@ -296,7 +296,7 @@ public class ItemSentientPickaxe extends ItemPickaxe implements IDemonWillWeapon
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionMultiWill("ItemSentientPickaxe");
return new CustomMeshDefinitionMultiWill("sentient_pickaxe");
}
@Nullable

View file

@ -297,7 +297,7 @@ public class ItemSentientShovel extends ItemSpade implements IDemonWillWeapon, I
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionMultiWill("ItemSentientShovel");
return new CustomMeshDefinitionMultiWill("sentient_shovel");
}
@Nullable

View file

@ -272,7 +272,7 @@ public class ItemSentientSword extends ItemSword implements IDemonWillWeapon, IM
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionMultiWill("ItemSentientSword");
return new CustomMeshDefinitionMultiWill("sentient_shovel");
}
@Nullable

View file

@ -61,7 +61,7 @@ public class ItemSoulGem extends Item implements IDemonWillGem, IMeshProvider, I
@Override
@SideOnly(Side.CLIENT)
public ItemMeshDefinition getMeshDefinition() {
return new CustomMeshDefinitionWillGem("ItemSoulGem");
return new CustomMeshDefinitionWillGem("soul_gem");
}
@Nullable