ALL ITEMS USE JSON NOW \o/

This commit is contained in:
ProfessorProspector 2016-12-12 15:44:16 -08:00
parent 0273a619f1
commit 764396d7ef
58 changed files with 484 additions and 209 deletions

View file

@ -1,5 +1,6 @@
package techreborn.items;
import com.google.common.base.CaseFormat;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@ -10,19 +11,18 @@ import techreborn.Core;
import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab;
import techreborn.init.ModItems;
import techreborn.lib.ModInfo;
import java.security.InvalidParameterException;
public class ItemParts extends ItemTextureBase {
public static final String[] types = new String[] { "energyFlowCircuit", "dataControlCircuit", "dataStorageCircuit",
"dataOrb", "diamondGrindingHead", "diamondSawBlade", "tungstenGrindingHead", "heliumCoolantSimple",
"heliumCoolantTriple", "heliumCoolantSix", "NaKCoolantSimple", "NaKCoolantTriple", "NaKCoolantSix",
"cupronickelHeatingCoil", "nichromeHeatingCoil", "kanthalHeatingCoil", ModItems.META_PLACEHOLDER, "superConductor",
"thoriumCell", "doubleThoriumCell", "quadThoriumCell", "plutoniumCell", "doublePlutoniumCell",
"quadPlutoniumCell", "computerMonitor", "machineParts", "neutronReflector", "iridiumNeutronReflector",
"thickNeutronReflector", "electronicCircuit", "advancedCircuit", "rubberSap", "rubber", "scrap",
"carbonmesh", "carbonfiber", "coolantSimple", "coolantTriple", "coolantSix" };
public class ItemParts extends ItemTRNoDestroy {
public static final String[] types = new String[] { "energy_flow_circuit", "data_control_circuit", "data_storage_circuit",
"data_orb", "diamond_grinding_head", "diamond_saw_blade", "tungsten_grinding_head", "helium_coolant_simple",
"helium_coolant_triple", "helium_coolant_six", "nak_coolant_simple", "nak_coolant_triple", "nak_coolant_six",
"cupronickel_heating_coil", "nichrome_heating_coil", "kanthal_heating_coil", ModItems.META_PLACEHOLDER, "super_conductor",
"thorium_cell", "double_thorium_cell", "quad_thorium_cell", "plutonium_cell", "double_plutonium_cell",
"quad_plutonium_cell", "computer_monitor", "machine_parts", "neutron_reflector", "iridium_neutron_reflector",
"thick_neutron_reflector", "electronic_circuit", "advanced_circuit", "sap", "rubber", "scrap",
"carbon_mesh", "carbon_fiber", "coolant_simple", "coolant_triple", "coolant_six" };
public ItemParts() {
setCreativeTab(TechRebornCreativeTab.instance);
@ -31,6 +31,22 @@ public class ItemParts extends ItemTextureBase {
}
public static ItemStack getPartByName(String name, int count) {
//TODO: Change all recipes n' shit to use proper snake_case names so I don't have to do this bullshit
if (name.equals("NaKCoolantSimple"))
name = "nak_coolant_simple";
if (name.equals("NaKCoolantTriple"))
name = "nak_coolant_triple";
if (name.equals("NaKCoolantSix"))
name = "nak_coolant_six";
if (name.equals("superconductor"))
name = "super_conductor";
if (name.equals("carbonfiber"))
name = "carbon_fiber";
if (name.equals("carbonmesh"))
name = "carbon_mesh";
if (name.equals("rubberSap"))
name = "sap";
name = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, name);
for (int i = 0; i < types.length; i++) {
if (types[i].equalsIgnoreCase(name)) {
return new ItemStack(ModItems.parts, count, i);
@ -72,14 +88,4 @@ public class ItemParts extends ItemTextureBase {
}
return itemStack;
}
@Override
public String getTextureName(int damage) {
return ModInfo.MOD_ID + ":items/part/" + types[damage].toLowerCase();
}
@Override
public int getMaxMeta() {
return types.length;
}
}

View file

@ -30,7 +30,6 @@ public class ItemLithiumBatpack extends ItemArmor implements IEnergyItemInfo {
setMaxStackSize(1);
setUnlocalizedName("techreborn.lithiumbatpack");
setCreativeTab(TechRebornCreativeTab.instance);
RebornCore.jsonDestroyer.registerObject(this);
}
@Override

View file

@ -1,21 +1,13 @@
package techreborn.items.armor;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
/**
* Created by modmuss50 on 26/02/2016.
*/
public class ItemTRArmour extends ItemArmor implements ITexturedItem {
public class ItemTRArmour extends ItemArmor {
private ArmorMaterial material = ArmorMaterial.LEATHER;
private EntityEquipmentSlot slot = EntityEquipmentSlot.HEAD;
@ -31,37 +23,7 @@ public class ItemTRArmour extends ItemArmor implements ITexturedItem {
if (slot == EntityEquipmentSlot.FEET)
setUnlocalizedName(material.name().toLowerCase() + "Boots");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
this.slot = slot;
}
@Override
public String getTextureName(int damage) {
if (slot == EntityEquipmentSlot.HEAD)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_helmet";
if (slot == EntityEquipmentSlot.CHEST)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_chestplate";
if (slot == EntityEquipmentSlot.LEGS)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_leggings";
if (slot == EntityEquipmentSlot.FEET)
return "techreborn:items/tool/" + material.name().toLowerCase() + "_boots";
return "techreborn:items/tool/" + material.name().toLowerCase() + "_error";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
}

View file

@ -1,30 +1,22 @@
package techreborn.items.tools;
import com.google.common.collect.Sets;
import me.modmuss50.jsonDestroyer.api.IHandHeld;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemTool;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
import java.util.Set;
public class ItemTRAxe extends ItemTool implements ITexturedItem, IHandHeld {
private ToolMaterial material = ToolMaterial.WOOD;
public class ItemTRAxe extends ItemTool {
private static final Set<Block> EFFECTIVE_ON = Sets.newHashSet(new Block[] { Blocks.PLANKS, Blocks.BOOKSHELF,
Blocks.LOG, Blocks.LOG2, Blocks.CHEST, Blocks.PUMPKIN, Blocks.LIT_PUMPKIN, Blocks.MELON_BLOCK,
Blocks.LADDER, Blocks.WOODEN_BUTTON, Blocks.WOODEN_PRESSURE_PLATE });
private ToolMaterial material = ToolMaterial.WOOD;
public ItemTRAxe(ToolMaterial material) {
super(material, EFFECTIVE_ON);
@ -32,7 +24,6 @@ public class ItemTRAxe extends ItemTool implements ITexturedItem, IHandHeld {
this.attackSpeed = (material.getDamageVsEntity() + 6.75F) * -0.344444F;
setUnlocalizedName(material.name().toLowerCase() + "Axe");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
@ -41,25 +32,4 @@ public class ItemTRAxe extends ItemTool implements ITexturedItem, IHandHeld {
return material != Material.WOOD && material != Material.PLANTS && material != Material.VINE
? super.getStrVsBlock(stack, state) : this.efficiencyOnProperMaterial;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_axe";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
}

View file

@ -1,44 +1,21 @@
package techreborn.items.tools;
import me.modmuss50.jsonDestroyer.api.IHandHeld;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
public class ItemTRHoe extends ItemHoe implements ITexturedItem, IHandHeld {
public class ItemTRHoe extends ItemHoe {
private ToolMaterial material = ToolMaterial.WOOD;
public ItemTRHoe(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase() + "Hoe");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_hoe";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;

View file

@ -1,46 +1,16 @@
package techreborn.items.tools;
import me.modmuss50.jsonDestroyer.api.IHandHeld;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
public class ItemTRPickaxe extends ItemPickaxe implements ITexturedItem, IHandHeld {
public class ItemTRPickaxe extends ItemPickaxe {
private ToolMaterial material = ToolMaterial.WOOD;
public ItemTRPickaxe(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase() + "Pickaxe");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_pickaxe";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
}

View file

@ -1,46 +1,16 @@
package techreborn.items.tools;
import me.modmuss50.jsonDestroyer.api.IHandHeld;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemSpade;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
public class ItemTRSpade extends ItemSpade implements ITexturedItem, IHandHeld {
public class ItemTRSpade extends ItemSpade {
private ToolMaterial material = ToolMaterial.WOOD;
public ItemTRSpade(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase() + "Spade");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_shovel";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
}

View file

@ -1,46 +1,16 @@
package techreborn.items.tools;
import me.modmuss50.jsonDestroyer.api.IHandHeld;
import me.modmuss50.jsonDestroyer.api.ITexturedItem;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.lib.ModInfo;
public class ItemTRSword extends ItemSword implements ITexturedItem, IHandHeld {
public class ItemTRSword extends ItemSword {
private ToolMaterial material = ToolMaterial.WOOD;
public ItemTRSword(ToolMaterial material) {
super(material);
setUnlocalizedName(material.name().toLowerCase() + "Sword");
setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this);
this.material = material;
}
@Override
public String getTextureName(int damage) {
return "techreborn:items/tool/" + material.name().toLowerCase() + "_sword";
}
@Override
public int getMaxMeta() {
return 1;
}
@Override
@SideOnly(Side.CLIENT)
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
@SideOnly(Side.CLIENT)
public boolean isFull3D() {
return true;
}
}