Add Channels as an Optional Feature.
This commit is contained in:
@@ -16,7 +16,7 @@ public class BlockController extends AEBaseBlock
|
|||||||
|
|
||||||
public BlockController() {
|
public BlockController() {
|
||||||
super( BlockController.class, Material.iron );
|
super( BlockController.class, Material.iron );
|
||||||
setfeature( EnumSet.of( AEFeature.Core ) );
|
setfeature( EnumSet.of( AEFeature.Channels ) );
|
||||||
setTileEntiy( TileController.class );
|
setTileEntiy( TileController.class );
|
||||||
setHardness( 6 );
|
setHardness( 6 );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,9 +28,7 @@ public enum AEFeature
|
|||||||
|
|
||||||
CraftingCPU("CraftingFeatures"), PowerGen("NetworkFeatures"), Security("NetworkFeatures"),
|
CraftingCPU("CraftingFeatures"), PowerGen("NetworkFeatures"), Security("NetworkFeatures"),
|
||||||
|
|
||||||
// Crafting("NetworkFeatures"), MolecularAssembler("NetworkFeatures"),
|
SpatialIO("NetworkFeatures"), QuantumNetworkBridge("NetworkFeatures"), Channels("NetworkFeatures"),
|
||||||
|
|
||||||
SpatialIO("NetworkFeatures"), QuantumNetworkBridge("NetworkFeatures"),
|
|
||||||
|
|
||||||
LevelEmiter("NetworkBuses"), CraftingTerminal("NetworkBuses"), StorageMonitor("NetworkBuses"), P2PTunnel("NetworkBuses"), FormationPlane("NetworkBuses"), AnnihilationPlane(
|
LevelEmiter("NetworkBuses"), CraftingTerminal("NetworkBuses"), StorageMonitor("NetworkBuses"), P2PTunnel("NetworkBuses"), FormationPlane("NetworkBuses"), AnnihilationPlane(
|
||||||
"NetworkBuses"), ImportBus("NetworkBuses"), ExportBus("NetworkBuses"), StorageBus("NetworkBuses"), PartConversionMonitor("NetworkBuses"),
|
"NetworkBuses"), ImportBus("NetworkBuses"), ExportBus("NetworkBuses"), StorageBus("NetworkBuses"), PartConversionMonitor("NetworkBuses"),
|
||||||
|
|||||||
@@ -47,9 +47,9 @@ public enum PartType
|
|||||||
|
|
||||||
CableCovered(20, AEFeature.Core, PartCableCovered.class),
|
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),
|
ToggleBus(80, AEFeature.Core, PartToggleBus.class),
|
||||||
|
|
||||||
@@ -77,8 +77,6 @@ public enum PartType
|
|||||||
|
|
||||||
FormationPlane(320, AEFeature.FormationPlane, PartFormationPlane.class),
|
FormationPlane(320, AEFeature.FormationPlane, PartFormationPlane.class),
|
||||||
|
|
||||||
// CraftingMonitor(AEFeature.Crafting, PartCraftingMonitor.class),
|
|
||||||
|
|
||||||
PatternTerminal(340, AEFeature.Patterns, PartPatternTerminal.class),
|
PatternTerminal(340, AEFeature.Patterns, PartPatternTerminal.class),
|
||||||
|
|
||||||
CraftingTerminal(360, AEFeature.CraftingTerminal, PartCraftingTerminal.class),
|
CraftingTerminal(360, AEFeature.CraftingTerminal, PartCraftingTerminal.class),
|
||||||
|
|||||||
Vendored
+14
-1
@@ -23,6 +23,8 @@ import appeng.api.networking.events.MENetworkEventSubscribe;
|
|||||||
import appeng.api.networking.pathing.ControllerState;
|
import appeng.api.networking.pathing.ControllerState;
|
||||||
import appeng.api.networking.pathing.IPathingGrid;
|
import appeng.api.networking.pathing.IPathingGrid;
|
||||||
import appeng.api.util.DimensionalCoord;
|
import appeng.api.util.DimensionalCoord;
|
||||||
|
import appeng.core.AEConfig;
|
||||||
|
import appeng.core.features.AEFeature;
|
||||||
import appeng.me.GridConnection;
|
import appeng.me.GridConnection;
|
||||||
import appeng.me.GridNode;
|
import appeng.me.GridNode;
|
||||||
import appeng.me.pathfinding.AdHocChannelUpdater;
|
import appeng.me.pathfinding.AdHocChannelUpdater;
|
||||||
@@ -78,7 +80,18 @@ public class PathGridCache implements IPathingGrid
|
|||||||
updateNetwork = false;
|
updateNetwork = false;
|
||||||
instance++;
|
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 requiredChannels = calculateRequiredChanels();
|
||||||
int used = requiredChannels;
|
int used = requiredChannels;
|
||||||
|
|||||||
Reference in New Issue
Block a user