Fixed some grinding wheel rotation direction
This commit is contained in:
parent
9d0fbdb272
commit
a08f665dd1
7 changed files with 13 additions and 6 deletions
|
@ -181,9 +181,9 @@ public class PartGear extends PartMechanical implements IMechanical, IMultiBlock
|
||||||
{
|
{
|
||||||
IMechanical instance = ((IMechanical) tileBehind).getInstance(placementSide.getOpposite());
|
IMechanical instance = ((IMechanical) tileBehind).getInstance(placementSide.getOpposite());
|
||||||
|
|
||||||
if (instance != null && instance != this && instance.canConnect(placementSide.getOpposite(), this))
|
if (instance != null && instance != this && !(instance instanceof PartGearShaft) && instance.canConnect(placementSide.getOpposite(), this))
|
||||||
{
|
{
|
||||||
connections[placementSide.getOpposite().ordinal()] = instance;
|
connections[placementSide.ordinal()] = instance;
|
||||||
getNetwork().merge(instance.getNetwork());
|
getNetwork().merge(instance.getNetwork());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -457,7 +457,6 @@ public class PartGear extends PartMechanical implements IMechanical, IMultiBlock
|
||||||
|
|
||||||
if (((PartGear) source).placementSide != placementSide)
|
if (((PartGear) source).placementSide != placementSide)
|
||||||
{
|
{
|
||||||
|
|
||||||
TMultiPart part = tile().partMap(((PartGear) source).placementSide.ordinal());
|
TMultiPart part = tile().partMap(((PartGear) source).placementSide.ordinal());
|
||||||
|
|
||||||
if (part instanceof PartGear)
|
if (part instanceof PartGear)
|
||||||
|
|
|
@ -7,6 +7,7 @@ import java.util.LinkedHashMap;
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
|
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
|
import resonantinduction.mechanical.process.TileGrinderWheel;
|
||||||
import universalelectricity.api.net.IUpdate;
|
import universalelectricity.api.net.IUpdate;
|
||||||
import universalelectricity.core.net.Network;
|
import universalelectricity.core.net.Network;
|
||||||
import universalelectricity.core.net.NetworkTickHandler;
|
import universalelectricity.core.net.NetworkTickHandler;
|
||||||
|
@ -77,6 +78,7 @@ public class MechanicalNetwork extends Network<IMechanicalNetwork, IMechanical>
|
||||||
|
|
||||||
if (adjacentMech != null && adjacent != mechanical)
|
if (adjacentMech != null && adjacent != mechanical)
|
||||||
{
|
{
|
||||||
|
|
||||||
float ratio = adjacentMech.getRatio(dir.getOpposite(), mechanical) / mechanical.getRatio(dir, adjacentMech);
|
float ratio = adjacentMech.getRatio(dir.getOpposite(), mechanical) / mechanical.getRatio(dir, adjacentMech);
|
||||||
long torque = mechanical.getTorque();
|
long torque = mechanical.getTorque();
|
||||||
|
|
||||||
|
|
|
@ -64,6 +64,7 @@ public abstract class PartMechanical extends JCuboidPart implements JNormalOcclu
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
System.out.println("Connected with: " + i + ":" + getNetwork());
|
System.out.println("Connected with: " + i + ":" + getNetwork());
|
||||||
|
//efresh();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -180,7 +180,7 @@ public abstract class TileMechanical extends TileAdvanced implements IMechanical
|
||||||
@Override
|
@Override
|
||||||
public boolean inverseRotation(ForgeDirection dir, IMechanical with)
|
public boolean inverseRotation(ForgeDirection dir, IMechanical with)
|
||||||
{
|
{
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -79,7 +79,6 @@ public class BlockGrindingWheel extends BlockRotatable implements ITileEntityPro
|
||||||
// Move entity based on the direction of the block.
|
// Move entity based on the direction of the block.
|
||||||
ForgeDirection dir = this.getDirection(world, x, y, z);
|
ForgeDirection dir = this.getDirection(world, x, y, z);
|
||||||
dir = ForgeDirection.getOrientation(!(dir.ordinal() % 2 == 0) ? dir.ordinal() - 1 : dir.ordinal()).getOpposite();
|
dir = ForgeDirection.getOrientation(!(dir.ordinal() % 2 == 0) ? dir.ordinal() - 1 : dir.ordinal()).getOpposite();
|
||||||
dir = WorldUtility.invertZ(dir);
|
|
||||||
float speed = tile.getAngularVelocity() / 20;
|
float speed = tile.getAngularVelocity() / 20;
|
||||||
entity.addVelocity(dir.offsetX * speed, Math.random() * speed, dir.offsetZ * speed);
|
entity.addVelocity(dir.offsetX * speed, Math.random() * speed, dir.offsetZ * speed);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,6 @@ public class RenderGrinderWheel extends TileEntitySpecialRenderer
|
||||||
glScalef(0.51f, 0.5f, 0.5f);
|
glScalef(0.51f, 0.5f, 0.5f);
|
||||||
ForgeDirection dir = tile.getDirection();
|
ForgeDirection dir = tile.getDirection();
|
||||||
dir = ForgeDirection.getOrientation(!(dir.ordinal() % 2 == 0) ? dir.ordinal() - 1 : dir.ordinal());
|
dir = ForgeDirection.getOrientation(!(dir.ordinal() % 2 == 0) ? dir.ordinal() - 1 : dir.ordinal());
|
||||||
dir = WorldUtility.invertZ(dir);
|
|
||||||
RenderUtility.rotateBlockBasedOnDirection(dir);
|
RenderUtility.rotateBlockBasedOnDirection(dir);
|
||||||
glRotatef((float) Math.toDegrees(tile.angle), 0, 0, 1);
|
glRotatef((float) Math.toDegrees(tile.angle), 0, 0, 1);
|
||||||
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "planks_oak.png");
|
RenderUtility.bind(Reference.BLOCK_TEXTURE_DIRECTORY + "planks_oak.png");
|
||||||
|
|
|
@ -12,6 +12,7 @@ import resonantinduction.api.recipe.MachineRecipes.RecipeType;
|
||||||
import resonantinduction.api.recipe.RecipeResource;
|
import resonantinduction.api.recipe.RecipeResource;
|
||||||
import resonantinduction.core.Reference;
|
import resonantinduction.core.Reference;
|
||||||
import resonantinduction.core.ResonantInduction;
|
import resonantinduction.core.ResonantInduction;
|
||||||
|
import resonantinduction.mechanical.network.IMechanical;
|
||||||
import resonantinduction.mechanical.network.TileMechanical;
|
import resonantinduction.mechanical.network.TileMechanical;
|
||||||
import universalelectricity.api.vector.Vector3;
|
import universalelectricity.api.vector.Vector3;
|
||||||
import calclavia.lib.prefab.tile.IRotatable;
|
import calclavia.lib.prefab.tile.IRotatable;
|
||||||
|
@ -176,4 +177,10 @@ public class TileGrinderWheel extends TileMechanical implements IRotatable
|
||||||
return getDirection().getRotation(ForgeDirection.UP) == from || getDirection().getRotation(ForgeDirection.DOWN) == from;
|
return getDirection().getRotation(ForgeDirection.UP) == from || getDirection().getRotation(ForgeDirection.DOWN) == from;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean inverseRotation(ForgeDirection dir, IMechanical with)
|
||||||
|
{
|
||||||
|
return !(dir.ordinal() % 2 == 0);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue