Adjustable Tick Rates.
This commit is contained in:
parent
a05bdd82e9
commit
c2bcfeeb25
13 changed files with 78 additions and 32 deletions
|
@ -14,6 +14,7 @@ import appeng.api.config.YesNo;
|
||||||
import appeng.api.util.IConfigManager;
|
import appeng.api.util.IConfigManager;
|
||||||
import appeng.api.util.IConfigureableObject;
|
import appeng.api.util.IConfigureableObject;
|
||||||
import appeng.core.features.AEFeature;
|
import appeng.core.features.AEFeature;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.util.ConfigManager;
|
import appeng.util.ConfigManager;
|
||||||
import appeng.util.IConfigManagerHost;
|
import appeng.util.IConfigManagerHost;
|
||||||
import appeng.util.Platform;
|
import appeng.util.Platform;
|
||||||
|
@ -86,6 +87,7 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
public double oreDoublePercentage = 90.0;
|
public double oreDoublePercentage = 90.0;
|
||||||
|
|
||||||
public boolean enableEffects = true;
|
public boolean enableEffects = true;
|
||||||
|
public boolean useLargeFonts = false;
|
||||||
|
|
||||||
public int wireless_battery = 1600000;
|
public int wireless_battery = 1600000;
|
||||||
public int manipulator_battery = 200000;
|
public int manipulator_battery = 200000;
|
||||||
|
@ -119,12 +121,10 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
grinderOres = get( "GrindStone", "grinderOres", grinderOres ).getStringList();
|
grinderOres = get( "GrindStone", "grinderOres", grinderOres ).getStringList();
|
||||||
oreDoublePercentage = get( "GrindStone", "oreDoublePercentage", oreDoublePercentage ).getDouble( oreDoublePercentage );
|
oreDoublePercentage = get( "GrindStone", "oreDoublePercentage", oreDoublePercentage ).getDouble( oreDoublePercentage );
|
||||||
enableEffects = get( "Client", "enableEffects", true ).getBoolean( true );
|
enableEffects = get( "Client", "enableEffects", true ).getBoolean( true );
|
||||||
|
useLargeFonts= get( "Client", "useTerminalUseLargeFont", true ).getBoolean( true );
|
||||||
|
|
||||||
// settings.registerSetting( Settings.SEARCH_MODS, YesNo.YES );
|
|
||||||
settings.registerSetting( Settings.SEARCH_TOOLTIPS, YesNo.YES );
|
settings.registerSetting( Settings.SEARCH_TOOLTIPS, YesNo.YES );
|
||||||
settings.registerSetting( Settings.SEARCH_MODE, SearchBoxMode.AUTOSEARCH );
|
settings.registerSetting( Settings.SEARCH_MODE, SearchBoxMode.AUTOSEARCH );
|
||||||
// settings.registerSetting( Settings.SORT_BY, SortOrder.NAME );
|
|
||||||
// settings.registerSetting( Settings.SORT_DIRECTION, SortDir.ASCENDING );
|
|
||||||
|
|
||||||
spawnChargedChance = (float) (1.0 - get( "worldGen", "spawnChargedChance", 1.0 - spawnChargedChance ).getDouble( 1.0 - spawnChargedChance ));
|
spawnChargedChance = (float) (1.0 - get( "worldGen", "spawnChargedChance", 1.0 - spawnChargedChance ).getDouble( 1.0 - spawnChargedChance ));
|
||||||
minMeteoriteDistance = get( "worldGen", "minMeteoriteDistance", minMeteoriteDistance ).getInt( minMeteoriteDistance );
|
minMeteoriteDistance = get( "worldGen", "minMeteoriteDistance", minMeteoriteDistance ).getInt( minMeteoriteDistance );
|
||||||
|
@ -176,6 +176,11 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
selectedPowerUnit = PowerUnits.AE;
|
selectedPowerUnit = PowerUnits.AE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (TickRates tr: TickRates.values() )
|
||||||
|
{
|
||||||
|
tr.Load(this);
|
||||||
|
}
|
||||||
|
|
||||||
if ( isFeatureEnabled( AEFeature.SpatialIO ) )
|
if ( isFeatureEnabled( AEFeature.SpatialIO ) )
|
||||||
{
|
{
|
||||||
storageBiomeID = get( "spatialio", "storageBiomeID", storageBiomeID ).getInt( storageBiomeID );
|
storageBiomeID = get( "spatialio", "storageBiomeID", storageBiomeID ).getInt( storageBiomeID );
|
||||||
|
@ -256,21 +261,9 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
||||||
return featureFlags.contains( f );
|
return featureFlags.contains( f );
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getBlockID(Class c, String subname)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
// return getBlock( AEFeatureHandler.getName( c, subname ), blkBaseNumber++ ).getInt();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getItemID(Class c, String subname)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
// return getItem( AEFeatureHandler.getName( c, subname ), blkItemNumber++ ).getInt();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean useTerminalUseLargeFont()
|
public boolean useTerminalUseLargeFont()
|
||||||
{
|
{
|
||||||
return false;
|
return useLargeFonts;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Enum getSetting(String Category, Class<? extends Enum> class1, Enum myDefault)
|
public Enum getSetting(String Category, Class<? extends Enum> class1, Enum myDefault)
|
||||||
|
|
42
core/settings/TickRates.java
Normal file
42
core/settings/TickRates.java
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
package appeng.core.settings;
|
||||||
|
|
||||||
|
import appeng.core.AEConfig;
|
||||||
|
|
||||||
|
public enum TickRates {
|
||||||
|
|
||||||
|
Interface(5,120),
|
||||||
|
|
||||||
|
ImportBus(5, 40),
|
||||||
|
|
||||||
|
ExportBus(5, 60),
|
||||||
|
|
||||||
|
AnnihilationPlane(2, 120),
|
||||||
|
|
||||||
|
MJTunnel(1, 20),
|
||||||
|
|
||||||
|
METunnel(5, 20),
|
||||||
|
|
||||||
|
Inscriber(1, 1),
|
||||||
|
|
||||||
|
IOPort(1, 5),
|
||||||
|
|
||||||
|
VibrationChamber(10, 40),
|
||||||
|
|
||||||
|
StorageBus(5, 60);
|
||||||
|
|
||||||
|
public int min;
|
||||||
|
public int max;
|
||||||
|
|
||||||
|
private TickRates( int min, int max ) {
|
||||||
|
this.min = min;
|
||||||
|
this.max = max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Load( AEConfig config )
|
||||||
|
{
|
||||||
|
config.addCustomCategoryComment("TickRates", " Min / Max Tickrates for dynamic ticking, most of these components also use sleeping, to prevent constant ticking, adjust with care, non standard rates are not supported or tested." );
|
||||||
|
min = config.get( "TickRates", name()+".min", min ).getInt(min);
|
||||||
|
max = config.get( "TickRates", name()+".max", max ).getInt(max);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -26,6 +26,7 @@ import appeng.api.util.AECableType;
|
||||||
import appeng.api.util.DimensionalCoord;
|
import appeng.api.util.DimensionalCoord;
|
||||||
import appeng.api.util.IConfigManager;
|
import appeng.api.util.IConfigManager;
|
||||||
import appeng.api.util.IConfigureableObject;
|
import appeng.api.util.IConfigureableObject;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
import appeng.me.helpers.AENetworkProxy;
|
import appeng.me.helpers.AENetworkProxy;
|
||||||
import appeng.me.storage.MEMonitorIInventory;
|
import appeng.me.storage.MEMonitorIInventory;
|
||||||
|
@ -403,7 +404,7 @@ public class DualityInterface implements IGridTickable, ISegmentedInventory, ISt
|
||||||
@Override
|
@Override
|
||||||
public TickingRequest getTickingRequest(IGridNode node)
|
public TickingRequest getTickingRequest(IGridNode node)
|
||||||
{
|
{
|
||||||
return new TickingRequest( 5, 120, !hasWorkToDo(), true );
|
return new TickingRequest( TickRates.Interface.min, TickRates.Interface.max, !hasWorkToDo(), true );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -36,6 +36,7 @@ import appeng.api.parts.IPartRenderHelper;
|
||||||
import appeng.api.storage.data.IAEItemStack;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
import appeng.client.texture.CableBusTextures;
|
import appeng.client.texture.CableBusTextures;
|
||||||
import appeng.core.AELog;
|
import appeng.core.AELog;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.core.sync.packets.PacketTransitionEffect;
|
import appeng.core.sync.packets.PacketTransitionEffect;
|
||||||
import appeng.hooks.TickHandler;
|
import appeng.hooks.TickHandler;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
|
@ -317,7 +318,7 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab
|
||||||
@Override
|
@Override
|
||||||
public TickingRequest getTickingRequest(IGridNode node)
|
public TickingRequest getTickingRequest(IGridNode node)
|
||||||
{
|
{
|
||||||
return new TickingRequest( 2, 120, false, true );
|
return new TickingRequest( TickRates.AnnihilationPlane.min, TickRates.AnnihilationPlane.max, false, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -15,12 +15,14 @@ import appeng.api.networking.security.BaseActionSource;
|
||||||
import appeng.api.networking.security.MachineSource;
|
import appeng.api.networking.security.MachineSource;
|
||||||
import appeng.api.networking.ticking.IGridTickable;
|
import appeng.api.networking.ticking.IGridTickable;
|
||||||
import appeng.api.networking.ticking.TickRateModulation;
|
import appeng.api.networking.ticking.TickRateModulation;
|
||||||
|
import appeng.api.networking.ticking.TickingRequest;
|
||||||
import appeng.api.parts.IPartCollsionHelper;
|
import appeng.api.parts.IPartCollsionHelper;
|
||||||
import appeng.api.parts.IPartRenderHelper;
|
import appeng.api.parts.IPartRenderHelper;
|
||||||
import appeng.api.storage.IMEInventory;
|
import appeng.api.storage.IMEInventory;
|
||||||
import appeng.api.storage.IMEMonitor;
|
import appeng.api.storage.IMEMonitor;
|
||||||
import appeng.api.storage.data.IAEItemStack;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
import appeng.client.texture.CableBusTextures;
|
import appeng.client.texture.CableBusTextures;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.core.sync.GuiBridge;
|
import appeng.core.sync.GuiBridge;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
import appeng.util.InventoryAdaptor;
|
import appeng.util.InventoryAdaptor;
|
||||||
|
@ -232,4 +234,10 @@ public class PartExportBus extends PartSharedItemBus implements IGridTickable
|
||||||
{
|
{
|
||||||
return getHandler() == null || super.isSleeping();
|
return getHandler() == null || super.isSleeping();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TickingRequest getTickingRequest(IGridNode node)
|
||||||
|
{
|
||||||
|
return new TickingRequest( TickRates.ExportBus.min,TickRates.ExportBus.max, isSleeping(), false );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@ import appeng.api.storage.IMEInventory;
|
||||||
import appeng.api.storage.IMEMonitor;
|
import appeng.api.storage.IMEMonitor;
|
||||||
import appeng.api.storage.data.IAEItemStack;
|
import appeng.api.storage.data.IAEItemStack;
|
||||||
import appeng.client.texture.CableBusTextures;
|
import appeng.client.texture.CableBusTextures;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.core.sync.GuiBridge;
|
import appeng.core.sync.GuiBridge;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
import appeng.util.InventoryAdaptor;
|
import appeng.util.InventoryAdaptor;
|
||||||
|
@ -138,7 +139,7 @@ public class PartImportBus extends PartSharedItemBus implements IGridTickable, I
|
||||||
@Override
|
@Override
|
||||||
public TickingRequest getTickingRequest(IGridNode node)
|
public TickingRequest getTickingRequest(IGridNode node)
|
||||||
{
|
{
|
||||||
return new TickingRequest( 5, 40, getHandler() == null, false );
|
return new TickingRequest( TickRates.ImportBus.min, TickRates.ImportBus.max, getHandler() == null, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
private int itemToSend; // used in tickingRequest
|
private int itemToSend; // used in tickingRequest
|
||||||
|
|
|
@ -119,10 +119,4 @@ public abstract class PartSharedItemBus extends PartUpgradeable implements IGrid
|
||||||
return super.getInventoryByName( name );
|
return super.getInventoryByName( name );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public TickingRequest getTickingRequest(IGridNode node)
|
|
||||||
{
|
|
||||||
return new TickingRequest( 5, 60, isSleeping(), false );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,7 @@ import appeng.api.storage.data.IAEItemStack;
|
||||||
import appeng.api.storage.data.IItemList;
|
import appeng.api.storage.data.IItemList;
|
||||||
import appeng.api.util.IConfigManager;
|
import appeng.api.util.IConfigManager;
|
||||||
import appeng.client.texture.CableBusTextures;
|
import appeng.client.texture.CableBusTextures;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.core.sync.GuiBridge;
|
import appeng.core.sync.GuiBridge;
|
||||||
import appeng.helpers.IPriorityHost;
|
import appeng.helpers.IPriorityHost;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
|
@ -327,7 +328,7 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC
|
||||||
@Override
|
@Override
|
||||||
public TickingRequest getTickingRequest(IGridNode node)
|
public TickingRequest getTickingRequest(IGridNode node)
|
||||||
{
|
{
|
||||||
return new TickingRequest( 5, 20 * 3, monitor == null, false );
|
return new TickingRequest( TickRates.StorageBus.min, TickRates.StorageBus.max, monitor == null, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -14,6 +14,7 @@ import appeng.api.networking.ticking.IGridTickable;
|
||||||
import appeng.api.networking.ticking.TickRateModulation;
|
import appeng.api.networking.ticking.TickRateModulation;
|
||||||
import appeng.api.networking.ticking.TickingRequest;
|
import appeng.api.networking.ticking.TickingRequest;
|
||||||
import appeng.core.AEConfig;
|
import appeng.core.AEConfig;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
import appeng.me.cache.helpers.TunnelCollection;
|
import appeng.me.cache.helpers.TunnelCollection;
|
||||||
import buildcraft.api.power.IPowerReceptor;
|
import buildcraft.api.power.IPowerReceptor;
|
||||||
|
@ -44,7 +45,7 @@ public class PartP2PBCPower extends PartP2PTunnel<PartP2PBCPower> implements IPo
|
||||||
@Override
|
@Override
|
||||||
public TickingRequest getTickingRequest(IGridNode node)
|
public TickingRequest getTickingRequest(IGridNode node)
|
||||||
{
|
{
|
||||||
return new TickingRequest( 1, 20, false, false );
|
return new TickingRequest( TickRates.MJTunnel.min, TickRates.MJTunnel.max, false, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -20,6 +20,7 @@ import appeng.api.networking.ticking.TickingRequest;
|
||||||
import appeng.api.parts.IPartHost;
|
import appeng.api.parts.IPartHost;
|
||||||
import appeng.api.util.AECableType;
|
import appeng.api.util.AECableType;
|
||||||
import appeng.core.AELog;
|
import appeng.core.AELog;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.hooks.TickHandler;
|
import appeng.hooks.TickHandler;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
import appeng.me.cache.helpers.Connections;
|
import appeng.me.cache.helpers.Connections;
|
||||||
|
@ -110,7 +111,7 @@ public class PartP2PTunnelME extends PartP2PTunnel<PartP2PTunnelME> implements I
|
||||||
@Override
|
@Override
|
||||||
public TickingRequest getTickingRequest(IGridNode node)
|
public TickingRequest getTickingRequest(IGridNode node)
|
||||||
{
|
{
|
||||||
return new TickingRequest( 5, 20, output, false );
|
return new TickingRequest( TickRates.METunnel.min, TickRates.METunnel.max, output, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -19,6 +19,7 @@ import appeng.api.networking.ticking.IGridTickable;
|
||||||
import appeng.api.networking.ticking.TickRateModulation;
|
import appeng.api.networking.ticking.TickRateModulation;
|
||||||
import appeng.api.networking.ticking.TickingRequest;
|
import appeng.api.networking.ticking.TickingRequest;
|
||||||
import appeng.api.util.AECableType;
|
import appeng.api.util.AECableType;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
import appeng.recipes.handlers.Inscribe;
|
import appeng.recipes.handlers.Inscribe;
|
||||||
import appeng.recipes.handlers.Inscribe.InscriberRecipe;
|
import appeng.recipes.handlers.Inscribe.InscriberRecipe;
|
||||||
|
@ -312,7 +313,7 @@ public class TileInscriber extends AENetworkPowerTile implements IGridTickable
|
||||||
@Override
|
@Override
|
||||||
public TickingRequest getTickingRequest(IGridNode node)
|
public TickingRequest getTickingRequest(IGridNode node)
|
||||||
{
|
{
|
||||||
return new TickingRequest( 1, 1, !hasWork(), false );
|
return new TickingRequest( TickRates.Inscriber.min, TickRates.Inscriber.max, !hasWork(), false );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -18,6 +18,7 @@ import appeng.api.networking.ticking.TickRateModulation;
|
||||||
import appeng.api.networking.ticking.TickingRequest;
|
import appeng.api.networking.ticking.TickingRequest;
|
||||||
import appeng.api.util.AECableType;
|
import appeng.api.util.AECableType;
|
||||||
import appeng.api.util.DimensionalCoord;
|
import appeng.api.util.DimensionalCoord;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
import appeng.tile.events.AETileEventHandler;
|
import appeng.tile.events.AETileEventHandler;
|
||||||
import appeng.tile.events.TileEventType;
|
import appeng.tile.events.TileEventType;
|
||||||
|
@ -154,7 +155,7 @@ public class TileVibrationChamber extends AENetworkInvTile implements IGridTicka
|
||||||
if ( burnTime <= 0 )
|
if ( burnTime <= 0 )
|
||||||
eatFuel();
|
eatFuel();
|
||||||
|
|
||||||
return new TickingRequest( 10, 40, burnTime <= 0, false );
|
return new TickingRequest( TickRates.VibrationChamber.min, TickRates.VibrationChamber.max, burnTime <= 0, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -29,6 +29,7 @@ import appeng.api.storage.data.IItemList;
|
||||||
import appeng.api.util.AECableType;
|
import appeng.api.util.AECableType;
|
||||||
import appeng.api.util.DimensionalCoord;
|
import appeng.api.util.DimensionalCoord;
|
||||||
import appeng.api.util.IConfigManager;
|
import appeng.api.util.IConfigManager;
|
||||||
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
import appeng.parts.automation.UpgradeInventory;
|
import appeng.parts.automation.UpgradeInventory;
|
||||||
import appeng.tile.events.AETileEventHandler;
|
import appeng.tile.events.AETileEventHandler;
|
||||||
|
@ -203,7 +204,7 @@ public class TileIOPort extends AENetworkInvTile implements IUpgradeableHost, IC
|
||||||
@Override
|
@Override
|
||||||
public TickingRequest getTickingRequest(IGridNode node)
|
public TickingRequest getTickingRequest(IGridNode node)
|
||||||
{
|
{
|
||||||
return new TickingRequest( 1, 5, hasWork(), false );
|
return new TickingRequest( TickRates.IOPort.min, TickRates.IOPort.max, hasWork(), false );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue