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

@ -13,6 +13,7 @@ import techreborn.compat.recipes.RecipesBuildcraft;
import techreborn.compat.recipes.RecipesThaumcraft;
import techreborn.compat.waila.CompatModuleWaila;
import techreborn.config.ConfigTechReborn;
import techreborn.parts.StandalonePartCompact;
import techreborn.parts.TechRebornParts;
public class CompatManager {
@ -45,6 +46,7 @@ public class CompatManager {
registerCompact(RecipesThaumcraft.class, "Thaumcraft");
registerCompact(TechRebornParts.class, "mcmultipart");
registerCompact(ClientPartLoader.class, "mcmultipart", "@client");
registerCompact(StandalonePartCompact.class, "!mcmultipart");
}
public void registerCompact(Class<? extends ICompatModule> moduleClass, Object... objs) {

View file

@ -46,7 +46,7 @@ import techreborn.items.ItemIngots;
import techreborn.items.ItemNuggets;
import techreborn.items.ItemParts;
import techreborn.items.ItemPlates;
import techreborn.parts.ItemCables;
import techreborn.parts.ItemStandaloneCables;
import techreborn.utils.RecipeUtils;
public class ModRecipes {
@ -81,26 +81,26 @@ public class ModRecipes {
}
static void addWireRecipes() {
CraftingHelper.addShapedOreRecipe(ItemCables.getCableByName("copper", 6),
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("copper", 6),
"XXX","CCC", "XXX",
'C', "ingotCopper");
CraftingHelper.addShapedOreRecipe(ItemCables.getCableByName("tin", 9),
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("tin", 9),
"XXX","CCC", "XXX",
'C', "ingotTin");
CraftingHelper.addShapedOreRecipe(ItemCables.getCableByName("gold", 12),
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("gold", 12),
"XXX","CCC", "XXX",
'C', "ingotGold");
CraftingHelper.addShapedOreRecipe(ItemCables.getCableByName("hv", 8),
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("hv", 8),
"XXX","CCC", "XXX",
'C', ItemIngots.getIngotByName("refinediron"));
CraftingHelper.addShapedOreRecipe(ItemCables.getCableByName("glassfiber", 6),
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("glassfiber", 6),
"GGG",
"SDS",
"GGG",
'G', "blockGlass",
'S', "ingotSilver",
'D', Items.diamond);
CraftingHelper.addShapedOreRecipe(ItemCables.getCableByName("glassfiber", 4),
CraftingHelper.addShapedOreRecipe(ItemStandaloneCables.getCableByName("glassfiber", 4),
"GGG",
"RDR",
"GGG",
@ -108,9 +108,9 @@ public class ModRecipes {
'R', Items.redstone,
'D', Items.diamond);
CraftingHelper.addShapelessOreRecipe(ItemCables.getCableByName("insulatedcopper"), ItemParts.getPartByName("rubber"), ItemCables.getCableByName("copper"));
CraftingHelper.addShapelessOreRecipe(ItemCables.getCableByName("insulatedgold"), ItemParts.getPartByName("rubber"), ItemCables.getCableByName("gold"));
CraftingHelper.addShapelessOreRecipe(ItemCables.getCableByName("insulatedhv"), ItemParts.getPartByName("rubber"), ItemCables.getCableByName("hv"));
CraftingHelper.addShapelessOreRecipe(ItemStandaloneCables.getCableByName("insulatedcopper"), ItemParts.getPartByName("rubber"), ItemStandaloneCables.getCableByName("copper"));
CraftingHelper.addShapelessOreRecipe(ItemStandaloneCables.getCableByName("insulatedgold"), ItemParts.getPartByName("rubber"), ItemStandaloneCables.getCableByName("gold"));
CraftingHelper.addShapelessOreRecipe(ItemStandaloneCables.getCableByName("insulatedhv"), ItemParts.getPartByName("rubber"), ItemStandaloneCables.getCableByName("hv"));
}
private static void addCompressorRecipes() {
@ -202,7 +202,7 @@ public class ModRecipes {
"WWW", "SRS", "WWW",
'R', ItemIngots.getIngotByName("refinediron"),
'S', Items.redstone,
'W', ItemCables.getCableByName("insulatedcopper"));
'W', ItemStandaloneCables.getCableByName("insulatedcopper"));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.wrench),
"BAB", "BBB", "ABA",

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) {
}
}