diff --git a/codechicken/multipart/MultipartGenerator.scala b/codechicken/multipart/MultipartGenerator.scala index 25ad55e..12d5bc2 100644 --- a/codechicken/multipart/MultipartGenerator.scala +++ b/codechicken/multipart/MultipartGenerator.scala @@ -77,7 +77,7 @@ object MultipartGenerator { ntile = factory.generateTile(partTraits++tileTraits, world.isRemote) world.setBlockTileEntity(pos.x, pos.y, pos.z, ntile) - ntile.loadFrom(tile) + ntile.from(tile) } } else @@ -118,7 +118,7 @@ object MultipartGenerator { val ntile = factory.generateTile(testSet.toSeq, client) tile.worldObj.setBlockTileEntity(tile.xCoord, tile.yCoord, tile.zCoord, ntile) - ntile.loadFrom(tile) + ntile.from(tile) return ntile } return tile diff --git a/codechicken/multipart/TMultiPart.scala b/codechicken/multipart/TMultiPart.scala index af52c42..5e3fb06 100644 --- a/codechicken/multipart/TMultiPart.scala +++ b/codechicken/multipart/TMultiPart.scala @@ -73,7 +73,7 @@ abstract class TMultiPart def load(tag:NBTTagCompound){} def onPartChanged(){} - def onNeighbourChanged(){} + def onNeighborChanged(){} def onAdded() = onWorldJoin() def onRemoved() = onWorldSeparate() def onChunkLoad() = onWorldJoin() diff --git a/codechicken/multipart/TileMultipart.scala b/codechicken/multipart/TileMultipart.scala index 0488909..ea74d9e 100644 --- a/codechicken/multipart/TileMultipart.scala +++ b/codechicken/multipart/TileMultipart.scala @@ -45,11 +45,20 @@ trait TileMultipart extends TileEntity private var doesTick = false - def loadFrom(that:TileMultipart)//Potentially auto gen this + private[multipart] def from(that:TileMultipart) + { + copyFrom(that) + loadFrom(that) + } + + def copyFrom(that:TileMultipart)//Potentially auto gen this { partList = that.partList doesTick = that.doesTick - + } + + def loadFrom(that:TileMultipart) + { partList.foreach(_.bind(this)) } @@ -109,7 +118,7 @@ trait TileMultipart extends TileEntity def onNeighborBlockChange(world:World, x:Int, y:Int, z:Int, id:Int) { TileMultipartObj.startOperation(this) - partList.foreach(_.onNeighbourChanged()) + partList.foreach(_.onNeighborChanged()) TileMultipartObj.finishOperation(this) } diff --git a/codechicken/multipart/scalatraits/ITankContainer.scala b/codechicken/multipart/scalatraits/ITankContainer.scala index 9dfa942..ae76076 100644 --- a/codechicken/multipart/scalatraits/ITankContainer.scala +++ b/codechicken/multipart/scalatraits/ITankContainer.scala @@ -12,6 +12,13 @@ trait TTankContainerTile extends TileMultipart with ITankContainer { var tankList = ListBuffer[ITankContainer]() + override def copyFrom(that:TileMultipart) + { + super.copyFrom(that) + if(that.isInstanceOf[TTankContainerTile]) + tankList = that.asInstanceOf[TTankContainerTile].tankList + } + override def partAdded(part:TMultiPart) { super.partAdded(part) @@ -26,13 +33,6 @@ trait TTankContainerTile extends TileMultipart with ITankContainer tankList-=part.asInstanceOf[ITankContainer] } - override def loadFrom(that:TileMultipart) - { - super.loadFrom(that) - if(that.isInstanceOf[TTankContainerTile]) - tankList = that.asInstanceOf[TTankContainerTile].tankList - } - override def clearParts() { super.clearParts() diff --git a/codechicken/multipart/scalatraits/TSlotted.scala b/codechicken/multipart/scalatraits/TSlotted.scala index bc05a61..43fdc59 100644 --- a/codechicken/multipart/scalatraits/TSlotted.scala +++ b/codechicken/multipart/scalatraits/TSlotted.scala @@ -9,9 +9,9 @@ trait TSlottedTile extends TileMultipart { var v_partMap = new Array[TMultiPart](27) - override def loadFrom(that:TileMultipart) + override def copyFrom(that:TileMultipart) { - super.loadFrom(that) + super.copyFrom(that) if(that.isInstanceOf[TSlottedTile]) v_partMap = that.asInstanceOf[TSlottedTile].v_partMap }