*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:
parent
45b4510dc7
commit
769593000d
28 changed files with 266 additions and 949 deletions
BIN
bin/minecraft/armor/steel_1.png
Executable file
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
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 |
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -34,6 +34,7 @@ public abstract class TileEntityElectricBlock extends TileEntityContainerBlock i
|
|||
{
|
||||
super(name);
|
||||
MAX_ELECTRICITY = maxEnergy;
|
||||
|
||||
if(PowerFramework.currentFramework != null)
|
||||
{
|
||||
powerProvider = PowerFramework.currentFramework.createPowerProvider();
|
||||
|
|
|
@ -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;
|
||||
|
@ -235,6 +236,31 @@ public abstract class TileEntityElectricMachine extends TileEntityBasicMachine
|
|||
}
|
||||
}
|
||||
|
||||
@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()
|
||||
{
|
||||
|
|
|
@ -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,14 +302,40 @@ 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."};
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
package mekanism.generators.common;
|
||||
|
||||
public class ContainerHydroGenerator {
|
||||
|
||||
}
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
/*package mekanism.generators.common;
|
||||
|
||||
import net.minecraft.src.*;
|
||||
|
||||
public class TileEntityHydroGenerator extends TileEntityGenerator
|
||||
{
|
||||
public TileEntityHydroGenerator()
|
||||
{
|
||||
super("Hydro Generator", 120000, 256);
|
||||
}
|
||||
}*/
|
|
@ -124,6 +124,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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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.");
|
||||
}
|
||||
}
|
|
@ -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"));
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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() {}
|
||||
}
|
Loading…
Reference in a new issue