Added legacy Access Terminal

This commit is contained in:
tilera Ley 2021-03-28 16:19:18 +02:00
parent 62b0907395
commit 822e2e5e11
15 changed files with 159 additions and 5 deletions

View File

@ -0,0 +1,38 @@
package appeng.block.legacy;
import appeng.block.AEBaseTileBlock;
import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
import appeng.tile.legacy.TileTerminal;
import appeng.util.Platform;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import java.util.EnumSet;
public class BlockTerminal extends AEBaseTileBlock {
public BlockTerminal() {
super(Material.iron);
this.setTileEntity(TileTerminal.class);
this.setFeature( EnumSet.of(AEFeature.Legacy) );
}
@Override
public boolean onActivated(World w, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
final TileTerminal tile = this.getTileEntity(w, x, y, z);
if( tile != null && !player.isSneaking() ) {
if( Platform.isClient() )
{
return true;
}
Platform.openGUI(player, tile, ForgeDirection.getOrientation(side), GuiBridge.GUI_ME);
return true;
}
return false;
}
}

View File

@ -48,6 +48,7 @@ import appeng.helpers.WirelessTerminalGuiObject;
import appeng.integration.IntegrationRegistry;
import appeng.integration.IntegrationType;
import appeng.parts.reporting.AbstractPartTerminal;
import appeng.tile.legacy.TileTerminal;
import appeng.tile.misc.TileSecurity;
import appeng.util.IConfigManagerHost;
import appeng.util.Platform;
@ -140,6 +141,9 @@ public class GuiMEMonitorable extends AEBaseMEGui implements ISortSource, IConfi
{
this.myName = GuiText.Terminal;
}
else if( te instanceof TileTerminal ) {
this.myName = GuiText.Terminal;
}
}
public void postUpdate( final List<IAEItemStack> list )

View File

@ -24,12 +24,10 @@ import appeng.api.definitions.IBlocks;
import appeng.api.definitions.ITileDefinition;
import appeng.api.util.IOrientableBlock;
import appeng.block.AEBaseSlabBlock;
import appeng.block.crafting.BlockCraftingMonitor;
import appeng.block.crafting.BlockCraftingStorage;
import appeng.block.crafting.BlockCraftingUnit;
import appeng.block.crafting.BlockMolecularAssembler;
import appeng.block.crafting.*;
import appeng.block.grindstone.BlockCrank;
import appeng.block.grindstone.BlockGrinder;
import appeng.block.legacy.BlockTerminal;
import appeng.block.misc.*;
import appeng.block.networking.*;
import appeng.block.qnb.BlockQuantumLinkChamber;
@ -132,6 +130,9 @@ public final class ApiBlocks implements IBlocks
private final Set<IOrientableBlock> orientables;
//Legacy
private final ITileDefinition terminal;
public ApiBlocks( final DefinitionConstructor constructor )
{
final BlockLightDetector lightDetector = new BlockLightDetector();
@ -220,6 +221,10 @@ public final class ApiBlocks implements IBlocks
this.chunkLoader = constructor.registerBlockDefinition( new BlockChunkloader() );
this.phantomNode = constructor.registerBlockDefinition( new BlockPhantomNode() );
this.cubeGenerator = constructor.registerBlockDefinition( new BlockCubeGenerator() );
//Legacy
this.terminal = constructor.registerTileDefinition( new BlockTerminal() );
}
@Override

View File

@ -103,6 +103,9 @@ public final class ApiMaterials implements IMaterials
private final IItemDefinition qESingularity;
private final IItemDefinition blankPattern;
//Legacy
private final IItemDefinition conversionMatrix;
public ApiMaterials( final DefinitionConstructor constructor )
{
final ItemMultiMaterial itemMultiMaterial = new ItemMultiMaterial();
@ -179,6 +182,9 @@ public final class ApiMaterials implements IMaterials
this.singularity = new DamagedItemDefinition( itemMultiMaterial.createMaterial( MaterialType.Singularity ) );
this.qESingularity = new DamagedItemDefinition( itemMultiMaterial.createMaterial( MaterialType.QESingularity ) );
this.blankPattern = new DamagedItemDefinition( itemMultiMaterial.createMaterial( MaterialType.BlankPattern ) );
//Legacy
this.conversionMatrix = new DamagedItemDefinition( itemMultiMaterial.createMaterial( MaterialType.ConversionMatrix ));
}
@Override

View File

