diff --git a/block/networking/BlockController.java b/block/networking/BlockController.java index ce34bfd7..cceed85d 100644 --- a/block/networking/BlockController.java +++ b/block/networking/BlockController.java @@ -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 ); } diff --git a/core/features/AEFeature.java b/core/features/AEFeature.java index 69629b28..9aa092c9 100644 --- a/core/features/AEFeature.java +++ b/core/features/AEFeature.java @@ -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"), diff --git a/items/parts/PartType.java b/items/parts/PartType.java index e49636c7..f26df5ae 100644 --- a/items/parts/PartType.java +++ b/items/parts/PartType.java @@ -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), diff --git a/me/cache/PathGridCache.java b/me/cache/PathGridCache.java index e8790adf..ff501993 100644 --- a/me/cache/PathGridCache.java +++ b/me/cache/PathGridCache.java @@ -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;