*Removed knives, I don't like them anymore.

*Added steel tools & armor.
*ISidedInventory support in celebration of the RedPower release.
*Fixed update notifier.
*Fixed glitchy Metallurgic Infuser dump button.
*Fixed glitchy Electrolytic Separator output toggle button.
*Fixed incorrect hardness for Steel Block.
*Metallurgic Infuser crafting recipe.
*Fixed NBT for Metallurgic Infuser.
*More javadocs.
*Added new peripheral commands for Metallurgic Infuser.
*Fixed crash when using BC energy with generators.
This commit is contained in:
Aidan Brady 2012-12-21 08:30:40 -05:00
parent 45b4510dc7
commit 769593000d
28 changed files with 266 additions and 949 deletions

BIN
bin/minecraft/armor/steel_1.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
bin/minecraft/armor/steel_2.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View file

@ -17,15 +17,15 @@ import cpw.mods.fml.common.TickType;
*/
public class ClientTickHandler implements ITickHandler
{
public boolean hasNotified;
public boolean hasNotified = false;
@Override
public void tickStart(EnumSet<TickType> type, Object... tickData)
{
if(Mekanism.ticksPassed > 0 && ModLoader.getMinecraftInstance().theWorld != null && ModLoader.getMinecraftInstance().thePlayer != null && Mekanism.latestVersionNumber != null && Mekanism.recentNews != null)
if(!hasNotified && ModLoader.getMinecraftInstance().theWorld != null && ModLoader.getMinecraftInstance().thePlayer != null && Mekanism.latestVersionNumber != null && Mekanism.recentNews != null)
{
MekanismUtils.checkForUpdates(ModLoader.getMinecraftInstance().thePlayer);
Mekanism.ticksPassed++;
hasNotified = true;
}
}

View file

@ -32,8 +32,7 @@ public class GuiMetallurgicInfuser extends GuiContainer
if(xAxis > 148 && xAxis < 168 && yAxis > 73 && yAxis < 82)
{
tileEntity.infuseStored = 0;
PacketHandler.sendTileEntityPacketToServer(tileEntity, tileEntity.infuseStored);
PacketHandler.sendTileEntityPacketToServer(tileEntity, 0);
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
}
}

View file

