From 449890530c7b8e2d02f2fe23f787cb7be0e8b23b Mon Sep 17 00:00:00 2001 From: Rseifert Date: Tue, 6 Nov 2012 01:35:24 -0500 Subject: [PATCH] Moved Stuff and toyed with belts no major changes just yet, need to teach my new coders how to make mods first. --- .gitignore | 1 + {resources/Models => Models}/BeltCopy.tcn | Bin .../Models => Models}/InputerBeltCopy.tcn | Bin {resources/Models => Models}/ReadMe.txt | 0 .../Models => Models}/RoboticArmCopy.tcn | Bin {resources/Models => Models}/ScooperWIP.tcn | Bin .../Models => Models}/rejectorOldCopy.tcn | Bin buildnumber.txt | 2 +- info.txt | 1 + src/common/assemblyline/api/IManipulator.java | 17 +++++++++ .../belts/TileEntityConveyorBelt.java | 4 +++ .../machines/TileEntityManipulator.java | 34 +++++++++--------- .../machines/TileEntityRejector.java | 2 +- 13 files changed, 43 insertions(+), 18 deletions(-) rename {resources/Models => Models}/BeltCopy.tcn (100%) rename {resources/Models => Models}/InputerBeltCopy.tcn (100%) rename {resources/Models => Models}/ReadMe.txt (100%) rename {resources/Models => Models}/RoboticArmCopy.tcn (100%) rename {resources/Models => Models}/ScooperWIP.tcn (100%) rename {resources/Models => Models}/rejectorOldCopy.tcn (100%) create mode 100644 src/common/assemblyline/api/IManipulator.java diff --git a/.gitignore b/.gitignore index 097d6362..3f1c016f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ /reobf/* /runtime/* /temp/* +/src/minecraft/assemblyline/textures/* CHANGELOG LICENSE.txt *.bat diff --git a/resources/Models/BeltCopy.tcn b/Models/BeltCopy.tcn similarity index 100% rename from resources/Models/BeltCopy.tcn rename to Models/BeltCopy.tcn diff --git a/resources/Models/InputerBeltCopy.tcn b/Models/InputerBeltCopy.tcn similarity index 100% rename from resources/Models/InputerBeltCopy.tcn rename to Models/InputerBeltCopy.tcn diff --git a/resources/Models/ReadMe.txt b/Models/ReadMe.txt similarity index 100% rename from resources/Models/ReadMe.txt rename to Models/ReadMe.txt diff --git a/resources/Models/RoboticArmCopy.tcn b/Models/RoboticArmCopy.tcn similarity index 100% rename from resources/Models/RoboticArmCopy.tcn rename to Models/RoboticArmCopy.tcn diff --git a/resources/Models/ScooperWIP.tcn b/Models/ScooperWIP.tcn similarity index 100% rename from resources/Models/ScooperWIP.tcn rename to Models/ScooperWIP.tcn diff --git a/resources/Models/rejectorOldCopy.tcn b/Models/rejectorOldCopy.tcn similarity index 100% rename from resources/Models/rejectorOldCopy.tcn rename to Models/rejectorOldCopy.tcn diff --git a/buildnumber.txt b/buildnumber.txt index e0793877..ec635144 100644 --- a/buildnumber.txt +++ b/buildnumber.txt @@ -1 +1 @@ -9 +9 diff --git a/info.txt b/info.txt index 4737bf7a..6fc5365f 100644 --- a/info.txt +++ b/info.txt @@ -5,3 +5,4 @@ @ AssemblyLine_v0.0.6.6.jar @ AssemblyLine_v0.0.6.7.jar @ AssemblyLine_v0.0.6.8.jar AssemblyLine_v0.0.6.8_api.zip +stable AssemblyLine_v0.0.6.10.jar AssemblyLine_v0.0.6.10_api.zip diff --git a/src/common/assemblyline/api/IManipulator.java b/src/common/assemblyline/api/IManipulator.java new file mode 100644 index 00000000..0457dd12 --- /dev/null +++ b/src/common/assemblyline/api/IManipulator.java @@ -0,0 +1,17 @@ +package assemblyline.api; + +import net.minecraft.src.ItemStack; +import universalelectricity.core.Vector3; + +public interface IManipulator +{ + /** + * Throws the items from the manipulator into the world + * @param outputPosition + * @param items + */ + public void rejectItem(Vector3 outputPosition, ItemStack items); + + //TODO add a few more methods here to access the functions the manipulator + //can do. For example storing items, and retrieving items, or power on/off +} diff --git a/src/common/assemblyline/belts/TileEntityConveyorBelt.java b/src/common/assemblyline/belts/TileEntityConveyorBelt.java index cfcdae41..880d7a14 100644 --- a/src/common/assemblyline/belts/TileEntityConveyorBelt.java +++ b/src/common/assemblyline/belts/TileEntityConveyorBelt.java @@ -159,18 +159,22 @@ public class TileEntityConveyorBelt extends TileEntityElectricityReceiver implem if (direction == 0) { entity.motionZ -= 1 * this.speed; + entity.posX = this.xCoord +0.5D; } if (direction == 1) { entity.motionX += 1 * this.speed; + entity.posZ = this.zCoord +0.5D; } if (direction == 2) { entity.motionZ += 1 * this.speed; + entity.posX = this.xCoord +0.5D; } if (direction == 3) { entity.motionX -= 1 * this.speed; + entity.posZ = this.zCoord +0.5D; } } } diff --git a/src/common/assemblyline/machines/TileEntityManipulator.java b/src/common/assemblyline/machines/TileEntityManipulator.java index 4fa8a647..e3c328b8 100644 --- a/src/common/assemblyline/machines/TileEntityManipulator.java +++ b/src/common/assemblyline/machines/TileEntityManipulator.java @@ -24,9 +24,10 @@ import universalelectricity.prefab.TileEntityElectricityReceiver; import universalelectricity.prefab.network.IPacketReceiver; import universalelectricity.prefab.network.PacketManager; import assemblyline.AssemblyLine; +import assemblyline.api.IManipulator; import assemblyline.machines.BlockMulti.MachineType; -public class TileEntityManipulator extends TileEntityElectricityReceiver implements IRedstoneReceptor, IPacketReceiver +public class TileEntityManipulator extends TileEntityElectricityReceiver implements IRedstoneReceptor, IPacketReceiver,IManipulator { /** * Joules required to run this thing. @@ -104,16 +105,9 @@ public class TileEntityManipulator extends TileEntityElectricityReceiver impleme remainingStack = this.tryPlaceInPosition(remainingStack, outputPosition, this.getBeltDirection().getOpposite()); } - if (remainingStack != null) + if (remainingStack != null && remainingStack.stackSize > 0) { - if (remainingStack.stackSize > 0) - { - EntityItem entityItem = new EntityItem(worldObj, outputPosition.x + 0.5, outputPosition.y + 0.8, outputPosition.z + 0.5, remainingStack); - entityItem.motionX = 0; - entityItem.motionZ = 0; - entityItem.motionY /= 5; - worldObj.spawnEntityInWorld(entityItem); - } + this.rejectItem(outputPosition, remainingStack); } entity.setDead(); @@ -159,11 +153,7 @@ public class TileEntityManipulator extends TileEntityElectricityReceiver impleme { if (itemStack.stackSize > 0) { - EntityItem entityItem = new EntityItem(worldObj, outputPosition.x + 0.5, outputPosition.y + 0.8, outputPosition.z + 0.5, itemStack); - entityItem.motionX = 0; - entityItem.motionZ = 0; - entityItem.motionY /= 5; - worldObj.spawnEntityInWorld(entityItem); + this.rejectItem(outputPosition, itemStack); } } } @@ -173,7 +163,19 @@ public class TileEntityManipulator extends TileEntityElectricityReceiver impleme } } } - + /** + * Throws the items from the manipulator into the world + * @param outputPosition + * @param items + */ + public void rejectItem(Vector3 outputPosition, ItemStack items) + { + EntityItem entityItem = new EntityItem(worldObj, outputPosition.x + 0.5, outputPosition.y + 0.8, outputPosition.z + 0.5, items); + entityItem.motionX = 0; + entityItem.motionZ = 0; + entityItem.motionY /= 5; + worldObj.spawnEntityInWorld(entityItem); + } /** * Tries to place an itemStack in a specific * position if it is an inventory. diff --git a/src/common/assemblyline/machines/TileEntityRejector.java b/src/common/assemblyline/machines/TileEntityRejector.java index f9a95abe..4081abe3 100644 --- a/src/common/assemblyline/machines/TileEntityRejector.java +++ b/src/common/assemblyline/machines/TileEntityRejector.java @@ -78,7 +78,7 @@ public class TileEntityRejector extends TileEntityElectricityReceiver implements if (this.ticks % 5 == 0 && !this.isDisabled()) { //TODO remove after testing - this.wattsReceived += 100; + //this.wattsReceived += 100; int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); this.firePiston = false;