@ -69,6 +69,7 @@ public enum AEFeature
SpatialIO( Constants.CATEGORY_NETWORK_FEATURES ),
QuantumNetworkBridge( Constants.CATEGORY_NETWORK_FEATURES ),
Channels( Constants.CATEGORY_NETWORK_FEATURES ),
Legacy( Constants.CATEGORY_NETWORK_FEATURES ),
LevelEmitter( Constants.CATEGORY_NETWORK_BUSES ),
CraftingTerminal( Constants.CATEGORY_NETWORK_BUSES ),

View File

@ -105,6 +105,7 @@ public enum MaterialType
FormationCore( 43 ),
AnnihilationCore( 44 ),
ConversionMatrix(54, AEFeature.Legacy),
SkyDust( 45, AEFeature.Core ),

View File

@ -0,0 +1,75 @@
package appeng.tile.legacy;
import appeng.api.config.Settings;
import appeng.api.config.SortDir;
import appeng.api.config.SortOrder;
import appeng.api.config.ViewItems;
import appeng.api.networking.GridFlags;
import appeng.api.storage.*;
import appeng.api.storage.data.IAEFluidStack;
import appeng.api.storage.data.IAEItemStack;
import appeng.api.util.IConfigManager;
import appeng.core.sync.GuiBridge;
import appeng.me.GridAccessException;
import appeng.tile.grid.AENetworkTile;
import appeng.tile.storage.TileChest;
import appeng.util.ConfigManager;
import appeng.util.IConfigManagerHost;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import java.util.EnumSet;
public class TileTerminal extends AENetworkTile implements ITerminalHost, IConfigManagerHost {
private final IConfigManager cm = new ConfigManager( this );
public TileTerminal()
{
this.getProxy().setFlags( GridFlags.REQUIRE_CHANNEL );
this.getProxy().setIdlePowerUsage( 0.5 );
this.getProxy().setValidSides( EnumSet.allOf( ForgeDirection.class ) );
this.cm.registerSetting( Settings.SORT_BY, SortOrder.NAME );
this.cm.registerSetting( Settings.VIEW_MODE, ViewItems.ALL );
this.cm.registerSetting( Settings.SORT_DIRECTION, SortDir.ASCENDING );
}
@Override
public IMEMonitor<IAEItemStack> getItemInventory() {
try
{
return this.getProxy().getStorage().getItemInventory();
}
catch( final GridAccessException e )
{
// err nope?
}
return null;
}
@Override
public IMEMonitor<IAEFluidStack> getFluidInventory() {
try
{
return this.getProxy().getStorage().getFluidInventory();
}
catch( final GridAccessException e )
{
// err nope?
}
return null;
}
@Override
public IConfigManager getConfigManager() {
return this.cm;
}
@Override
public void updateSetting(IConfigManager manager, Enum settingName, Enum newValue) {
}
}

View File

@ -51,6 +51,11 @@ tile.appliedenergistics2.BlockCraftingAccelerator.name=Crafting Co-Processing Un
tile.appliedenergistics2.BlockCraftingUnit.name=Crafting Unit
tile.appliedenergistics2.BlockMolecularAssembler.name=Molecular Assembler
#Legacy
tile.appliedenergistics2.BlockTerminal.name=ME Access Terminal
item.appliedenergistics2.ItemMaterial.ConversionMatrix.name=Conversion Matrix
# Stairs
tile.appliedenergistics2.ChiseledQuartzStairBlock.name=Chiseled Certus Quartz Stairs
tile.appliedenergistics2.FluixStairBlock.name=Fluix Stairs

View File

@ -18,4 +18,6 @@ import=materials/index.recipe
import=misc/index.recipe
import=network/index.recipe
import=processing/index.recipe
import=tools/index.recipe
import=tools/index.recipe
import=legacy/index.recipe

View File

@ -0,0 +1,17 @@
shaped=
oredictionary:ingotIron netherCrystal oredictionary:ingotIron,
oreDictionary:dustFluix ae2:ItemMaterial.LogicProcessor oreDictionary:dustFluix,
oredictionary:ingotIron certusCrystal oredictionary:ingotIron
-> ae2:ItemMaterial.ConversionMatrix
shaped=
oredictionary:ingotIron certusCrystal oredictionary:ingotIron,
oreDictionary:dustFluix ae2:ItemMaterial.LogicProcessor oreDictionary:dustFluix,
oredictionary:ingotIron netherCrystal oredictionary:ingotIron
-> ae2:ItemMaterial.ConversionMatrix
shaped=
oredictionary:ingotIron oredictionary:ingotIron glass,
ae2:CableGlass.Fluix ae2:ItemMaterial.ConversionMatrix glass,
oredictionary:ingotIron oredictionary:ingotIron glass
-> ae2:BlockTerminal

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 B