@ -123,17 +123,6 @@ public class BlockBasic extends Block
return 0;
}
@Override
public float getBlockHardness(World world, int x, int y, int z)
{
int metadata = world.getBlockMetadata(x, y, z);
if(metadata == 5)
{
return 12F;
}
return blockHardness;
}
@Override
public boolean hasTileEntity(int metadata)
{

View file

@ -1,393 +0,0 @@
package mekanism.common;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.src.*;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import java.util.Random;
public abstract class EntityProjectile extends Entity
{
protected int xTile;
protected int yTile;
protected int zTile;
protected int inTile;
protected int inData;
protected boolean inGround;
public boolean doesArrowBelongToPlayer;
public int arrowShake;
public Entity shootingEntity;
protected int ticksInGround;
protected int ticksInAir;
public boolean beenInGround;
public boolean isCritical;
public EntityProjectile(World world)
{
super(world);
xTile = -1;
yTile = -1;
zTile = -1;
inTile = 0;
inData = 0;
inGround = false;
doesArrowBelongToPlayer = false;
isCritical = false;
arrowShake = 0;
ticksInAir = 0;
yOffset = 0.0F;
setSize(0.5F, 0.5F);
}
@Override
protected void entityInit() {}
public void setArrowHeading(double d, double d1, double d2, float f, float f1)
{
float f2 = MathHelper.sqrt_double(d * d + d1 * d1 + d2 * d2);
d /= f2;
d1 /= f2;
d2 /= f2;
d += rand.nextGaussian() * 0.0074999999999999997D * (double)f1;
d1 += rand.nextGaussian() * 0.0074999999999999997D * (double)f1;
d2 += rand.nextGaussian() * 0.0074999999999999997D * (double)f1;
d *= f;
d1 *= f;
d2 *= f;
motionX = d;
motionY = d1;
motionZ = d2;
float f3 = MathHelper.sqrt_double(d * d + d2 * d2);
prevRotationYaw = rotationYaw = (float)((Math.atan2(d, d2) * 180D) / Math.PI);
prevRotationPitch = rotationPitch = (float)((Math.atan2(d1, f3) * 180D) / Math.PI);
ticksInGround = 0;
}
@Override
public void setVelocity(double d, double d1, double d2)
{
motionX = d;
motionY = d1;
motionZ = d2;
if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F)
{
if (aimRotation())
{
float f = MathHelper.sqrt_double(d * d + d2 * d2);
prevRotationYaw = rotationYaw = (float)((Math.atan2(d, d2) * 180D) / Math.PI);
prevRotationPitch = rotationPitch = (float)((Math.atan2(d1, f) * 180D) / Math.PI);
prevRotationPitch = rotationPitch;
prevRotationYaw = rotationYaw;
}
setLocationAndAngles(posX, posY, posZ, rotationYaw, rotationPitch);
ticksInGround = 0;
}
}
@Override
public void onUpdate()
{
super.onUpdate();
if (aimRotation() && prevRotationPitch == 0.0F && prevRotationYaw == 0.0F)
{
float f = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ);
prevRotationYaw = rotationYaw = (float)((Math.atan2(motionX, motionZ) * 180D) / Math.PI);
prevRotationPitch = rotationPitch = (float)((Math.atan2(motionY, f) * 180D) / Math.PI);
}
int i = worldObj.getBlockId(xTile, yTile, zTile);
if (i > 0)
{
Block.blocksList[i].setBlockBoundsBasedOnState(worldObj, xTile, yTile, zTile);
AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(worldObj, xTile, yTile, zTile);
if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(posX, posY, posZ)))
{
inGround = true;
}
}
if (arrowShake > 0)
{
arrowShake--;
}
if (inGround)
{
int j = worldObj.getBlockId(xTile, yTile, zTile);
int k = worldObj.getBlockMetadata(xTile, yTile, zTile);
if (j != inTile || k != inData)
{
inGround = false;
motionX *= rand.nextFloat() * 0.2F;
motionY *= rand.nextFloat() * 0.2F;
motionZ *= rand.nextFloat() * 0.2F;
ticksInGround = 0;
ticksInAir = 0;
}
else
{
ticksInGround++;
if (ticksInGround >= (doesArrowBelongToPlayer ? 200 : 800))
{
setDead();
}
}
return;
}
ticksInAir++;
Vec3 vec3d = Vec3.createVectorHelper(posX, posY, posZ);
Vec3 vec3d1 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ);
MovingObjectPosition movingobjectposition = worldObj.rayTraceBlocks_do_do(vec3d, vec3d1, false, true);
vec3d = Vec3.createVectorHelper(posX, posY, posZ);
vec3d1 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ);
if (movingobjectposition != null)
{
vec3d1 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord);
}
Entity entity = null;
List list = worldObj.getEntitiesWithinAABBExcludingEntity(this, boundingBox.addCoord(motionX, motionY, motionZ).expand(1.0D, 1.0D, 1.0D));
double d = 0.0D;
for (int l = 0; l < list.size(); l++)
{
Entity entity1 = (Entity)list.get(l);
if (!entity1.canBeCollidedWith() || entity1 == shootingEntity && ticksInAir < 5)
{
continue;
}
float f4 = 0.3F;
AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f4, f4, f4);
MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3d, vec3d1);
if (movingobjectposition1 == null)
{
continue;
}
double d1 = vec3d.distanceTo(movingobjectposition1.hitVec);
if (d1 < d || d == 0.0D)
{
entity = entity1;
d = d1;
}
}
if (entity != null)
{
movingobjectposition = new MovingObjectPosition(entity);
}
if (movingobjectposition != null)
{
if (movingobjectposition.entityHit != null)
{
onEntityHit(movingobjectposition.entityHit);
}
else
{
onGroundHit(movingobjectposition);
}
}
if (isCritical)
{
for (int i1 = 0; i1 < 2; i1++)
{
worldObj.spawnParticle("crit", posX + (motionX * (double)i1) / 4D, posY + (motionY * (double)i1) / 4D, posZ + (motionZ * (double)i1) / 4D, -motionX, -motionY + 0.20000000000000001D, -motionZ);
}
}
posX += motionX;
posY += motionY;
posZ += motionZ;
if (aimRotation())
{
float f1 = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ);
rotationYaw = (float)((Math.atan2(motionX, motionZ) * 180D) / Math.PI);
for (rotationPitch = (float)((Math.atan2(motionY, f1) * 180D) / Math.PI); rotationPitch - prevRotationPitch < -180F; prevRotationPitch -= 360F) { }
for (; rotationPitch - prevRotationPitch >= 180F; prevRotationPitch += 360F) { }
for (; rotationYaw - prevRotationYaw < -180F; prevRotationYaw -= 360F) { }
for (; rotationYaw - prevRotationYaw >= 180F; prevRotationYaw += 360F) { }
rotationPitch = prevRotationPitch + (rotationPitch - prevRotationPitch) * 0.2F;
rotationYaw = prevRotationYaw + (rotationYaw - prevRotationYaw) * 0.2F;
}
float f2 = getAirResistance();
float f3 = getGravity();
if (isInWater())
{
beenInGround = true;
for (int j1 = 0; j1 < 4; j1++)
{
float f5 = 0.25F;
worldObj.spawnParticle("bubble", posX - motionX * (double)f5, posY - motionY * (double)f5, posZ - motionZ * (double)f5, motionX, motionY, motionZ);
}
f2 = 0.8F;
}
motionX *= f2;
motionY *= f2;
motionZ *= f2;
motionY -= f3;
setPosition(posX, posY, posZ);
}
public final double getTotalVelocity()
{
return Math.sqrt(motionX * motionX + motionY * motionY + motionZ * motionZ);
}
public boolean aimRotation()
{
return true;
}
public void onEntityHit(Entity entity)
{
bounceBack();
}
public void onGroundHit(MovingObjectPosition movingobjectposition)
{
xTile = movingobjectposition.blockX;
yTile = movingobjectposition.blockY;
zTile = movingobjectposition.blockZ;
inTile = worldObj.getBlockId(xTile, yTile, zTile);
inData = worldObj.getBlockMetadata(xTile, yTile, zTile);
motionX = (float)(movingobjectposition.hitVec.xCoord - posX);
motionY = (float)(movingobjectposition.hitVec.yCoord - posY);
motionZ = (float)(movingobjectposition.hitVec.zCoord - posZ);
float f = MathHelper.sqrt_double(motionX * motionX + motionY * motionY + motionZ * motionZ);
posX -= (motionX / (double)f) * 0.050000000000000003D;
posY -= (motionY / (double)f) * 0.050000000000000003D;
posZ -= (motionZ / (double)f) * 0.050000000000000003D;
inGround = true;
beenInGround = true;
isCritical = false;
arrowShake = getMaxArrowShake();
playHitSound();
}
protected void bounceBack()
{
motionX *= -0.10000000000000001D;
motionY *= -0.10000000000000001D;
motionZ *= -0.10000000000000001D;
rotationYaw += 180F;
prevRotationYaw += 180F;
ticksInAir = 0;
}
public ItemStack getPickupItem()
{
return null;
}
public float getAirResistance()
{
return 0.99F;
}
public float getGravity()
{
return 0.05F;
}
public int getMaxArrowShake()
{
return 7;
}
public void playHitSound() {}
@Override
public void onCollideWithPlayer(EntityPlayer entityplayer)
{
if (worldObj.isRemote)
{
return;
}
ItemStack itemstack = getPickupItem();
if (itemstack == null)
{
return;
}
if (inGround && doesArrowBelongToPlayer && arrowShake <= 0 && entityplayer.inventory.addItemStackToInventory(itemstack))
{
worldObj.playSoundAtEntity(this, "random.pop", 0.2F, ((rand.nextFloat() - rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
entityplayer.onItemPickup(this, 1);
setDead();
}
}
public float getShadowSize()
{
return 0.0F;
}
@Override
public void writeEntityToNBT(NBTTagCompound nbttagcompound)
{
nbttagcompound.setShort("xTile", (short)xTile);
nbttagcompound.setShort("yTile", (short)yTile);
nbttagcompound.setShort("zTile", (short)zTile);
nbttagcompound.setByte("inTile", (byte)inTile);
nbttagcompound.setByte("inData", (byte)inData);
nbttagcompound.setByte("shake", (byte)arrowShake);
nbttagcompound.setBoolean("inGround", inGround);
nbttagcompound.setBoolean("player", doesArrowBelongToPlayer);
nbttagcompound.setBoolean("crit", isCritical);
nbttagcompound.setBoolean("beenInGround", beenInGround);
}
@Override
public void readEntityFromNBT(NBTTagCompound nbttagcompound)
{
xTile = nbttagcompound.getShort("xTile");
yTile = nbttagcompound.getShort("yTile");
zTile = nbttagcompound.getShort("zTile");
inTile = nbttagcompound.getByte("inTile") & 0xff;
inData = nbttagcompound.getByte("inData") & 0xff;
arrowShake = nbttagcompound.getByte("shake") & 0xff;
inGround = nbttagcompound.getBoolean("inGround");
doesArrowBelongToPlayer = nbttagcompound.getBoolean("player");
isCritical = nbttagcompound.getBoolean("crit");
beenInGround = nbttagcompound.getBoolean("beenInGrond");
}
}

View file

@ -262,6 +262,9 @@ public class Mekanism
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 7), new Object[] {
"CAC", "cFc", "CAC", Character.valueOf('C'), ControlCircuit, Character.valueOf('A'), EnrichedAlloy, Character.valueOf('c'), AtomicCore, Character.valueOf('F'), new ItemStack(MachineBlock, 1, 6)
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(MachineBlock, 1, 8), new Object[] {
"IFI", "CEC", "IFI", Character.valueOf('I'), Item.ingotIron, Character.valueOf('F'), Block.stoneOvenIdle, Character.valueOf('C'), ControlCircuit, Character.valueOf('E'), EnrichedAlloy
}));
if(extrasEnabled)
{

View file

@ -9,6 +9,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraftforge.common.ForgeDirection;
import universalelectricity.core.implement.IItemElectric;
import com.google.common.io.ByteArrayDataInput;
@ -279,6 +280,39 @@ public abstract class TileEntityAdvancedElectricMachine extends TileEntityBasicM
}
}
@Override
public int getStartInventorySide(ForgeDirection side)
{
if(side == ForgeDirection.getOrientation(1))
{
return 0;
}
else if(side == ForgeDirection.getOrientation(0))
{
return 1;
}
else if(side == ForgeDirection.getOrientation(facing) || side == ForgeDirection.getOrientation(facing).getOpposite())
{
return 2;
}
else if(side == ForgeDirection.getOrientation(facing).getRotation(ForgeDirection.WEST))
{
return 3;
}
else if(side == ForgeDirection.getOrientation(facing).getRotation(ForgeDirection.EAST))
{
return 4;
}
return 0;
}
@Override
public int getSizeInventorySide(ForgeDirection side)
{
return 1;
}
@Override
public void handlePacketData(INetworkManager network, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
{

View file

@ -34,6 +34,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
{
super(name);
MAX_ELECTRICITY = maxEnergy;
if(PowerFramework.currentFramework != null)
{
powerProvider = PowerFramework.currentFramework.createPowerProvider();

View file

@ -8,6 +8,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraftforge.common.ForgeDirection;
import universalelectricity.core.implement.IItemElectric;
import com.google.common.io.ByteArrayDataInput;
@ -234,6 +235,31 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine
e.printStackTrace();
}
}
@Override
public int getStartInventorySide(ForgeDirection side)
{
if(side == ForgeDirection.getOrientation(1))
{
return 0;
}
else if(side == ForgeDirection.getOrientation(0))
{
return 1;
}
else if(side == ForgeDirection.getOrientation(facing).getRotation(ForgeDirection.EAST))
{
return 2;
}
return 3;
}
@Override
public int getSizeInventorySide(ForgeDirection side)
{
return 1;
}
@Override
public void sendPacket()

View file

@ -15,6 +15,7 @@ import mekanism.api.InfusionType;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.tileentity.TileEntity;
@ -32,24 +33,34 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
{
public static Map<Infusion, ItemStack> recipes = new HashMap<Infusion, ItemStack>();
/** The type of infuse this machine stores. */
public InfusionType type = InfusionType.NONE;
/** The maxiumum amount of infuse this machine can store. */
public int MAX_INFUSE = 1000;
/** How much energy this machine consumes per-tick. */
public double ENERGY_PER_TICK = 100;
/** How many ticks it takes to run an operation. */
public int TICKS_REQUIRED = 200;
/** The current cap of electricity this machine can hold. */
public double currentMaxElectricity;
/** The current amount of ticks it takes this machine to run an operation. */
public int currentTicksRequired;
/** The amount of infuse this machine has stored. */
public int infuseStored;
/** How many ticks this machine has been operating for. */
public int operatingTicks;
/** Whether or not this machine is in it's active state. */
public boolean isActive;
/** This machine's previous active state, used for tick callbacks. */
public boolean prevActive;
public TileEntityMetallurgicInfuser()
@ -291,13 +302,39 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
public int getScaledEnergyLevel(int i)
{
return (int)(electricityStored*i / MAX_ELECTRICITY);
return (int)(electricityStored*i / currentMaxElectricity);
}
public int getScaledProgress(int i)
{
return operatingTicks*i / TICKS_REQUIRED;
return operatingTicks*i / currentTicksRequired;
}
@Override
public void readFromNBT(NBTTagCompound nbtTags)
{
super.readFromNBT(nbtTags);
currentTicksRequired = nbtTags.getInteger("currentTicksRequired");
currentMaxElectricity = nbtTags.getDouble("currentMaxElectricity");
isActive = nbtTags.getBoolean("isActive");
operatingTicks = nbtTags.getInteger("operatingTicks");
infuseStored = nbtTags.getInteger("infuseStored");
type = InfusionType.getFromName(nbtTags.getString("type"));
}
@Override
public void writeToNBT(NBTTagCompound nbtTags)
{
super.writeToNBT(nbtTags);
nbtTags.setInteger("currentTicksRequired", currentTicksRequired);
nbtTags.setDouble("currentMaxElectricity", currentMaxElectricity);
nbtTags.setBoolean("isActive", isActive);
nbtTags.setInteger("operatingTicks", operatingTicks);
nbtTags.setInteger("infuseStored", infuseStored);
nbtTags.setString("type", type.name);
}
@Override
public void handlePacketData(INetworkManager network, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
@ -352,7 +389,7 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
@Override
public String[] getMethodNames()
{
return new String[] {"getStored", "getProgress", "facing", "canOperate", "getMaxEnergy", "getEnergyNeeded"};
return new String[] {"getStored", "getProgress", "facing", "canOperate", "getMaxEnergy", "getEnergyNeeded", "getInfuse", "getInfuseNeeded"};
}
@Override
@ -372,6 +409,10 @@ public class TileEntityMetallurgicInfuser extends TileEntityElectricBlock implem
return new Object[] {currentMaxElectricity};
case 5:
return new Object[] {(currentMaxElectricity-electricityStored)};
case 6:
return new Object[] {infuseStored};
case 7:
return new Object[] {(MAX_INFUSE-infuseStored)};
default:
System.err.println("[Mekanism] Attempted to call unknown method with computer ID " + computer.getID());
return new Object[] {"Unknown command."};

View file

@ -32,16 +32,18 @@ public class GuiElectrolyticSeparator extends GuiContainer
if(xAxis > 160 && xAxis < 169 && yAxis > 73 && yAxis < 82)
{
String nameToSet = "";
if(tileEntity.outputType == EnumGas.OXYGEN)
{
tileEntity.outputType = EnumGas.HYDROGEN;
nameToSet = EnumGas.HYDROGEN.name;
}
else if(tileEntity.outputType == EnumGas.HYDROGEN)
{
tileEntity.outputType = EnumGas.OXYGEN;
nameToSet = EnumGas.OXYGEN.name;
}
PacketHandler.sendTileEntityPacketToServer(tileEntity, tileEntity.outputType.name);
PacketHandler.sendTileEntityPacketToServer(tileEntity, nameToSet);
mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F);
}
}

View file

@ -1,5 +0,0 @@
package mekanism.generators.common;
public class ContainerHydroGenerator {
}

View file

@ -174,6 +174,23 @@ public class TileEntityBioGenerator extends TileEntityGenerator implements ITank
return bioFuelSlot.liquidStored*i / bioFuelSlot.MAX_LIQUID;
}
@Override
public int getStartInventorySide(ForgeDirection side)
{
if(side == ForgeDirection.getOrientation(facing).getRotation(ForgeDirection.EAST))
{
return 1;
}
return 0;
}
@Override
public int getSizeInventorySide(ForgeDirection side)
{
return 1;
}
@Override
public boolean canSetFacing(int facing)
{

View file

@ -252,6 +252,31 @@ public class TileEntityElectrolyticSeparator extends TileEntityElectricBlock imp
}
}
@Override
public int getStartInventorySide(ForgeDirection side)
{
if(side == ForgeDirection.getOrientation(facing).getRotation(ForgeDirection.WEST))
{
return 3;
}
else if(side == ForgeDirection.getOrientation(facing) || side == ForgeDirection.getOrientation(facing).getOpposite())
{
return 1;
}
return 0;
}
@Override
public int getSizeInventorySide(ForgeDirection side)
{
if(side == ForgeDirection.getOrientation(facing) || side == ForgeDirection.getOrientation(facing).getOpposite())
{
return 2;
}
return 1;
}
/**
* Gets the scaled hydrogen level for the GUI.
* @param i - multiplier

View file

@ -32,9 +32,6 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
/** Output per tick this generator can transfer. */
public int output;
/** BuildCraft power provider. */
public IPowerProvider powerProvider;
/** Whether or not this block is in it's active state. */
public boolean isActive;
@ -190,27 +187,6 @@ public abstract class TileEntityGenerator extends TileEntityElectricBlock implem
@Override
public void detach(IComputerAccess computer) {}
@Override
public void setPowerProvider(IPowerProvider provider)
{
powerProvider = provider;
}
@Override
public IPowerProvider getPowerProvider()
{
return powerProvider;
}
@Override
public void doWork() {}
@Override
public int powerRequest()
{
return getPowerProvider().getMaxEnergyReceived();
}
@Override
public double getMaxJoules(Object... data)
{

View file

@ -182,6 +182,23 @@ public class TileEntityHeatGenerator extends TileEntityGenerator implements ITan
return TileEntityFurnace.getItemBurnTime(itemstack);
}
@Override
public int getStartInventorySide(ForgeDirection side)
{
if(side == ForgeDirection.getOrientation(facing).getRotation(ForgeDirection.EAST))
{
return 1;
}
return 0;
}
@Override
public int getSizeInventorySide(ForgeDirection side)
{
return 1;
}
/**
* Gets the scaled fuel level for the GUI.
* @param i - multiplier

View file

@ -1,11 +0,0 @@
/*package mekanism.generators.common;
import net.minecraft.src.*;
public class TileEntityHydroGenerator extends TileEntityGenerator
{
public TileEntityHydroGenerator()
{
super("Hydro Generator", 120000, 256);
}
}*/

