Standalone Cable items

This commit is contained in:
modmuss50 2016-03-06 14:51:13 +00:00
parent 188cee7b3b
commit 7a5c7df9c2
5 changed files with 128 additions and 26 deletions

View file

@ -14,8 +14,6 @@ import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTab;
import techreborn.init.ModItems;
import techreborn.items.ItemTextureBase;
import techreborn.lib.ModInfo;
import java.security.InvalidParameterException;
@ -25,19 +23,6 @@ import java.util.List;
* Created by Mark on 27/02/2016.
*/
public class ItemCables extends ItemMultiPart implements ITexturedItem {
public static ItemStack getCableByName(String name, int count) {
for (int i = 0; i < EnumCableType.values().length; i++) {
if (EnumCableType.values()[i].getName().equalsIgnoreCase(name)) {
return new ItemStack(TechRebornParts.cables, count, i);
}
}
throw new InvalidParameterException("The cable " + name + " could not be found.");
}
public static ItemStack getCableByName(String name) {
return getCableByName(name, 1);
}
public ItemCables() {
setCreativeTab(TechRebornCreativeTab.instance);
@ -45,6 +30,7 @@ public class ItemCables extends ItemMultiPart implements ITexturedItem {
setUnlocalizedName("techreborn.cable");
setNoRepair();
RebornCore.jsonDestroyer.registerObject(this);
ItemStandaloneCables.mcPartCable = this;
}
@Override

View file

@ -0,0 +1,77 @@
package techreborn.parts;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTab;
import techreborn.items.ItemTR;
import techreborn.items.ItemTextureBase;
import techreborn.lib.ModInfo;
import java.security.InvalidParameterException;
import java.util.List;
/**
* Created by Mark on 06/03/2016.
*/
public class ItemStandaloneCables extends ItemTextureBase {
public static Item mcPartCable;
public static ItemStack getCableByName(String name, int count) {
for (int i = 0; i < EnumCableType.values().length; i++) {
if (EnumCableType.values()[i].getName().equalsIgnoreCase(name)) {
return new ItemStack(mcPartCable != null? mcPartCable : StandalonePartCompact.itemStandaloneCable, count, i);
}
}
throw new InvalidParameterException("The cable " + name + " could not be found.");
}
public static ItemStack getCableByName(String name) {
return getCableByName(name, 1);
}
public ItemStandaloneCables() {
setCreativeTab(TechRebornCreativeTab.instance);
setHasSubtypes(true);
setUnlocalizedName("techreborn.cable");
setNoRepair();
RebornCore.jsonDestroyer.registerObject(this);
}
@Override
// gets Unlocalized Name depending on meta data
public String getUnlocalizedName(ItemStack itemStack) {
int meta = itemStack.getItemDamage();
if (meta < 0 || meta >= EnumCableType.values().length) {
meta = 0;
}
return super.getUnlocalizedName() + "." + EnumCableType.values()[meta];
}
// Adds Dusts SubItems To Creative Tab
public void getSubItems(Item item, CreativeTabs creativeTabs, List list) {
for (int meta = 0; meta < EnumCableType.values().length; ++meta) {
list.add(new ItemStack(item, 1, meta));
}
}
@Override
public String getTextureName(int damage) {
return ModInfo.MOD_ID + ":items/cables/" + EnumCableType.values()[damage];
}
@Override
public int getMaxMeta() {
return EnumCableType.values().length;
}
@Override
public ModelResourceLocation getModel(ItemStack stack, EntityPlayer player, int useRemaining) {
return new ModelResourceLocation(ModInfo.MOD_ID + ":" + getUnlocalizedName(stack).substring(5), "inventory");
}
}

View file

@ -0,0 +1,37 @@
package techreborn.parts;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.registry.GameRegistry;
import techreborn.compat.ICompatModule;
/**
* Created by Mark on 06/03/2016.
*/
public class StandalonePartCompact implements ICompatModule {
public static ItemStandaloneCables itemStandaloneCable;
@Override
public void preInit(FMLPreInitializationEvent event) {
}
@Override
public void init(FMLInitializationEvent event) {
itemStandaloneCable = new ItemStandaloneCables();
GameRegistry.registerItem(itemStandaloneCable, "cables");
}
@Override
public void postInit(FMLPostInitializationEvent event) {
}
@Override
public void serverStarting(FMLServerStartingEvent event) {
}
}