Not really liking this version and may have to work on it some more. The
idea is to create a way to insert 4 batteries into the machine. Then for
these batteries to visually show on the out side of the machine with
there charging info. As well placing two machine together will need to
effect the render.
Mainly just copied the methods but its needed due to future changes to
these methods that were copied. Mainly the collision methods will need
to be redone when the logic is finished for lay down wires.
This was honestly very stupid why it wasn't working. It all came down
the a method called getOutputdirections. Honestly why did this stupid
enumset stuff return when its a bad way to track connections. It makes
rotation more complex, and can connect is good enough to handle both.
Any complex connection mojo should be handled by the update tick or
custom mod method rather then by default be there.
To be honest adding support for all things electrical will take time.
Main focus is to cover the basic UE machines, and parts. Then i will
move on to IC2 and buildcraft support if its easy to test. As well i
might have to cover mekanism in case it doesn't use the UE interfaces
for its machines.
Honestly i have to say this was done poorly but then again i think this
render is left over from when UE started. Also this will need to be
redone some more later to prevent issues were the client sees a
connection different then the server. A simple boolean array sent by
packet should solve this issue later on.
Not tested nor really done yet. The idea in creating these is to provide
a sure way to test basic functions of machines. Since these debug block
are very simple no real issue should arise of the block failing.
Added a basic packet handler system to the prefab TileEntityMachine
class to make sorting packet data easier for other tiles. This was
original part of assembly line but it seems more fitting to make it part
of the base prefab.
It now contains an extra update flag var allowing more control on how
the block is set after its was changes. This was mainly done to allow
the starter pump in FM to still function as an infinite water source
while drain several blocks at a time.
Mainly worthless but is used to make it easier for other classes to
check if a tile runs without power. Example is in NetworkSharedPower
class were it need to check for to see if it can run power less based
off it network parts.
Should allow networks that extend this to read and write data from there
tiles when its called. Mainly used to store important info in tiles
while merging or splitting a network. However, it is used by
NetworkFluidTiles class in FM for reading/writing fluid volumes to the
tiles.
Though general its a bad idea to control packet handling in a prefab
class i though it be best seeing as most of my machines need a client
update. As well added a generic consume power method that is called per
tick server side.
Fixed a null point crash with getting the block when trying to fill a
tile.
Added: FillTanksAllSides to make it easy for tiles to fill
IFluidHandlers around them
This should remove the need for other networks to have custom split or
merge code just to add a few lines of code. Example was the removal of
the needed for Fluid networks in FM to have custom split/merge code to
add balanceTanks() method.
This should prevent issues with config files generating but will not
prevent Block ID conflict with other mods. However, later i might expand
this to try to pre-register the block and correct its block ID if
something goes wrong.