View file

@ -123,6 +123,23 @@ public class TileEntityHydrogenGenerator extends TileEntityGenerator implements
}
}
}
@Override
public int getStartInventorySide(ForgeDirection side)
{
if(side == ForgeDirection.getOrientation(facing).getRotation(ForgeDirection.EAST))
{
return 1;
}
return 0;
}
@Override
public int getSizeInventorySide(ForgeDirection side)
{
return 1;
}
@Override
public void setGas(EnumGas type, int amount)

View file

@ -9,6 +9,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraftforge.common.ForgeDirection;
import universalelectricity.core.implement.IItemElectric;
import com.google.common.io.ByteArrayDataInput;
@ -37,6 +38,12 @@ public class TileEntitySolarGenerator extends TileEntityGenerator
inventory = new ItemStack[1];
}
@Override
public int getSizeInventorySide(ForgeDirection side)
{
return 1;
}
@Override
public boolean canSetFacing(int facing)
{

View file

@ -1,98 +0,0 @@
package mekanism.tools.client;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;
import org.lwjgl.opengl.GL11;
import mekanism.tools.common.EntityKnife;
import org.lwjgl.opengl.GL12;
public class RenderKnife extends Render
{
private float pitch;
public RenderKnife()
{
pitch = 40F;
}
public void renderKnife(EntityKnife entityknife, double d, double d1, double d2, float f, float f1)
{
loadTexture("/resources/mekanism/render/Knife.png");
if (entityknife.prevRotationYaw == 0.0F && entityknife.prevRotationPitch == 0.0F)
{
return;
}
GL11.glPushMatrix();
GL11.glTranslatef((float)d, (float)d1, (float)d2);
GL11.glRotatef((entityknife.prevRotationYaw + (entityknife.rotationYaw - entityknife.prevRotationYaw) * f1) - 90F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(entityknife.prevRotationPitch + (entityknife.rotationPitch - entityknife.prevRotationPitch) * f1, 0.0F, 0.0F, 1.0F);
Tessellator tessellator = Tessellator.instance;
int i = 0;
float f2 = 0.0F;
float f3 = 0.5F;
float f4 = (float)(0 + i * 10) / 32F;
float f5 = (float)(5 + i * 10) / 32F;
float f6 = 0.0F;
float f7 = 0.15625F;
float f8 = (float)(5 + i * 10) / 32F;
float f9 = (float)(10 + i * 10) / 32F;
float f10 = 0.05625F;
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
float f11 = (float)entityknife.arrowShake - f1;
if (f11 > 0.0F)
{
float f12 = -MathHelper.sin(f11 * 3F) * f11;
GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F);
}
GL11.glRotatef(45F, 1.0F, 0.0F, 0.0F);
GL11.glScalef(f10, f10, f10);
GL11.glTranslatef(-4F, 0.0F, 0.0F);
GL11.glNormal3f(f10, 0.0F, 0.0F);
tessellator.startDrawingQuads();
tessellator.addVertexWithUV(-7D, -2D, -2D, f6, f8);
tessellator.addVertexWithUV(-7D, -2D, 2D, f7, f8);
tessellator.addVertexWithUV(-7D, 2D, 2D, f7, f9);
tessellator.addVertexWithUV(-7D, 2D, -2D, f6, f9);
tessellator.setColorOpaque_F(1.0F, 1.0F, 1.0F);
tessellator.addVertexWithUV(-7D, -2D, -2D, f6, f8);
tessellator.addVertexWithUV(-7D, -2D, 2D, f7, f8);
tessellator.addVertexWithUV(-7D, 2D, 2D, f7, f9);
tessellator.addVertexWithUV(-7D, 2D, -2D, f6, f9);
tessellator.draw();
GL11.glNormal3f(-f10, 0.0F, 0.0F);
tessellator.startDrawingQuads();
tessellator.addVertexWithUV(-7D, 2D, -2D, f6, f8);
tessellator.addVertexWithUV(-7D, 2D, 2D, f7, f8);
tessellator.addVertexWithUV(-7D, -2D, 2D, f7, f9);
tessellator.addVertexWithUV(-7D, -2D, -2D, f6, f9);
tessellator.draw();
for (int j = 0; j < 4; j++)
{
GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
GL11.glNormal3f(0.0F, 0.0F, f10);
tessellator.startDrawingQuads();
tessellator.addVertexWithUV(-8D, -2D, 0.0D, f2, f4);
tessellator.addVertexWithUV(8D, -2D, 0.0D, f3, f4);
tessellator.addVertexWithUV(8D, 2D, 0.0D, f3, f5);
tessellator.addVertexWithUV(-8D, 2D, 0.0D, f2, f5);
tessellator.draw();
}
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
@Override
public void doRender(Entity entity, double d, double d1, double d2, float f, float f1)
{
renderKnife((EntityKnife)entity, d, d1, d2, f, f1);
}
}

View file

@ -1,21 +0,0 @@
package mekanism.tools.client;
import mekanism.tools.common.EntityKnife;
import mekanism.tools.common.ToolsCommonProxy;
import net.minecraftforge.client.MinecraftForgeClient;
import cpw.mods.fml.client.registry.RenderingRegistry;
public class ToolsClientProxy extends ToolsCommonProxy
{
@Override
public void registerRenderInformation()
{
//Preload block/item textures
MinecraftForgeClient.preloadTexture("/resources/mekanism/textures/tools/items.png");
//Register entity rendering handlers
RenderingRegistry.registerEntityRenderingHandler(EntityKnife.class, new RenderKnife());
System.out.println("[MekanismTools] Render registrations complete.");
}
}

View file

@ -1,157 +0,0 @@
package mekanism.tools.common;
import java.util.Random;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import mekanism.common.DamageSourceMekanism;
import mekanism.common.EntityProjectile;
public class EntityKnife extends EntityProjectile
{
protected ItemStack thrownItem;
private int soundTimer;
public EntityKnife(World world)
{
super(world);
}
public EntityKnife(World world, double d, double d1, double d2)
{
this(world);
setPosition(d, d1, d2);
}
public EntityKnife(World world, EntityLiving entityliving, ItemStack itemstack)
{
this(world);
thrownItem = itemstack;
shootingEntity = entityliving;
doesArrowBelongToPlayer = entityliving instanceof EntityPlayer;
soundTimer = 0;
setLocationAndAngles(entityliving.posX, entityliving.posY + (double)entityliving.getEyeHeight(), entityliving.posZ, entityliving.rotationYaw, entityliving.rotationPitch);
posX -= MathHelper.cos((rotationYaw / 180F) * (float)Math.PI) * 0.16F;
posY -= 0.10000000000000001D;
posZ -= MathHelper.sin((rotationYaw / 180F) * (float)Math.PI) * 0.16F;
setPosition(posX, posY, posZ);
yOffset = 0.0F;
motionX = -MathHelper.sin((rotationYaw / 180F) * (float)Math.PI) * MathHelper.cos((rotationPitch / 180F) * (float)Math.PI);
motionZ = MathHelper.cos((rotationYaw / 180F) * (float)Math.PI) * MathHelper.cos((rotationPitch / 180F) * (float)Math.PI);
motionY = -MathHelper.sin((rotationPitch / 180F) * (float)Math.PI);
setArrowHeading(motionX, motionY, motionZ, 0.8F, 3F);
}
@Override
public void onUpdate()
{
super.onUpdate();
if (inGround || beenInGround)
{
return;
}
rotationPitch -= 70F;
if (soundTimer >= 3)
{
if (!isInsideOfMaterial(Material.water))
{
worldObj.playSoundAtEntity(this, "random.bow", 0.6F, 1.0F / (rand.nextFloat() * 0.2F + 0.6F + (float)ticksInAir / 15F));
}
soundTimer = 0;
}
soundTimer++;
}
@Override
public void onEntityHit(Entity entity)
{
if (worldObj.isRemote)
{
return;
}
DamageSource damagesource = null;
if (shootingEntity == null)
{
damagesource = DamageSourceMekanism.causeWeaponDamage(this, this);
}
else
{
damagesource = DamageSourceMekanism.causeWeaponDamage(this, shootingEntity);
}
if (entity.attackEntityFrom(damagesource, thrownItem.getDamageVsEntity(entity)))
{
if (thrownItem.getItemDamage() + 2 > thrownItem.getMaxDamage())
{
thrownItem.stackSize--;
setDead();
}
else
{
thrownItem.damageItem(2, null);
setVelocity(0.20000000000000001D * rand.nextDouble() - 0.10000000000000001D, 0.20000000000000001D * rand.nextDouble() - 0.10000000000000001D, 0.20000000000000001D * rand.nextDouble() - 0.10000000000000001D);
}
}
else
{
bounceBack();
}
}
@Override
public boolean aimRotation()
{
return beenInGround;
}
@Override
public int getMaxArrowShake()
{
return 4;
}
@Override
public float getGravity()
{
return 0.03F;
}
@Override
public ItemStack getPickupItem()
{
return thrownItem;
}
@Override
public void writeEntityToNBT(NBTTagCompound nbttagcompound)
{
super.writeEntityToNBT(nbttagcompound);
if (thrownItem != null)
{
nbttagcompound.setCompoundTag("thrownItem", thrownItem.writeToNBT(new NBTTagCompound()));
}
}
@Override
public void readEntityFromNBT(NBTTagCompound nbttagcompound)
{
super.readEntityFromNBT(nbttagcompound);
thrownItem = ItemStack.loadItemStackFromNBT(nbttagcompound.getCompoundTag("thrownItem"));
}
}

View file

@ -1,113 +0,0 @@
package mekanism.tools.common;
import mekanism.common.ItemMekanism;
import mekanism.common.Mekanism;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class ItemMekanismKnife extends ItemMekanism
{
private EnumToolMaterial enumToolMaterial;
protected int weaponDamage;
protected float strVsBlock;
protected int entityDamage;
protected int blockDamage;
protected int enchantability;
public ItemMekanismKnife(int i, EnumToolMaterial enumtoolmaterial)
{
super(i);
enumToolMaterial = enumtoolmaterial;
maxStackSize = 1;
setMaxDamage((int)((float)enumtoolmaterial.getMaxUses() * 0.5F));
weaponDamage = (int)((float)3 + (float)enumtoolmaterial.getDamageVsEntity() * 1.5F);
strVsBlock = 1;
entityDamage = 2;
blockDamage = 2;
enchantability = enumtoolmaterial.getEnchantability();
setCreativeTab(Mekanism.tabMekanism);
}
@Override
public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer)
{
entityplayer.setItemInUse(itemstack, getMaxItemUseDuration(itemstack));
world.playSoundAtEntity(entityplayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 0.8F));
if (!world.isRemote)
{
EntityKnife entityknife = new EntityKnife(world, entityplayer, itemstack);
if (entityplayer.capabilities.isCreativeMode)
{
entityknife.doesArrowBelongToPlayer = false;
}
world.spawnEntityInWorld(entityknife);
}
if (entityplayer.capabilities.isCreativeMode)
{
return itemstack;
}
else
{
return new ItemStack(shiftedIndex, 0, 0);
}
}
@Override
public float getStrVsBlock(ItemStack itemstack, Block block)
{
return strVsBlock * (block.blockID != Block.web.blockID ? 1.0F : 10F);
}
@Override
public boolean canHarvestBlock(Block block)
{
return block.blockID == Block.web.blockID;
}
@Override
public int getItemEnchantability()
{
return enchantability;
}
@Override
public int getMaxItemUseDuration(ItemStack itemstack)
{
return 0x11940;
}
@Override
public boolean isFull3D()
{
return true;
}
@Override
public int getDamageVsEntity(Entity entity)
{
return weaponDamage;
}
@Override
public boolean onBlockDestroyed(ItemStack itemstack, World world, int x, int y, int z, int side, EntityLiving entityliving)
{
itemstack.damageItem(blockDamage, entityliving);
return true;
}
@Override
public boolean hitEntity(ItemStack itemstack, EntityLiving entityliving, EntityLiving entityliving1)
{
itemstack.damageItem(entityDamage, entityliving1);
return true;
}
}

