Add Channels as an Optional Feature.

This commit is contained in:
AlgorithmX2 2014-08-25 00:04:26 -05:00
parent 6619bfce38
commit 67a8edaade
4 changed files with 18 additions and 9 deletions

View file

@ -16,7 +16,7 @@ public class BlockController extends AEBaseBlock
public BlockController() {
super( BlockController.class, Material.iron );
setfeature( EnumSet.of( AEFeature.Core ) );
setfeature( EnumSet.of( AEFeature.Channels ) );
setTileEntiy( TileController.class );
setHardness( 6 );
}

View file

@ -28,9 +28,7 @@ public enum AEFeature
CraftingCPU("CraftingFeatures"), PowerGen("NetworkFeatures"), Security("NetworkFeatures"),
// Crafting("NetworkFeatures"), MolecularAssembler("NetworkFeatures"),
SpatialIO("NetworkFeatures"), QuantumNetworkBridge("NetworkFeatures"),
SpatialIO("NetworkFeatures"), QuantumNetworkBridge("NetworkFeatures"), Channels("NetworkFeatures"),
LevelEmiter("NetworkBuses"), CraftingTerminal("NetworkBuses"), StorageMonitor("NetworkBuses"), P2PTunnel("NetworkBuses"), FormationPlane("NetworkBuses"), AnnihilationPlane(
"NetworkBuses"), ImportBus("NetworkBuses"), ExportBus("NetworkBuses"), StorageBus("NetworkBuses"), PartConversionMonitor("NetworkBuses"),

View file

@ -47,9 +47,9 @@ public enum PartType
CableCovered(20, AEFeature.Core, PartCableCovered.class),
CableSmart(40, AEFeature.Core, PartCableSmart.class),
CableSmart(40, AEFeature.Channels, PartCableSmart.class),
CableDense(60, AEFeature.DenseCables, PartDenseCable.class),
CableDense(60, AEFeature.Channels, PartDenseCable.class),
ToggleBus(80, AEFeature.Core, PartToggleBus.class),
@ -77,8 +77,6 @@ public enum PartType
FormationPlane(320, AEFeature.FormationPlane, PartFormationPlane.class),
// CraftingMonitor(AEFeature.Crafting, PartCraftingMonitor.class),
PatternTerminal(340, AEFeature.Patterns, PartPatternTerminal.class),
CraftingTerminal(360, AEFeature.CraftingTerminal, PartCraftingTerminal.class),

View file

@ -23,6 +23,8 @@ import appeng.api.networking.events.MENetworkEventSubscribe;
import appeng.api.networking.pathing.ControllerState;
import appeng.api.networking.pathing.IPathingGrid;
import appeng.api.util.DimensionalCoord;
import appeng.core.AEConfig;
import appeng.core.features.AEFeature;
import appeng.me.GridConnection;
import appeng.me.GridNode;
import appeng.me.pathfinding.AdHocChannelUpdater;
@ -78,7 +80,18 @@ public class PathGridCache implements IPathingGrid
updateNetwork = false;
instance++;
if ( controllerState == ControllerState.NO_CONTROLLER )
if ( !AEConfig.instance.isFeatureEnabled( AEFeature.Channels ) )
{
int used = calculateRequiredChanels();
int nodes = myGrid.getNodes().size();
ticksUntilReady = 20 + Math.max( 0, nodes / 100 - 20 );
channelsByBlocks = nodes * used;
channelPowerUsage = (double) channelsByBlocks / 128.0;
myGrid.getPivot().beginVisition( new AdHocChannelUpdater( used ) );
}
else if ( controllerState == ControllerState.NO_CONTROLLER )
{
int requiredChannels = calculateRequiredChanels();
int used = requiredChannels;