parent
8f69574500
commit
e47d08a87e
18
src/main/java/appeng/block/legacy/BlockPowerRelay.java
Normal file
18
src/main/java/appeng/block/legacy/BlockPowerRelay.java
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
package appeng.block.legacy;
|
||||||
|
|
||||||
|
import java.util.EnumSet;
|
||||||
|
|
||||||
|
import appeng.block.AEBaseTileBlock;
|
||||||
|
import appeng.core.features.AEFeature;
|
||||||
|
import appeng.tile.legacy.TilePowerRelay;
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
|
||||||
|
public class BlockPowerRelay extends AEBaseTileBlock {
|
||||||
|
|
||||||
|
public BlockPowerRelay() {
|
||||||
|
super(Material.iron);
|
||||||
|
this.setTileEntity(TilePowerRelay.class);
|
||||||
|
this.setFeature(EnumSet.of(AEFeature.Legacy));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -38,6 +38,7 @@ import appeng.block.legacy.BlockCraftTerminal;
|
||||||
import appeng.block.legacy.BlockLegacyChest;
|
import appeng.block.legacy.BlockLegacyChest;
|
||||||
import appeng.block.legacy.BlockLegacyController;
|
import appeng.block.legacy.BlockLegacyController;
|
||||||
import appeng.block.legacy.BlockPatternEncoder;
|
import appeng.block.legacy.BlockPatternEncoder;
|
||||||
|
import appeng.block.legacy.BlockPowerRelay;
|
||||||
import appeng.block.legacy.BlockStorageMonitor;
|
import appeng.block.legacy.BlockStorageMonitor;
|
||||||
import appeng.block.legacy.BlockTerminal;
|
import appeng.block.legacy.BlockTerminal;
|
||||||
import appeng.block.legacy.BlockTransitionPlane;
|
import appeng.block.legacy.BlockTransitionPlane;
|
||||||
|
@ -153,6 +154,7 @@ public final class ApiBlocks implements IBlocks {
|
||||||
private final ITileDefinition assemblerHeatVent;
|
private final ITileDefinition assemblerHeatVent;
|
||||||
private final ITileDefinition assemblerCraftingAccelerator;
|
private final ITileDefinition assemblerCraftingAccelerator;
|
||||||
private final ITileDefinition legacyChest;
|
private final ITileDefinition legacyChest;
|
||||||
|
private final ITileDefinition powerRelay;
|
||||||
|
|
||||||
public ApiBlocks(final DefinitionConstructor constructor) {
|
public ApiBlocks(final DefinitionConstructor constructor) {
|
||||||
final BlockLightDetector lightDetector = new BlockLightDetector();
|
final BlockLightDetector lightDetector = new BlockLightDetector();
|
||||||
|
@ -341,6 +343,7 @@ public final class ApiBlocks implements IBlocks {
|
||||||
this.assemblerCraftingAccelerator
|
this.assemblerCraftingAccelerator
|
||||||
= constructor.registerTileDefinition(new BlockAssemblerCraftingAccelerator());
|
= constructor.registerTileDefinition(new BlockAssemblerCraftingAccelerator());
|
||||||
this.legacyChest = constructor.registerTileDefinition(new BlockLegacyChest());
|
this.legacyChest = constructor.registerTileDefinition(new BlockLegacyChest());
|
||||||
|
this.powerRelay = constructor.registerTileDefinition(new BlockPowerRelay());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
131
src/main/java/appeng/tile/legacy/TilePowerRelay.java
Normal file
131
src/main/java/appeng/tile/legacy/TilePowerRelay.java
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
package appeng.tile.legacy;
|
||||||
|
|
||||||
|
import java.util.EnumSet;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import appeng.api.networking.GridFlags;
|
||||||
|
import appeng.api.networking.IGridNode;
|
||||||
|
import appeng.api.util.AECableType;
|
||||||
|
import appeng.api.util.DimensionalCoord;
|
||||||
|
import appeng.me.helpers.AENetworkProxy;
|
||||||
|
import appeng.me.helpers.IGridProxyable;
|
||||||
|
import appeng.tile.TileEvent;
|
||||||
|
import appeng.tile.events.TileEventType;
|
||||||
|
import appeng.tile.inventory.AppEngInternalInventory;
|
||||||
|
import appeng.tile.inventory.InvOperation;
|
||||||
|
import appeng.tile.powersink.AEBasePoweredTile;
|
||||||
|
import net.minecraft.inventory.IInventory;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
|
public class TilePowerRelay extends AEBasePoweredTile implements IGridProxyable {
|
||||||
|
public static final IInventory NULL_INVENTORY = new AppEngInternalInventory(null, 0);
|
||||||
|
public static final int[] ACCESSIBLE_SLOTS_BY_SIDE = {};
|
||||||
|
private Map<ForgeDirection, AENetworkProxy> proxies = new HashMap<>();
|
||||||
|
|
||||||
|
public TilePowerRelay() {
|
||||||
|
for(ForgeDirection dir : ForgeDirection.values()) {
|
||||||
|
AENetworkProxy proxy = new AENetworkProxy(this, "proxy" + dir.name().toLowerCase(), this.getItemFromTile(this), true);
|
||||||
|
proxy.setFlags(GridFlags.CANNOT_CARRY);
|
||||||
|
if (dir == ForgeDirection.UNKNOWN) {
|
||||||
|
proxy.setValidSides(EnumSet.noneOf(ForgeDirection.class));
|
||||||
|
} else {
|
||||||
|
proxy.setValidSides(EnumSet.of(dir));
|
||||||
|
}
|
||||||
|
proxies.put(dir, proxy);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@TileEvent(TileEventType.WORLD_NBT_READ)
|
||||||
|
public void readFromNBT_PowerRelay(final NBTTagCompound data) {
|
||||||
|
for(ForgeDirection dir : ForgeDirection.values()) {
|
||||||
|
proxies.get(dir).readFromNBT(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@TileEvent(TileEventType.WORLD_NBT_WRITE)
|
||||||
|
public void writeToNBT_PowerRelay(final NBTTagCompound data) {
|
||||||
|
for(ForgeDirection dir : ForgeDirection.values()) {
|
||||||
|
proxies.get(dir).writeToNBT(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IInventory getInternalInventory() {
|
||||||
|
return NULL_INVENTORY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChangeInventory(IInventory inv, int slot, InvOperation mc, ItemStack removed, ItemStack added) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int[] getAccessibleSlotsBySide(ForgeDirection whichSide) {
|
||||||
|
return ACCESSIBLE_SLOTS_BY_SIDE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IGridNode getGridNode(ForgeDirection dir) {
|
||||||
|
return proxies.get(dir).getNode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AECableType getCableConnectionType(ForgeDirection dir) {
|
||||||
|
return AECableType.COVERED;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AENetworkProxy getProxy() {
|
||||||
|
return proxies.get(ForgeDirection.UNKNOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
public AENetworkProxy getProxyForSide(ForgeDirection dir) {
|
||||||
|
return proxies.get(dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DimensionalCoord getLocation() {
|
||||||
|
return new DimensionalCoord(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void gridChanged() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChunkUnload() {
|
||||||
|
super.onChunkUnload();
|
||||||
|
for(ForgeDirection dir : ForgeDirection.values()) {
|
||||||
|
proxies.get(dir).onChunkUnload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReady() {
|
||||||
|
super.onReady();
|
||||||
|
for(ForgeDirection dir : ForgeDirection.values()) {
|
||||||
|
proxies.get(dir).onReady();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void invalidate() {
|
||||||
|
super.invalidate();
|
||||||
|
for(ForgeDirection dir : ForgeDirection.values()) {
|
||||||
|
proxies.get(dir).invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void validate() {
|
||||||
|
super.validate();
|
||||||
|
for(ForgeDirection dir : ForgeDirection.values()) {
|
||||||
|
proxies.get(dir).validate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -60,6 +60,7 @@ tile.appliedenergistics2.BlockStorageMonitor.name=ME Storage Monitor
|
||||||
tile.appliedenergistics2.BlockTerminal.name=ME Access Terminal
|
tile.appliedenergistics2.BlockTerminal.name=ME Access Terminal
|
||||||
tile.appliedenergistics2.BlockWirelessAccessPoint.name=Wireless Access Point
|
tile.appliedenergistics2.BlockWirelessAccessPoint.name=Wireless Access Point
|
||||||
tile.appliedenergistics2.BlockLegacyChest.name=ME Chest
|
tile.appliedenergistics2.BlockLegacyChest.name=ME Chest
|
||||||
|
tile.appliedenergistics2.BlockPowerRelay.name=ME Power Relay
|
||||||
|
|
||||||
item.appliedenergistics2.ItemMaterial.ConversionMatrix.name=Conversion Matrix
|
item.appliedenergistics2.ItemMaterial.ConversionMatrix.name=Conversion Matrix
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 391 B |
Loading…
Reference in a new issue