Friction Boots - semi-working
This commit is contained in:
parent
c3a1b6b3c5
commit
efe2502be1
|
@ -338,6 +338,7 @@ public class ClientProxy extends CommonProxy
|
||||||
MinecraftForgeClient.registerItemRenderer(Mekanism.GasMask.itemID, handler);
|
MinecraftForgeClient.registerItemRenderer(Mekanism.GasMask.itemID, handler);
|
||||||
MinecraftForgeClient.registerItemRenderer(Mekanism.ScubaTank.itemID, handler);
|
MinecraftForgeClient.registerItemRenderer(Mekanism.ScubaTank.itemID, handler);
|
||||||
MinecraftForgeClient.registerItemRenderer(Mekanism.Balloon.itemID, handler);
|
MinecraftForgeClient.registerItemRenderer(Mekanism.Balloon.itemID, handler);
|
||||||
|
MinecraftForgeClient.registerItemRenderer(Mekanism.FrictionBoots.itemID, handler);
|
||||||
|
|
||||||
//Register block handlers
|
//Register block handlers
|
||||||
RenderingRegistry.registerBlockHandler(new MachineRenderingHandler());
|
RenderingRegistry.registerBlockHandler(new MachineRenderingHandler());
|
||||||
|
|
|
@ -24,7 +24,6 @@ public class ModelFrictionBoots extends ModelBase
|
||||||
SpringL.setTextureSize(64, 32);
|
SpringL.setTextureSize(64, 32);
|
||||||
SpringL.mirror = true;
|
SpringL.mirror = true;
|
||||||
setRotation(SpringL, 0.1047198F, 0F, 0F);
|
setRotation(SpringL, 0.1047198F, 0F, 0F);
|
||||||
SpringR.mirror = true;
|
|
||||||
SpringR = new ModelRenderer(this, 8, 0);
|
SpringR = new ModelRenderer(this, 8, 0);
|
||||||
SpringR.addBox(-2.5F, 18F, 0F, 1, 6, 1);
|
SpringR.addBox(-2.5F, 18F, 0F, 1, 6, 1);
|
||||||
SpringR.setRotationPoint(0F, 0F, 0F);
|
SpringR.setRotationPoint(0F, 0F, 0F);
|
||||||
|
@ -50,7 +49,6 @@ public class ModelFrictionBoots extends ModelBase
|
||||||
SupportL.setTextureSize(64, 32);
|
SupportL.setTextureSize(64, 32);
|
||||||
SupportL.mirror = true;
|
SupportL.mirror = true;
|
||||||
setRotation(SupportL, 0.296706F, 0F, 0F);
|
setRotation(SupportL, 0.296706F, 0F, 0F);
|
||||||
SupportR.mirror = true;
|
|
||||||
SupportR = new ModelRenderer(this, 0, 0);
|
SupportR = new ModelRenderer(this, 0, 0);
|
||||||
SupportR.addBox(-3F, 16.5F, -4.2F, 2, 4, 2);
|
SupportR.addBox(-3F, 16.5F, -4.2F, 2, 4, 2);
|
||||||
SupportR.setRotationPoint(0F, 0F, 0F);
|
SupportR.setRotationPoint(0F, 0F, 0F);
|
||||||
|
@ -69,6 +67,20 @@ public class ModelFrictionBoots extends ModelBase
|
||||||
SupportL.render(size);
|
SupportL.render(size);
|
||||||
SupportR.render(size);
|
SupportR.render(size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void renderLeft(float size)
|
||||||
|
{
|
||||||
|
SpringL.render(size);
|
||||||
|
BraceL.render(size);
|
||||||
|
SupportL.render(size);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void renderRight(float size)
|
||||||
|
{
|
||||||
|
SpringR.render(size);
|
||||||
|
BraceR.render(size);
|
||||||
|
SupportR.render(size);
|
||||||
|
}
|
||||||
|
|
||||||
private void setRotation(ModelRenderer model, float x, float y, float z)
|
private void setRotation(ModelRenderer model, float x, float y, float z)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package mekanism.client.render;
|
package mekanism.client.render;
|
||||||
|
|
||||||
|
import mekanism.client.model.ModelFrictionBoots;
|
||||||
import mekanism.client.model.ModelGasMask;
|
import mekanism.client.model.ModelGasMask;
|
||||||
import mekanism.client.model.ModelJetpack;
|
import mekanism.client.model.ModelJetpack;
|
||||||
import mekanism.client.model.ModelScubaTank;
|
import mekanism.client.model.ModelScubaTank;
|
||||||
|
@ -35,8 +36,8 @@ public class ModelCustomArmor extends ModelBiped
|
||||||
resetPart(bipedBody, 0, 0, 0);
|
resetPart(bipedBody, 0, 0, 0);
|
||||||
resetPart(bipedRightArm, 5, 2, 0);
|
resetPart(bipedRightArm, 5, 2, 0);
|
||||||
resetPart(bipedLeftArm, -5, 2, 0);
|
resetPart(bipedLeftArm, -5, 2, 0);
|
||||||
resetPart(bipedRightLeg, 2, 12, 0);
|
resetPart(bipedRightLeg, 0, 0, 0);
|
||||||
resetPart(bipedLeftLeg, -2, 12, 0);
|
resetPart(bipedLeftLeg, 0, 0, 0);
|
||||||
|
|
||||||
bipedHeadwear.cubeList.clear();
|
bipedHeadwear.cubeList.clear();
|
||||||
bipedEars.cubeList.clear();
|
bipedEars.cubeList.clear();
|
||||||
|
@ -64,6 +65,13 @@ public class ModelCustomArmor extends ModelBiped
|
||||||
bipedBody.isHidden = false;
|
bipedBody.isHidden = false;
|
||||||
bipedBody.showModel = true;
|
bipedBody.showModel = true;
|
||||||
}
|
}
|
||||||
|
else if(modelType.armorSlot == 3)
|
||||||
|
{
|
||||||
|
bipedLeftLeg.isHidden = false;
|
||||||
|
bipedLeftLeg.showModel = true;
|
||||||
|
bipedRightLeg.isHidden = false;
|
||||||
|
bipedRightLeg.showModel = true;
|
||||||
|
}
|
||||||
|
|
||||||
setRotationAngles(f, f1, f2, f3, f4, size, entity);
|
setRotationAngles(f, f1, f2, f3, f4, size, entity);
|
||||||
}
|
}
|
||||||
|
@ -137,6 +145,21 @@ public class ModelCustomArmor extends ModelBiped
|
||||||
GL11.glTranslatef(0, 0, -0.05F);
|
GL11.glTranslatef(0, 0, -0.05F);
|
||||||
ArmorModel.gasMaskModel.render(0.0625F);
|
ArmorModel.gasMaskModel.render(0.0625F);
|
||||||
}
|
}
|
||||||
|
else if(biped.modelType == ArmorModel.FRICTIONBOOTS)
|
||||||
|
{
|
||||||
|
GL11.glScalef(0.99F, 0.99F, 0.99F);
|
||||||
|
|
||||||
|
if(partRender == biped.bipedLeftLeg)
|
||||||
|
{
|
||||||
|
GL11.glTranslatef(-0.1375F, -0.75F, 0);
|
||||||
|
ArmorModel.frictionBootsModel.renderLeft(0.0625F);
|
||||||
|
}
|
||||||
|
else if(partRender == biped.bipedRightLeg)
|
||||||
|
{
|
||||||
|
GL11.glTranslatef(0.1375F, -0.75F, 0);
|
||||||
|
ArmorModel.frictionBootsModel.renderRight(0.0625F);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
|
@ -161,6 +184,10 @@ public class ModelCustomArmor extends ModelBiped
|
||||||
{
|
{
|
||||||
return partRender == biped.bipedBody;
|
return partRender == biped.bipedBody;
|
||||||
}
|
}
|
||||||
|
else if(type.armorSlot == 3)
|
||||||
|
{
|
||||||
|
return partRender == biped.bipedLeftLeg || partRender == biped.bipedRightLeg;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -169,7 +196,8 @@ public class ModelCustomArmor extends ModelBiped
|
||||||
{
|
{
|
||||||
JETPACK(1, MekanismUtils.getResource(ResourceType.RENDER, "Jetpack.png")),
|
JETPACK(1, MekanismUtils.getResource(ResourceType.RENDER, "Jetpack.png")),
|
||||||
SCUBATANK(1, MekanismUtils.getResource(ResourceType.RENDER, "ScubaSet.png")),
|
SCUBATANK(1, MekanismUtils.getResource(ResourceType.RENDER, "ScubaSet.png")),
|
||||||
GASMASK(0, MekanismUtils.getResource(ResourceType.RENDER, "ScubaSet.png"));
|
GASMASK(0, MekanismUtils.getResource(ResourceType.RENDER, "ScubaSet.png")),
|
||||||
|
FRICTIONBOOTS(3, MekanismUtils.getResource(ResourceType.RENDER, "FrictionBoots.png"));
|
||||||
|
|
||||||
public int armorSlot;
|
public int armorSlot;
|
||||||
public ResourceLocation resource;
|
public ResourceLocation resource;
|
||||||
|
@ -177,6 +205,7 @@ public class ModelCustomArmor extends ModelBiped
|
||||||
public static ModelJetpack jetpackModel = new ModelJetpack();
|
public static ModelJetpack jetpackModel = new ModelJetpack();
|
||||||
public static ModelGasMask gasMaskModel = new ModelGasMask();
|
public static ModelGasMask gasMaskModel = new ModelGasMask();
|
||||||
public static ModelScubaTank scubaTankModel = new ModelScubaTank();
|
public static ModelScubaTank scubaTankModel = new ModelScubaTank();
|
||||||
|
public static ModelFrictionBoots frictionBootsModel = new ModelFrictionBoots();
|
||||||
|
|
||||||
private ArmorModel(int i, ResourceLocation r)
|
private ArmorModel(int i, ResourceLocation r)
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,6 +6,7 @@ import mekanism.client.ClientProxy;
|
||||||
import mekanism.client.MekanismClient;
|
import mekanism.client.MekanismClient;
|
||||||
import mekanism.client.model.ModelEnergyCube;
|
import mekanism.client.model.ModelEnergyCube;
|
||||||
import mekanism.client.model.ModelEnergyCube.ModelEnergyCore;
|
import mekanism.client.model.ModelEnergyCube.ModelEnergyCore;
|
||||||
|
import mekanism.client.model.ModelFrictionBoots;
|
||||||
import mekanism.client.model.ModelGasMask;
|
import mekanism.client.model.ModelGasMask;
|
||||||
import mekanism.client.model.ModelGasTank;
|
import mekanism.client.model.ModelGasTank;
|
||||||
import mekanism.client.model.ModelJetpack;
|
import mekanism.client.model.ModelJetpack;
|
||||||
|
@ -25,6 +26,7 @@ import mekanism.common.inventory.InventoryBin;
|
||||||
import mekanism.common.item.ItemBalloon;
|
import mekanism.common.item.ItemBalloon;
|
||||||
import mekanism.common.item.ItemBlockBasic;
|
import mekanism.common.item.ItemBlockBasic;
|
||||||
import mekanism.common.item.ItemBlockMachine;
|
import mekanism.common.item.ItemBlockMachine;
|
||||||
|
import mekanism.common.item.ItemFrictionBoots;
|
||||||
import mekanism.common.item.ItemGasMask;
|
import mekanism.common.item.ItemGasMask;
|
||||||
import mekanism.common.item.ItemJetpack;
|
import mekanism.common.item.ItemJetpack;
|
||||||
import mekanism.common.item.ItemRobit;
|
import mekanism.common.item.ItemRobit;
|
||||||
|
@ -69,9 +71,10 @@ public class ItemRenderingHandler implements IItemRenderer
|
||||||
public ModelJetpack jetpack = new ModelJetpack();
|
public ModelJetpack jetpack = new ModelJetpack();
|
||||||
public ModelGasMask gasMask = new ModelGasMask();
|
public ModelGasMask gasMask = new ModelGasMask();
|
||||||
public ModelScubaTank scubaTank = new ModelScubaTank();
|
public ModelScubaTank scubaTank = new ModelScubaTank();
|
||||||
|
public ModelFrictionBoots frictionBoots = new ModelFrictionBoots();
|
||||||
|
|
||||||
public RenderBalloon balloonRenderer = new RenderBalloon();
|
private final RenderBalloon balloonRenderer = new RenderBalloon();
|
||||||
public RenderBin binRenderer = (RenderBin)TileEntityRenderer.instance.specialRendererMap.get(TileEntityBin.class);
|
private final RenderBin binRenderer = (RenderBin)TileEntityRenderer.instance.specialRendererMap.get(TileEntityBin.class);
|
||||||
private final RenderItem renderItem = (RenderItem)RenderManager.instance.getEntityClassRenderObject(EntityItem.class);
|
private final RenderItem renderItem = (RenderItem)RenderManager.instance.getEntityClassRenderObject(EntityItem.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -343,6 +346,15 @@ public class ItemRenderingHandler implements IItemRenderer
|
||||||
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ScubaSet.png"));
|
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "ScubaSet.png"));
|
||||||
scubaTank.render(0.0625F);
|
scubaTank.render(0.0625F);
|
||||||
}
|
}
|
||||||
|
else if(item.getItem() instanceof ItemFrictionBoots)
|
||||||
|
{
|
||||||
|
GL11.glRotatef(180, 0.0F, 0.0F, 1.0F);
|
||||||
|
GL11.glRotatef(90, 0.0F, -1.0F, 0.0F);
|
||||||
|
GL11.glScalef(2.0F, 2.0F, 2.0F);
|
||||||
|
GL11.glTranslatef(0.2F, -1.43F, 0.12F);
|
||||||
|
Minecraft.getMinecraft().renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "FrictionBoots.png"));
|
||||||
|
frictionBoots.render(0.0625F);
|
||||||
|
}
|
||||||
else if(item.getItem() instanceof ItemBalloon)
|
else if(item.getItem() instanceof ItemBalloon)
|
||||||
{
|
{
|
||||||
if(type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON)
|
if(type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON)
|
||||||
|
@ -362,7 +374,6 @@ public class ItemRenderingHandler implements IItemRenderer
|
||||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||||
RenderPartTransmitter.getInstance().renderItem(TransmitterType.values()[item.getItemDamage()]);
|
RenderPartTransmitter.getInstance().renderItem(TransmitterType.values()[item.getItemDamage()]);
|
||||||
GL11.glEnable(GL11.GL_CULL_FACE);
|
GL11.glEnable(GL11.GL_CULL_FACE);
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(item.getItem() instanceof ItemBlockMachine)
|
if(item.getItem() instanceof ItemBlockMachine)
|
||||||
|
|
|
@ -65,6 +65,7 @@ import mekanism.common.item.ItemDirtyDust;
|
||||||
import mekanism.common.item.ItemDust;
|
import mekanism.common.item.ItemDust;
|
||||||
import mekanism.common.item.ItemElectricBow;
|
import mekanism.common.item.ItemElectricBow;
|
||||||
import mekanism.common.item.ItemEnergized;
|
import mekanism.common.item.ItemEnergized;
|
||||||
|
import mekanism.common.item.ItemFrictionBoots;
|
||||||
import mekanism.common.item.ItemGasMask;
|
import mekanism.common.item.ItemGasMask;
|
||||||
import mekanism.common.item.ItemIngot;
|
import mekanism.common.item.ItemIngot;
|
||||||
import mekanism.common.item.ItemJetpack;
|
import mekanism.common.item.ItemJetpack;
|
||||||
|
@ -253,6 +254,7 @@ public class Mekanism
|
||||||
public static Item Sawdust;
|
public static Item Sawdust;
|
||||||
public static Item Salt;
|
public static Item Salt;
|
||||||
public static Item BrineBucket;
|
public static Item BrineBucket;
|
||||||
|
public static Item FrictionBoots;
|
||||||
|
|
||||||
//Blocks
|
//Blocks
|
||||||
public static Block BasicBlock;
|
public static Block BasicBlock;
|
||||||
|
@ -556,6 +558,9 @@ public class Mekanism
|
||||||
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock2, 1, 8), new Object[] {
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(MachineBlock2, 1, 8), new Object[] {
|
||||||
"CGC", "ASA", "CGC", Character.valueOf('G'), MekanismUtils.getEmptyGasTank(), Character.valueOf('C'), "circuitBasic", Character.valueOf('A'), AtomicCore, Character.valueOf('S'), new ItemStack(BasicBlock, 1, 8)
|
"CGC", "ASA", "CGC", Character.valueOf('G'), MekanismUtils.getEmptyGasTank(), Character.valueOf('C'), "circuitBasic", Character.valueOf('A'), AtomicCore, Character.valueOf('S'), new ItemStack(BasicBlock, 1, 8)
|
||||||
}));
|
}));
|
||||||
|
CraftingManager.getInstance().getRecipeList().add(new MekanismRecipe(new ItemStack(FrictionBoots), new Object[] {
|
||||||
|
"C C", "A A", "T T", Character.valueOf('C'), "circuitBasic", Character.valueOf('A'), EnrichedAlloy, Character.valueOf('T'), EnergyTablet.getUnchargedItem()
|
||||||
|
}));
|
||||||
|
|
||||||
for(RecipeType type : RecipeType.values())
|
for(RecipeType type : RecipeType.values())
|
||||||
{
|
{
|
||||||
|
@ -782,6 +787,7 @@ public class Mekanism
|
||||||
Salt = new ItemMekanism(configuration.getItem("Salt", 11231).getInt()).setUnlocalizedName("Salt");
|
Salt = new ItemMekanism(configuration.getItem("Salt", 11231).getInt()).setUnlocalizedName("Salt");
|
||||||
BrineBucket = new ItemMekanism(configuration.getItem("BrineBucket", 11232).getInt()).setMaxStackSize(1).setUnlocalizedName("BrineBucket");
|
BrineBucket = new ItemMekanism(configuration.getItem("BrineBucket", 11232).getInt()).setMaxStackSize(1).setUnlocalizedName("BrineBucket");
|
||||||
Crystal = new ItemCrystal(configuration.getItem("Crystal", 11233).getInt());
|
Crystal = new ItemCrystal(configuration.getItem("Crystal", 11233).getInt());
|
||||||
|
FrictionBoots = new ItemFrictionBoots(configuration.getItem("FrictionBoots", 11234).getInt()).setUnlocalizedName("FrictionBoots");
|
||||||
|
|
||||||
configuration.save();
|
configuration.save();
|
||||||
|
|
||||||
|
@ -822,6 +828,7 @@ public class Mekanism
|
||||||
GameRegistry.registerItem(Salt, "Salt");
|
GameRegistry.registerItem(Salt, "Salt");
|
||||||
GameRegistry.registerItem(BrineBucket, "BrineBucket");
|
GameRegistry.registerItem(BrineBucket, "BrineBucket");
|
||||||
GameRegistry.registerItem(Crystal, "Crystal");
|
GameRegistry.registerItem(Crystal, "Crystal");
|
||||||
|
GameRegistry.registerItem(FrictionBoots, "FrictionBoots");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -38,12 +38,6 @@ public class ItemEnergized extends ItemMekanism implements IEnergizedItem, ISpec
|
||||||
list.add(EnumColor.AQUA + "Stored Energy: " + EnumColor.GREY + MekanismUtils.getEnergyDisplay(getEnergy(itemstack)));
|
list.add(EnumColor.AQUA + "Stored Energy: " + EnumColor.GREY + MekanismUtils.getEnergyDisplay(getEnergy(itemstack)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreated(ItemStack itemstack, World world, EntityPlayer entityplayer)
|
|
||||||
{
|
|
||||||
itemstack = getUnchargedItem();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemStack getUnchargedItem()
|
public ItemStack getUnchargedItem()
|
||||||
{
|
{
|
||||||
ItemStack charged = new ItemStack(this);
|
ItemStack charged = new ItemStack(this);
|
||||||
|
|
262
common/mekanism/common/item/ItemFrictionBoots.java
Normal file
262
common/mekanism/common/item/ItemFrictionBoots.java
Normal file
|
@ -0,0 +1,262 @@
|
||||||
|
package mekanism.common.item;
|
||||||
|
|
||||||
|
import ic2.api.item.IElectricItemManager;
|
||||||
|
import ic2.api.item.ISpecialElectricItem;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import cofh.api.energy.IEnergyContainerItem;
|
||||||
|
import mekanism.api.EnumColor;
|
||||||
|
import mekanism.api.energy.IEnergizedItem;
|
||||||
|
import mekanism.client.render.ModelCustomArmor;
|
||||||
|
import mekanism.client.render.ModelCustomArmor.ArmorModel;
|
||||||
|
import mekanism.common.Mekanism;
|
||||||
|
import mekanism.common.integration.IC2ItemManager;
|
||||||
|
import mekanism.common.util.MekanismUtils;
|
||||||
|
import net.minecraft.client.model.ModelBiped;
|
||||||
|
import net.minecraft.client.renderer.texture.IconRegister;
|
||||||
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemArmor;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.util.DamageSource;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.EnumHelper;
|
||||||
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
import net.minecraftforge.event.ForgeSubscribe;
|
||||||
|
import net.minecraftforge.event.entity.living.LivingAttackEvent;
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
public class ItemFrictionBoots extends ItemArmor implements IEnergizedItem, ISpecialElectricItem, IEnergyContainerItem
|
||||||
|
{
|
||||||
|
/** The maximum amount of energy this item can hold. */
|
||||||
|
public double MAX_ELECTRICITY = 12000;
|
||||||
|
|
||||||
|
public ItemFrictionBoots(int id)
|
||||||
|
{
|
||||||
|
super(id, EnumHelper.addArmorMaterial("FRICTIONBOOTS", 0, new int[] {0, 0, 0, 0}, 0), 0, 3);
|
||||||
|
setMaxStackSize(1);
|
||||||
|
setMaxDamage(100);
|
||||||
|
setNoRepair();
|
||||||
|
setCreativeTab(Mekanism.tabMekanism);
|
||||||
|
MinecraftForge.EVENT_BUS.register(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public void registerIcons(IconRegister register) {}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValidArmor(ItemStack stack, int armorType, Entity entity)
|
||||||
|
{
|
||||||
|
return armorType == 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
|
||||||
|
{
|
||||||
|
return "mekanism:render/NullArmor.png";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot)
|
||||||
|
{
|
||||||
|
ModelCustomArmor model = ModelCustomArmor.INSTANCE;
|
||||||
|
model.modelType = ArmorModel.FRICTIONBOOTS;
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addInformation(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag)
|
||||||
|
{
|
||||||
|
list.add(EnumColor.AQUA + "Stored Energy: " + EnumColor.GREY + MekanismUtils.getEnergyDisplay(getEnergy(itemstack)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemStack getUnchargedItem()
|
||||||
|
{
|
||||||
|
ItemStack charged = new ItemStack(this);
|
||||||
|
charged.setItemDamage(100);
|
||||||
|
return charged;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getSubItems(int i, CreativeTabs tabs, List list)
|
||||||
|
{
|
||||||
|
ItemStack discharged = new ItemStack(this);
|
||||||
|
discharged.setItemDamage(100);
|
||||||
|
list.add(discharged);
|
||||||
|
ItemStack charged = new ItemStack(this);
|
||||||
|
setEnergy(charged, ((IEnergizedItem)charged.getItem()).getMaxEnergy(charged));
|
||||||
|
list.add(charged);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canProvideEnergy(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return canSend(itemStack);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getChargedItemId(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return itemID;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getEmptyItemId(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return itemID;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMaxCharge(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getTier(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getTransferLimit(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getEnergy(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
if(itemStack.stackTagCompound == null)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
double electricityStored = itemStack.stackTagCompound.getDouble("electricity");
|
||||||
|
itemStack.setItemDamage((int)Math.max(1, (Math.abs(((electricityStored/getMaxEnergy(itemStack))*100)-100))));
|
||||||
|
|
||||||
|
return electricityStored;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnergy(ItemStack itemStack, double amount)
|
||||||
|
{
|
||||||
|
if(itemStack.stackTagCompound == null)
|
||||||
|
{
|
||||||
|
itemStack.setTagCompound(new NBTTagCompound());
|
||||||
|
}
|
||||||
|
|
||||||
|
double electricityStored = Math.max(Math.min(amount, getMaxEnergy(itemStack)), 0);
|
||||||
|
itemStack.stackTagCompound.setDouble("electricity", electricityStored);
|
||||||
|
itemStack.setItemDamage((int)Math.max(1, (Math.abs(((electricityStored/getMaxEnergy(itemStack))*100)-100))));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getMaxEnergy(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return MAX_ELECTRICITY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public double getMaxTransfer(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return getMaxEnergy(itemStack)*0.005;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canReceive(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return getMaxEnergy(itemStack)-getEnergy(itemStack) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canSend(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int receiveEnergy(ItemStack theItem, int energy, boolean simulate)
|
||||||
|
{
|
||||||
|
if(canReceive(theItem))
|
||||||
|
{
|
||||||
|
double energyNeeded = getMaxEnergy(theItem)-getEnergy(theItem);
|
||||||
|
double toReceive = Math.min(energy*Mekanism.FROM_TE, energyNeeded);
|
||||||
|
|
||||||
|
if(!simulate)
|
||||||
|
{
|
||||||
|
setEnergy(theItem, getEnergy(theItem) + toReceive);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int)Math.round(toReceive*Mekanism.TO_TE);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int extractEnergy(ItemStack theItem, int energy, boolean simulate)
|
||||||
|
{
|
||||||
|
if(canSend(theItem))
|
||||||
|
{
|
||||||
|
double energyRemaining = getEnergy(theItem);
|
||||||
|
double toSend = Math.min((energy*Mekanism.FROM_TE), energyRemaining);
|
||||||
|
|
||||||
|
if(!simulate)
|
||||||
|
{
|
||||||
|
setEnergy(theItem, getEnergy(theItem) - toSend);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (int)Math.round(toSend*Mekanism.TO_TE);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getEnergyStored(ItemStack theItem)
|
||||||
|
{
|
||||||
|
return (int)Math.round(getEnergy(theItem)*Mekanism.TO_TE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMaxEnergyStored(ItemStack theItem)
|
||||||
|
{
|
||||||
|
return (int)Math.round(getMaxEnergy(theItem)*Mekanism.TO_TE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isMetadataSpecific()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IElectricItemManager getManager(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return IC2ItemManager.getManager(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ForgeSubscribe
|
||||||
|
public void onEntityAttacked(LivingAttackEvent event)
|
||||||
|
{
|
||||||
|
EntityLivingBase base = event.entityLiving;
|
||||||
|
|
||||||
|
if(base.getCurrentItemOrArmor(1) != null && base.getCurrentItemOrArmor(1).getItem() instanceof ItemFrictionBoots)
|
||||||
|
{
|
||||||
|
ItemFrictionBoots boots = (ItemFrictionBoots)base.getCurrentItemOrArmor(1).getItem();
|
||||||
|
|
||||||
|
if(event.source == DamageSource.fall)
|
||||||
|
{
|
||||||
|
event.setCanceled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -31,6 +31,7 @@ item.CompressedRedstone.name=Compressed Redstone
|
||||||
item.Sawdust.name=Sawdust
|
item.Sawdust.name=Sawdust
|
||||||
item.Salt.name=Salt
|
item.Salt.name=Salt
|
||||||
item.BrineBucket.name=Brine Bucket
|
item.BrineBucket.name=Brine Bucket
|
||||||
|
item.FrictionBoots.name=Friction Boots
|
||||||
|
|
||||||
//Gas Tank
|
//Gas Tank
|
||||||
tile.GasTank.GasTank.name=Gas Tank
|
tile.GasTank.GasTank.name=Gas Tank
|
||||||
|
@ -380,6 +381,9 @@ tooltip.RotaryCondensentrator=A machine capable of converting gasses into !nthei
|
||||||
tooltip.ChemicalInjectionChamber=An elite machine capable of processing !nores into four shards, serving as the initial !nstage of 400% ore processing.
|
tooltip.ChemicalInjectionChamber=An elite machine capable of processing !nores into four shards, serving as the initial !nstage of 400% ore processing.
|
||||||
tooltip.ElectrolyticSeparator=A machine that uses the process of !nelectrolysis to split apart a certain !ngas into two different gasses.
|
tooltip.ElectrolyticSeparator=A machine that uses the process of !nelectrolysis to split apart a certain !ngas into two different gasses.
|
||||||
tooltip.PrecisionSawmill=A machine used to process logs and other !nwood-based items more efficiently, as well !nas to obtain sawdust.
|
tooltip.PrecisionSawmill=A machine used to process logs and other !nwood-based items more efficiently, as well !nas to obtain sawdust.
|
||||||
|
tooltip.ChemicalDissolutionChamber=An ultimate machine used to !nchemically dissolve all impurities of an !nore, leaving an unprocessed slurry !nbehind.
|
||||||
|
tooltip.ChemicalWasher=An ultimate machine that cleans unprocessed !nslurry and prepares it for crystallization.
|
||||||
|
tooltip.ChemicalCrystalizer=An ultimate machine used to crystalize !npurified ore slurry into ore crystals.
|
||||||
|
|
||||||
tooltip.OsmiumOre=A strong mineral that can be found !nat nearly any height in the world. !nIt is known to have many uses in !nthe construction of machinery.
|
tooltip.OsmiumOre=A strong mineral that can be found !nat nearly any height in the world. !nIt is known to have many uses in !nthe construction of machinery.
|
||||||
tooltip.CopperOre=A common, conductive material that !ncan be used in the production of !nwires. It's ability to withstand !nhigh heats also makes it essential !nto advanced machinery.
|
tooltip.CopperOre=A common, conductive material that !ncan be used in the production of !nwires. It's ability to withstand !nhigh heats also makes it essential !nto advanced machinery.
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 4.4 KiB |
Loading…
Reference in a new issue