Compare commits

...

38 Commits

Author SHA1 Message Date
thatsIch 92ae39a3ab Merge pull request #1073 from thatsIch/e-api-new-definition
Fixes #675 No disabled feature should log spam or crash anymore.
2015-03-28 17:03:10 +01:00
thatsIch 9986ffc458 Fixes #675 No disabled feature should log spam or crash anymore.
Deprecates the old usage of the AEItemDefinitions via the direct method access of

* blocks()
* parts()
* items()
* materials()

and thus use the new re-direct via definitions().

All definitions are now initialized, no matter what. But SubItems, Items and Blocks are not registered, if by chance are disabled.
2015-03-28 16:21:37 +01:00
thatsIch 3dd81433ac Merge pull request #1103 from thatsIch/b-1013-rotarycraft-power
Fixes #1013 Energy acceptor can receive RotaryCraft Power again
2015-03-28 15:55:14 +01:00
thatsIch 369a82889c Merge pull request #1102 from thatsIch/e-854-file-ctor
Completes #854 Use superior file constructor to not care about file separator
2015-03-26 22:55:54 +01:00
thatsIch 22b965e15a Fixes #1013 Energy acceptor can receive RotaryCraft Power again 2015-03-26 20:28:34 +01:00
thatsIch 0b86887962 Completes #854 Use superior file constructor to not care about file separator 2015-03-26 18:20:49 +01:00
thatsIch db7296c0a1 Final classes with private constructor 2015-03-26 13:57:31 +01:00
thatsIch d1f2625262 Fixes #1099 Client crash on load up due to FML quirks 2015-03-26 13:57:08 +01:00
thatsIch b756a3f564 Final classes with private constructor 2015-03-26 12:25:44 +01:00
thatsIch dfa595ad2a Split logic of crash enhancement 2015-03-26 12:23:55 +01:00
thatsIch 0519f60cb0 protected member in final class 2015-03-26 12:15:57 +01:00
thatsIch 81c32d5181 Multiple variables in one declaration 2015-03-26 12:13:34 +01:00
thatsIch b609b08f98 Null checks before instanceof 2015-03-26 12:12:40 +01:00
thatsIch 50f141edbd Merge pull request #1094 from thatsIch/e-waila-api
Replace deobf version of Waila with an API stub
2015-03-26 11:34:36 +01:00
thatsIch 0542a58e4b Merge pull request #1086 from thatsIch/b-1061-mekanism
Fixes #1061 Recipes are properly registered with new Mekanism
2015-03-26 11:34:16 +01:00
thatsIch 58db877006 Replaced dynamic regular expressions with compiled pattern 2015-03-26 11:33:08 +01:00
thatsIch dff3364eb5 Replace not needed StringBuffer with String concatenation 2015-03-26 11:24:09 +01:00
thatsIch 88310cf04b Single character string concatentation 2015-03-26 11:23:22 +01:00
thatsIch d81eb1fe2d Unnecessary null check before instanceof 2015-03-26 11:22:31 +01:00
thatsIch d8f452b665 Unnecessary enum modifiers 2015-03-26 11:21:55 +01:00
thatsIch ec05bd994c Typos or word-improvements 2015-03-26 11:20:31 +01:00
thatsIch dff48c07c9 finalized 2015-03-26 11:14:34 +01:00
thatsIch 234d97b8ce Security issues: public static collections 2015-03-26 11:13:24 +01:00
thatsIch 9bf8b4388f Extract ++ and -- from expressions 2015-03-26 11:07:26 +01:00
thatsIch b31f2df58d Unnecessary semicolons 2015-03-26 11:03:46 +01:00
thatsIch 14df50dbf3 Unnecessary modifier in interfaces 2015-03-26 11:03:30 +01:00
thatsIch 6aeca93b85 Unnecessary modifier in enums 2015-03-26 11:03:15 +01:00
thatsIch 3143c871d0 this access 2015-03-26 11:01:57 +01:00
thatsIch 7f7c71a22e Unused imports 2015-03-26 10:58:13 +01:00
thatsIch 05f522580b Unnecessary Javadoc link point to containing class 2015-03-26 10:53:09 +01:00
thatsIch 926af89029 Missing @Override annotation 2015-03-26 10:50:34 +01:00
thatsIch f1248c4c33 Unused imports 2015-03-26 10:49:48 +01:00
thatsIch bd2ee1c5ea Assignment replaceable with operator assignment 2015-03-26 10:41:45 +01:00
thatsIch 8ef286b9d6 Replace call to simple setter from within class with inlined version 2015-03-26 10:27:07 +01:00
thatsIch 4b4693498d Replace call to simple getter from within class with inlined version 2015-03-26 10:23:59 +01:00
thatsIch e41d6a0289 Use StringBuilder for creating appended Strings in a loop 2015-03-26 10:15:33 +01:00
thatsIch c8d716d39f Replace deobf version of Waila with an API stub 2015-03-25 20:53:27 +01:00
thatsIch 33c1535bfa Fixes #1061 Most recipes are properly registered with new Mekanism. 2015-03-25 12:24:21 +01:00
498 changed files with 13081 additions and 8728 deletions
+3 -3
View File
@@ -18,7 +18,6 @@ fmp_version=1.1.1.324
code_chicken_lib_version=1.1.3.127 code_chicken_lib_version=1.1.3.127
code_chicken_core_version=1.0.4.35 code_chicken_core_version=1.0.4.35
nei_version=1.0.4.90 nei_version=1.0.4.90
waila_version=1.5.10_1.7.10
bc_version=6.4.3 bc_version=6.4.3
######################################################### #########################################################
@@ -33,9 +32,10 @@ api_craftguide_version=1
api_ic2_version=1 api_ic2_version=1
api_immibis_version=1 api_immibis_version=1
api_invtweaks_version=1 api_invtweaks_version=1
api_mekansim_version=1 api_mekansim_version=1.7.10-8.0.1.198
api_mfr_version=1 api_mfr_version=1
api_railcraft_version=1 api_railcraft_version=1
api_rblocks_version=1 api_rblocks_version=1
api_rf_version=2 api_rf_version=2
api_rotarycraft_version=1 api_rotarycraft_version=V5c
api_waila_version=1.5.10_1.7.10
+4 -4
View File
@@ -43,22 +43,22 @@ dependencies {
compile "codechicken:CodeChickenCore:${config.cb_minecraft_version}-${config.code_chicken_core_version}:dev" compile "codechicken:CodeChickenCore:${config.cb_minecraft_version}-${config.code_chicken_core_version}:dev"
compile "codechicken:NotEnoughItems:${config.cb_minecraft_version}-${config.nei_version}:dev" compile "codechicken:NotEnoughItems:${config.cb_minecraft_version}-${config.nei_version}:dev"
compile "mcp.mobius.waila:Waila:${config.waila_version}:dev"
compile "com.mod-buildcraft:buildcraft:${config.bc_version}:dev" compile "com.mod-buildcraft:buildcraft:${config.bc_version}:dev"
// self compiled APIs
compile(group: 'api', name: 'betterstorage', version: "${config.api_betterstorage_version}") compile(group: 'api', name: 'betterstorage', version: "${config.api_betterstorage_version}")
compile(group: 'api', name: 'coloredlightscore', version: "${config.api_coloredlightscore_version}") compile(group: 'api', name: 'coloredlightscore', version: "${config.api_coloredlightscore_version}")
compile(group: 'api', name: 'craftguide', version: "${config.api_craftguide_version}") compile(group: 'api', name: 'craftguide', version: "${config.api_craftguide_version}")
compile(group: 'api', name: 'ic2', version: "${config.api_ic2_version}") compile(group: 'api', name: 'ic2', version: "${config.api_ic2_version}")
compile(group: 'api', name: 'immibis', version: "${config.api_immibis_version}") compile(group: 'api', name: 'immibis', version: "${config.api_immibis_version}")
compile(group: 'api', name: 'invtweaks', version: "${config.api_invtweaks_version}") compile(group: 'api', name: 'invtweaks', version: "${config.api_invtweaks_version}")
compile(group: 'api', name: 'mekansim', version: "${config.api_mekansim_version}") compile(group: 'api', name: 'mekanism', version: "${config.api_mekansim_version}", classifier: 'api')
compile(group: 'api', name: 'mfr', version: "${config.api_mfr_version}") compile(group: 'api', name: 'mfr', version: "${config.api_mfr_version}")
compile(group: 'api', name: 'railcraft', version: "${config.api_railcraft_version}") compile(group: 'api', name: 'railcraft', version: "${config.api_railcraft_version}")
compile(group: 'api', name: 'rblocks', version: "${config.api_rblocks_version}") compile(group: 'api', name: 'rblocks', version: "${config.api_rblocks_version}")
compile(group: 'api', name: 'rf', version: "${config.api_rf_version}") compile(group: 'api', name: 'rf', version: "${config.api_rf_version}")
compile(group: 'api', name: 'rotarycraft', version: "${config.api_rotarycraft_version}") compile "appeng:Waila:${config.api_waila_version}:api"
compile "appeng:RotaryCraft:${config.api_rotarycraft_version}:api"
testCompile "junit:junit:4.11" testCompile "junit:junit:4.11"
} }
+19 -12
View File
@@ -23,39 +23,46 @@
package appeng.api; package appeng.api;
import appeng.api.exceptions.CouldNotAccessCoreAPI;
/** /**
*
* Entry point for api. * Entry point for api.
* *
* Available IMCs: * Available IMCs:
*
*/ */
public class AEApi public enum AEApi
{ {
;
private static final String CORE_API_PATH = "appeng.core.Api";
private static final String API_INSTANCE_NAME = "INSTANCE";
static private IAppEngApi api = null; private static IAppEngApi instance = null;
/** /**
* API Entry Point. * API Entry Point.
* *
* @return the {@link IAppEngApi} or null if the INSTANCE could not be retrieved * @return the {@link IAppEngApi}
*
* @throws CouldNotAccessCoreAPI if the INSTANCE could not be retrieved
*/ */
public static IAppEngApi instance() public static IAppEngApi instance()
{ {
if ( api == null ) if ( instance == null )
{ {
try try
{ {
Class c = Class.forName( "appeng.core.Api" ); Class<?> c = Class.forName( CORE_API_PATH );
api = (IAppEngApi) c.getField( "INSTANCE" ).get( c ); instance = (IAppEngApi) c.getField( API_INSTANCE_NAME ).get( c );
} }
catch (Throwable e) catch ( Throwable e )
{ {
return null; throw new CouldNotAccessCoreAPI( "Either core API was not in " + CORE_API_PATH + " or " + API_INSTANCE_NAME + " was not accessible" );
} }
} }
return api; return instance;
} }
} }
+30 -10
View File
@@ -23,7 +23,9 @@
package appeng.api; package appeng.api;
import appeng.api.definitions.Blocks; import appeng.api.definitions.Blocks;
import appeng.api.definitions.IDefinitions;
import appeng.api.definitions.Items; import appeng.api.definitions.Items;
import appeng.api.definitions.Materials; import appeng.api.definitions.Materials;
import appeng.api.definitions.Parts; import appeng.api.definitions.Parts;
@@ -31,11 +33,11 @@ import appeng.api.exceptions.FailedConnection;
import appeng.api.features.IRegistryContainer; import appeng.api.features.IRegistryContainer;
import appeng.api.networking.IGridBlock; import appeng.api.networking.IGridBlock;
import appeng.api.networking.IGridConnection; import appeng.api.networking.IGridConnection;
import appeng.api.networking.IGridHost;
import appeng.api.networking.IGridNode; import appeng.api.networking.IGridNode;
import appeng.api.parts.IPartHelper; import appeng.api.parts.IPartHelper;
import appeng.api.storage.IStorageHelper; import appeng.api.storage.IStorageHelper;
public interface IAppEngApi public interface IAppEngApi
{ {
@@ -56,39 +58,57 @@ public interface IAppEngApi
/** /**
* @return an accessible list of all of AE's Items * @return an accessible list of all of AE's Items
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#items()}
*/ */
@Deprecated
Items items(); Items items();
/** /**
* @return an accessible list of all of AE's materials; materials are items * @return an accessible list of all of AE's materials; materials are items
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#materials()}
*/ */
@Deprecated
Materials materials(); Materials materials();
/** /**
* @return an accessible list of all of AE's blocks * @return an accessible list of all of AE's blocks
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#blocks()}
*/ */
@Deprecated
Blocks blocks(); Blocks blocks();
/** /**
* @return an accessible list of all of AE's parts, parts are items * @return an accessible list of all of AE's parts, parts are items
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#parts()}
*/ */
@Deprecated
Parts parts(); Parts parts();
/** /**
* create a grid node for your {@link IGridHost} * @return an accessible list of all AE definitions
*
* @param block grid block
* @return grid node of block
*/ */
IGridNode createGridNode(IGridBlock block); IDefinitions definitions();
/** /**
* create a connection between two {@link IGridNode} * create a grid node for your {@link appeng.api.networking.IGridHost}
*
* @param block grid block
*
* @return grid node of block
*/
IGridNode createGridNode( IGridBlock block );
/**
* create a connection between two {@link appeng.api.networking.IGridNode}
* *
* @param a to be connected gridnode * @param a to be connected gridnode
* @param b to be connected gridnode * @param b to be connected gridnode
* @throws FailedConnection *
* @throws appeng.api.exceptions.FailedConnection
*/ */
IGridConnection createGridConnection(IGridNode a, IGridNode b) throws FailedConnection; IGridConnection createGridConnection( IGridNode a, IGridNode b ) throws FailedConnection;
} }
@@ -23,49 +23,50 @@
package appeng.api.config; package appeng.api.config;
public enum AccessRestriction public enum AccessRestriction
{ {
NO_ACCESS(0), READ(1), WRITE(2), READ_WRITE(3); NO_ACCESS( 0 ), READ( 1 ), WRITE( 2 ), READ_WRITE( 3 );
private final int permissionBit; private final int permissionBit;
private AccessRestriction(int v) { AccessRestriction( int v ) {
this.permissionBit = v; this.permissionBit = v;
} }
public boolean hasPermission(AccessRestriction ar) public boolean hasPermission( AccessRestriction ar )
{ {
return ( this.permissionBit & ar.permissionBit) == ar.permissionBit; return ( this.permissionBit & ar.permissionBit ) == ar.permissionBit;
} }
public AccessRestriction restrictPermissions(AccessRestriction ar) public AccessRestriction restrictPermissions( AccessRestriction ar )
{ {
return this.getPermByBit( this.permissionBit & ar.permissionBit); return this.getPermByBit( this.permissionBit & ar.permissionBit );
} }
public AccessRestriction addPermissions(AccessRestriction ar) public AccessRestriction addPermissions( AccessRestriction ar )
{ {
return this.getPermByBit( this.permissionBit | ar.permissionBit); return this.getPermByBit( this.permissionBit | ar.permissionBit );
} }
public AccessRestriction removePermissions(AccessRestriction ar) public AccessRestriction removePermissions( AccessRestriction ar )
{ {
return this.getPermByBit( this.permissionBit & (~ar.permissionBit) ); return this.getPermByBit( this.permissionBit & ( ~ar.permissionBit ) );
} }
private AccessRestriction getPermByBit(int bit) private AccessRestriction getPermByBit( int bit )
{ {
switch (bit) switch ( bit )
{ {
default: default:
case 0: case 0:
return NO_ACCESS; return NO_ACCESS;
case 1: case 1:
return READ; return READ;
case 2: case 2:
return WRITE; return WRITE;
case 3: case 3:
return READ_WRITE; return READ_WRITE;
} }
} }
} }
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum ActionItems public enum ActionItems
{ {
WRENCH, CLOSE, STASH, ENCODE, SUBSTITUTION WRENCH, CLOSE, STASH, ENCODE, SUBSTITUTION
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum Actionable public enum Actionable
{ {
/** /**
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum CopyMode public enum CopyMode
{ {
CLEAR_ON_REMOVE, KEEP_ON_REMOVE CLEAR_ON_REMOVE, KEEP_ON_REMOVE
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum FullnessMode public enum FullnessMode
{ {
EMPTY, HALF, FULL EMPTY, HALF, FULL
@@ -23,22 +23,23 @@
package appeng.api.config; package appeng.api.config;
public enum FuzzyMode public enum FuzzyMode
{ {
// Note that percentage damaged, is the inverse of percentage durability. // Note that percentage damaged, is the inverse of percentage durability.
IGNORE_ALL(-1), PERCENT_99(0), PERCENT_75(25), PERCENT_50(50), PERCENT_25(75); IGNORE_ALL( -1 ), PERCENT_99( 0 ), PERCENT_75( 25 ), PERCENT_50( 50 ), PERCENT_25( 75 );
final public float breakPoint; final public float breakPoint;
final public float percentage; final public float percentage;
private FuzzyMode(float p) { FuzzyMode( float p ) {
this.percentage = p; this.percentage = p;
this.breakPoint = p / 100.0f; this.breakPoint = p / 100.0f;
} }
public int calculateBreakPoint(int maxDamage) public int calculateBreakPoint( int maxDamage )
{ {
return (int) (( this.percentage * maxDamage) / 100.0f); return (int) ( ( this.percentage * maxDamage ) / 100.0f );
} }
} }
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum IncludeExclude public enum IncludeExclude
{ {
WHITELIST, BLACKLIST WHITELIST, BLACKLIST
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum LevelEmitterMode public enum LevelEmitterMode
{ {
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum LevelType public enum LevelType
{ {
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum ModSettings public enum ModSettings
{ {
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum NetworkEmitterMode public enum NetworkEmitterMode
{ {
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum OperationMode public enum OperationMode
{ {
FILL, EMPTY FILL, EMPTY
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum OutputMode public enum OutputMode
{ {
EXPORT_ONLY, EXPORT_OR_CRAFT, CRAFT_ONLY EXPORT_ONLY, EXPORT_OR_CRAFT, CRAFT_ONLY
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum PowerMultiplier public enum PowerMultiplier
{ {
ONE, CONFIG; ONE, CONFIG;
@@ -32,12 +33,12 @@ public enum PowerMultiplier
*/ */
public double multiplier = 1.0; public double multiplier = 1.0;
public double multiply(double in) public double multiply( double in )
{ {
return in * this.multiplier; return in * this.multiplier;
} }
public double divide(double in) public double divide( double in )
{ {
return in / this.multiplier; return in / this.multiplier;
} }
+11 -10
View File
@@ -23,16 +23,16 @@
package appeng.api.config; package appeng.api.config;
public enum PowerUnits public enum PowerUnits
{ {
AE("gui.appliedenergistics2.units.appliedenergstics"), // Native Units - AE Energy AE( "gui.appliedenergistics2.units.appliedenergstics" ), // Native Units - AE Energy
MJ("gui.appliedenergistics2.units.buildcraft"), // BuildCraft - Minecraft Joules EU( "gui.appliedenergistics2.units.ic2" ), // IndustrialCraft 2 - Energy Units
EU("gui.appliedenergistics2.units.ic2"), // IndustrialCraft 2 - Energy Units WA( "gui.appliedenergistics2.units.rotarycraft" ), // RotaryCraft - Watts
WA("gui.appliedenergistics2.units.rotarycraft"), // RotaryCraft - Watts RF( "gui.appliedenergistics2.units.thermalexpansion" ), // ThermalExpansion - Redstone Flux
RF("gui.appliedenergistics2.units.thermalexpansion"), // ThermalExpansion - Redstone Flux MK( "gui.appliedenergistics2.units.mekanism" ); // Mekanism - Joules
MK("gui.appliedenergistics2.units.mekanism"); // Mekanism - Joules
private PowerUnits(String un) { PowerUnits( String un ) {
this.unlocalizedName = un; this.unlocalizedName = un;
} }
@@ -54,12 +54,13 @@ public enum PowerUnits
* will normally returns 64, as it will convert the EU, to AE with AE's power settings. * will normally returns 64, as it will convert the EU, to AE with AE's power settings.
* *
* @param target target power unit * @param target target power unit
* @param value value * @param value value
*
* @return value converted to target units, from this units. * @return value converted to target units, from this units.
*/ */
public double convertTo(PowerUnits target, double value) public double convertTo( PowerUnits target, double value )
{ {
return (value * this.conversionRatio ) / target.conversionRatio; return ( value * this.conversionRatio ) / target.conversionRatio;
} }
} }
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum RedstoneMode public enum RedstoneMode
{ {
IGNORE, LOW_SIGNAL, HIGH_SIGNAL, SIGNAL_PULSE IGNORE, LOW_SIGNAL, HIGH_SIGNAL, SIGNAL_PULSE
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum RelativeDirection public enum RelativeDirection
{ {
LEFT, RIGHT, UP, DOW LEFT, RIGHT, UP, DOW
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum SearchBoxMode public enum SearchBoxMode
{ {
AUTOSEARCH, MANUAL_SEARCH, NEI_AUTOSEARCH, NEI_MANUAL_SEARCH AUTOSEARCH, MANUAL_SEARCH, NEI_AUTOSEARCH, NEI_MANUAL_SEARCH
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
/** /**
* Represent the security systems basic permissions, these are not for anti-griefing, they are part of the mod as a * Represent the security systems basic permissions, these are not for anti-griefing, they are part of the mod as a
* gameplay feature. * gameplay feature.
+1 -1
View File
@@ -62,7 +62,7 @@ public enum Settings
return this.values; return this.values;
} }
private Settings( EnumSet set ) Settings( EnumSet set )
{ {
if ( set == null || set.isEmpty() ) if ( set == null || set.isEmpty() )
throw new RuntimeException( "Invalid configuration." ); throw new RuntimeException( "Invalid configuration." );
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum SortDir public enum SortDir
{ {
ASCENDING, DESCENDING ASCENDING, DESCENDING
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum SortOrder public enum SortOrder
{ {
NAME, AMOUNT, MOD, INVTWEAKS NAME, AMOUNT, MOD, INVTWEAKS
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum StorageFilter public enum StorageFilter
{ {
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum TerminalStyle public enum TerminalStyle
{ {
@@ -23,10 +23,10 @@
package appeng.api.config; package appeng.api.config;
public enum TunnelType public enum TunnelType
{ {
ME, // Network Tunnel ME, // Network Tunnel
BC_POWER, // MJ Tunnel
IC2_POWER, // EU Tunnel IC2_POWER, // EU Tunnel
RF_POWER, // RF Tunnel RF_POWER, // RF Tunnel
REDSTONE, // Redstone Tunnel REDSTONE, // Redstone Tunnel
+60 -11
View File
@@ -25,9 +25,13 @@ package appeng.api.config;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import com.google.common.base.Optional;
import appeng.api.definitions.IItemDefinition;
import appeng.api.util.AEItemDefinition; import appeng.api.util.AEItemDefinition;
@@ -43,34 +47,74 @@ public enum Upgrades
*/ */
FUZZY( 1 ), SPEED( 1 ), INVERTER( 1 ); FUZZY( 1 ), SPEED( 1 ), INVERTER( 1 );
public final int myTier; /**
public final HashMap<ItemStack, Integer> supportedMax = new HashMap<ItemStack, Integer>(); * @deprecated use {@link Upgrades#getTier()}
*/
@Deprecated
public final int tier;
private Upgrades( int tier ) /**
* @deprecated use {@link Upgrades#getSupported()}
*/
@Deprecated
private final Map<ItemStack, Integer> supportedMax = new HashMap<ItemStack, Integer>();
Upgrades( int tier )
{ {
this.myTier = tier; this.tier = tier;
} }
/** /**
* @return list of Items/Blocks that support this upgrade, and how many it supports. * @return list of Items/Blocks that support this upgrade, and how many it supports.
*/ */
public HashMap<ItemStack, Integer> getSupported() public Map<ItemStack, Integer> getSupported()
{ {
return this.supportedMax; return this.supportedMax;
} }
/**
* Registers a specific amount of this upgrade into a specific machine
public void registerItem( AEItemDefinition myItem, int maxSupported ) *
* @param item machine in which this upgrade can be installed
* @param maxSupported amount how many upgrades can be installed
*/
public void registerItem( IItemDefinition item, int maxSupported )
{ {
if ( myItem != null ) final Optional<ItemStack> maybeStack = item.maybeStack( 1 );
for ( ItemStack stack : maybeStack.asSet() )
{ {
final ItemStack stack = myItem.stack( 1 );
this.registerItem( stack, maxSupported ); this.registerItem( stack, maxSupported );
} }
} }
/**
* Registers a specific amount of this upgrade into a specific machine
*
* @param item machine in which this upgrade can be installed
* @param maxSupported amount how many upgrades can be installed
*
* @deprecated use {@link Upgrades#registerItem(IItemDefinition, int)}
*/
@Deprecated
public void registerItem( AEItemDefinition item, int maxSupported )
{
if ( item != null )
{
final ItemStack stack = item.stack( 1 );
if ( stack != null )
{
this.registerItem( stack, maxSupported );
}
}
}
/**
* Registers a specific amount of this upgrade into a specific machine
*
* @param stack machine in which this upgrade can be installed
* @param maxSupported amount how many upgrades can be installed
*/
public void registerItem( ItemStack stack, int maxSupported ) public void registerItem( ItemStack stack, int maxSupported )
{ {
if ( stack != null ) if ( stack != null )
@@ -78,4 +122,9 @@ public enum Upgrades
this.supportedMax.put( stack, maxSupported ); this.supportedMax.put( stack, maxSupported );
} }
} }
public int getTier()
{
return this.tier;
}
} }
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum ViewItems public enum ViewItems
{ {
ALL, STORED, CRAFTABLE ALL, STORED, CRAFTABLE
@@ -23,6 +23,7 @@
package appeng.api.config; package appeng.api.config;
public enum YesNo public enum YesNo
{ {
YES, NO, UNDECIDED YES, NO, UNDECIDED
+43 -24
View File
@@ -23,90 +23,109 @@
package appeng.api.definitions; package appeng.api.definitions;
import appeng.api.util.AEItemDefinition; import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IBlocks} now
*/
@Deprecated
public class Blocks public class Blocks
{ {
/*
* World Gen
*/
public AEItemDefinition blockQuartzOre; public AEItemDefinition blockQuartzOre;
public AEItemDefinition blockQuartzOreCharged; public AEItemDefinition blockQuartzOreCharged;
public AEItemDefinition blockMatrixFrame; public AEItemDefinition blockMatrixFrame;
/*
* Decorative
*/
public AEItemDefinition blockQuartz; public AEItemDefinition blockQuartz;
public AEItemDefinition blockQuartzPillar; public AEItemDefinition blockQuartzPillar;
public AEItemDefinition blockQuartzChiseled; public AEItemDefinition blockQuartzChiseled;
public AEItemDefinition blockQuartzGlass; public AEItemDefinition blockQuartzGlass;
public AEItemDefinition blockQuartzVibrantGlass; public AEItemDefinition blockQuartzVibrantGlass;
public AEItemDefinition blockQuartzTorch; public AEItemDefinition blockQuartzTorch;
public AEItemDefinition blockFluix; public AEItemDefinition blockFluix;
public AEItemDefinition blockSkyStone; public AEItemDefinition blockSkyStone;
public AEItemDefinition blockSkyChest; public AEItemDefinition blockSkyChest;
public AEItemDefinition blockSkyCompass; public AEItemDefinition blockSkyCompass;
/*
* Misc
*/
public AEItemDefinition blockGrindStone; public AEItemDefinition blockGrindStone;
public AEItemDefinition blockCrankHandle; public AEItemDefinition blockCrankHandle;
public AEItemDefinition blockInscriber; public AEItemDefinition blockInscriber;
public AEItemDefinition blockWireless; public AEItemDefinition blockWireless;
public AEItemDefinition blockCharger; public AEItemDefinition blockCharger;
public AEItemDefinition blockTinyTNT; public AEItemDefinition blockTinyTNT;
public AEItemDefinition blockSecurity; public AEItemDefinition blockSecurity;
/*
* Quantum Network Bridge
*/
public AEItemDefinition blockQuantumRing; public AEItemDefinition blockQuantumRing;
public AEItemDefinition blockQuantumLink; public AEItemDefinition blockQuantumLink;
/*
* Spatial IO
*/
public AEItemDefinition blockSpatialPylon; public AEItemDefinition blockSpatialPylon;
public AEItemDefinition blockSpatialIOPort; public AEItemDefinition blockSpatialIOPort;
/*
* Bus / Cables
*/
public AEItemDefinition blockMultiPart; public AEItemDefinition blockMultiPart;
/*
* Machines
*/
public AEItemDefinition blockController; public AEItemDefinition blockController;
public AEItemDefinition blockDrive; public AEItemDefinition blockDrive;
public AEItemDefinition blockChest; public AEItemDefinition blockChest;
public AEItemDefinition blockInterface; public AEItemDefinition blockInterface;
public AEItemDefinition blockCellWorkbench; public AEItemDefinition blockCellWorkbench;
public AEItemDefinition blockIOPort; public AEItemDefinition blockIOPort;
public AEItemDefinition blockCondenser; public AEItemDefinition blockCondenser;
public AEItemDefinition blockEnergyAcceptor; public AEItemDefinition blockEnergyAcceptor;
public AEItemDefinition blockVibrationChamber; public AEItemDefinition blockVibrationChamber;
public AEItemDefinition blockQuartzGrowthAccelerator; public AEItemDefinition blockQuartzGrowthAccelerator;
public AEItemDefinition blockEnergyCell; public AEItemDefinition blockEnergyCell;
public AEItemDefinition blockEnergyCellDense; public AEItemDefinition blockEnergyCellDense;
public AEItemDefinition blockEnergyCellCreative; public AEItemDefinition blockEnergyCellCreative;
// rv1
public AEItemDefinition blockCraftingUnit; public AEItemDefinition blockCraftingUnit;
public AEItemDefinition blockCraftingAccelerator; public AEItemDefinition blockCraftingAccelerator;
public AEItemDefinition blockCraftingStorage1k; public AEItemDefinition blockCraftingStorage1k;
public AEItemDefinition blockCraftingStorage4k; public AEItemDefinition blockCraftingStorage4k;
public AEItemDefinition blockCraftingStorage16k; public AEItemDefinition blockCraftingStorage16k;
public AEItemDefinition blockCraftingStorage64k; public AEItemDefinition blockCraftingStorage64k;
public AEItemDefinition blockCraftingMonitor; public AEItemDefinition blockCraftingMonitor;
public AEItemDefinition blockMolecularAssembler; public AEItemDefinition blockMolecularAssembler;
public AEItemDefinition blockLightDetector; public AEItemDefinition blockLightDetector;
public AEItemDefinition blockPaint;
public AEItemDefinition blockPaint;
} }
@@ -0,0 +1,21 @@
package appeng.api.definitions;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import com.google.common.base.Optional;
public interface IBlockDefinition extends IItemDefinition
{
/**
* @return the {@link Block} implementation if applicable
*/
Optional<Block> maybeBlock();
/**
* @return the {@link ItemBlock} implementation if applicable
*/
Optional<ItemBlock> maybeItemBlock();
}
@@ -0,0 +1,164 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.definitions;
/**
* A list of all blocks in AE
*/
public interface IBlocks
{
/*
* world gen
*/
IBlockDefinition quartzOre();
IBlockDefinition quartzOreCharged();
IBlockDefinition matrixFrame();
/*
* decorative
*/
IBlockDefinition quartz();
IBlockDefinition quartzPillar();
IBlockDefinition quartzChiseled();
IBlockDefinition quartzGlass();
IBlockDefinition quartzVibrantGlass();
IBlockDefinition quartzTorch();
IBlockDefinition fluix();
IBlockDefinition skyStone();
IBlockDefinition skyChest();
IBlockDefinition skyCompass();
IBlockDefinition skyStoneStair();
IBlockDefinition skyStoneBlockStair();
IBlockDefinition skyStoneBrickStair();
IBlockDefinition skyStoneSmallBrickStair();
IBlockDefinition fluixStair();
IBlockDefinition quartzStair();
IBlockDefinition chiseledQuartzStair();
IBlockDefinition quartzPillarStair();
/*
* misc
*/
ITileDefinition grindStone();
ITileDefinition crankHandle();
ITileDefinition inscriber();
ITileDefinition wireless();
ITileDefinition charger();
ITileDefinition tinyTNT();
ITileDefinition security();
/*
* quantum Network Bridge
*/
ITileDefinition quantumRing();
ITileDefinition quantumLink();
/*
* spatial iO
*/
ITileDefinition spatialPylon();
ITileDefinition spatialIOPort();
/*
* Bus / cables
*/
ITileDefinition multiPart();
/*
* machines
*/
ITileDefinition controller();
ITileDefinition drive();
ITileDefinition chest();
ITileDefinition iface();
ITileDefinition cellWorkbench();
ITileDefinition iOPort();
ITileDefinition condenser();
ITileDefinition energyAcceptor();
ITileDefinition vibrationChamber();
ITileDefinition quartzGrowthAccelerator();
ITileDefinition energyCell();
ITileDefinition energyCellDense();
ITileDefinition energyCellCreative();
// rv1
ITileDefinition craftingUnit();
ITileDefinition craftingAccelerator();
ITileDefinition craftingStorage1k();
ITileDefinition craftingStorage4k();
ITileDefinition craftingStorage16k();
ITileDefinition craftingStorage64k();
ITileDefinition craftingMonitor();
ITileDefinition molecularAssembler();
ITileDefinition lightDetector();
ITileDefinition paint();
}
@@ -0,0 +1,32 @@
package appeng.api.definitions;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockAccess;
/**
* Interface to compare a definition with an itemstack or a block
*/
public interface IComparableDefinition
{
/**
* Compare {@link ItemStack} with this
*
* @param comparableStack compared item
* @return true if the item stack is a matching item.
*/
boolean isSameAs( ItemStack comparableStack );
/**
* Compare Block with world.
*
* @param world world of block
* @param x x pos of block
* @param y y pos of block
* @param z z pos of block
*
* @return if the block is placed in the world at the specific location.
*/
boolean isSameAs( IBlockAccess world, int x, int y, int z );
}
@@ -0,0 +1,50 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.definitions;
/**
* All definitions in AE
*/
public interface IDefinitions
{
/**
* @return an accessible list of all of AE's blocks
*/
IBlocks blocks();
/**
* @return an accessible list of all of AE's Items
*/
IItems items();
/**
* @return an accessible list of all of AE's materials; materials are items
*/
IMaterials materials();
/**
* @return an accessible list of all of AE's parts, parts are items
*/
IParts parts();
}
@@ -0,0 +1,21 @@
package appeng.api.definitions;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import com.google.common.base.Optional;
public interface IItemDefinition extends IComparableDefinition
{
/**
* @return the {@link Item} Implementation if applicable
*/
Optional<Item> maybeItem();
/**
* @return an {@link ItemStack} with specified quantity of this item.
*/
Optional<ItemStack> maybeStack(int stackSize);
}
@@ -0,0 +1,108 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.definitions;
import appeng.api.util.AEColoredItemDefinition;
/**
* A list of all items in AE
*/
public interface IItems
{
IItemDefinition certusQuartzAxe();
IItemDefinition certusQuartzHoe();
IItemDefinition certusQuartzShovel();
IItemDefinition certusQuartzPick();
IItemDefinition certusQuartzSword();
IItemDefinition certusQuartzWrench();
IItemDefinition certusQuartzKnife();
IItemDefinition netherQuartzAxe();
IItemDefinition netherQuartzHoe();
IItemDefinition netherQuartzShovel();
IItemDefinition netherQuartzPick();
IItemDefinition netherQuartzSword();
IItemDefinition netherQuartzWrench();
IItemDefinition netherQuartzKnife();
IItemDefinition entropyManipulator();
IItemDefinition wirelessTerminal();
IItemDefinition biometricCard();
IItemDefinition chargedStaff();
IItemDefinition massCannon();
IItemDefinition memoryCard();
IItemDefinition networkTool();
IItemDefinition portableCell();
IItemDefinition cellCreative();
IItemDefinition viewCell();
IItemDefinition cell1k();
IItemDefinition cell4k();
IItemDefinition cell16k();
IItemDefinition cell64k();
IItemDefinition spatialCell2();
IItemDefinition spatialCell16();
IItemDefinition spatialCell128();
IItemDefinition facade();
IItemDefinition crystalSeed();
// rv1
IItemDefinition encodedPattern();
IItemDefinition colorApplicator();
AEColoredItemDefinition coloredPaintBall();
AEColoredItemDefinition coloredLumenPaintBall();
}
@@ -0,0 +1,138 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.definitions;
/**
* A list of all materials in AE
*/
public interface IMaterials
{
IItemDefinition cell2SpatialPart();
IItemDefinition cell16SpatialPart();
IItemDefinition cell128SpatialPart();
IItemDefinition silicon();
IItemDefinition skyDust();
IItemDefinition calcProcessorPress();
IItemDefinition engProcessorPress();
IItemDefinition logicProcessorPress();
IItemDefinition calcProcessorPrint();
IItemDefinition engProcessorPrint();
IItemDefinition logicProcessorPrint();
IItemDefinition siliconPress();
IItemDefinition siliconPrint();
IItemDefinition namePress();
IItemDefinition logicProcessor();
IItemDefinition calcProcessor();
IItemDefinition engProcessor();
IItemDefinition basicCard();
IItemDefinition advCard();
IItemDefinition purifiedCertusQuartzCrystal();
IItemDefinition purifiedNetherQuartzCrystal();
IItemDefinition purifiedFluixCrystal();
IItemDefinition cell1kPart();
IItemDefinition cell4kPart();
IItemDefinition cell16kPart();
IItemDefinition cell64kPart();
IItemDefinition emptyStorageCell();
IItemDefinition cardRedstone();
IItemDefinition cardSpeed();
IItemDefinition cardCapacity();
IItemDefinition cardFuzzy();
IItemDefinition cardInverter();
IItemDefinition cardCrafting();
IItemDefinition enderDust();
IItemDefinition flour();
IItemDefinition goldDust();
IItemDefinition ironDust();
IItemDefinition fluixDust();
IItemDefinition certusQuartzDust();
IItemDefinition netherQuartzDust();
IItemDefinition matterBall();
IItemDefinition ironNugget();
IItemDefinition certusQuartzCrystal();
IItemDefinition certusQuartzCrystalCharged();
IItemDefinition fluixCrystal();
IItemDefinition fluixPearl();
IItemDefinition woodenGear();
IItemDefinition wireless();
IItemDefinition wirelessBooster();
IItemDefinition annihilationCore();
IItemDefinition formationCore();
IItemDefinition singularity();
IItemDefinition qESingularity();
IItemDefinition blankPattern();
}
@@ -0,0 +1,104 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 AlgorithmX2
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package appeng.api.definitions;
import appeng.api.util.AEColoredItemDefinition;
/**
* A list of all parts in AE
*/
public interface IParts
{
AEColoredItemDefinition cableSmart();
AEColoredItemDefinition cableCovered();
AEColoredItemDefinition cableGlass();
AEColoredItemDefinition cableDense();
AEColoredItemDefinition lumenCableSmart();
AEColoredItemDefinition lumenCableCovered();
AEColoredItemDefinition lumenCableGlass();
AEColoredItemDefinition lumenCableDense();
IItemDefinition quartzFiber();
IItemDefinition toggleBus();
IItemDefinition invertedToggleBus();
IItemDefinition storageBus();
IItemDefinition importBus();
IItemDefinition exportBus();
IItemDefinition iface();
IItemDefinition levelEmitter();
IItemDefinition annihilationPlane();
IItemDefinition formationPlane();
IItemDefinition p2PTunnelME();
IItemDefinition p2PTunnelRedstone();
IItemDefinition p2PTunnelItems();
IItemDefinition p2PTunnelLiquids();
IItemDefinition p2PTunnelEU();
IItemDefinition p2PTunnelRF();
IItemDefinition p2PTunnelLight();
IItemDefinition cableAnchor();
IItemDefinition monitor();
IItemDefinition semiDarkMonitor();
IItemDefinition darkMonitor();
IItemDefinition interfaceTerminal();
IItemDefinition patternTerminal();
IItemDefinition craftingTerminal();
IItemDefinition terminal();
IItemDefinition storageMonitor();
IItemDefinition conversionMonitor();
}
@@ -0,0 +1,15 @@
package appeng.api.definitions;
import net.minecraft.tileentity.TileEntity;
import com.google.common.base.Optional;
public interface ITileDefinition extends IBlockDefinition
{
/**
* @return the {@link TileEntity} Class if applicable.
*/
Optional<? extends Class<? extends TileEntity>> maybeEntity();
}
+35 -2
View File
@@ -23,55 +23,88 @@
package appeng.api.definitions; package appeng.api.definitions;
import appeng.api.util.AEColoredItemDefinition; import appeng.api.util.AEColoredItemDefinition;
import appeng.api.util.AEItemDefinition; import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IItems}
*/
@Deprecated
public class Items public class Items
{ {
public AEItemDefinition itemCertusQuartzAxe; public AEItemDefinition itemCertusQuartzAxe;
public AEItemDefinition itemCertusQuartzHoe; public AEItemDefinition itemCertusQuartzHoe;
public AEItemDefinition itemCertusQuartzShovel; public AEItemDefinition itemCertusQuartzShovel;
public AEItemDefinition itemCertusQuartzPick; public AEItemDefinition itemCertusQuartzPick;
public AEItemDefinition itemCertusQuartzSword; public AEItemDefinition itemCertusQuartzSword;
public AEItemDefinition itemCertusQuartzWrench; public AEItemDefinition itemCertusQuartzWrench;
public AEItemDefinition itemCertusQuartzKnife; public AEItemDefinition itemCertusQuartzKnife;
public AEItemDefinition itemNetherQuartzAxe; public AEItemDefinition itemNetherQuartzAxe;
public AEItemDefinition itemNetherQuartzHoe; public AEItemDefinition itemNetherQuartzHoe;
public AEItemDefinition itemNetherQuartzShovel; public AEItemDefinition itemNetherQuartzShovel;
public AEItemDefinition itemNetherQuartzPick; public AEItemDefinition itemNetherQuartzPick;
public AEItemDefinition itemNetherQuartzSword; public AEItemDefinition itemNetherQuartzSword;
public AEItemDefinition itemNetherQuartzWrench; public AEItemDefinition itemNetherQuartzWrench;
public AEItemDefinition itemNetherQuartzKnife; public AEItemDefinition itemNetherQuartzKnife;
public AEItemDefinition itemEntropyManipulator; public AEItemDefinition itemEntropyManipulator;
public AEItemDefinition itemWirelessTerminal; public AEItemDefinition itemWirelessTerminal;
public AEItemDefinition itemBiometricCard; public AEItemDefinition itemBiometricCard;
public AEItemDefinition itemChargedStaff; public AEItemDefinition itemChargedStaff;
public AEItemDefinition itemMassCannon; public AEItemDefinition itemMassCannon;
public AEItemDefinition itemMemoryCard; public AEItemDefinition itemMemoryCard;
public AEItemDefinition itemNetworkTool; public AEItemDefinition itemNetworkTool;
public AEItemDefinition itemPortableCell; public AEItemDefinition itemPortableCell;
public AEItemDefinition itemCellCreative; public AEItemDefinition itemCellCreative;
public AEItemDefinition itemViewCell; public AEItemDefinition itemViewCell;
public AEItemDefinition itemCell1k; public AEItemDefinition itemCell1k;
public AEItemDefinition itemCell4k; public AEItemDefinition itemCell4k;
public AEItemDefinition itemCell16k; public AEItemDefinition itemCell16k;
public AEItemDefinition itemCell64k; public AEItemDefinition itemCell64k;
public AEItemDefinition itemSpatialCell2; public AEItemDefinition itemSpatialCell2;
public AEItemDefinition itemSpatialCell16; public AEItemDefinition itemSpatialCell16;
public AEItemDefinition itemSpatialCell128; public AEItemDefinition itemSpatialCell128;
public AEItemDefinition itemFacade; public AEItemDefinition itemFacade;
public AEItemDefinition itemCrystalSeed; public AEItemDefinition itemCrystalSeed;
// rv1
public AEItemDefinition itemEncodedPattern; public AEItemDefinition itemEncodedPattern;
public AEItemDefinition itemColorApplicator; public AEItemDefinition itemColorApplicator;
public AEColoredItemDefinition itemPaintBall; public AEColoredItemDefinition itemPaintBall;
public AEColoredItemDefinition itemLumenPaintBall; public AEColoredItemDefinition itemLumenPaintBall;
} }
@@ -23,81 +23,121 @@
package appeng.api.definitions; package appeng.api.definitions;
import appeng.api.util.AEItemDefinition; import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IMaterials}
*/
@Deprecated
public class Materials public class Materials
{ {
public AEItemDefinition materialCell2SpatialPart; public AEItemDefinition materialCell2SpatialPart;
public AEItemDefinition materialCell16SpatialPart; public AEItemDefinition materialCell16SpatialPart;
public AEItemDefinition materialCell128SpatialPart; public AEItemDefinition materialCell128SpatialPart;
public AEItemDefinition materialSilicon; public AEItemDefinition materialSilicon;
public AEItemDefinition materialSkyDust; public AEItemDefinition materialSkyDust;
public AEItemDefinition materialCalcProcessorPress; public AEItemDefinition materialCalcProcessorPress;
public AEItemDefinition materialEngProcessorPress; public AEItemDefinition materialEngProcessorPress;
public AEItemDefinition materialLogicProcessorPress; public AEItemDefinition materialLogicProcessorPress;
public AEItemDefinition materialCalcProcessorPrint; public AEItemDefinition materialCalcProcessorPrint;
public AEItemDefinition materialEngProcessorPrint; public AEItemDefinition materialEngProcessorPrint;
public AEItemDefinition materialLogicProcessorPrint; public AEItemDefinition materialLogicProcessorPrint;
public AEItemDefinition materialSiliconPress; public AEItemDefinition materialSiliconPress;
public AEItemDefinition materialSiliconPrint; public AEItemDefinition materialSiliconPrint;
public AEItemDefinition materialNamePress; public AEItemDefinition materialNamePress;
public AEItemDefinition materialLogicProcessor; public AEItemDefinition materialLogicProcessor;
public AEItemDefinition materialCalcProcessor; public AEItemDefinition materialCalcProcessor;
public AEItemDefinition materialEngProcessor; public AEItemDefinition materialEngProcessor;
public AEItemDefinition materialBasicCard; public AEItemDefinition materialBasicCard;
public AEItemDefinition materialAdvCard; public AEItemDefinition materialAdvCard;
public AEItemDefinition materialPurifiedCertusQuartzCrystal; public AEItemDefinition materialPurifiedCertusQuartzCrystal;
public AEItemDefinition materialPurifiedNetherQuartzCrystal; public AEItemDefinition materialPurifiedNetherQuartzCrystal;
public AEItemDefinition materialPurifiedFluixCrystal; public AEItemDefinition materialPurifiedFluixCrystal;
public AEItemDefinition materialCell1kPart; public AEItemDefinition materialCell1kPart;
public AEItemDefinition materialCell4kPart; public AEItemDefinition materialCell4kPart;
public AEItemDefinition materialCell16kPart; public AEItemDefinition materialCell16kPart;
public AEItemDefinition materialCell64kPart; public AEItemDefinition materialCell64kPart;
public AEItemDefinition materialEmptyStorageCell; public AEItemDefinition materialEmptyStorageCell;
public AEItemDefinition materialCardRedstone; public AEItemDefinition materialCardRedstone;
public AEItemDefinition materialCardSpeed; public AEItemDefinition materialCardSpeed;
public AEItemDefinition materialCardCapacity; public AEItemDefinition materialCardCapacity;
public AEItemDefinition materialCardFuzzy; public AEItemDefinition materialCardFuzzy;
public AEItemDefinition materialCardInverter; public AEItemDefinition materialCardInverter;
public AEItemDefinition materialCardCrafting; public AEItemDefinition materialCardCrafting;
public AEItemDefinition materialEnderDust; public AEItemDefinition materialEnderDust;
public AEItemDefinition materialFlour; public AEItemDefinition materialFlour;
public AEItemDefinition materialGoldDust; public AEItemDefinition materialGoldDust;
public AEItemDefinition materialIronDust; public AEItemDefinition materialIronDust;
public AEItemDefinition materialFluixDust; public AEItemDefinition materialFluixDust;
public AEItemDefinition materialCertusQuartzDust; public AEItemDefinition materialCertusQuartzDust;
public AEItemDefinition materialNetherQuartzDust; public AEItemDefinition materialNetherQuartzDust;
public AEItemDefinition materialMatterBall; public AEItemDefinition materialMatterBall;
public AEItemDefinition materialIronNugget; public AEItemDefinition materialIronNugget;
public AEItemDefinition materialCertusQuartzCrystal; public AEItemDefinition materialCertusQuartzCrystal;
public AEItemDefinition materialCertusQuartzCrystalCharged; public AEItemDefinition materialCertusQuartzCrystalCharged;
public AEItemDefinition materialFluixCrystal; public AEItemDefinition materialFluixCrystal;
public AEItemDefinition materialFluixPearl; public AEItemDefinition materialFluixPearl;
public AEItemDefinition materialWoodenGear; public AEItemDefinition materialWoodenGear;
public AEItemDefinition materialWireless; public AEItemDefinition materialWireless;
public AEItemDefinition materialWirelessBooster; public AEItemDefinition materialWirelessBooster;
public AEItemDefinition materialAnnihilationCore; public AEItemDefinition materialAnnihilationCore;
public AEItemDefinition materialFormationCore; public AEItemDefinition materialFormationCore;
public AEItemDefinition materialSingularity; public AEItemDefinition materialSingularity;
public AEItemDefinition materialQESingularity;
public AEItemDefinition materialBlankPattern;
public AEItemDefinition materialQESingularity;
public AEItemDefinition materialBlankPattern;
} }
+32 -2
View File
@@ -23,54 +23,84 @@
package appeng.api.definitions; package appeng.api.definitions;
import appeng.api.util.AEColoredItemDefinition; import appeng.api.util.AEColoredItemDefinition;
import appeng.api.util.AEItemDefinition; import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IParts}
*/
@Deprecated
public class Parts public class Parts
{ {
public AEColoredItemDefinition partCableSmart; public AEColoredItemDefinition partCableSmart;
public AEColoredItemDefinition partCableCovered; public AEColoredItemDefinition partCableCovered;
public AEColoredItemDefinition partCableGlass; public AEColoredItemDefinition partCableGlass;
public AEColoredItemDefinition partCableDense; public AEColoredItemDefinition partCableDense;
public AEColoredItemDefinition partLumenCableSmart; public AEColoredItemDefinition partLumenCableSmart;
public AEColoredItemDefinition partLumenCableCovered; public AEColoredItemDefinition partLumenCableCovered;
public AEColoredItemDefinition partLumenCableGlass; public AEColoredItemDefinition partLumenCableGlass;
public AEColoredItemDefinition partLumenCableDense; public AEColoredItemDefinition partLumenCableDense;
public AEItemDefinition partQuartzFiber; public AEItemDefinition partQuartzFiber;
public AEItemDefinition partToggleBus; public AEItemDefinition partToggleBus;
public AEItemDefinition partInvertedToggleBus; public AEItemDefinition partInvertedToggleBus;
public AEItemDefinition partStorageBus; public AEItemDefinition partStorageBus;
public AEItemDefinition partImportBus; public AEItemDefinition partImportBus;
public AEItemDefinition partExportBus; public AEItemDefinition partExportBus;
public AEItemDefinition partInterface; public AEItemDefinition partInterface;
public AEItemDefinition partLevelEmitter; public AEItemDefinition partLevelEmitter;
public AEItemDefinition partAnnihilationPlane; public AEItemDefinition partAnnihilationPlane;
public AEItemDefinition partFormationPlane; public AEItemDefinition partFormationPlane;
public AEItemDefinition partP2PTunnelME; public AEItemDefinition partP2PTunnelME;
public AEItemDefinition partP2PTunnelRedstone; public AEItemDefinition partP2PTunnelRedstone;
public AEItemDefinition partP2PTunnelItems; public AEItemDefinition partP2PTunnelItems;
public AEItemDefinition partP2PTunnelLiquids; public AEItemDefinition partP2PTunnelLiquids;
public AEItemDefinition partP2PTunnelMJ;
public AEItemDefinition partP2PTunnelEU; public AEItemDefinition partP2PTunnelEU;
public AEItemDefinition partP2PTunnelRF; public AEItemDefinition partP2PTunnelRF;
public AEItemDefinition partP2PTunnelLight; public AEItemDefinition partP2PTunnelLight;
public AEItemDefinition partCableAnchor; public AEItemDefinition partCableAnchor;
public AEItemDefinition partMonitor; public AEItemDefinition partMonitor;
public AEItemDefinition partSemiDarkMonitor; public AEItemDefinition partSemiDarkMonitor;
public AEItemDefinition partDarkMonitor; public AEItemDefinition partDarkMonitor;
public AEItemDefinition partInterfaceTerminal; public AEItemDefinition partInterfaceTerminal;
public AEItemDefinition partPatternTerminal; public AEItemDefinition partPatternTerminal;
public AEItemDefinition partCraftingTerminal; public AEItemDefinition partCraftingTerminal;
public AEItemDefinition partTerminal; public AEItemDefinition partTerminal;
public AEItemDefinition partStorageMonitor; public AEItemDefinition partStorageMonitor;
public AEItemDefinition partConversionMonitor; public AEItemDefinition partConversionMonitor;
} }
@@ -23,12 +23,15 @@
package appeng.api.events; package appeng.api.events;
import appeng.api.features.ILocatable;
import cpw.mods.fml.common.eventhandler.Event; import cpw.mods.fml.common.eventhandler.Event;
import appeng.api.features.ILocatable;
/** /**
* Input Event: * Input Event:
* *
* Used to Notify the Location Registry of objects, and their availability. * Used to Notify the Location Registry of objects, and their availability.
*/ */
public class LocatableEventAnnounce extends Event public class LocatableEventAnnounce extends Event
@@ -40,12 +43,13 @@ public class LocatableEventAnnounce extends Event
Unregister // Removes the locatable from the registry Unregister // Removes the locatable from the registry
} }
final public ILocatable target; final public ILocatable target;
final public LocatableEvent change; final public LocatableEvent change;
public LocatableEventAnnounce(ILocatable o, LocatableEvent ev) { public LocatableEventAnnounce( ILocatable o, LocatableEvent ev )
{
this.target = o; this.target = o;
this.change = ev; this.change = ev;
} }
} }
@@ -23,12 +23,14 @@
package appeng.api.exceptions; package appeng.api.exceptions;
public class AppEngException extends Exception public class AppEngException extends Exception
{ {
private static final long serialVersionUID = -9051434206368465494L; private static final long serialVersionUID = -9051434206368465494L;
public AppEngException(String t) { public AppEngException( String t )
{
super( t ); super( t );
} }
} }
@@ -0,0 +1,10 @@
package appeng.api.exceptions;
public class CouldNotAccessCoreAPI extends RuntimeException
{
public CouldNotAccessCoreAPI( String message )
{
super( message );
}
}
@@ -23,11 +23,13 @@
package appeng.api.exceptions; package appeng.api.exceptions;
public class FailedConnection extends Exception public class FailedConnection extends Exception
{ {
private static final long serialVersionUID = -2544208090248293753L; private static final long serialVersionUID = -2544208090248293753L;
public FailedConnection() { public FailedConnection()
{
} }
} }
@@ -0,0 +1,10 @@
package appeng.api.exceptions;
public class MissingDefinition extends RuntimeException
{
public MissingDefinition( String message )
{
super( message );
}
}
@@ -23,12 +23,14 @@
package appeng.api.exceptions; package appeng.api.exceptions;
public class MissingIngredientError extends Exception {
public class MissingIngredientError extends Exception
{
private static final long serialVersionUID = -998858343831371697L; private static final long serialVersionUID = -998858343831371697L;
public MissingIngredientError(String n) { public MissingIngredientError( String n )
{
super( n ); super( n );
} }
} }
@@ -23,13 +23,14 @@
package appeng.api.exceptions; package appeng.api.exceptions;
public class ModNotInstalled extends Exception public class ModNotInstalled extends Exception
{ {
private static final long serialVersionUID = -9052435206368425494L; private static final long serialVersionUID = -9052435206368425494L;
public ModNotInstalled(String t) { public ModNotInstalled( String t )
{
super( t ); super( t );
} }
} }
@@ -23,13 +23,14 @@
package appeng.api.exceptions; package appeng.api.exceptions;
public class RecipeError extends Exception public class RecipeError extends Exception
{ {
private static final long serialVersionUID = -6602870588617670262L; private static final long serialVersionUID = -6602870588617670262L;
public RecipeError(String n) { public RecipeError( String n )
{
super( n ); super( n );
} }
} }
@@ -23,13 +23,14 @@
package appeng.api.exceptions; package appeng.api.exceptions;
public class RegistrationError extends Exception public class RegistrationError extends Exception
{ {
private static final long serialVersionUID = -6602870588617670263L; private static final long serialVersionUID = -6602870588617670263L;
public RegistrationError(String n) { public RegistrationError( String n )
{
super( n ); super( n );
} }
} }
@@ -23,8 +23,10 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
/** /**
* Registration Records for {@link IGrinderRegistry} * Registration Records for {@link IGrinderRegistry}
*/ */
@@ -36,42 +38,42 @@ public interface IGrinderEntry
* *
* @return input that the grinder will accept. * @return input that the grinder will accept.
*/ */
public ItemStack getInput(); ItemStack getInput();
/** /**
* lets you change the grinder recipe by changing its input. * lets you change the grinder recipe by changing its input.
* *
* @param input input item * @param input input item
*/ */
public void setInput(ItemStack input); void setInput( ItemStack input );
/** /**
* gets the current output * gets the current output
* *
* @return output that the grinder will produce * @return output that the grinder will produce
*/ */
public ItemStack getOutput(); ItemStack getOutput();
/** /**
* gets the current output * gets the current output
* *
* @return output that the grinder will produce * @return output that the grinder will produce
*/ */
public ItemStack getOptionalOutput(); ItemStack getOptionalOutput();
/** /**
* gets the current output * gets the current output
* *
* @return output that the grinder will produce * @return output that the grinder will produce
*/ */
public ItemStack getSecondOptionalOutput(); ItemStack getSecondOptionalOutput();
/** /**
* allows you to change the output. * allows you to change the output.
* *
* @param output output item * @param output output item
*/ */
public void setOutput(ItemStack output); void setOutput( ItemStack output );
/** /**
* stack, and 0.0-1.0 chance that it will be generated. * stack, and 0.0-1.0 chance that it will be generated.
@@ -79,14 +81,14 @@ public interface IGrinderEntry
* @param output output item * @param output output item
* @param chance generation chance * @param chance generation chance
*/ */
public void setOptionalOutput(ItemStack output, float chance); void setOptionalOutput( ItemStack output, float chance );
/** /**
* 0.0 - 1.0 the chance that the optional output will be generated. * 0.0 - 1.0 the chance that the optional output will be generated.
* *
* @return chance of optional output * @return chance of optional output
*/ */
public float getOptionalChance(); float getOptionalChance();
/** /**
* stack, and 0.0-1.0 chance that it will be generated. * stack, and 0.0-1.0 chance that it will be generated.
@@ -94,26 +96,26 @@ public interface IGrinderEntry
* @param output second optional output item * @param output second optional output item
* @param chance second optional output chance * @param chance second optional output chance
*/ */
public void setSecondOptionalOutput(ItemStack output, float chance); void setSecondOptionalOutput( ItemStack output, float chance );
/** /**
* 0.0 - 1.0 the chance that the optional output will be generated. * 0.0 - 1.0 the chance that the optional output will be generated.
* *
* @return second optional output chance * @return second optional output chance
*/ */
public float getSecondOptionalChance(); float getSecondOptionalChance();
/** /**
* Energy cost, in turns. * Energy cost, in turns.
* *
* @return number of turns it takes to produce the output from the input. * @return number of turns it takes to produce the output from the input.
*/ */
public int getEnergyCost(); int getEnergyCost();
/** /**
* Allows you to adjust the number of turns * Allows you to adjust the number of turns
* *
* @param c number of turns to produce output. * @param c number of turns to produce output.
*/ */
public void setEnergyCost(int c); void setEnergyCost( int c );
} }
@@ -23,10 +23,12 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.item.ItemStack;
import java.util.List; import java.util.List;
import net.minecraft.item.ItemStack;
/** /**
* Lets you manipulate Grinder Recipes, by adding or editing existing ones. * Lets you manipulate Grinder Recipes, by adding or editing existing ones.
*/ */
@@ -38,7 +40,7 @@ public interface IGrinderRegistry
* *
* @return currentlyRegisteredRecipes * @return currentlyRegisteredRecipes
*/ */
public List<IGrinderEntry> getRecipes(); List<IGrinderEntry> getRecipes();
/** /**
* add a new recipe the easy way, in &#8594; out, how many turns., duplicates will not be added. * add a new recipe the easy way, in &#8594; out, how many turns., duplicates will not be added.
@@ -47,7 +49,7 @@ public interface IGrinderRegistry
* @param out output * @param out output
* @param turns amount of turns to turn the input into the output * @param turns amount of turns to turn the input into the output
*/ */
public void addRecipe(ItemStack in, ItemStack out, int turns); void addRecipe( ItemStack in, ItemStack out, int turns );
/** /**
* add a new recipe with optional outputs, duplicates will not be added. * add a new recipe with optional outputs, duplicates will not be added.
@@ -55,30 +57,30 @@ public interface IGrinderRegistry
* @param in input * @param in input
* @param out output * @param out output
* @param optional optional output * @param optional optional output
* @param chance chance to get the optional output within 0.0 - 1.0 * @param chance chance to get the optional output within 0.0 - 1.0
* @param turns amount of turns to turn the input into the outputs * @param turns amount of turns to turn the input into the outputs
*/ */
void addRecipe(ItemStack in, ItemStack out, ItemStack optional, float chance, int turns); void addRecipe( ItemStack in, ItemStack out, ItemStack optional, float chance, int turns );
/** /**
* add a new recipe with optional outputs, duplicates will not be added. * add a new recipe with optional outputs, duplicates will not be added.
* *
* @param in input * @param in input
* @param out output * @param out output
* @param optional optional output * @param optional optional output
* @param chance chance to get the optional output within 0.0 - 1.0 * @param chance chance to get the optional output within 0.0 - 1.0
* @param optional2 second optional output * @param optional2 second optional output
* @param chance2 chance to get the second optional output within 0.0 - 1.0 * @param chance2 chance to get the second optional output within 0.0 - 1.0
* @param turns amount of turns to turn the input into the outputs * @param turns amount of turns to turn the input into the outputs
*/ */
void addRecipe(ItemStack in, ItemStack out, ItemStack optional, float chance, ItemStack optional2, float chance2, int turns); void addRecipe( ItemStack in, ItemStack out, ItemStack optional, float chance, ItemStack optional2, float chance2, int turns );
/** /**
* Searches for a recipe for a given input, and returns it. * Searches for a recipe for a given input, and returns it.
* *
* @param input input * @param input input
*
* @return identified recipe or null * @return identified recipe or null
*/ */
public IGrinderEntry getRecipeForInput(ItemStack input); IGrinderEntry getRecipeForInput( ItemStack input );
} }
@@ -23,11 +23,10 @@
package appeng.api.features; package appeng.api.features;
public interface IItemComparison public interface IItemComparison
{ {
boolean sameAsPrecise( IItemComparison comp );
public boolean sameAsPrecise(IItemComparison comp); boolean sameAsFuzzy( IItemComparison comp );
public boolean sameAsFuzzy(IItemComparison comp);
} }
@@ -23,8 +23,10 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
/** /**
* Provider for special comparisons. when an item is encountered AE Will request * Provider for special comparisons. when an item is encountered AE Will request
* if the comparison function handles the item, by trying to request a * if the comparison function handles the item, by trying to request a
@@ -38,16 +40,17 @@ public interface IItemComparisonProvider
* the supplied item. * the supplied item.
* *
* @param is item * @param is item
*
* @return IItemComparison, or null * @return IItemComparison, or null
*/ */
IItemComparison getComparison(ItemStack is); IItemComparison getComparison( ItemStack is );
/** /**
* Simple test for support ( AE generally skips this and calls the above function. ) * Simple test for support ( AE generally skips this and calls the above function. )
* *
* @param stack item * @param stack item
*
* @return true, if getComparison will return a valid IItemComparison Object * @return true, if getComparison will return a valid IItemComparison Object
*/ */
public boolean canHandle(ItemStack stack); boolean canHandle( ItemStack stack );
} }
@@ -23,8 +23,10 @@
package appeng.api.features; package appeng.api.features;
import appeng.api.events.LocatableEventAnnounce; import appeng.api.events.LocatableEventAnnounce;
/** /**
* A registration record for the {@link ILocatableRegistry} use the {@link LocatableEventAnnounce} event on the Forge * A registration record for the {@link ILocatableRegistry} use the {@link LocatableEventAnnounce} event on the Forge
* Event bus to update the registry. * Event bus to update the registry.
@@ -36,5 +38,4 @@ public interface ILocatable
* @return the serial for a locatable object * @return the serial for a locatable object
*/ */
long getLocatableSerial(); long getLocatableSerial();
} }
@@ -23,25 +23,27 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public interface IMatterCannonAmmoRegistry public interface IMatterCannonAmmoRegistry
{ {
/** /**
* register a new ammo, generally speaking this is based off of atomic weight to make it easier to guess at * register a new ammo, generally speaking this is based off of atomic weight to make it easier to guess at
* *
* @param ammo new ammo * @param ammo new ammo
* @param weight atomic weight * @param weight atomic weight
*/ */
void registerAmmo(ItemStack ammo, double weight); void registerAmmo( ItemStack ammo, double weight );
/** /**
* get the penetration value for a particular ammo, 0 indicates a non-ammo. * get the penetration value for a particular ammo, 0 indicates a non-ammo.
* *
* @param is ammo * @param is ammo
*
* @return 0 or a valid penetration value. * @return 0 or a valid penetration value.
*/ */
float getPenetration(ItemStack is); float getPenetration( ItemStack is );
} }
@@ -23,21 +23,25 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public interface INetworkEncodable {
public interface INetworkEncodable
{
/** /**
* Used to get the current key from the item. * Used to get the current key from the item.
* *
* @param item item * @param item item
*
* @return string key of item * @return string key of item
*/ */
String getEncryptionKey(ItemStack item); String getEncryptionKey( ItemStack item );
/** /**
* Encode the wireless frequency via the Controller. * Encode the wireless frequency via the Controller.
* *
* @param item * @param item
* the wireless terminal. * the wireless terminal.
* @param encKey * @param encKey
@@ -45,6 +49,5 @@ public interface INetworkEncodable {
* @param name * @param name
* null for now. * null for now.
*/ */
void setEncryptionKey(ItemStack item, String encKey, String name); void setEncryptionKey( ItemStack item, String encKey, String name );
} }
@@ -23,9 +23,12 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import appeng.api.config.TunnelType; import appeng.api.config.TunnelType;
/** /**
* A Registry for how p2p Tunnels are attuned * A Registry for how p2p Tunnels are attuned
*/ */
@@ -35,20 +38,20 @@ public interface IP2PTunnelRegistry
/** /**
* Allows third parties to register items from their mod as potential * Allows third parties to register items from their mod as potential
* attunements for AE's P2P Tunnels * attunements for AE's P2P Tunnels
* *
* @param trigger * @param trigger
* - the item which triggers attunement * - the item which triggers attunement
* @param type * @param type
* - the type of tunnel * - the type of tunnel
*/ */
public abstract void addNewAttunement(ItemStack trigger, TunnelType type); void addNewAttunement( ItemStack trigger, TunnelType type );
/** /**
* returns null if no attunement can be found. * returns null if no attunement can be found.
* *
* @param trigger attunement trigger * @param trigger attunement trigger
*
* @return null if no attunement can be found or attunement * @return null if no attunement can be found or attunement
*/ */
TunnelType getTunnelTypeByItem(ItemStack trigger); TunnelType getTunnelTypeByItem( ItemStack trigger );
} }
@@ -23,10 +23,12 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import com.mojang.authlib.GameProfile; import com.mojang.authlib.GameProfile;
/** /**
* Maintains a save specific list of userids and username combinations this greatly simplifies storage internally and * Maintains a save specific list of userids and username combinations this greatly simplifies storage internally and
* gives a common place to look up and get IDs for the security framework. * gives a common place to look up and get IDs for the security framework.
@@ -36,20 +38,22 @@ public interface IPlayerRegistry
/** /**
* @param gameProfile user game profile * @param gameProfile user game profile
*
* @return user id of a username. * @return user id of a username.
*/ */
int getID(GameProfile gameProfile); int getID( GameProfile gameProfile );
/** /**
* @param player player * @param player player
*
* @return user id of a player entity. * @return user id of a player entity.
*/ */
int getID(EntityPlayer player); int getID( EntityPlayer player );
/** /**
* @param playerID to be found player id * @param playerID to be found player id
*
* @return PlayerEntity, or null if the player could not be found. * @return PlayerEntity, or null if the player could not be found.
*/ */
EntityPlayer findPlayer(int playerID); EntityPlayer findPlayer( int playerID );
} }
@@ -23,50 +23,53 @@
package appeng.api.features; package appeng.api.features;
import appeng.api.recipes.ICraftHandler; import appeng.api.recipes.ICraftHandler;
import appeng.api.recipes.IRecipeHandler; import appeng.api.recipes.IRecipeHandler;
import appeng.api.recipes.ISubItemResolver; import appeng.api.recipes.ISubItemResolver;
public interface IRecipeHandlerRegistry public interface IRecipeHandlerRegistry
{ {
/** /**
* Add a new Recipe Handler to the parser. * Add a new Recipe Handler to the parser.
* *
* MUST BE CALLED IN PRE-INIT * MUST BE CALLED IN PRE-INIT
* *
* @param name name of crafthandler * @param name name of crafthandler
* @param handler class of crafthandler * @param handler class of crafthandler
*/ */
void addNewCraftHandler(String name, Class<? extends ICraftHandler> handler); void addNewCraftHandler( String name, Class<? extends ICraftHandler> handler );
/** /**
* Add a new resolver to the parser. * Add a new resolver to the parser.
* *
* MUST BE CALLED IN PRE-INIT * MUST BE CALLED IN PRE-INIT
* *
* @param sir sub item resolver * @param sir sub item resolver
*/ */
void addNewSubItemResolver(ISubItemResolver sir); void addNewSubItemResolver( ISubItemResolver sir );
/** /**
* @param name name of crafting handler * @param name name of crafting handler
*
* @return A recipe handler by name, returns null on failure. * @return A recipe handler by name, returns null on failure.
*/ */
ICraftHandler getCraftHandlerFor(String name); ICraftHandler getCraftHandlerFor( String name );
/** /**
* @return a new recipe handler, which can be used to parse, and read recipe files. * @return a new recipe handler, which can be used to parse, and read recipe files.
*/ */
public IRecipeHandler createNewRecipehandler(); IRecipeHandler createNewRecipehandler();
/** /**
* resolve sub items by name. * resolve sub items by name.
* *
* @param nameSpace namespace of item * @param nameSpace namespace of item
* @param itemName full name of item * @param itemName full name of item
*
* @return ResolverResult or ResolverResultSet * @return ResolverResult or ResolverResultSet
*/ */
Object resolveItem(String nameSpace, String itemName); Object resolveItem( String nameSpace, String itemName );
} }
@@ -23,11 +23,13 @@
package appeng.api.features; package appeng.api.features;
import appeng.api.movable.IMovableRegistry; import appeng.api.movable.IMovableRegistry;
import appeng.api.networking.IGridCacheRegistry; import appeng.api.networking.IGridCacheRegistry;
import appeng.api.storage.ICellRegistry; import appeng.api.storage.ICellRegistry;
import appeng.api.storage.IExternalStorageRegistry; import appeng.api.storage.IExternalStorageRegistry;
public interface IRegistryContainer public interface IRegistryContainer
{ {
@@ -23,11 +23,12 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
/** /**
* A Registry of any special comparison handlers for AE To use. * A Registry of any special comparison handlers for AE To use.
*
*/ */
public interface ISpecialComparisonRegistry public interface ISpecialComparisonRegistry
{ {
@@ -36,15 +37,15 @@ public interface ISpecialComparisonRegistry
* return TheHandler or null. * return TheHandler or null.
* *
* @param stack item * @param stack item
*
* @return a handler it found for a specific item * @return a handler it found for a specific item
*/ */
IItemComparison getSpecialComparison(ItemStack stack); IItemComparison getSpecialComparison( ItemStack stack );
/** /**
* Register a new special comparison function with AE. * Register a new special comparison function with AE.
* *
* @param prov comparison provider * @param prov comparison provider
*/ */
public void addComparisonProvider(IItemComparisonProvider prov); void addComparisonProvider( IItemComparisonProvider prov );
} }
@@ -23,10 +23,13 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import appeng.api.util.IConfigManager; import appeng.api.util.IConfigManager;
/** /**
* A handler for a wireless terminal. * A handler for a wireless terminal.
*/ */
@@ -35,35 +38,37 @@ public interface IWirelessTermHandler extends INetworkEncodable
/** /**
* @param is wireless terminal * @param is wireless terminal
*
* @return true, if usePower, hasPower, etc... can be called for the provided item * @return true, if usePower, hasPower, etc... can be called for the provided item
*/ */
boolean canHandle(ItemStack is); boolean canHandle( ItemStack is );
/** /**
* use an amount of power, in AE units * use an amount of power, in AE units
* *
* @param amount * @param amount
* is in AE units ( 5 per MJ ), if you return false, the item should be dead and return false for * is in AE units ( 5 per MJ ), if you return false, the item should be dead and return false for
* hasPower * hasPower
* @param is wireless terminal * @param is wireless terminal
* @return true if wireless terminal uses power * @return true if wireless terminal uses power
*/ */
boolean usePower(EntityPlayer player, double amount, ItemStack is); boolean usePower( EntityPlayer player, double amount, ItemStack is );
/** /**
* gets the power status of the item. * gets the power status of the item.
* *
* @param is wireless terminal * @param is wireless terminal
*
* @return returns true if there is any power left. * @return returns true if there is any power left.
*/ */
boolean hasPower(EntityPlayer player, double amount, ItemStack is); boolean hasPower( EntityPlayer player, double amount, ItemStack is );
/** /**
* Return the config manager for the wireless terminal. * Return the config manager for the wireless terminal.
* *
* @param is wireless terminal * @param is wireless terminal
*
* @return config manager of wireless terminal * @return config manager of wireless terminal
*/ */
IConfigManager getConfigManager(ItemStack is); IConfigManager getConfigManager( ItemStack is );
} }
@@ -23,10 +23,12 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
/** /**
* Registration record for a Custom Cell handler. * Registration record for a Custom Cell handler.
*/ */
@@ -38,25 +40,26 @@ public interface IWirelessTermRegistry
* *
* @param handler wireless handler * @param handler wireless handler
*/ */
void registerWirelessHandler(IWirelessTermHandler handler); void registerWirelessHandler( IWirelessTermHandler handler );
/** /**
* @param is item which might have a handler * @param is item which might have a handler
*
* @return true if there is a handler for this item * @return true if there is a handler for this item
*/ */
boolean isWirelessTerminal(ItemStack is); boolean isWirelessTerminal( ItemStack is );
/** /**
* @param is item with handler * @param is item with handler
*
* @return a register handler for the item in question, or null if there * @return a register handler for the item in question, or null if there
* isn't one * isn't one
*/ */
IWirelessTermHandler getWirelessTerminalHandler(ItemStack is); IWirelessTermHandler getWirelessTerminalHandler( ItemStack is );
/** /**
* opens the wireless terminal gui, the wireless terminal item, must be in * opens the wireless terminal gui, the wireless terminal item, must be in
* the active slot on the tool bar. * the active slot on the tool bar.
*/ */
void openWirelessTerminalGui(ItemStack item, World w, EntityPlayer player); void openWirelessTerminalGui( ItemStack item, World w, EntityPlayer player );
} }
@@ -23,23 +23,24 @@
package appeng.api.features; package appeng.api.features;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.WorldProvider; import net.minecraft.world.WorldProvider;
public interface IWorldGen public interface IWorldGen
{ {
public enum WorldGenType enum WorldGenType
{ {
CertusQuartz, ChargedCertusQuartz, Meteorites CertusQuartz, ChargedCertusQuartz, Meteorites
} }
public void disableWorldGenForProviderID(WorldGenType type, Class<? extends WorldProvider> provider); void disableWorldGenForProviderID( WorldGenType type, Class<? extends WorldProvider> provider );
public void enableWorldGenForDimension(WorldGenType type, int dimID); void enableWorldGenForDimension( WorldGenType type, int dimID );
public void disableWorldGenForDimension(WorldGenType type, int dimID); void disableWorldGenForDimension( WorldGenType type, int dimID );
boolean isWorldGenEnabled(WorldGenType type, World w);
boolean isWorldGenEnabled( WorldGenType type, World w );
} }
@@ -23,11 +23,14 @@
package appeng.api.implementations; package appeng.api.implementations;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import appeng.api.networking.crafting.ICraftingPatternDetails; import appeng.api.networking.crafting.ICraftingPatternDetails;
/** /**
* Implemented on {@link Item} * Implemented on {@link Item}
*/ */
@@ -38,8 +41,9 @@ public interface ICraftingPatternItem
* Access Details about a pattern * Access Details about a pattern
* *
* @param is pattern * @param is pattern
* @param w crafting world * @param w crafting world
*
* @return details of pattern * @return details of pattern
*/ */
ICraftingPatternDetails getPatternForItem(ItemStack is, World w); ICraftingPatternDetails getPatternForItem( ItemStack is, World w );
} }
@@ -23,6 +23,7 @@
package appeng.api.implementations; package appeng.api.implementations;
/** /**
* This is intended for use on the client side to provide details to WAILA. * This is intended for use on the client side to provide details to WAILA.
*/ */
@@ -38,5 +39,4 @@ public interface IPowerChannelState
* @return true if the part/tile isActive * @return true if the part/tile isActive
*/ */
boolean isActive(); boolean isActive();
} }
@@ -23,10 +23,13 @@
package appeng.api.implementations; package appeng.api.implementations;
import appeng.api.util.IConfigurableObject;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import appeng.api.config.Upgrades; import appeng.api.config.Upgrades;
import appeng.api.implementations.tiles.ISegmentedInventory; import appeng.api.implementations.tiles.ISegmentedInventory;
import appeng.api.util.IConfigurableObject;
public interface IUpgradeableHost extends IConfigurableObject, ISegmentedInventory public interface IUpgradeableHost extends IConfigurableObject, ISegmentedInventory
{ {
@@ -34,7 +37,7 @@ public interface IUpgradeableHost extends IConfigurableObject, ISegmentedInvento
/** /**
* determine how many of an upgrade are installed. * determine how many of an upgrade are installed.
*/ */
int getInstalledUpgrades(Upgrades u); int getInstalledUpgrades( Upgrades u );
/** /**
* the tile... * the tile...
@@ -42,5 +45,4 @@ public interface IUpgradeableHost extends IConfigurableObject, ISegmentedInvento
* @return tile entity * @return tile entity
*/ */
TileEntity getTile(); TileEntity getTile();
} }
@@ -23,6 +23,7 @@
package appeng.api.implementations; package appeng.api.implementations;
/** /**
* Defines the result of performing a transition from the world into a storage * Defines the result of performing a transition from the world into a storage
* cell, if its possible, and what the energy usage is. * cell, if its possible, and what the energy usage is.
@@ -32,7 +33,8 @@ public class TransitionResult
public final boolean success; public final boolean success;
public final double energyUsage; public final double energyUsage;
public TransitionResult(boolean _success, double power) { public TransitionResult( boolean _success, double power )
{
this.success = _success; this.success = _success;
this.energyUsage = power; this.energyUsage = power;
} }
@@ -23,9 +23,11 @@
package appeng.api.implementations.guiobjects; package appeng.api.implementations.guiobjects;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
/** /**
* Implemented on Item objects, to return objects used to manage, and interact * Implemented on Item objects, to return objects used to manage, and interact
* with the contents. * with the contents.
@@ -33,6 +35,5 @@ import net.minecraft.world.World;
public interface IGuiItem public interface IGuiItem
{ {
IGuiItemObject getGuiObject(ItemStack is, World world, int x, int y, int z); IGuiItemObject getGuiObject( ItemStack is, World world, int x, int y, int z );
} }
@@ -23,10 +23,12 @@
package appeng.api.implementations.guiobjects; package appeng.api.implementations.guiobjects;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public interface IGuiItemObject public interface IGuiItemObject
{ {
public ItemStack getItemStack(); ItemStack getItemStack();
} }
@@ -23,9 +23,12 @@
package appeng.api.implementations.guiobjects; package appeng.api.implementations.guiobjects;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import appeng.api.networking.IGridHost; import appeng.api.networking.IGridHost;
/** /**
* Obtained via {@link IGuiItem} getGuiObject * Obtained via {@link IGuiItem} getGuiObject
*/ */
@@ -33,5 +36,4 @@ public interface INetworkTool extends IInventory, IGuiItemObject
{ {
IGridHost getGridHost(); // null for most purposes. IGridHost getGridHost(); // null for most purposes.
} }
@@ -23,11 +23,13 @@
package appeng.api.implementations.guiobjects; package appeng.api.implementations.guiobjects;
import appeng.api.networking.energy.IEnergySource; import appeng.api.networking.energy.IEnergySource;
import appeng.api.storage.IMEMonitor; import appeng.api.storage.IMEMonitor;
import appeng.api.storage.ITerminalHost; import appeng.api.storage.ITerminalHost;
import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IAEItemStack;
/** /**
* Obtained via {@link IGuiItem} getGuiObject * Obtained via {@link IGuiItem} getGuiObject
*/ */
@@ -23,10 +23,13 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import appeng.api.config.AccessRestriction; import appeng.api.config.AccessRestriction;
import appeng.api.networking.energy.IAEPowerStorage; import appeng.api.networking.energy.IAEPowerStorage;
/** /**
* Basically the same as {@link IAEPowerStorage}, but for items. * Basically the same as {@link IAEPowerStorage}, but for items.
*/ */
@@ -39,26 +42,27 @@ public interface IAEItemPowerStorage
* *
* @return amount unable to be stored * @return amount unable to be stored
*/ */
public double injectAEPower(ItemStack is, double amt); double injectAEPower( ItemStack is, double amt );
/** /**
* Attempt to extract power from the device, it will extract what it can and * Attempt to extract power from the device, it will extract what it can and
* return it. * return it.
* *
* @param amt to be extracted power from device * @param amt to be extracted power from device
*
* @return what it could extract * @return what it could extract
*/ */
public double extractAEPower(ItemStack is, double amt); double extractAEPower( ItemStack is, double amt );
/** /**
* @return the current maximum power ( this can change :P ) * @return the current maximum power ( this can change :P )
*/ */
public double getAEMaxPower(ItemStack is); double getAEMaxPower( ItemStack is );
/** /**
* @return the current AE Power Level, this may exceed getMEMaxPower() * @return the current AE Power Level, this may exceed getMEMaxPower()
*/ */
public double getAECurrentPower(ItemStack is); double getAECurrentPower( ItemStack is );
/** /**
* Control the power flow by telling what the network can do, either add? or * Control the power flow by telling what the network can do, either add? or
@@ -66,6 +70,5 @@ public interface IAEItemPowerStorage
* *
* @return access restriction of network * @return access restriction of network
*/ */
public AccessRestriction getPowerFlow(ItemStack is); AccessRestriction getPowerFlow( ItemStack is );
} }
@@ -23,9 +23,11 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
/** /**
* Implemented on AE's wrench(s) as a substitute for if BC's API is not * Implemented on AE's wrench(s) as a substitute for if BC's API is not
* available. * available.
@@ -37,12 +39,11 @@ public interface IAEWrench
* Check if the wrench can be used. * Check if the wrench can be used.
* *
* @param player wrenching player * @param player wrenching player
* @param x x pos of wrenched block * @param x x pos of wrenched block
* @param y y pos of wrenched block * @param y y pos of wrenched block
* @param z z pos of wrenched block * @param z z pos of wrenched block
* *
* @return true if wrench can be used * @return true if wrench can be used
*/ */
boolean canWrench(ItemStack wrench, EntityPlayer player, int x, int y, int z); boolean canWrench( ItemStack wrench, EntityPlayer player, int x, int y, int z );
} }
@@ -23,13 +23,17 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import java.util.EnumSet;
import net.minecraft.item.ItemStack;
import com.mojang.authlib.GameProfile;
import appeng.api.config.SecurityPermissions; import appeng.api.config.SecurityPermissions;
import appeng.api.features.IPlayerRegistry; import appeng.api.features.IPlayerRegistry;
import appeng.api.networking.security.ISecurityRegistry; import appeng.api.networking.security.ISecurityRegistry;
import com.mojang.authlib.GameProfile;
import net.minecraft.item.ItemStack;
import java.util.EnumSet;
public interface IBiometricCard public interface IBiometricCard
{ {
@@ -37,50 +41,51 @@ public interface IBiometricCard
/** /**
* Set the {@link GameProfile} to null, to clear it. * Set the {@link GameProfile} to null, to clear it.
*/ */
void setProfile(ItemStack itemStack, GameProfile username); void setProfile( ItemStack itemStack, GameProfile username );
/** /**
* @return {@link GameProfile} of the player encoded on this card, or a blank string. * @return {@link GameProfile} of the player encoded on this card, or a blank string.
*/ */
GameProfile getProfile(ItemStack is); GameProfile getProfile( ItemStack is );
/** /**
* @param itemStack card * @param itemStack card
*
* @return the full list of permissions encoded on the card. * @return the full list of permissions encoded on the card.
*/ */
EnumSet<SecurityPermissions> getPermissions(ItemStack itemStack); EnumSet<SecurityPermissions> getPermissions( ItemStack itemStack );
/** /**
* Check if a permission is encoded on the card. * Check if a permission is encoded on the card.
* *
* @param permission card * @param permission card
*
* @return true if this permission is set on the card. * @return true if this permission is set on the card.
*/ */
boolean hasPermission(ItemStack is, SecurityPermissions permission); boolean hasPermission( ItemStack is, SecurityPermissions permission );
/** /**
* remove a permission from the item stack. * remove a permission from the item stack.
* *
* @param itemStack card * @param itemStack card
* @param permission to be removed permission * @param permission to be removed permission
*/ */
void removePermission(ItemStack itemStack, SecurityPermissions permission); void removePermission( ItemStack itemStack, SecurityPermissions permission );
/** /**
* add a permission to the item stack. * add a permission to the item stack.
* *
* @param itemStack card * @param itemStack card
* @param permission to be added permission * @param permission to be added permission
*/ */
void addPermission(ItemStack itemStack, SecurityPermissions permission); void addPermission( ItemStack itemStack, SecurityPermissions permission );
/** /**
* lets you handle submission of security values on the card for custom behavior. * lets you handle submission of security values on the card for custom behavior.
* *
* @param registry security registry * @param registry security registry
* @param pr player registry * @param pr player registry
* @param is card * @param is card
*/ */
void registerPermissions(ISecurityRegistry registry, IPlayerRegistry pr, ItemStack is); void registerPermissions( ISecurityRegistry registry, IPlayerRegistry pr, ItemStack is );
} }
@@ -23,15 +23,16 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public interface IGrowableCrystal public interface IGrowableCrystal
{ {
ItemStack triggerGrowth(ItemStack is); ItemStack triggerGrowth( ItemStack is );
float getMultiplier(Block blk, Material mat);
float getMultiplier( Block blk, Material mat );
} }
@@ -23,10 +23,12 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import net.minecraft.item.ItemStack;
import java.util.Set; import java.util.Set;
import net.minecraft.item.ItemStack;
/** /**
* Lets you specify the name of the group of items this falls under. * Lets you specify the name of the group of items this falls under.
*/ */
@@ -37,8 +39,8 @@ public interface IItemGroup
* returning null, is the same as not implementing the interface at all. * returning null, is the same as not implementing the interface at all.
* *
* @param is item * @param is item
*
* @return an unlocalized string to use for the items group name. * @return an unlocalized string to use for the items group name.
*/ */
String getUnlocalizedGroupName(Set<ItemStack> otherItems, ItemStack is); String getUnlocalizedGroupName( Set<ItemStack> otherItems, ItemStack is );
} }
@@ -23,13 +23,15 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
/** /**
* Memory Card API * Memory Card API
* *
* AE's Memory Card Item Class implements this interface. * AE's Memory Card Item Class implements this interface.
*/ */
public interface IMemoryCard public interface IMemoryCard
@@ -38,7 +40,7 @@ public interface IMemoryCard
/** /**
* Configures the data stored on the memory card, the SettingsName, will be * Configures the data stored on the memory card, the SettingsName, will be
* localized when displayed. * localized when displayed.
* *
* @param is item * @param is item
* @param SettingsName * @param SettingsName
* unlocalized string that represents the tile entity. * unlocalized string that represents the tile entity.
@@ -47,7 +49,7 @@ public interface IMemoryCard
* unlocalized string displayed after the settings name, optional * unlocalized string displayed after the settings name, optional
* but can be used to add details to the card for later. * but can be used to add details to the card for later.
*/ */
void setMemoryCardContents(ItemStack is, String SettingsName, NBTTagCompound data); void setMemoryCardContents( ItemStack is, String SettingsName, NBTTagCompound data );
/** /**
* returns the settings name provided by a previous call to * returns the settings name provided by a previous call to
@@ -55,25 +57,26 @@ public interface IMemoryCard
* previous call to setMemoryCardContents. * previous call to setMemoryCardContents.
* *
* @param is item * @param is item
*
* @return setting name * @return setting name
*/ */
String getSettingsName(ItemStack is); String getSettingsName( ItemStack is );
/** /**
* @param is item * @param is item
*
* @return the NBT Data previously saved by setMemoryCardContents, or an * @return the NBT Data previously saved by setMemoryCardContents, or an
* empty NBTCompound * empty NBTCompound
*/ */
NBTTagCompound getData(ItemStack is); NBTTagCompound getData( ItemStack is );
/** /**
* notify the user of a outcome related to the memory card. * notify the user of a outcome related to the memory card.
* *
* @param player * @param player
* that used the card. * that used the card.
* @param msg * @param msg
* which message to send. * which message to send.
*/ */
void notifyUser(EntityPlayer player, MemoryCardMessages msg); void notifyUser( EntityPlayer player, MemoryCardMessages msg );
} }
@@ -23,12 +23,15 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import appeng.api.implementations.TransitionResult; import appeng.api.implementations.TransitionResult;
import appeng.api.util.WorldCoord; import appeng.api.util.WorldCoord;
/** /**
* Implemented on a {@link Item} * Implemented on a {@link Item}
*/ */
@@ -37,56 +40,62 @@ public interface ISpatialStorageCell
/** /**
* @param is spatial storage cell * @param is spatial storage cell
*
* @return true if this item is a spatial storage cell * @return true if this item is a spatial storage cell
*/ */
boolean isSpatialStorage(ItemStack is); boolean isSpatialStorage( ItemStack is );
/** /**
* @param is spatial storage cell * @param is spatial storage cell
*
* @return the maximum size of the spatial storage cell along any given axis * @return the maximum size of the spatial storage cell along any given axis
*/ */
int getMaxStoredDim(ItemStack is); int getMaxStoredDim( ItemStack is );
/** /**
* @param is spatial storage cell * @param is spatial storage cell
*
* @return the world for this cell * @return the world for this cell
*/ */
World getWorld(ItemStack is); World getWorld( ItemStack is );
/** /**
* get the currently stored size. * get the currently stored size.
* *
* @param is spatial storage cell * @param is spatial storage cell
*
* @return size of spatial * @return size of spatial
*/ */
WorldCoord getStoredSize(ItemStack is); WorldCoord getStoredSize( ItemStack is );
/** /**
* Minimum coordinates in its world for the storage cell. * Minimum coordinates in its world for the storage cell.
* *
* @param is spatial storage cell * @param is spatial storage cell
*
* @return minimum coordinate of dimension * @return minimum coordinate of dimension
*/ */
WorldCoord getMin(ItemStack is); WorldCoord getMin( ItemStack is );
/** /**
* Maximum coordinates in its world for the storage cell. * Maximum coordinates in its world for the storage cell.
* *
* @param is spatial storage cell * @param is spatial storage cell
*
* @return maximum coordinate of dimension * @return maximum coordinate of dimension
*/ */
WorldCoord getMax(ItemStack is); WorldCoord getMax( ItemStack is );
/** /**
* Perform a spatial swap with the contents of the cell, and the world. * Perform a spatial swap with the contents of the cell, and the world.
* *
* @param is spatial storage cell * @param is spatial storage cell
* @param w world of spatial * @param w world of spatial
* @param min min coord * @param min min coord
* @param max max coord * @param max max coord
* @param doTransition transition * @param doTransition transition
*
* @return result of transition * @return result of transition
*/ */
TransitionResult doSpatialTransition(ItemStack is, World w, WorldCoord min, WorldCoord max, boolean doTransition); TransitionResult doSpatialTransition( ItemStack is, World w, WorldCoord min, WorldCoord max, boolean doTransition );
} }
@@ -23,20 +23,22 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import appeng.api.storage.ICellWorkbenchItem; import appeng.api.storage.ICellWorkbenchItem;
import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IAEItemStack;
/** /**
* Any item which implements this can be treated as an IMEInventory via * Any item which implements this can be treated as an IMEInventory via
* Util.getCell / Util.isCell It automatically handles the internals and NBT * Util.getCell / Util.isCell It automatically handles the internals and NBT
* data, which is both nice, and bad for you! * data, which is both nice, and bad for you!
* *
* Good cause it means you don't have to do anything, bad because you have * Good cause it means you don't have to do anything, bad because you have
* little to no control over it. * little to no control over it.
* *
* The standard AE implementation only provides 1-63 Types * The standard AE implementation only provides 1-63 Types
*
*/ */
public interface IStorageCell extends ICellWorkbenchItem public interface IStorageCell extends ICellWorkbenchItem
{ {
@@ -46,37 +48,41 @@ public interface IStorageCell extends ICellWorkbenchItem
* The limit is ({@link Integer#MAX_VALUE} + 1) / 8. * The limit is ({@link Integer#MAX_VALUE} + 1) / 8.
* *
* @param cellItem item * @param cellItem item
*
* @return number of bytes * @return number of bytes
*/ */
int getBytes(ItemStack cellItem); int getBytes( ItemStack cellItem );
/** /**
* Determines the number of bytes used for any type included on the cell. * Determines the number of bytes used for any type included on the cell.
* *
* @param cellItem item * @param cellItem item
*
* @return number of bytes * @return number of bytes
*/ */
int BytePerType(ItemStack cellItem); int BytePerType( ItemStack cellItem );
/** /**
* Must be between 1 and 63, indicates how many types you want to store on * Must be between 1 and 63, indicates how many types you want to store on
* the item. * the item.
* *
* @param cellItem item * @param cellItem item
*
* @return number of types * @return number of types
*/ */
int getTotalTypes(ItemStack cellItem); int getTotalTypes( ItemStack cellItem );
/** /**
* Allows you to fine tune which items are allowed on a given cell, if you * Allows you to fine tune which items are allowed on a given cell, if you
* don't care, just return false; As the handler for this type of cell is * don't care, just return false; As the handler for this type of cell is
* still the default cells, the normal AE black list is also applied. * still the default cells, the normal AE black list is also applied.
* *
* @param cellItem item * @param cellItem item
* @param requestedAddition requested addition * @param requestedAddition requested addition
*
* @return true to preventAdditionOfItem * @return true to preventAdditionOfItem
*/ */
boolean isBlackListed(ItemStack cellItem, IAEItemStack requestedAddition); boolean isBlackListed( ItemStack cellItem, IAEItemStack requestedAddition );
/** /**
* Allows you to specify if this storage cell can be stored inside other * Allows you to specify if this storage cell can be stored inside other
@@ -84,8 +90,8 @@ public interface IStorageCell extends ICellWorkbenchItem
* that are not general purpose storage. * that are not general purpose storage.
* *
* @return true if the storage cell can be stored inside other storage * @return true if the storage cell can be stored inside other storage
* cells, this is generally false, except for certain situations * cells, this is generally false, except for certain situations
* such as the matter cannon. * such as the matter cannon.
*/ */
boolean storableInStorageCell(); boolean storableInStorageCell();
@@ -94,9 +100,10 @@ public interface IStorageCell extends ICellWorkbenchItem
* cell. * cell.
* *
* @param i item * @param i item
*
* @return if the ItemStack should behavior as a storage cell. * @return if the ItemStack should behavior as a storage cell.
*/ */
boolean isStorageCell(ItemStack i); boolean isStorageCell( ItemStack i );
/** /**
* @return drain in ae/t this storage cell will use. * @return drain in ae/t this storage cell will use.
@@ -23,9 +23,11 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
/** /**
* Implemented on a {@link Item} * Implemented on a {@link Item}
*/ */
@@ -38,16 +40,17 @@ public interface IStorageComponent
* the condenser. * the condenser.
* *
* @param is item * @param is item
*
* @return number of bytes * @return number of bytes
*/ */
int getBytes(ItemStack is); int getBytes( ItemStack is );
/** /**
* Just true or false for the item stack. * Just true or false for the item stack.
* *
* @param is item * @param is item
*
* @return true if item is a storage component * @return true if item is a storage component
*/ */
boolean isStorageComponent(ItemStack is); boolean isStorageComponent( ItemStack is );
} }
@@ -23,16 +23,19 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import appeng.api.config.Upgrades; import appeng.api.config.Upgrades;
public interface IUpgradeModule public interface IUpgradeModule
{ {
/** /**
* @param itemstack item with potential upgrades * @param itemstack item with potential upgrades
*
* @return null, or a valid upgrade type. * @return null, or a valid upgrade type.
*/ */
Upgrades getType(ItemStack itemstack); Upgrades getType( ItemStack itemstack );
} }
@@ -23,6 +23,7 @@
package appeng.api.implementations.items; package appeng.api.implementations.items;
/** /**
* Status Results for use with {@link IMemoryCard} * Status Results for use with {@link IMemoryCard}
*/ */
@@ -23,16 +23,19 @@
package appeng.api.implementations.parts; package appeng.api.implementations.parts;
import java.util.EnumSet;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.networking.IGridHost; import appeng.api.networking.IGridHost;
import appeng.api.parts.BusSupport; import appeng.api.parts.BusSupport;
import appeng.api.parts.IPart; import appeng.api.parts.IPart;
import appeng.api.parts.IPartHost; import appeng.api.parts.IPartHost;
import appeng.api.util.AECableType; import appeng.api.util.AECableType;
import appeng.api.util.AEColor; import appeng.api.util.AEColor;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.util.ForgeDirection;
import java.util.EnumSet;
/** /**
* Implemented on the {@link IPart}s cable objects that can be placed at {@link ForgeDirection}.UNKNOWN in * Implemented on the {@link IPart}s cable objects that can be placed at {@link ForgeDirection}.UNKNOWN in
@@ -60,25 +63,26 @@ public interface IPartCable extends IPart, IGridHost
* Change the color of the cable, this should cost a small amount of dye, or something. * Change the color of the cable, this should cost a small amount of dye, or something.
* *
* @param newColor new color * @param newColor new color
*
* @return if the color change was successful. * @return if the color change was successful.
*/ */
boolean changeColor(AEColor newColor, EntityPlayer who); boolean changeColor( AEColor newColor, EntityPlayer who );
/** /**
* Change sides on the cables node. * Change sides on the cables node.
* *
* Called by AE, do not invoke. * Called by AE, do not invoke.
* *
* @param sides sides of cable * @param sides sides of cable
*/ */
void setValidSides(EnumSet<ForgeDirection> sides); void setValidSides( EnumSet<ForgeDirection> sides );
/** /**
* used to tests if a cable connects to neighbors visually. * used to tests if a cable connects to neighbors visually.
* *
* @param side neighbor side * @param side neighbor side
*
* @return true if this side is currently connects to an external block. * @return true if this side is currently connects to an external block.
*/ */
boolean isConnected(ForgeDirection side); boolean isConnected( ForgeDirection side );
} }
@@ -23,9 +23,11 @@
package appeng.api.implementations.parts; package appeng.api.implementations.parts;
import appeng.api.networking.IGridHost; import appeng.api.networking.IGridHost;
import appeng.api.parts.IPart; import appeng.api.parts.IPart;
/** /**
* Implemented by all screen like parts provided by AE. * Implemented by all screen like parts provided by AE.
*/ */
@@ -34,8 +36,7 @@ public interface IPartMonitor extends IPart, IGridHost
/** /**
* @return if the device is online you should check this before providing * @return if the device is online you should check this before providing
* any other information. * any other information.
*/ */
boolean isPowered(); boolean isPowered();
} }
@@ -23,11 +23,13 @@
package appeng.api.implementations.parts; package appeng.api.implementations.parts;
import appeng.api.networking.IGridHost; import appeng.api.networking.IGridHost;
import appeng.api.parts.IPart; import appeng.api.parts.IPart;
import appeng.api.storage.data.IAEStack; import appeng.api.storage.data.IAEStack;
import appeng.api.util.INetworkToolAgent; import appeng.api.util.INetworkToolAgent;
/** /**
* The Storage monitor is a {@link IPart} located on the sides of a IPartHost * The Storage monitor is a {@link IPart} located on the sides of a IPartHost
*/ */
@@ -36,8 +38,8 @@ public interface IPartStorageMonitor extends IPartMonitor, IPart, IGridHost, INe
/** /**
* @return the item being displayed on the storage monitor, in AEStack Form, can be either a IAEItemStack or an * @return the item being displayed on the storage monitor, in AEStack Form, can be either a IAEItemStack or an
* IAEFluidStack the quantity is important remember to use getStackSize() on the IAEStack, and not on the * IAEFluidStack the quantity is important remember to use getStackSize() on the IAEStack, and not on the
* FluidStack/ItemStack acquired from it. * FluidStack/ItemStack acquired from it.
*/ */
IAEStack<?> getDisplayed(); IAEStack<?> getDisplayed();
@@ -45,5 +47,4 @@ public interface IPartStorageMonitor extends IPartMonitor, IPart, IGridHost, INe
* @return the current locked state of the Storage Monitor * @return the current locked state of the Storage Monitor
*/ */
boolean isLocked(); boolean isLocked();
} }
@@ -23,15 +23,17 @@
package appeng.api.implementations.tiles; package appeng.api.implementations.tiles;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.util.AEColor; import appeng.api.util.AEColor;
public interface IColorableTile public interface IColorableTile
{ {
AEColor getColor(); AEColor getColor();
boolean recolourBlock(ForgeDirection side, AEColor colour, EntityPlayer who); boolean recolourBlock( ForgeDirection side, AEColor colour, EntityPlayer who );
} }
@@ -23,8 +23,10 @@
package appeng.api.implementations.tiles; package appeng.api.implementations.tiles;
import net.minecraft.inventory.InventoryCrafting; import net.minecraft.inventory.InventoryCrafting;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.networking.crafting.ICraftingPatternDetails; import appeng.api.networking.crafting.ICraftingPatternDetails;
public interface ICraftingMachine public interface ICraftingMachine
@@ -23,9 +23,9 @@
package appeng.api.implementations.tiles; package appeng.api.implementations.tiles;
public interface ICrystalGrowthAccelerator public interface ICrystalGrowthAccelerator
{ {
boolean isPowered(); boolean isPowered();
} }
@@ -23,8 +23,10 @@
package appeng.api.implementations.tiles; package appeng.api.implementations.tiles;
import appeng.api.networking.energy.IEnergySource; import appeng.api.networking.energy.IEnergySource;
public interface IMEChest extends IChestOrDrive, ITileStorageMonitorable, IEnergySource public interface IMEChest extends IChestOrDrive, ITileStorageMonitorable, IEnergySource
{ {
@@ -23,8 +23,10 @@
package appeng.api.implementations.tiles; package appeng.api.implementations.tiles;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
public interface ISegmentedInventory public interface ISegmentedInventory
{ {
@@ -33,8 +35,8 @@ public interface ISegmentedInventory
* them a real inventories will result in duplication. * them a real inventories will result in duplication.
* *
* @param name inventory name * @param name inventory name
*
* @return inventory with inventory name * @return inventory with inventory name
*/ */
IInventory getInventoryByName(String name); IInventory getInventoryByName( String name );
} }
@@ -23,16 +23,18 @@
package appeng.api.implementations.tiles; package appeng.api.implementations.tiles;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.networking.security.BaseActionSource; import appeng.api.networking.security.BaseActionSource;
import appeng.api.storage.IStorageMonitorable; import appeng.api.storage.IStorageMonitorable;
/** /**
* Implemented on inventories that can share their inventories with other networks, best example, ME Interface. * Implemented on inventories that can share their inventories with other networks, best example, ME Interface.
*/ */
public interface ITileStorageMonitorable public interface ITileStorageMonitorable
{ {
IStorageMonitorable getMonitorable(ForgeDirection side, BaseActionSource src); IStorageMonitorable getMonitorable( ForgeDirection side, BaseActionSource src );
} }
@@ -23,8 +23,10 @@
package appeng.api.implementations.tiles; package appeng.api.implementations.tiles;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
public interface IViewCellStorage public interface IViewCellStorage
{ {
@@ -34,5 +36,4 @@ public interface IViewCellStorage
* @return inventory with at least 5 slot * @return inventory with at least 5 slot
*/ */
IInventory getViewCellStorage(); IInventory getViewCellStorage();
} }
@@ -23,10 +23,12 @@
package appeng.api.implementations.tiles; package appeng.api.implementations.tiles;
import appeng.api.networking.IGrid; import appeng.api.networking.IGrid;
import appeng.api.networking.security.IActionHost; import appeng.api.networking.security.IActionHost;
import appeng.api.util.DimensionalCoord; import appeng.api.util.DimensionalCoord;
public interface IWirelessAccessPoint extends IActionHost public interface IWirelessAccessPoint extends IActionHost
{ {
@@ -49,5 +51,4 @@ public interface IWirelessAccessPoint extends IActionHost
* @return grid of linked WAP * @return grid of linked WAP
*/ */
IGrid getGrid(); IGrid getGrid();
} }
@@ -23,6 +23,7 @@
package appeng.api.movable; package appeng.api.movable;
/** /**
* You can implement this, or use the IMovableRegistry to white list your tile, * You can implement this, or use the IMovableRegistry to white list your tile,
* please see the registry for more information. * please see the registry for more information.
@@ -42,5 +43,4 @@ public interface IMovableTile
* notification that your block was moved, called after validate. * notification that your block was moved, called after validate.
*/ */
void doneMoving(); void doneMoving();
} }

Some files were not shown because too many files have changed in this diff Show More