initial commit
This commit is contained in:
4
src/main/java/storagecraft/tile/IMachine.java
Executable file
4
src/main/java/storagecraft/tile/IMachine.java
Executable file
@@ -0,0 +1,4 @@
|
||||
package storagecraft.tile;
|
||||
|
||||
public interface IMachine {
|
||||
}
|
||||
9
src/main/java/storagecraft/tile/INetworkTile.java
Executable file
9
src/main/java/storagecraft/tile/INetworkTile.java
Executable file
@@ -0,0 +1,9 @@
|
||||
package storagecraft.tile;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
||||
public interface INetworkTile {
|
||||
public void fromBytes(ByteBuf buf);
|
||||
|
||||
public void toBytes(ByteBuf buf);
|
||||
}
|
||||
20
src/main/java/storagecraft/tile/TileCable.java
Executable file
20
src/main/java/storagecraft/tile/TileCable.java
Executable file
@@ -0,0 +1,20 @@
|
||||
package storagecraft.tile;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import storagecraft.block.BlockCable;
|
||||
|
||||
public class TileCable extends TileSC {
|
||||
public boolean hasConnection(ForgeDirection dir) {
|
||||
Block block = worldObj.getBlock(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ);
|
||||
|
||||
if (!(block instanceof BlockCable)) {
|
||||
TileEntity tile = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ);
|
||||
|
||||
return tile instanceof IMachine;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
9
src/main/java/storagecraft/tile/TileController.java
Executable file
9
src/main/java/storagecraft/tile/TileController.java
Executable file
@@ -0,0 +1,9 @@
|
||||
package storagecraft.tile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class TileController extends TileSC implements IMachine {
|
||||
public List<TileSC> getMachines() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
23
src/main/java/storagecraft/tile/TileSC.java
Executable file
23
src/main/java/storagecraft/tile/TileSC.java
Executable file
@@ -0,0 +1,23 @@
|
||||
package storagecraft.tile;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import storagecraft.SC;
|
||||
import storagecraft.network.MessageTileUpdate;
|
||||
|
||||
public class TileSC extends TileEntity {
|
||||
public static final int UPDATE_RANGE = 64;
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
super.updateEntity();
|
||||
|
||||
if (!worldObj.isRemote) {
|
||||
if (this instanceof INetworkTile) {
|
||||
TargetPoint target = new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, UPDATE_RANGE);
|
||||
|
||||
SC.NETWORK.sendToAllAround(new MessageTileUpdate(this), target);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user