View file

@ -30,9 +30,6 @@ import cpw.mods.fml.common.registry.LanguageRegistry;
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class MekanismTools
{
@SidedProxy(clientSide = "mekanism.tools.client.ToolsClientProxy", serverSide = "mekanism.tools.common.ToolsCommonProxy")
public static ToolsCommonProxy proxy;
@Instance("MekanismTools")
public static MekanismTools instance;
@ -64,11 +61,6 @@ public class MekanismTools
public static Item IronPaxel;
public static Item DiamondPaxel;
public static Item GoldPaxel;
public static Item WoodKnife;
public static Item StoneKnife;
public static Item IronKnife;
public static Item DiamondKnife;
public static Item GoldKnife;
//Glowstone Items
public static Item GlowstonePaxel;
@ -81,7 +73,6 @@ public class MekanismTools
public static Item GlowstoneBody;
public static Item GlowstoneLegs;
public static Item GlowstoneBoots;
public static Item GlowstoneKnife;
//Redstone Items
public static Item RedstonePaxel;
@ -94,7 +85,6 @@ public class MekanismTools
public static Item RedstoneBody;
public static Item RedstoneLegs;
public static Item RedstoneBoots;
public static Item RedstoneKnife;
//Platinum Items
public static Item PlatinumPaxel;
@ -107,7 +97,6 @@ public class MekanismTools
public static Item PlatinumBody;
public static Item PlatinumLegs;
public static Item PlatinumBoots;
public static Item PlatinumKnife;
//Obsidian Items
public static Item ObsidianHelmet;
@ -120,7 +109,6 @@ public class MekanismTools
public static Item ObsidianSpade;
public static Item ObsidianHoe;
public static Item ObsidianSword;
public static Item ObsidianKnife;
//Lazuli Items
public static Item LazuliPaxel;
@ -133,7 +121,6 @@ public class MekanismTools
public static Item LazuliBody;
public static Item LazuliLegs;
public static Item LazuliBoots;
public static Item LazuliKnife;
//Steel Items
public static Item SteelPaxel;
@ -146,7 +133,6 @@ public class MekanismTools
public static Item SteelBody;
public static Item SteelLegs;
public static Item SteelBoots;
public static Item SteelKnife;
@Init
public void init(FMLInitializationEvent event)
@ -154,15 +140,11 @@ public class MekanismTools
//Register this class to the event bus for special mob spawning (mobs with Mekanism armor/tools)
MinecraftForge.EVENT_BUS.register(this);
//Load the proxy
proxy.registerRenderInformation();
//Load this module
addItems();
addTextures();
addNames();
addRecipes();
addEntities();
//Finalization
Mekanism.logger.info("[MekanismTools] Loaded module.");
@ -187,21 +169,6 @@ public class MekanismTools
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(GoldPaxel, 1), new Object[] {
"XYZ", " T ", " T ", Character.valueOf('X'), Item.axeGold, Character.valueOf('Y'), Item.pickaxeGold, Character.valueOf('Z'), Item.shovelGold, Character.valueOf('T'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(WoodKnife), new Object[] {
" ^", "I ", Character.valueOf('^'), Block.planks, Character.valueOf('I'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(StoneKnife), new Object[] {
" ^", "I ", Character.valueOf('^'), Block.cobblestone, Character.valueOf('I'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(IronKnife), new Object[] {
" ^", "I ", Character.valueOf('^'), Item.ingotIron, Character.valueOf('I'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(DiamondKnife), new Object[] {
" ^", "I ", Character.valueOf('^'), Item.diamond, Character.valueOf('I'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(GoldKnife), new Object[] {
" ^", "I ", Character.valueOf('^'), Item.ingotGold, Character.valueOf('I'), Item.stick
}));
//Obsidian
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(ObsidianHelmet, 1), new Object[] {
@ -234,9 +201,6 @@ public class MekanismTools
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(ObsidianSword, 1), new Object[] {
"X", "X", "T", Character.valueOf('X'), "ingotObsidian", Character.valueOf('T'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(ObsidianKnife, 1), new Object[] {
" ^", "I ", Character.valueOf('^'), "ingotObsidian", Character.valueOf('I'), Item.stick
}));
//Glowstone
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(GlowstonePaxel, 1), new Object[] {
@ -269,9 +233,6 @@ public class MekanismTools
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(GlowstoneBoots, 1), new Object[] {
"* *", "* *", Character.valueOf('*'), "ingotGlowstone"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(GlowstoneKnife, 1), new Object[] {
" ^", "I ", Character.valueOf('^'), "ingotGlowstone", Character.valueOf('I'), Item.stick
}));
//Lazuli
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(LazuliHelmet, 1), new Object[] {
@ -304,9 +265,6 @@ public class MekanismTools
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(LazuliSword, 1), new Object[] {
"X", "X", "T", Character.valueOf('X'), new ItemStack(Item.dyePowder, 1, 4), Character.valueOf('T'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(LazuliKnife, 1), new Object[] {
" ^", "I ", Character.valueOf('^'), new ItemStack(Item.dyePowder, 1, 4), Character.valueOf('I'), Item.stick
}));
//Platinum
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(PlatinumPaxel, 1), new Object[] {
@ -339,9 +297,6 @@ public class MekanismTools
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(PlatinumBoots, 1), new Object[] {
"* *", "* *", Character.valueOf('*'), "ingotPlatinum"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(PlatinumKnife, 1), new Object[] {
" ^", "I ", Character.valueOf('^'), "ingotPlatinum", Character.valueOf('I'), Item.stick
}));
//Redstone
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstonePaxel, 1), new Object[] {
@ -374,8 +329,37 @@ public class MekanismTools
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneBoots, 1), new Object[] {
"* *", "* *", Character.valueOf('*'), "ingotRedstone"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(RedstoneKnife, 1), new Object[] {
" ^", "I ", Character.valueOf('^'), "ingotRedstone", Character.valueOf('I'), Item.stick
//Steel
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelPaxel, 1), new Object[] {
"XYZ", " T ", " T ", Character.valueOf('X'), SteelAxe, Character.valueOf('Y'), SteelPickaxe, Character.valueOf('Z'), SteelSpade, Character.valueOf('T'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelPickaxe, 1), new Object[] {
"XXX", " T ", " T ", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelAxe, 1), new Object[] {
"XX", "XT", " T", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelSpade, 1), new Object[] {
"X", "T", "T", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelHoe, 1), new Object[] {
"XX", " T", " T", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelSword, 1), new Object[] {
"X", "X", "T", Character.valueOf('X'), "ingotRefinedSteel", Character.valueOf('T'), Item.stick
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelHelmet, 1), new Object[] {
"***", "* *", Character.valueOf('*'), "ingotRefinedSteel"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelBody, 1), new Object[] {
"* *", "***", "***", Character.valueOf('*'), "ingotRefinedSteel"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelLegs, 1), new Object[] {
"***", "* *", "* *", Character.valueOf('*'), "ingotRefinedSteel"
}));
CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(new ItemStack(SteelBoots, 1), new Object[] {
"* *", "* *", Character.valueOf('*'), "ingotRefinedSteel"
}));
}
@ -387,11 +371,6 @@ public class MekanismTools
LanguageRegistry.addName(IronPaxel, "Iron Paxel");
LanguageRegistry.addName(DiamondPaxel, "Diamond Paxel");
LanguageRegistry.addName(GoldPaxel, "Gold Paxel");
LanguageRegistry.addName(WoodKnife, "Wood Knife");
LanguageRegistry.addName(StoneKnife, "Stone Knife");
LanguageRegistry.addName(IronKnife, "Iron Knife");
LanguageRegistry.addName(DiamondKnife, "Diamond Knife");
LanguageRegistry.addName(GoldKnife, "Gold Knife");
//Obsidian
LanguageRegistry.addName(ObsidianHelmet, "Obsidian Helmet");
@ -404,7 +383,6 @@ public class MekanismTools
LanguageRegistry.addName(ObsidianSpade, "Obsidian Shovel");
LanguageRegistry.addName(ObsidianHoe, "Obsidian Hoe");
LanguageRegistry.addName(ObsidianSword, "Obsidian Sword");
LanguageRegistry.addName(ObsidianKnife, "Obsidian Knife");
//Lazuli
LanguageRegistry.addName(LazuliHelmet, "Lapis Lazuli Helmet");
@ -417,7 +395,6 @@ public class MekanismTools
LanguageRegistry.addName(LazuliSpade, "Lapis Lazuli Shovel");
LanguageRegistry.addName(LazuliHoe, "Lapis Lazuli Hoe");
LanguageRegistry.addName(LazuliSword, "Lapis Lazuli Sword");
LanguageRegistry.addName(LazuliKnife, "Lazuli Knife");
//Platinum
LanguageRegistry.addName(PlatinumHelmet, "Platinum Helmet");
@ -430,7 +407,6 @@ public class MekanismTools
LanguageRegistry.addName(PlatinumSpade, "Platinum Shovel");
LanguageRegistry.addName(PlatinumHoe, "Platinum Hoe");
LanguageRegistry.addName(PlatinumSword, "Platinum Sword");
LanguageRegistry.addName(PlatinumKnife, "Platinum Knife");
//Redstone
LanguageRegistry.addName(RedstoneHelmet, "Redstone Helmet");
@ -443,7 +419,6 @@ public class MekanismTools
LanguageRegistry.addName(RedstoneSpade, "Redstone Shovel");
LanguageRegistry.addName(RedstoneHoe, "Redstone Hoe");
LanguageRegistry.addName(RedstoneSword, "Redstone Sword");
LanguageRegistry.addName(RedstoneKnife, "Redstone Knife");
//Glowstone
LanguageRegistry.addName(GlowstonePaxel, "Glowstone Paxel");
@ -456,7 +431,18 @@ public class MekanismTools
LanguageRegistry.addName(GlowstoneBody, "Glowstone Chestplate");
LanguageRegistry.addName(GlowstoneLegs, "Glowstone Leggings");
LanguageRegistry.addName(GlowstoneBoots, "Glowstone Boots");
LanguageRegistry.addName(GlowstoneKnife, "Glowstone Knife");
//Steel
LanguageRegistry.addName(SteelPaxel, "Steel Paxel");
LanguageRegistry.addName(SteelPickaxe, "Steel Pickaxe");
LanguageRegistry.addName(SteelAxe, "Steel Axe");
LanguageRegistry.addName(SteelSpade, "Steel Shovel");
LanguageRegistry.addName(SteelHoe, "Steel Hoe");
LanguageRegistry.addName(SteelSword, "Steel Sword");
LanguageRegistry.addName(SteelHelmet, "Steel Helmet");
LanguageRegistry.addName(SteelBody, "Steel Chestplate");
LanguageRegistry.addName(SteelLegs, "Steel Leggings");
LanguageRegistry.addName(SteelBoots, "Steel Boots");
}
public void addTextures()
@ -467,11 +453,6 @@ public class MekanismTools
IronPaxel.setIconIndex(152);
DiamondPaxel.setIconIndex(153);
GoldPaxel.setIconIndex(154);
WoodKnife.setIconIndex(214);
StoneKnife.setIconIndex(215);
IronKnife.setIconIndex(216);
DiamondKnife.setIconIndex(217);
GoldKnife.setIconIndex(218);
//Glowstone
GlowstoneHelmet.setIconIndex(4);
@ -484,7 +465,6 @@ public class MekanismTools
GlowstoneSpade.setIconIndex(100);
GlowstoneHoe.setIconIndex(116);
GlowstoneSword.setIconIndex(132);
GlowstoneKnife.setIconIndex(212);
//Redstone
RedstoneHelmet.setIconIndex(3);
@ -497,7 +477,6 @@ public class MekanismTools
RedstoneSpade.setIconIndex(99);
RedstoneHoe.setIconIndex(115);
RedstoneSword.setIconIndex(131);
RedstoneKnife.setIconIndex(211);
//Platinum
PlatinumHelmet.setIconIndex(2);
@ -510,7 +489,6 @@ public class MekanismTools
PlatinumSpade.setIconIndex(98);
PlatinumHoe.setIconIndex(114);
PlatinumSword.setIconIndex(130);
PlatinumKnife.setIconIndex(210);
//Obsidian
ObsidianHelmet.setIconIndex(1);
@ -523,7 +501,6 @@ public class MekanismTools
ObsidianSpade.setIconIndex(97);
ObsidianHoe.setIconIndex(113);
ObsidianSword.setIconIndex(129);
ObsidianKnife.setIconIndex(209);
//Lazuli
LazuliPaxel.setIconIndex(144);
@ -536,7 +513,18 @@ public class MekanismTools
LazuliBody.setIconIndex(16);
LazuliLegs.setIconIndex(32);
LazuliBoots.setIconIndex(48);
LazuliKnife.setIconIndex(208);
//Steel
SteelHelmet.setIconIndex(5);
SteelBody.setIconIndex(21);
SteelLegs.setIconIndex(37);
SteelBoots.setIconIndex(53);
SteelPaxel.setIconIndex(149);
SteelPickaxe.setIconIndex(69);
SteelAxe.setIconIndex(85);
SteelSpade.setIconIndex(101);
SteelHoe.setIconIndex(117);
SteelSword.setIconIndex(133);
}
public void addItems()
@ -608,23 +596,17 @@ public class MekanismTools
DiamondPaxel = new ItemMekanismPaxel(11453, EnumToolMaterial.EMERALD).setItemName("DiamondPaxel");
GoldPaxel = new ItemMekanismPaxel(11454, EnumToolMaterial.GOLD).setItemName("GoldPaxel");
//Knives
WoodKnife = new ItemMekanismKnife(11455, EnumToolMaterial.WOOD).setItemName("WoodKnife");
StoneKnife = new ItemMekanismKnife(11456, EnumToolMaterial.STONE).setItemName("StoneKnife");
IronKnife = new ItemMekanismKnife(11457, EnumToolMaterial.IRON).setItemName("IronKnife");
DiamondKnife = new ItemMekanismKnife(11458, EnumToolMaterial.EMERALD).setItemName("DiamondKnife");
GoldKnife = new ItemMekanismKnife(11459, EnumToolMaterial.GOLD).setItemName("GoldKnife");
ObsidianKnife = new ItemMekanismKnife(11460, toolOBSIDIAN).setItemName("ObsidianKnife");
LazuliKnife = new ItemMekanismKnife(11461, toolLAZULI).setItemName("LazuliKnife");
PlatinumKnife = new ItemMekanismKnife(11462, toolPLATINUM).setItemName("PlatinumKnife");
RedstoneKnife = new ItemMekanismKnife(11463, toolREDSTONE).setItemName("RedstoneKnife");
GlowstoneKnife = new ItemMekanismKnife(11464, toolGLOWSTONE).setItemName("GlowstoneKnife");
}
public void addEntities()
{
EntityRegistry.registerGlobalEntityID(EntityKnife.class, "Knife", EntityRegistry.findGlobalUniqueEntityId());
EntityRegistry.registerModEntity(EntityKnife.class, "Knife", 52, this, 40, 5, true);
//Steel
SteelPaxel = new ItemMekanismPaxel(11455, toolSTEEL2).setItemName("SteelPaxel");
SteelPickaxe = new ItemMekanismPickaxe(11456, toolSTEEL).setItemName("SteelPickaxe");
SteelAxe = new ItemMekanismAxe(11457, toolSTEEL).setItemName("SteelAxe");
SteelSpade = new ItemMekanismSpade(11458, toolSTEEL).setItemName("SteelSpade");
SteelHoe = new ItemMekanismHoe(11459, toolSTEEL).setItemName("SteelHoe");
SteelSword = new ItemMekanismSword(11460, toolSTEEL).setItemName("SteelSword");
SteelHelmet = new ItemMekanismArmor(11461, armorSTEEL, Mekanism.proxy.getArmorIndex("Steel"), 0).setItemName("SteelHelmet");
SteelBody = new ItemMekanismArmor(11462, armorSTEEL, Mekanism.proxy.getArmorIndex("Steel"), 1).setItemName("SteelBody");
SteelLegs = new ItemMekanismArmor(11463, armorSTEEL, Mekanism.proxy.getArmorIndex("Steel"), 2).setItemName("SteelLegs");
SteelBoots = new ItemMekanismArmor(11464, armorSTEEL, Mekanism.proxy.getArmorIndex("Steel"), 3).setItemName("SteelBoots");
}
@ForgeSubscribe

View file

@ -1,21 +0,0 @@
package mekanism.tools.common;
import net.minecraft.src.*;
/**
* Common proxy for the Mekanism Tools module.
* @author AidanBrady
*
*/
public class ToolsCommonProxy
{
/**
* Register and load client-only render information.
*/
public void registerRenderInformation() {}
/**
* Set and load the mod's common configuration properties.
*/
public void loadConfiguration() {}
}