Compare commits

..

28 Commits

Author SHA1 Message Date
yueh c345826641 Reset the lastUsedChannels on a gridstorage change 2015-07-06 09:59:45 +02:00
yueh 9c3ca0e3d7 Splitted channeldata into two ints
Previously it did encode the current and previous used channels into the
same as well as mask it with 0xFF. Which lead to an overflow every 256
gridnodes requiring a channel. This will not happen at > 2^31

Also removes the need to bitshift them for every access.

Fixes #1510
2015-06-16 18:11:46 +02:00
thatsIch 52d62b8202 Merge pull request #1591 from thatsIch/e-update-to-bc-7
Updates BC to 7.0.9 for rv2
2015-06-14 18:19:03 +02:00
thatsIch 643f559186 Fixes #1559: Level Emitter with P:R alloy wire does not crash anymore
Required to implement a more advanced interface, if not done that way, the parts will update themselves recursively
2015-06-14 10:10:51 +02:00
thatsIch 09ed06e47f Fixes #1588: Charged Certus Quartz Ore has its own oredictionary entry 2015-06-14 10:10:36 +02:00
thatsIch 741b5bee1f Updates BC to 7.0.9
Fixes disabling of BC integration
2015-06-13 22:53:57 +02:00
Uristqwerty c1c3655db6 Cleaned up CraftGuide Integration
A NPE caused to open CraftGuide very slowly (several seconds)

Added Grinder recipes
Added Inscriber recipes

Conflicts:
	src/main/java/appeng/integration/modules/CraftGuide.java
2015-06-09 23:42:03 +02:00
yueh b05796e62b No longer invalidate the cache of MEMonitorIInventory on simulate.
Should fix #1036
2015-06-05 23:06:57 +02:00
thatsIch 200e56a509 Fixes #1536: Checking for all required BC classes 2015-06-01 20:47:04 +02:00
thatsIch 9540bbce49 Merge pull request #1499 from TheJulianJES/patch-5
Changed version from PartStack provider to rv2 (rv3)
2015-05-23 13:52:58 +02:00
TheJulianJES c6d932da04 Changed version from PartStack provider to rv2 (rv3)
because @thatsIch merged it also to rv2
2015-05-23 13:49:52 +02:00
yueh 6e7100361c Fixes #1465 faulty item comparison 2015-05-19 21:16:30 +02:00
TheJulianJES ca50ee0762 Removes default RF tooltip
Removed tab

Did something
2015-05-19 21:16:10 +02:00
TheJulianJES f00d5c297f Parts display correctly in WAILA
Register an method that can be overidden

Register the same method in the interface

New class that picks the item and displays it to WAILA

Register the new class and call the other class method

Import in PartWailaDataProvider

Fixed errors

Renamed all Display -> Stack

Stuff
2015-05-19 21:15:50 +02:00
yueh b13f5ced01 Fixes #1389 Enabled repeatable keyboard events 2015-05-19 21:14:49 +02:00
thatsIch 1c0f1ea243 Merge branch 'rv2' of https://github.com/AppliedEnergistics/Applied-Energistics-2 into rv2 2015-05-19 21:11:26 +02:00
Jeremiah Winsley b612ff47a3 Test with V6e of RotaryCraft
Conflicts:
	gradle.properties
2015-05-19 21:10:08 +02:00
Jeremiah Winsley e8a68cc531 Fixes #1384 - implement AdvancedShaftPowerReceiver for RotaryCraft powersink 2015-05-19 21:08:37 +02:00
thatsIch d9f362270b Merge pull request #1454 from TheJulianJES/doublePlayerInvInscriber
Don't add the player inventory two times (rv2)
2015-05-14 12:43:21 +02:00
TheJulianJES 37aef15a02 Don't add the player inventory two times (rv2) 2015-05-14 12:38:44 +02:00
thatsIch 2d8728f0e1 Merge pull request #1437 from TheJulianJES/GermanLang
Changed things in de_DE.lang (rv2)
2015-05-10 12:12:08 +02:00
thatsIch 3498a0902b Merge pull request #1434 from plumpudding/errorEclipse
Error eclipse for rv2 branch
2015-05-10 12:11:58 +02:00
TheJulianJES bb4b6719fe Changed things in de_DE.lang 2015-05-10 10:34:54 +02:00
TheJulianJES 34f78a7ce4 Fix warnings in eclipse
Close scanner instead of doing it with a warning

Make the scanner final..
2015-05-10 00:14:56 +02:00
thatsIch 064acc21ee Fixes #1411: Adds recipes for stairs 2015-05-08 18:36:42 +02:00
Lorenzo Dalla Costa Cervelin deeb67f07d Update pt_BR.lang 2015-05-08 17:59:55 +02:00
thatsIch 2eeaa80b59 Merge pull request #1380 from thatsIch/e-fix-javadoc
Fixed missing Javadoc parameter
2015-05-03 21:48:53 +02:00
thatsIch 7cb485aa48 Fixed missing Javadoc parameter
Reworked the instantiation a bit
Added some additional checks due to the new nonnullability.
2015-05-03 16:45:27 +02:00
1475 changed files with 108397 additions and 121329 deletions

View File

@ -1,130 +0,0 @@
---
AccessModifierOffset: 0
AlignAfterOpenBracket: BlockIndent
AlignArrayOfStructures: None
AlignConsecutiveAssignments: None
AlignConsecutiveMacros: None
AlignConsecutiveBitFields: None
AlignConsecutiveDeclarations: None
AlignEscapedNewlines: DontAlign
AlignOperands: DontAlign
AlignTrailingComments: false
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: MultiLine
AttributeMacros: []
BinPackArguments: false
BinPackParameters: false
BitFieldColonSpacing: After
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: false
BreakAfterJavaFieldAnnotations: true
#BreakArrays: false
BreakBeforeBinaryOperators: All
BreakBeforeBraces: Custom
BreakBeforeConceptDeclarations: true
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: AfterColon
BreakInheritanceList: AfterColon
BreakStringLiterals: true
ColumnLimit: 90
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: false
DeriveLineEnding: false
DerivePointerAlignment: false
DisableFormat: false # wtf
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: Always
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: false
ForEachMacros: ["BOOST_FOREACH"]
IfMacros: []
IncludeBlocks: Regroup
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: true
IndentExternBlock: Indent
IndentGotoLabels: true
IndentPPDirectives: BeforeHash
#IndentRequiresClause: false
IndentWidth: 4
IndentWrappedFunctionNames: false
#InsertBraces: false
InsertTrailingCommas: Wrapped
JavaImportGroups: ["java"]
JavaScriptQuotes: Double
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
LambdaBodyIndentation: OuterScope
MaxEmptyLinesToKeep: 1
NamespaceIndentation: All
PackConstructorInitializers: NextLine
PointerAlignment: Left
QualifierAlignment: Left
ReferenceAlignment: Left
ReflowComments: true
#RemoveSemicolon: true
#RequiresClausePosition: OwnLine
#RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Always
SortIncludes: CaseInsensitive
SortJavaStaticImport: Before
SortUsingDeclarations: true
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceAroundPointerQualifiers: After
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: false
SpaceBeforeInheritanceColon: false
SpaceBeforeParens: ControlStatementsExceptControlMacros
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesInAngles: Never
SpacesInCStyleCastParentheses: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: false
SpacesInLineCommentPrefix:
Minimum: 0
Maximum: -1
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: c++20
StatementAttributeLikeMacros: []
StatementMacros: []
TabWidth: 4
TypenameMacros: []
UseCRLF: false # wtf
UseTab: Never
WhitespaceSensitiveMacros: ["BOOST_PP_STRINGSIZE"]

15
.gitignore vendored
View File

@ -8,28 +8,17 @@
!gradlew.bat
!build.gradle
!gradle.properties
!.travis.yml
# include markdowns
!README.md
!LICENSE
!CONTRIBUTING.md
!CHANGELOG.md
!austri3Fix.md
!License.md
# include sourcecode
!src/
# include other dependencies
!lib/
# include git important files
!.gitmodules
!.gitignore
!.clang-format
# code format to reduce noise in git commits
!codeformat/
# exclude vim files
*.swp
!codeformat/

View File

@ -1,3 +0,0 @@
- Added things from AE1
- Added LogisticPipes integration
- Added config to disably type limit

152
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,152 @@
# How to contribute
We want to keep it as easy as possible to contribute changes to support
the growth and stability of AE2. There are a few guidelines that we
need contributors to follow so that we can have a chance of keeping on
top of things.
## Getting Started
### Reporting an Issue
Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue now!
1. Make sure your issue hasn't already been answered or fixed. Also think about whether your issue is a valid one before submitting it.
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues)
3. Click new issue
4. Enter your Issue's title (something that summarizes your issue), and then create a detailed description of the issue.
* To help in resolving your issues please try to include the follow if applicable:
* The problem that is happening?
* What was expected?
* How to reproduce the problem?
* Server or Single Player?
* Mod Pack using and version?
* Crash log (Please make sure to use [pastebin](http://pastebin.com/) for the log file)
* Screen shots or Pictures of the problem
5. Click `Submit New Issue`, and wait for feedback!
### Submitting Changes
* Submit an issue to the github project, assuming one does not already exist.
* Clearly describe the issue including steps to reproduce when it is a bug.
* Make sure you fill in the earliest version that you know has the issue.
* Fork the repository on GitHub
* Create a topic branch from where you want to base your work.
* This is revison branch that is under active development.
* Only target release branches if you are certain your fix must be on that
branch.
* To quickly create a topic branch based on the development branch; `git
checkout -b fix/master/my_contribution branch`. Please avoid working
directly on the `active development` branch.
* Make commits of logical units.
* Check for unnecessary whitespace with `git diff --check` before committing.
* Make sure your commit messages are in the proper format.
````
(#12345) Make the example in CONTRIBUTING imperative and concrete
Without this patch applied the example commit message in the CONTRIBUTING
document is not a concrete example. This is a problem because the
contributor is left to imagine what the commit message should look like
based on a description rather than an example. This patch fixes the
problem by making the example concrete and imperative.
The first line is a real life imperative statement with a ticket number
from our issue tracker. The body describes the behavior without the patch,
why this is a problem, and how the patch fixes the problem when applied.
````
* Always fully test your changes. If they are large engouh in scope, then fully
test AE2.
* Describing the process you used to test your changes in detail will help speed
up this process.
## Making Trivial Changes
### Documentation
For changes of a trivial nature to comments and documentation, it is not
always necessary to create a new issue. In this case, it is
appropriate to start the first line of a commit with '(doc)' instead of
a ticket number.
````
(doc) Add documentation commit example to CONTRIBUTING
There is no example for contributing a documentation commit
to the Puppet repository. This is a problem because the contributor
is left to assume how a commit of this nature may appear.
The first line is a real life imperative statement with '(doc)' in
place of what would have been the ticket number in a
non-documentation related commit. The body describes the nature of
the new documentation or comments added.
````
### Semantic Changes
In order to keep the code in a state where PRs can be safely merged, it is important to
avoid changes to syntax or changes that don't add any real value to the code base. PRs
that make changes only to syntax or "clean up" the code will be rejected. Any code clean-up
should be coordinated with the core team first.
## Style Guidelines
Applied Energistics does not follow standard Java syntax. The guidelines below illustrate
the styling guidelines used by AE.
PRs that do not conform to these standards will be rejected.
### Whitespace
#### Tabs or spaces
Configure your IDE to use tabs as padding whitespace. Ensure that there is no extra whitespace
at the end of lines, or on blank lines.
#### Pad parenthes with whitespace
````
if( item.equals( newItem )
public void DeleteItem( item )
catch( Throwable )
````
### Braces
Place opening and closing braces on a new line. Always include open and close braces, even if
the body is a single line.
````
if( item.equals( newItem )
{
}
else
{
}
public void DeleteItem( item )
{
}
````
## Submitting Changes
* Push your changes to a topic branch in your fork of the repository.
* Submit a pull request to the repository in the puppetlabs organization.
* Update your issue to mark that you have submitted code and are ready for it to be reviewed.
* Include a link to the pull request in the ticket.
* The core team looks at Pull Requests on a regular basis.
* There are many reasons why it will take a long time to pull your PR. Be patient, we'll
get to it.
* After feedback has been given we expect responses within two weeks. After two
weeks will may close the pull request if it isn't showing any activity.
# Additional Resources
* [General GitHub documentation](http://help.github.com/)
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
* #AppliedEnergistics IRC channel on esper.net

View File

@ -1,8 +1,7 @@
[![Build Status](https://travis-ci.org/xsun2001/Applied-Energistics-2-Unofficial.svg?branch=rv3-1.7.10)](https://travis-ci.org/xsun2001/Applied-Energistics-2-Unofficial)
[![Build status](https://ci.appveyor.com/api/projects/status/dkc9k9fvpajb374f?svg=true)](https://ci.appveyor.com/project/xsun2001/applied-energistics-2-unofficial)
[![GitHub release](https://img.shields.io/github/release/xsun2001/Applied-Energistics-2-Unofficial.svg?style=flat)](https://github.com/xsun2001/Applied-Energistics-2-Unofficial/releases)
<!--[![Latest Release](https://img.shields.io/github/tag/AppliedEnergistics/Applied-Energistics-2.svg?label=Latest Release)](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases) -->
[![Latest Build](https://img.shields.io/teamcity/http/ci.tsr.me/s/AppliedEnergistics_AutoHeadBuild.svg?label=Latest Build)](http://ci.tsr.me/viewType.html?buildTypeId=AppliedEnergistics_AutoHeadBuild&tab=buildTypeStatusDiv)
# Applied Energistics 2 Unofficial
# Applied Energistics 2
## Table of Contents
@ -20,36 +19,31 @@
## About
>A Mod about Matter, Energy and using them to conquer the world..
This project is to fix some bugs in Applied Energistics 2 that are no longer maintained for version 1.7.10. This project will also be discontinued after the vast majority of players have transitioned to over MC1.7.10.
A Mod about Matter, Energy and using them to conquer the world..
## Contacts
* [Website](http://ae-mod.info/) _This website will contain nothing about this unofficial version._
* [Website](http://ae-mod.info/)
* [IRC #appliedenergistics on esper.net](http://webchat.esper.net/?channels=appliedenergistics&prompt=1)
* [Original GitHub](https://github.com/xsun2001/Applied-Energistics-2-Unofficial)
* [GitHub](https://github.com/AppliedEnergistics/Applied-Energistics-2)
## License
* Applied Energistics 2 API
- (c) 2013 - 2015 AlgorithmX2 et al
- [![License](https://img.shields.io/badge/License-MIT-red.svg?style=flat-square)](http://opensource.org/licenses/MIT)
- ![License](https://img.shields.io/badge/License-MIT-red.svg?style=flat)
* Applied Energistics 2
- (c) 2013 - 2015 AlgorithmX2 et al
- [![License](https://img.shields.io/badge/License-LGPLv3-blue.svg?style=flat-square)](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
- [![License](https://img.shields.io/badge/License-LGPLv3-blue.svg?style=flat)](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
* Textures and Models
- (c) 2013 - 2015 AlgorithmX2 et al
- [![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%203.0-yellow.svg?style=flat-square)](https://creativecommons.org/licenses/by-nc-sa/3.0/)
- [![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%203.0-yellow.svg?style=flat)](https://creativecommons.org/licenses/by-nc-sa/3.0/)
* Text and Translations
- [![License](https://img.shields.io/badge/License-No%20Restriction-green.svg?style=flat-square)](https://creativecommons.org/publicdomain/zero/1.0/)
- ![License](https://img.shields.io/badge/License-No%20Restriction-green.svg?style=flat)
## Downloads
You can find its download address at [GitHub releases](https://github.com/xsun2001/Applied-Energistics-2-Unofficial/releases).
The early build will be find at [AppVeyor](https://ci.appveyor.com/project/xsun2001/applied-energistics-2-unofficial/build/artifacts).
Downloads can be found on [CurseForge](http://www.curse.com/mc-mods/minecraft/223794-applied-energistics-2) or on the [official website](http://ae-mod.info/Downloads/).
## Installation
@ -59,37 +53,25 @@ You install this mod by putting it into the `minecraft/mods/` folder. It has no
Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue now!
1. Make sure your issue has not already been answered or fixed and you are using the latest version. Also think about whether your issue is a valid one before submitting it.
2. Go to [the issues page](https://github.com/xsun2001/Applied-Energistics-2-Unofficial/issues) and click [new issue](https://github.com/xsun2001/Applied-Energistics-2-Unofficial/issues/new)
3. Enter your a title of your issue (something that summarizes your issue), and then create a detailed description of the issue.
* Do not tag it with something like `[Feature]` or `[Bug]`. When it is applicable, we will take care of it.
* The following details are required. Not including them can cause the issue to be closed.
* Forge version
* AE2 version
* Crash log, when reporting a crash (Please make sure to use [pastebin](http://pastebin.com/))
* Do not post an excerpt of what you consider important, instead:
* Post the full log
* Other mods and their version, when reporting an issue between AE and another mod
* Also consider updating these before submitting a new issue, it might be already fixed
* A detailed description of the bug or feature
* To further help in resolving your issues please try to include the follow if applicable:
* What was expected?
* How to reproduce the problem?
* This is usually a great detail and allows us to fix it way faster
* Server or Single Player?
* Screen shots or Pictures of the problem
* Mod Pack using and version?
* Keep in mind that some mods might use an outdated version of AE2
* If so you should report it to your modpack
1. Make sure your issue hasn't already been answered or fixed. Also think about whether your issue is a valid one before submitting it.
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues)
3. Click new issue
4. Enter your Issue's title (something that summarizes your issue), and then create a detailed description of the issue.
* To help in resolving your issues please try to include the follow if applicable:
* The problem that is happening?
* What was expected?
* How to reproduce the problem?
* Server or Single Player?
* Mod Pack using and version?
* Crash log (Please make sure to use [pastebin](http://pastebin.com/) for the log file)
* Screen shots or Pictures of the problem
5. Click `Submit New Issue`, and wait for feedback!
Providing as many details as possible does help us to find and resolve the issue faster and also you getting a fixed version as fast as possible.
## Building
1. Clone this repository via
- SSH `git clone git@github.com:xsun2001/Applied-Energistics-2-Unofficial.git` or
- HTTPS `git clone https://github.com/xsun2001/Applied-Energistics-2-Unofficial.git`
- SSH `git clone git@github.com:AppliedEnergistics/Applied-Energistics-2.git` or
- HTTPS `git clone https://github.com/AppliedEnergistics/Applied-Energistics-2.git`
2. Setup workspace
- Decompiled source `gradlew setupDecompWorkspace`
- Obfuscated source `gradlew setupDevWorkspace`
@ -107,8 +89,6 @@ Providing as many details as possible does help us to find and resolve the issue
Before you want to add major changes, you might want to discuss them with us first, before wasting your time.
If you are still willing to contribute to this project, you can contribute via [Pull-Request](https://help.github.com/articles/creating-a-pull-request).
The [guidelines for contributing](https://github.com/xsun2001/Applied-Energistics-2-Unofficial/blob/master/CONTRIBUTING.md) contain more detailed information about topics like the used code style and should also be considered.
Here are a few things to keep in mind that will help get your PR approved.
* A PR should be focused on content. Any PRs where the changes are only syntax will be rejected.
@ -139,14 +119,14 @@ If you are only doing single file pull requests, GitHub supports using a quick w
The API for Applied Energistics 2. It is open source to discuss changes, improve documentation, and provide better add-on support in general.
Development and standard builds can be obtained at [GitHub releases](https://github.com/xsun2001/Applied-Energistics-2-Unofficial/releases) too.
Development and standard builds can be obtained [Here](http://ae2.ae-mod.info/Downloads/).
### Maven
When compiling against the AE2 API you can use gradle dependencies, just add
dependencies {
compile "appeng:appliedenergistics2:rv_-_____-__:dev"
compile "appeng:appliedenergistics2:rv_-_____-__:dev"
}
or add the compile line to your existing dependencies task to your build.gradle
@ -165,17 +145,9 @@ An example string would be `appeng:appliedenergistics2:rv2-alpha-30:dev`
Files must be encoded as UTF-8.
### New or updated Translations
### New Translations
The language files are located in `/src/main/resources/assets/appliedenergistics2/lang/` and use the [appropriate locale code](http://minecraft.gamepedia.com/Language) as name and `.lang` as extension.
To update an translation edit the corresponding file and improve/correct the existing entry. Or copy any entries from `en_US.lang` for missing translation.
To create a new translation, copy the contents of `en_US.lang`, create a new file with appropriate filename, and translate it to your language.
Please keep in mind that we use [String format](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html) to pass additional data to the text for displaying.
Therefore you should preserve parts like `%s` or `%1$d%%`, which allows us to replace them with the correct values while you still have the option to change their order for match the rules of grammar.
This might not be possible for some languages. Should this be the case, please contact us.
You can provide any additional languages by creating a new file with the [appropriate language code](http://download1.parallels.com/SiteBuilder/Windows/docs/3.2/en_US/sitebulder-3.2-win-sdk-localization-pack-creation-guide/30801.htm).
### Final Note
@ -190,4 +162,4 @@ Thanks to
* Notch et al for Minecraft
* Lex et al for MinecraftForge
* AlgorithmX2 for AppliedEnergistics2
* all [contributors](https://github.com/xsun2001/Applied-Energistics-2-Unofficial/graphs/contributors)
* all [contributors](https://github.com/AppliedEnergistics/Applied-Energistics-2/graphs/contributors)

View File

@ -1,12 +1,28 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
apply plugin: 'forge'
apply plugin: 'maven-publish'
apply from: 'gradle/scripts/dependencies.gradle'
apply from: 'gradle/scripts/artifacts.gradle'
apply from: 'gradle/scripts/autoinstallruntime.gradle'
apply from: 'gradle/scripts/integration.gradle'
apply from: 'gradle/scripts/optional.gradle'
apply from: 'gradle/scripts/maven.gradle'
buildscript {
repositories {
@ -25,14 +41,16 @@ buildscript {
}
dependencies {
classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
changing = true
}
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
}
}
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor 7200, 'hours'
}
sourceCompatibility = JavaVersion.VERSION_1_6
targetCompatibility = JavaVersion.VERSION_1_6
version = aeversion + "-" + aechannel + "-" + aebuild
group = aegroup
@ -55,8 +73,6 @@ jar {
// specify which files are really included, can control which APIs should be in
include "appeng/**"
include "dev/**"
include "com/**"
include "assets/**"
include "mcmod.info"
include "pack.mcmeta"
@ -66,12 +82,8 @@ minecraft {
version = minecraft_version + "-" + forge_version
replaceIn "AEConfig.java"
replaceIn "package-info.java"
replace "@version@", project.version
replace "@aeversion@", aeversion
replace "@aechannel@", aechannel
replace "@aebuild@", aebuild
// used when launching minecraft in dev env
runDir = "run"
@ -86,28 +98,21 @@ sourceSets {
resources {
srcDir "src/main/resources/"
include(
"assets/appliedenergistics2/recipes/**/*.recipe",
"assets/appliedenergistics2/recipes/README.html",
"assets/appliedenergistics2/lang/*.lang",
"assets/appliedenergistics2/textures/blocks/*",
"assets/appliedenergistics2/textures/guis/*",
"assets/appliedenergistics2/textures/models/*",
"assets/appliedenergistics2/textures/items/*",
"assets/appliedenergistics2/meta/*",
"mcmod.info",
"pack.mcmeta"
)
include "assets/appliedenergistics2/recipes/*.recipe",
"assets/appliedenergistics2/lang/*.lang",
"assets/appliedenergistics2/textures/blocks/*",
"assets/appliedenergistics2/textures/guis/*",
"assets/appliedenergistics2/textures/models/*",
"assets/appliedenergistics2/textures/items/*"
}
}
}
processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
filesMatching('mcmod.info') {
expand 'version':project.version, 'mcversion':project.minecraft.version
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
expand 'version': project.version, 'mcversion': minecraft_version
include 'pack.mcmeta'
}
}
}

92
codeformat/checkstyle.xml Normal file
View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<!--
This configuration file was written by the eclipse-cs plugin configuration editor
-->
<!--
Checkstyle-Configuration: AE2
Description: none
-->
<module name="Checker">
<property name="severity" value="warning"/>
<module name="TreeWalker">
<property name="tabWidth" value="4"/>
<module name="ConstantName"/>
<module name="LocalFinalVariableName"/>
<module name="LocalVariableName"/>
<module name="MemberName"/>
<module name="MethodName"/>
<module name="PackageName"/>
<module name="ParameterName"/>
<module name="StaticVariableName"/>
<module name="TypeName"/>
<module name="AvoidStarImport"/>
<module name="IllegalImport"/>
<module name="RedundantImport"/>
<module name="UnusedImports"/>
<module name="EmptyForIteratorPad"/>
<module name="MethodParamPad"/>
<module name="NoWhitespaceAfter">
<property name="tokens" value="BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
</module>
<module name="NoWhitespaceBefore"/>
<module name="OperatorWrap"/>
<module name="ParenPad">
<property name="option" value="space"/>
</module>
<module name="TypecastParenPad">
<property name="option" value="space"/>
<property name="tokens" value="RPAREN,TYPECAST"/>
</module>
<module name="WhitespaceAfter"/>
<module name="WhitespaceAround"/>
<module name="ModifierOrder"/>
<module name="RedundantModifier"/>
<module name="AvoidNestedBlocks"/>
<module name="EmptyBlock">
<property name="severity" value="ignore"/>
<metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
</module>
<module name="LeftCurly">
<property name="option" value="nl"/>
</module>
<module name="NeedBraces"/>
<module name="RightCurly">
<property name="option" value="alone"/>
</module>
<module name="AvoidInlineConditionals">
<property name="severity" value="ignore"/>
<metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
</module>
<module name="EmptyStatement"/>
<module name="EqualsHashCode"/>
<module name="HiddenField"/>
<module name="IllegalInstantiation"/>
<module name="InnerAssignment"/>
<module name="MagicNumber"/>
<module name="MissingSwitchDefault"/>
<module name="RedundantThrows">
<property name="suppressLoadErrors" value="true"/>
</module>
<module name="SimplifyBooleanExpression"/>
<module name="SimplifyBooleanReturn"/>
<module name="FinalClass"/>
<module name="HideUtilityClassConstructor"/>
<module name="InterfaceIsType"/>
<module name="VisibilityModifier"/>
<module name="ArrayTypeStyle"/>
<module name="FinalParameters"/>
<module name="UpperEll"/>
</module>
<module name="Translation"/>
<module name="RegexpSingleline">
<property name="format" value="\s+$"/>
<property name="message" value="Line has trailing spaces."/>
</module>
<module name="Header">
<property name="severity" value="error"/>
<property name="headerFile" value="${config_loc}/copyright.txt"/>
<property name="fileExtensions" value="java"/>
</module>
</module>

View File

@ -0,0 +1,10 @@
#Organize Import Order
#Thu Oct 09 12:52:21 CEST 2014
6=
5=cpw
4=net
3=io
2=org
1=com
0=java
7=appeng

295
codeformat/consistent.xml Normal file
View File

@ -0,0 +1,295 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="12">
<profile kind="CodeFormatterProfile" name="Algo" version="12">
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="120"/>
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="160"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
</profile>
</profiles>

15
codeformat/copyright.txt Normal file
View File

@ -0,0 +1,15 @@
This file is part of Applied Energistics 2.
Copyright (c) 2013 - $today.year, AlgorithmX2, All rights reserved.
Applied Energistics 2 is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Applied Energistics 2 is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.

View File

@ -1,6 +1,6 @@
aeversion=rv3
aechannel=beta
aebuild=24
aeversion=rv2
aechannel=stable
aebuild=0
aegroup=appeng
aebasename=appliedenergistics2
@ -8,15 +8,15 @@ aebasename=appliedenergistics2
# Versions #
#########################################################
minecraft_version=1.7.10
forge_version=10.13.4.1614-1.7.10
forge_version=10.13.2.1291
#########################################################
# Installable #
#########################################################
waila_version=1.5.10
jabba_version=1.2.1a
enderstorage_version=1.4.7.36
translocator_version=1.1.2.15
enderstorage_version=1.4.7.33
translocator_version=1.1.1.14
ic2_version=2.2.717
enderio_version=2.3.0.375_beta
#cofhlib_version=1.0.1-157
@ -29,20 +29,17 @@ invtweaks_version=1.58
#########################################################
# Provided APIs #
#########################################################
fmp_version=1.2.0.347
code_chicken_lib_version=1.1.3.140
code_chicken_core_version=1.0.7.47
nei_version=1.0.5.120
fmp_version=1.1.1.324
code_chicken_lib_version=1.1.3.127
code_chicken_core_version=1.0.4.35
nei_version=1.0.4.90
bc_version=7.0.9
logisticspipes_build=128
opencomputers_version=1.5.12.26
pneumaticcraft_version=1.9.15-105
#########################################################
# Self Compiled APIs #
#########################################################
mekansim_version=8.0.1.198
rotarycraft_version=V6f
rotarycraft_version=V6e
#########################################################
@ -56,4 +53,5 @@ api_craftguide_version=1
api_immibis_version=1
api_mfr_version=1
api_railcraft_version=1
api_rblocks_version=1
api_rf_version=2

View File

@ -1,6 +1,13 @@
task sourceJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
task myJavadocs(type: Javadoc) {
source = sourceSets.api.java
include "appeng/api/**"
classpath = configurations.compile
}
task javadocJar(type: Jar, dependsOn: myJavadocs) {
classifier = 'javadoc'
from 'build/docs/javadoc/'
}
task devJar(type: Jar) {
@ -12,8 +19,6 @@ task devJar(type: Jar) {
from(sourceSets.main.output) {
include "appeng/**"
include "dev/**"
include "com/**"
include "assets/**"
include 'mcmod.info'
}
@ -34,5 +39,5 @@ task apiJar(type: Jar) {
artifacts {
archives devJar
archives apiJar
archives sourceJar
archives javadocJar
}

View File

@ -1,72 +1,58 @@
/*
* This file is part of Applied Energistics 2.
* Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Applied Energistics 2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
*/
repositories {
mavenLocal()
// ChickenBones' maven repo is unavailable now...
// maven {
// name "ChickenBones"
// url "http://chickenbones.net/maven/"
// }
maven {
name "ChickenBones"
url "http://chickenbones.net/maven/"
}
maven {
name "Mobius"
url "http://mobiusstrip.eu/maven"
metadataSources {
artifact()
}
}
maven {
name "FireBall API Depot"
url "http://dl.tsr.me/artifactory/libs-release-local"
}
maven {
name = "Player"
url = "http://maven.ic2.player.to/"
metadataSources {
artifact()
}
}
maven {
name = "Tterrag"
url = "http://maven.tterrag.com/"
metadataSources {
artifact()
}
}
maven {
name "OpenComputers Repo"
url = "http://maven.cil.li/"
metadataSources {
artifact()
}
}
maven {
name = "MM repo"
url = "http://maven.k-4u.nl/"
metadataSources {
artifact()
}
}
maven {
name = "tilera"
url = "https://maven.tilera.xyz/"
name = "RX14 Proxy"
url = "http://mvn.rx14.co.uk/repo/"
}
ivy {
name "BuildCraft"
artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]"
metadataSources {
artifact()
}
}
ivy {
url "https://ci.rs485.network/job/LogisticsPipes-0.9-mc17-bc7"
layout "pattern", {
artifact "[revision]/artifact/build/libs/[artifact]-0.9.3.[revision](-[classifier]).[ext]"
}
metadataSources {
artifact()
}
}
// CurseForge DNS for TE is not available or I am just being unlucky, code part can stay since this is applicable to any other curseforge mod though
@ -103,46 +89,37 @@ dependencies {
mods "codechicken:Translocator:${minecraft_version}-${translocator_version}:dev"
mods "net.industrial-craft:industrialcraft-2:${ic2_version}-experimental:dev"
mods "com.enderio:EnderIO:${minecraft_version}-${enderio_version}:dev"
// mods "net.mcft.copy.betterstorage:BetterStorage:${minecraft_version}-${betterstorage_version}:deobf"
mods "net.mcft.copy.betterstorage:BetterStorage:${minecraft_version}-${betterstorage_version}:deobf"
mods "inventorytweaks:InventoryTweaks:${invtweaks_version}:deobf"
mods "li.cil.oc:OpenComputers:MC${minecraft_version}-${opencomputers_version}:dev"
implementation "logisticspipes:logisticspipes:${logisticspipes_build}:dev"
// mods name: 'CoFHLib', version: "[${minecraft_version}]${cofhlib_version}-dev", ext: 'jar'
// mods name: 'CoFHCore', version: "[${minecraft_version}]${cofhcore_version}-dev", ext: 'jar'
// mods name: 'ThermalExpansion', version: "[${minecraft_version}]${texpansion_version}-dev", ext: 'jar'
// mods name: 'ThermalFoundation', version: "[${minecraft_version}]${tfoundation_version}-dev", ext: 'jar'
// compileOnly "codechicken:ForgeMultipart:${minecraft_version}-${fmp_version}:dev"
// compileOnly "codechicken:CodeChickenLib:${minecraft_version}-${code_chicken_lib_version}:dev"
// compileOnly "codechicken:CodeChickenCore:${minecraft_version}-${code_chicken_core_version}:dev"
// compileOnly "codechicken:NotEnoughItems:${minecraft_version}-${nei_version}:dev"
compileOnly files("lib/ForgeMultipart-${minecraft_version}-${fmp_version}-dev.jar")
compileOnly files("lib/CodeChickenLib-${minecraft_version}-${code_chicken_lib_version}-dev.jar")
compileOnly files("lib/CodeChickenCore-${minecraft_version}-${code_chicken_core_version}-dev.jar")
compileOnly files("lib/NotEnoughItems-${minecraft_version}-${nei_version}-dev.jar")
implementation files("lib/buildcraft-${bc_version}-dev.jar")
implementation files("lib/PneumaticCraft-${minecraft_version}-${pneumaticcraft_version}-api.jar")
compile "codechicken:ForgeMultipart:${minecraft_version}-${fmp_version}:dev"
compile "codechicken:CodeChickenLib:${minecraft_version}-${code_chicken_lib_version}:dev"
compile "codechicken:CodeChickenCore:${minecraft_version}-${code_chicken_core_version}:dev"
compile "codechicken:NotEnoughItems:${minecraft_version}-${nei_version}:dev"
compile "com.mod-buildcraft:buildcraft:${bc_version}:dev"
// provided APIs
implementation files("lib/OpenComputers-MC${minecraft_version}-${opencomputers_version}-api.jar")
implementation files("lib/industrialcraft-2-${ic2_version}-experimental-api.jar")
implementation files("lib/BetterStorage-${minecraft_version}-${betterstorage_version}-api.jar")
compile "net.industrial-craft:industrialcraft-2:${ic2_version}-experimental:api"
compile "net.mcft.copy.betterstorage:BetterStorage:${minecraft_version}-${betterstorage_version}:api"
// self compiled APIs
implementation "appeng:Waila:${waila_version}_${minecraft_version}:api"
implementation "appeng:RotaryCraft:${rotarycraft_version}:api"
implementation "appeng:mekanism:${minecraft_version}-${mekansim_version}:api"
implementation "appeng:InventoryTweaks:${invtweaks_version}:api"
compile "appeng:Waila:${waila_version}_${minecraft_version}:api"
compile "appeng:RotaryCraft:${rotarycraft_version}:api"
compile "appeng:mekanism:${minecraft_version}-${mekansim_version}:api"
compile "appeng:InventoryTweaks:${invtweaks_version}:api"
// self compiled stubs
implementation(group: 'api', name: 'coloredlightscore', version: "${api_coloredlightscore_version}")
implementation(group: 'api', name: 'craftguide', version: "${api_craftguide_version}")
implementation(group: 'api', name: 'immibis', version: "${api_immibis_version}")
implementation(group: 'api', name: 'mfr', version: "${api_mfr_version}")
implementation(group: 'api', name: 'railcraft', version: "${api_railcraft_version}")
implementation(group: 'api', name: 'rf', version: "${api_rf_version}")
compile(group: 'api', name: 'coloredlightscore', version: "${api_coloredlightscore_version}")
compile(group: 'api', name: 'craftguide', version: "${api_craftguide_version}")
compile(group: 'api', name: 'immibis', version: "${api_immibis_version}")
compile(group: 'api', name: 'mfr', version: "${api_mfr_version}")
compile(group: 'api', name: 'railcraft', version: "${api_railcraft_version}")
compile(group: 'api', name: 'rblocks', version: "${api_rblocks_version}")
compile(group: 'api', name: 'rf', version: "${api_rf_version}")
testImplementation "junit:junit:4.12"
testCompile "junit:junit:4.11"
}

View File

@ -1,28 +0,0 @@
publishing {
tasks.publish.dependsOn 'build'
publications {
mavenJava(MavenPublication) {
artifactId = "appliedenergistics2"
artifact jar
artifact devJar
artifact sourceJar
artifact apiJar
}
}
repositories {
if (project.hasProperty('mvnURL')) {
maven {
credentials {
username findProperty("mvnUsername")
password findProperty("mvnPassword")
}
url = findProperty("mvnURL")
}
}
else {
mavenLocal()
}
}
}

View File

@ -1,3 +1,7 @@
task wrapper(type: Wrapper) {
gradleVersion = "2.3"
}
// WAILA
task installWaila(type: Copy, dependsOn: "deinstallWaila") {
from { configurations.mods }
@ -99,14 +103,4 @@ task installBetterStorage(type: Copy, dependsOn: "deinstallBetterStorage") {
task deinstallBetterStorage(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*BetterStorage*.jar")
}
task installOpenComputers(type: Copy, dependsOn: "deinstallOpenComputers") {
from { configurations.mods }
include "**/*OpenComputer*dev*.jar"
into file(minecraft.runDir + "/mods")
}
task deinstallOpenComputers(type: Delete) {
delete fileTree(dir: minecraft.runDir + "/mods", include: "*OpenComputers*.jar")
}
}

Binary file not shown.

View File

@ -1,6 +1,6 @@
#Tue Sep 01 22:00:39 CEST 2015
#Sat May 02 19:28:20 CEST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-bin.zip

Binary file not shown.

View File

@ -23,52 +23,56 @@
package appeng.api;
import java.lang.reflect.Field;
import appeng.api.exceptions.CoreInaccessibleException;
/**
* Entry point for api.
* <p>
*
* Available IMCs:
*/
public enum AEApi {
;
public enum AEApi
{
;
private static final String CORE_API_FQN = "appeng.core.Api";
private static final String CORE_API_FIELD = "INSTANCE";
private static final IAppEngApi HELD_API;
private static final String CORE_API_FQN = "appeng.core.Api";
private static final String CORE_API_FIELD = "INSTANCE";
private static final IAppEngApi HELD_API;
static {
try {
final Class<?> apiClass = Class.forName(CORE_API_FQN);
final Field apiField = apiClass.getField(CORE_API_FIELD);
static
{
try
{
final Class<?> apiClass = Class.forName( CORE_API_FQN );
final Field apiField = apiClass.getField( CORE_API_FIELD );
HELD_API = (IAppEngApi) apiField.get(apiClass);
} catch (final ClassNotFoundException e) {
throw new CoreInaccessibleException(
"AE2 API tried to access the " + CORE_API_FQN
+ " class, without it being declared."
);
} catch (final NoSuchFieldException e) {
throw new CoreInaccessibleException(
"AE2 API tried to access the " + CORE_API_FIELD + " field in "
+ CORE_API_FQN + " without it being declared."
);
} catch (final IllegalAccessException e) {
throw new CoreInaccessibleException(
"AE2 API tried to access the " + CORE_API_FIELD + " field in "
+ CORE_API_FQN + " without enough access permissions."
);
}
}
HELD_API = (IAppEngApi) apiField.get( apiClass );
}
catch( ClassNotFoundException e )
{
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FQN + " class, without it being declared." );
}
catch( NoSuchFieldException e )
{
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FIELD + " field in " + CORE_API_FQN + " without it being declared." );
}
catch( IllegalAccessException e )
{
throw new CoreInaccessibleException( "AE2 API tried to access the " + CORE_API_FIELD + " field in " + CORE_API_FQN + " without enough access permissions." );
}
}
/**
* API Entry Point.
*
* @return the {@link IAppEngApi}
*/
public static IAppEngApi instance()
{
return HELD_API;
}
/**
* API Entry Point.
*
* @return the {@link IAppEngApi}
*/
public static IAppEngApi instance() {
return HELD_API;
}
}

View File

@ -23,7 +23,12 @@
package appeng.api;
import appeng.api.definitions.*;
import appeng.api.definitions.Blocks;
import appeng.api.definitions.IDefinitions;
import appeng.api.definitions.Items;
import appeng.api.definitions.Materials;
import appeng.api.definitions.Parts;
import appeng.api.exceptions.FailedConnection;
import appeng.api.features.IRegistryContainer;
import appeng.api.networking.IGridBlock;
@ -32,70 +37,78 @@ import appeng.api.networking.IGridNode;
import appeng.api.parts.IPartHelper;
import appeng.api.storage.IStorageHelper;
public interface IAppEngApi {
/**
* @return Registry Container for the numerous registries in AE2.
*/
IRegistryContainer registries();
/**
* @return helper for working with storage data types.
*/
IStorageHelper storage();
public interface IAppEngApi
{
/**
* @return helper for working with grids, and buses.
*/
IPartHelper partHelper();
/**
* @return Registry Container for the numerous registries in AE2.
*/
IRegistryContainer registries();
/**
* @return an accessible list of all of AE's Items
* @deprecated use {@link appeng.api.definitions.IDefinitions#items()}
*/
@Deprecated
Items items();
/**
* @return helper for working with storage data types.
*/
IStorageHelper storage();
/**
* @return an accessible list of all of AE's materials; materials are items
* @deprecated use {@link appeng.api.definitions.IDefinitions#materials()}
*/
@Deprecated
Materials materials();
/**
* @return helper for working with grids, and buses.
*/
IPartHelper partHelper();
/**
* @return an accessible list of all of AE's blocks
* @deprecated use {@link appeng.api.definitions.IDefinitions#blocks()}
*/
@Deprecated
Blocks blocks();
/**
* @return an accessible list of all of AE's Items
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#items()}
*/
@Deprecated
Items 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();
/**
* @return an accessible list of all of AE's materials; materials are items
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#materials()}
*/
@Deprecated
Materials materials();
/**
* @return an accessible list of all AE definitions
*/
IDefinitions definitions();
/**
* @return an accessible list of all of AE's blocks
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#blocks()}
*/
@Deprecated
Blocks blocks();
/**
* create a grid node for your {@link appeng.api.networking.IGridHost}
*
* @param block grid block
* @return grid node of block
*/
IGridNode createGridNode(IGridBlock block);
/**
* @return an accessible list of all of AE's parts, parts are items
*
* @deprecated use {@link appeng.api.definitions.IDefinitions#parts()}
*/
@Deprecated
Parts parts();
/**
* create a connection between two {@link appeng.api.networking.IGridNode}
*
* @param a to be connected gridnode
* @param b to be connected gridnode
* @throws appeng.api.exceptions.FailedConnection
*/
IGridConnection createGridConnection(IGridNode a, IGridNode b)
throws FailedConnection;
/**
* @return an accessible list of all AE definitions
*/
IDefinitions definitions();
/**
* 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 b to be connected gridnode
*
* @throws appeng.api.exceptions.FailedConnection
*/
IGridConnection createGridConnection( IGridNode a, IGridNode b ) throws FailedConnection;
}

View File

@ -23,45 +23,51 @@
package appeng.api.config;
public enum AccessRestriction {
NO_ACCESS(0),
READ(1),
WRITE(2),
READ_WRITE(3);
private final int permissionBit;
public enum AccessRestriction
{
NO_ACCESS( 0 ), READ( 1 ), WRITE( 2 ), READ_WRITE( 3 );
AccessRestriction(final int v) {
this.permissionBit = v;
}
private final int permissionBit;
public boolean hasPermission(final AccessRestriction ar) {
return (this.permissionBit & ar.permissionBit) == ar.permissionBit;
}
AccessRestriction( int v )
{
this.permissionBit = v;
}
public AccessRestriction restrictPermissions(final AccessRestriction ar) {
return this.getPermByBit(this.permissionBit & ar.permissionBit);
}
public boolean hasPermission( AccessRestriction ar )
{
return ( this.permissionBit & ar.permissionBit ) == ar.permissionBit;
}
private AccessRestriction getPermByBit(final int bit) {
switch (bit) {
default:
case 0:
return NO_ACCESS;
case 1:
return READ;
case 2:
return WRITE;
case 3:
return READ_WRITE;
}
}
public AccessRestriction restrictPermissions( AccessRestriction ar )
{
return this.getPermByBit( this.permissionBit & ar.permissionBit );
}
public AccessRestriction addPermissions(final AccessRestriction ar) {
return this.getPermByBit(this.permissionBit | ar.permissionBit);
}
private AccessRestriction getPermByBit( int bit )
{
switch( bit )
{
default:
case 0:
return NO_ACCESS;
case 1:
return READ;
case 2:
return WRITE;
case 3:
return READ_WRITE;
}
}
public AccessRestriction removePermissions(final AccessRestriction ar) {
return this.getPermByBit(this.permissionBit & (~ar.permissionBit));
}
public AccessRestriction addPermissions( AccessRestriction ar )
{
return this.getPermByBit( this.permissionBit | ar.permissionBit );
}
public AccessRestriction removePermissions( AccessRestriction ar )
{
return this.getPermByBit( this.permissionBit & ( ~ar.permissionBit ) );
}
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum ActionItems { WRENCH, CLOSE, STASH, ENCODE, SUBSTITUTION }
public enum ActionItems
{
WRENCH, CLOSE, STASH, ENCODE, SUBSTITUTION
}

View File

@ -23,14 +23,16 @@
package appeng.api.config;
public enum Actionable {
/**
* Perform the intended action.
*/
MODULATE,
/**
* Pretend to perform the action.
*/
SIMULATE
public enum Actionable
{
/**
* Perform the intended action.
*/
MODULATE,
/**
* Pretend to perform the action.
*/
SIMULATE
}

View File

@ -23,12 +23,16 @@
package appeng.api.config;
public enum CondenserOutput {
TRASH, // 0
MATTER_BALLS, // 256
public enum CondenserOutput
{
SINGULARITY; // 250,000
TRASH, // 0
MATTER_BALLS, // 256
SINGULARITY; // 250,000
public int requiredPower = 0;
public int requiredPower = 0;
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum CopyMode { CLEAR_ON_REMOVE, KEEP_ON_REMOVE }
public enum CopyMode
{
CLEAR_ON_REMOVE, KEEP_ON_REMOVE
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum FullnessMode { EMPTY, HALF, FULL }
public enum FullnessMode
{
EMPTY, HALF, FULL
}

View File

@ -23,23 +23,24 @@
package appeng.api.config;
public enum FuzzyMode {
// 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);
public final float breakPoint;
public final float percentage;
public enum FuzzyMode
{
// 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 );
FuzzyMode(final float p) {
this.percentage = p;
this.breakPoint = p / 100.0f;
}
public final float breakPoint;
public final float percentage;
FuzzyMode( float p )
{
this.percentage = p;
this.breakPoint = p / 100.0f;
}
public int calculateBreakPoint( int maxDamage )
{
return (int) ( ( this.percentage * maxDamage ) / 100.0f );
}
public int calculateBreakPoint(final int maxDamage) {
return (int) ((this.percentage * maxDamage) / 100.0f);
}
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum IncludeExclude { WHITELIST, BLACKLIST }
public enum IncludeExclude
{
WHITELIST, BLACKLIST
}

View File

@ -1,26 +0,0 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2015 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.config;
public enum ItemSubstitution { ENABLED, DISABLED }

View File

@ -23,10 +23,12 @@
package appeng.api.config;
public enum LevelEmitterMode {
STORED_AMOUNT,
public enum LevelEmitterMode
{
STORABLE_AMOUNT
STORED_AMOUNT,
STORABLE_AMOUNT
}

View File

@ -23,10 +23,12 @@
package appeng.api.config;
public enum LevelType {
ITEM_LEVEL,
public enum LevelType
{
ENERGY_LEVEL
ITEM_LEVEL,
ENERGY_LEVEL
}

View File

@ -23,6 +23,8 @@
package appeng.api.config;
public enum ModSettings {
public enum ModSettings
{
}

View File

@ -23,12 +23,14 @@
package appeng.api.config;
public enum NetworkEmitterMode {
POWER_LEVEL,
public enum NetworkEmitterMode
{
BOOTING,
POWER_LEVEL,
CHANNEL_ERROR
BOOTING,
CHANNEL_ERROR
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum OperationMode { FILL, EMPTY }
public enum OperationMode
{
FILL, EMPTY
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum OutputMode { EXPORT_ONLY, EXPORT_OR_CRAFT, CRAFT_ONLY }
public enum OutputMode
{
EXPORT_ONLY, EXPORT_OR_CRAFT, CRAFT_ONLY
}

View File

@ -23,20 +23,23 @@
package appeng.api.config;
public enum PowerMultiplier {
ONE,
CONFIG;
/**
* please do not edit this value, it is set when AE loads its config files.
*/
public double multiplier = 1.0;
public enum PowerMultiplier
{
ONE, CONFIG;
public double multiply(final double in) {
return in * this.multiplier;
}
/**
* please do not edit this value, it is set when AE loads its config files.
*/
public double multiplier = 1.0;
public double divide(final double in) {
return in / this.multiplier;
}
public double multiply( double in )
{
return in * this.multiplier;
}
public double divide( double in )
{
return in / this.multiplier;
}
}

View File

@ -23,40 +23,44 @@
package appeng.api.config;
public enum PowerUnits {
AE("gui.appliedenergistics2.units.appliedenergstics"), // Native Units - AE Energy
EU("gui.appliedenergistics2.units.ic2"), // IndustrialCraft 2 - Energy Units
WA("gui.appliedenergistics2.units.rotarycraft"), // RotaryCraft - Watts
RF("gui.appliedenergistics2.units.thermalexpansion"
), // ThermalExpansion - Redstone Flux
MK("gui.appliedenergistics2.units.mekanism"); // Mekanism - Joules
/**
* unlocalized name for the power unit.
*/
public final String unlocalizedName;
/**
* please do not edit this value, it is set when AE loads its config files.
*/
public double conversionRatio = 1.0;
public enum PowerUnits
{
AE( "gui.appliedenergistics2.units.appliedenergstics" ), // Native Units - AE Energy
EU( "gui.appliedenergistics2.units.ic2" ), // IndustrialCraft 2 - Energy Units
WA( "gui.appliedenergistics2.units.rotarycraft" ), // RotaryCraft - Watts
RF( "gui.appliedenergistics2.units.thermalexpansion" ), // ThermalExpansion - Redstone Flux
MK( "gui.appliedenergistics2.units.mekanism" ); // Mekanism - Joules
PowerUnits(final String un) {
this.unlocalizedName = un;
}
/**
* unlocalized name for the power unit.
*/
public final String unlocalizedName;
/**
* please do not edit this value, it is set when AE loads its config files.
*/
public double conversionRatio = 1.0;
PowerUnits( String un )
{
this.unlocalizedName = un;
}
/**
* do power conversion using AE's conversion rates.
*
* Example: PowerUnits.EU.convertTo( PowerUnits.AE, 32 );
*
* will normally returns 64, as it will convert the EU, to AE with AE's power settings.
*
* @param target target power unit
* @param value value
*
* @return value converted to target units, from this units.
*/
public double convertTo( PowerUnits target, double value )
{
return ( value * this.conversionRatio ) / target.conversionRatio;
}
/**
* do power conversion using AE's conversion rates.
* <p>
* Example: PowerUnits.EU.convertTo( PowerUnits.AE, 32 );
* <p>
* will normally returns 64, as it will convert the EU, to AE with AE's power
* settings.
*
* @param target target power unit
* @param value value
* @return value converted to target units, from this units.
*/
public double convertTo(final PowerUnits target, final double value) {
return (value * this.conversionRatio) / target.conversionRatio;
}
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum RedstoneMode { IGNORE, LOW_SIGNAL, HIGH_SIGNAL, SIGNAL_PULSE }
public enum RedstoneMode
{
IGNORE, LOW_SIGNAL, HIGH_SIGNAL, SIGNAL_PULSE
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum RelativeDirection { LEFT, RIGHT, UP, DOW }
public enum RelativeDirection
{
LEFT, RIGHT, UP, DOW
}

View File

@ -1,26 +0,0 @@
/*
* 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.config;
public enum SchedulingMode { DEFAULT, ROUNDROBIN, RANDOM }

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum SearchBoxMode { AUTOSEARCH, MANUAL_SEARCH, NEI_AUTOSEARCH, NEI_MANUAL_SEARCH }
public enum SearchBoxMode
{
AUTOSEARCH, MANUAL_SEARCH, NEI_AUTOSEARCH, NEI_MANUAL_SEARCH
}

View File

@ -23,47 +23,49 @@
package appeng.api.config;
/**
* Represent the security systems basic permissions, these are not for anti-griefing, they
* are part of the mod as a gameplay feature.
* Represent the security systems basic permissions, these are not for anti-griefing, they are part of the mod as a
* gameplay feature.
*/
public enum SecurityPermissions {
/**
* required to insert items into the network via terminal ( also used for machines
* based on the owner of the network, which is determined by its Security Block. )
*/
INJECT,
public enum SecurityPermissions
{
/**
* required to insert items into the network via terminal ( also used for machines based on the owner of the
* network, which is determined by its Security Block. )
*/
INJECT,
/**
* required to extract items from the network via terminal ( also used for machines
* based on the owner of the network, which is determined by its Security Block. )
*/
EXTRACT,
/**
* required to extract items from the network via terminal ( also used for machines based on the owner of the
* network, which is determined by its Security Block. )
*/
EXTRACT,
/**
* required to request crafting from the network via terminal.
*/
CRAFT,
/**
* required to request crafting from the network via terminal.
*/
CRAFT,
/**
* required to modify automation, and make modifications to the networks physical
* layout.
*/
BUILD,
/**
* required to modify automation, and make modifications to the networks physical layout.
*/
BUILD,
/**
* required to modify the security blocks settings.
*/
SECURITY;
/**
* required to modify the security blocks settings.
*/
SECURITY;
private final String unlocalizedName
= "gui.appliedenergistics2.security." + this.name().toLowerCase();
private final String unlocalizedName = "gui.appliedenergistics2.security." + this.name().toLowerCase();
public String getUnlocalizedName() {
return this.unlocalizedName + ".name";
}
public String getUnlocalizedName()
{
return this.unlocalizedName + ".name";
}
public String getUnlocalizedTip() {
return this.unlocalizedName + ".tip";
}
public String getUnlocalizedTip()
{
return this.unlocalizedName + ".tip";
}
}

View File

@ -23,63 +23,54 @@
package appeng.api.config;
import java.util.EnumSet;
import javax.annotation.Nonnull;
public enum Settings {
LEVEL_EMITTER_MODE(EnumSet.allOf(LevelEmitterMode.class)),
REDSTONE_EMITTER(EnumSet.of(RedstoneMode.HIGH_SIGNAL, RedstoneMode.LOW_SIGNAL)),
REDSTONE_CONTROLLED(EnumSet.allOf(RedstoneMode.class)),
public enum Settings
{
LEVEL_EMITTER_MODE( EnumSet.allOf( LevelEmitterMode.class ) ),
CONDENSER_OUTPUT(EnumSet.allOf(CondenserOutput.class)),
REDSTONE_EMITTER( EnumSet.of( RedstoneMode.HIGH_SIGNAL, RedstoneMode.LOW_SIGNAL ) ), REDSTONE_CONTROLLED( EnumSet.allOf( RedstoneMode.class ) ),
POWER_UNITS(EnumSet.allOf(PowerUnits.class)),
ACCESS(EnumSet.of(
AccessRestriction.READ_WRITE, AccessRestriction.READ, AccessRestriction.WRITE
)),
CONDENSER_OUTPUT( EnumSet.allOf( CondenserOutput.class ) ),
SORT_DIRECTION(EnumSet.allOf(SortDir.class)),
SORT_BY(EnumSet.allOf(SortOrder.class)),
POWER_UNITS( EnumSet.allOf( PowerUnits.class ) ), ACCESS( EnumSet.of( AccessRestriction.READ_WRITE, AccessRestriction.READ, AccessRestriction.WRITE ) ),
SEARCH_TOOLTIPS(EnumSet.of(YesNo.YES, YesNo.NO)),
VIEW_MODE(EnumSet.allOf(ViewItems.class)),
SEARCH_MODE(EnumSet.allOf(SearchBoxMode.class)),
SORT_DIRECTION( EnumSet.allOf( SortDir.class ) ), SORT_BY( EnumSet.allOf( SortOrder.class ) ),
ACTIONS(EnumSet.allOf(ActionItems.class)),
IO_DIRECTION(EnumSet.of(RelativeDirection.LEFT, RelativeDirection.RIGHT)),
SEARCH_TOOLTIPS( EnumSet.of( YesNo.YES, YesNo.NO ) ), VIEW_MODE( EnumSet.allOf( ViewItems.class ) ), SEARCH_MODE( EnumSet.allOf( SearchBoxMode.class ) ),
BLOCK(EnumSet.of(YesNo.YES, YesNo.NO)),
OPERATION_MODE(EnumSet.allOf(OperationMode.class)),
ACTIONS( EnumSet.allOf( ActionItems.class ) ), IO_DIRECTION( EnumSet.of( RelativeDirection.LEFT, RelativeDirection.RIGHT ) ),
FULLNESS_MODE(EnumSet.allOf(FullnessMode.class)),
CRAFT_ONLY(EnumSet.of(YesNo.YES, YesNo.NO)),
BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) ), OPERATION_MODE( EnumSet.allOf( OperationMode.class ) ),
FUZZY_MODE(EnumSet.allOf(FuzzyMode.class)),
LEVEL_TYPE(EnumSet.allOf(LevelType.class)),
FULLNESS_MODE( EnumSet.allOf( FullnessMode.class ) ), CRAFT_ONLY( EnumSet.of( YesNo.YES, YesNo.NO ) ),
TERMINAL_STYLE(EnumSet.of(TerminalStyle.TALL, TerminalStyle.SMALL)),
COPY_MODE(EnumSet.allOf(CopyMode.class)),
FUZZY_MODE( EnumSet.allOf( FuzzyMode.class ) ), LEVEL_TYPE( EnumSet.allOf( LevelType.class ) ),
INTERFACE_TERMINAL(EnumSet.of(YesNo.YES, YesNo.NO)),
CRAFT_VIA_REDSTONE(EnumSet.of(YesNo.YES, YesNo.NO)),
TERMINAL_STYLE( EnumSet.of( TerminalStyle.TALL, TerminalStyle.SMALL ) ), COPY_MODE( EnumSet.allOf( CopyMode.class ) ),
STORAGE_FILTER(EnumSet.allOf(StorageFilter.class)),
PLACE_BLOCK(EnumSet.of(YesNo.YES, YesNo.NO)),
INTERFACE_TERMINAL( EnumSet.of( YesNo.YES, YesNo.NO ) ), CRAFT_VIA_REDSTONE( EnumSet.of( YesNo.YES, YesNo.NO ) ),
SCHEDULING_MODE(EnumSet.allOf(SchedulingMode.class));
STORAGE_FILTER( EnumSet.allOf( StorageFilter.class ) ), PLACE_BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) );
private final EnumSet<? extends Enum<?>> values;
private final EnumSet<? extends Enum<?>> values;
Settings(@Nonnull final EnumSet<? extends Enum<?>> possibleOptions) {
if (possibleOptions.isEmpty()) {
throw new IllegalArgumentException("Tried to instantiate an empty setting.");
}
Settings( @Nonnull EnumSet<? extends Enum<?>> possibleOptions )
{
if ( possibleOptions.isEmpty() )
{
throw new IllegalArgumentException( "Tried to instantiate an empty setting." );
}
this.values = possibleOptions;
}
this.values = possibleOptions;
}
public EnumSet<? extends Enum<?>> getPossibleValues()
{
return this.values;
}
public EnumSet<? extends Enum<?>> getPossibleValues() {
return this.values;
}
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum SortDir { ASCENDING, DESCENDING }
public enum SortDir
{
ASCENDING, DESCENDING
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum SortOrder { NAME, AMOUNT, MOD, INVTWEAKS }
public enum SortOrder
{
NAME, AMOUNT, MOD, INVTWEAKS
}

View File

@ -23,10 +23,12 @@
package appeng.api.config;
public enum StorageFilter {
NONE,
public enum StorageFilter
{
EXTRACTABLE_ONLY
NONE,
EXTRACTABLE_ONLY
}

View File

@ -23,12 +23,14 @@
package appeng.api.config;
public enum TerminalStyle {
TALL,
public enum TerminalStyle
{
FULL,
TALL,
SMALL
FULL,
SMALL
}

View File

@ -23,15 +23,16 @@
package appeng.api.config;
public enum TunnelType {
ME, // Network Tunnel
IC2_POWER, // EU Tunnel
RF_POWER, // RF Tunnel
REDSTONE, // Redstone Tunnel
FLUID, // Fluid Tunnel
ITEM, // Item Tunnel
LIGHT, // Light Tunnel
BUNDLED_REDSTONE, // Bundled Redstone Tunnel
COMPUTER_MESSAGE, // Computer Message Tunnel
PRESSURE // PneumaticCraft Tunnel
public enum TunnelType
{
ME, // Network Tunnel
IC2_POWER, // EU Tunnel
RF_POWER, // RF Tunnel
REDSTONE, // Redstone Tunnel
FLUID, // Fluid Tunnel
ITEM, // Item Tunnel
LIGHT, // Light Tunnel
BUNDLED_REDSTONE, // Bundled Redstone Tunnel
COMPUTER_MESSAGE // Computer Message Tunnel
}

View File

@ -23,97 +23,108 @@
package appeng.api.config;
import java.util.HashMap;
import java.util.Map;
import appeng.api.definitions.IItemDefinition;
import appeng.api.util.AEItemDefinition;
import com.google.common.base.Optional;
import net.minecraft.item.ItemStack;
public enum Upgrades {
/**
* Gold Tier Upgrades.
*/
CAPACITY(0),
REDSTONE(0),
CRAFTING(0),
import com.google.common.base.Optional;
/**
* Diamond Tier Upgrades.
*/
FUZZY(1),
SPEED(1),
INVERTER(1);
import appeng.api.definitions.IItemDefinition;
import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link Upgrades#getTier()}
*/
@Deprecated
public final int tier;
/**
* @deprecated use {@link Upgrades#getSupported()}
*/
@Deprecated
private final Map<ItemStack, Integer> supportedMax
= new HashMap<ItemStack, Integer>();
public enum Upgrades
{
/**
* Gold Tier Upgrades.
*/
CAPACITY( 0 ), REDSTONE( 0 ), CRAFTING( 0 ),
Upgrades(final int tier) {
this.tier = tier;
}
/**
* Diamond Tier Upgrades.
*/
FUZZY( 1 ), SPEED( 1 ), INVERTER( 1 );
/**
* @return list of Items/Blocks that support this upgrade, and how many it supports.
*/
public Map<ItemStack, Integer> getSupported() {
return this.supportedMax;
}
/**
* @deprecated use {@link Upgrades#getTier()}
*/
@Deprecated
public final int tier;
/**
* 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
*/
public void registerItem(final IItemDefinition item, final int maxSupported) {
final Optional<ItemStack> maybeStack = item.maybeStack(1);
for (final ItemStack stack : maybeStack.asSet()) {
this.registerItem(stack, maxSupported);
}
}
/**
* @deprecated use {@link Upgrades#getSupported()}
*/
@Deprecated
private final Map<ItemStack, Integer> supportedMax = new HashMap<ItemStack, Integer>();
/**
* 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(final ItemStack stack, final int maxSupported) {
if (stack != null) {
this.supportedMax.put(stack, maxSupported);
}
}
Upgrades( int tier )
{
this.tier = tier;
}
/**
* 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(final AEItemDefinition item, final int maxSupported) {
if (item != null) {
final ItemStack stack = item.stack(1);
/**
* @return list of Items/Blocks that support this upgrade, and how many it supports.
*/
public Map<ItemStack, Integer> getSupported()
{
return this.supportedMax;
}
if (stack != null) {
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
*/
public void registerItem( IItemDefinition item, int maxSupported )
{
final Optional<ItemStack> maybeStack = item.maybeStack( 1 );
for( ItemStack stack : maybeStack.asSet() )
{
this.registerItem( stack, maxSupported );
}
}
public int getTier() {
return this.tier;
}
/**
* 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 )
{
if( stack != null )
{
this.supportedMax.put( 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 );
}
}
}
public int getTier()
{
return this.tier;
}
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum ViewItems { ALL, STORED, CRAFTABLE }
public enum ViewItems
{
ALL, STORED, CRAFTABLE
}

View File

@ -23,4 +23,8 @@
package appeng.api.config;
public enum YesNo { YES, NO, UNDECIDED }
public enum YesNo
{
YES, NO, UNDECIDED
}

View File

@ -23,106 +23,109 @@
package appeng.api.definitions;
import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IBlocks} now
*/
@Deprecated
public class Blocks {
public AEItemDefinition blockQuartzOre;
public class Blocks
{
public AEItemDefinition blockQuartzOre;
public AEItemDefinition blockQuartzOreCharged;
public AEItemDefinition blockQuartzOreCharged;
public AEItemDefinition blockMatrixFrame;
public AEItemDefinition blockMatrixFrame;
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;
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;
public AEItemDefinition blockQuantumRing;
public AEItemDefinition blockQuantumRing;
public AEItemDefinition blockQuantumLink;
public AEItemDefinition blockQuantumLink;
public AEItemDefinition blockSpatialPylon;
public AEItemDefinition blockSpatialPylon;
public AEItemDefinition blockSpatialIOPort;
public AEItemDefinition blockSpatialIOPort;
public AEItemDefinition blockMultiPart;
public AEItemDefinition blockMultiPart;
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;
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;
}

View File

@ -1,29 +1,34 @@
package appeng.api.definitions;
import com.google.common.base.Optional;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraft.world.IBlockAccess;
public interface IBlockDefinition extends IItemDefinition {
/**
* @return the {@link Block} implementation if applicable
*/
Optional<Block> maybeBlock();
import com.google.common.base.Optional;
/**
* @return the {@link ItemBlock} implementation if applicable
*/
Optional<ItemBlock> maybeItemBlock();
/**
* 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);
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();
/**
* 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 );
}

View File

@ -23,162 +23,143 @@
package appeng.api.definitions;
/**
* A list of all blocks in AE
*/
public interface IBlocks {
/*
* world gen
*/
IBlockDefinition quartzOre();
public interface IBlocks
{
/*
* world gen
*/
IBlockDefinition quartzOre();
IBlockDefinition quartzOreCharged();
IBlockDefinition quartzOreCharged();
IBlockDefinition matrixFrame();
IBlockDefinition matrixFrame();
/*
* decorative
*/
IBlockDefinition quartz();
/*
* decorative
*/
IBlockDefinition quartz();
IBlockDefinition quartzPillar();
IBlockDefinition quartzPillar();
IBlockDefinition quartzChiseled();
IBlockDefinition quartzChiseled();
IBlockDefinition quartzGlass();
IBlockDefinition quartzGlass();
IBlockDefinition quartzVibrantGlass();
IBlockDefinition quartzVibrantGlass();
IBlockDefinition quartzTorch();
IBlockDefinition quartzTorch();
IBlockDefinition fluix();
IBlockDefinition fluix();
IBlockDefinition skyStone();
IBlockDefinition skyStone();
IBlockDefinition skyChest();
IBlockDefinition skyChest();
IBlockDefinition skyCompass();
IBlockDefinition skyCompass();
IBlockDefinition skyStoneStair();
IBlockDefinition skyStoneStair();
IBlockDefinition skyStoneBlockStair();
IBlockDefinition skyStoneBlockStair();
IBlockDefinition skyStoneBrickStair();
IBlockDefinition skyStoneBrickStair();
IBlockDefinition skyStoneSmallBrickStair();
IBlockDefinition skyStoneSmallBrickStair();
IBlockDefinition fluixStair();
IBlockDefinition fluixStair();
IBlockDefinition quartzStair();
IBlockDefinition quartzStair();
IBlockDefinition chiseledQuartzStair();
IBlockDefinition chiseledQuartzStair();
IBlockDefinition quartzPillarStair();
IBlockDefinition quartzPillarStair();
IBlockDefinition skyStoneSlab();
/*
* misc
*/
ITileDefinition grindStone();
IBlockDefinition skyStoneBlockSlab();
ITileDefinition crankHandle();
IBlockDefinition skyStoneBrickSlab();
ITileDefinition inscriber();
IBlockDefinition skyStoneSmallBrickSlab();
ITileDefinition wireless();
IBlockDefinition fluixSlab();
ITileDefinition charger();
IBlockDefinition quartzSlab();
ITileDefinition tinyTNT();
IBlockDefinition chiseledQuartzSlab();
ITileDefinition security();
IBlockDefinition quartzPillarSlab();
/*
* quantum Network Bridge
*/
ITileDefinition quantumRing();
/*
* misc
*/
ITileDefinition grindStone();
ITileDefinition quantumLink();
ITileDefinition crankHandle();
/*
* spatial iO
*/
ITileDefinition spatialPylon();
ITileDefinition inscriber();
ITileDefinition spatialIOPort();
ITileDefinition wireless();
/*
* Bus / cables
*/
ITileDefinition multiPart();
ITileDefinition charger();
/*
* machines
*/
ITileDefinition controller();
IBlockDefinition tinyTNT();
ITileDefinition drive();
ITileDefinition security();
ITileDefinition chest();
/*
* quantum Network Bridge
*/
ITileDefinition quantumRing();
ITileDefinition iface();
ITileDefinition quantumLink();
ITileDefinition cellWorkbench();
/*
* spatial iO
*/
ITileDefinition spatialPylon();
ITileDefinition iOPort();
ITileDefinition spatialIOPort();
ITileDefinition condenser();
/*
* Bus / cables
*/
ITileDefinition multiPart();
ITileDefinition energyAcceptor();
/*
* machines
*/
ITileDefinition controller();
ITileDefinition vibrationChamber();
ITileDefinition drive();
ITileDefinition quartzGrowthAccelerator();
ITileDefinition chest();
ITileDefinition energyCell();
ITileDefinition iface();
ITileDefinition energyCellDense();
ITileDefinition cellWorkbench();
ITileDefinition energyCellCreative();
ITileDefinition iOPort();
// rv1
ITileDefinition craftingUnit();
ITileDefinition condenser();
ITileDefinition craftingAccelerator();
ITileDefinition energyAcceptor();
ITileDefinition craftingStorage1k();
ITileDefinition vibrationChamber();
ITileDefinition craftingStorage4k();
ITileDefinition quartzGrowthAccelerator();
ITileDefinition craftingStorage16k();
ITileDefinition energyCell();
ITileDefinition craftingStorage64k();
ITileDefinition energyCellDense();
ITileDefinition craftingMonitor();
ITileDefinition energyCellCreative();
ITileDefinition molecularAssembler();
/*
* legacy
*/
ITileDefinition legacyController();
ITileDefinition lightDetector();
// rv1
ITileDefinition craftingUnit();
ITileDefinition craftingAccelerator();
ITileDefinition craftingStorage1k();
ITileDefinition craftingStorage4k();
ITileDefinition craftingStorage16k();
ITileDefinition craftingStorage64k();
ITileDefinition craftingMonitor();
ITileDefinition molecularAssembler();
ITileDefinition lightDetector();
ITileDefinition paint();
ITileDefinition paint();
}

View File

@ -1,8 +1,10 @@
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
*
@ -10,26 +12,29 @@ import net.minecraft.world.IBlockAccess;
* @version rv2
* @since rv2
*/
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);
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.
* @deprecated moved to {@link IBlockDefinition}. Is removed in the next major release
* rv3
*/
@Deprecated
boolean isSameAs(IBlockAccess world, int x, int y, int z);
/**
* 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.
*
* @deprecated moved to {@link IBlockDefinition}. Is removed in the next major release rv3
*/
@Deprecated
boolean isSameAs( IBlockAccess world, int x, int y, int z );
}

View File

@ -23,27 +23,29 @@
package appeng.api.definitions;
/**
* All definitions in AE
*/
public interface IDefinitions {
/**
* @return an accessible list of all of AE's blocks
*/
IBlocks blocks();
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 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 materials; materials are items
*/
IMaterials materials();
/**
* @return an accessible list of all of AE's parts, parts are items
*/
IParts parts();
/**
* @return an accessible list of all of AE's parts, parts are items
*/
IParts parts();
}

View File

@ -1,45 +1,21 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 - 2015 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 com.google.common.base.Optional;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public interface IItemDefinition extends IComparableDefinition {
/**
* @return the {@link Item} Implementation if applicable
*/
Optional<Item> maybeItem();
import com.google.common.base.Optional;
/**
* @return an {@link ItemStack} with specified quantity of this item.
*/
Optional<ItemStack> maybeStack(int stackSize);
/**
* @return <tt>true</tt> if definition is enabled
*/
boolean isEnabled();
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 );
}

View File

@ -23,84 +23,87 @@
package appeng.api.definitions;
import appeng.api.util.AEColoredItemDefinition;
/**
* A list of all items in AE
*/
public interface IItems {
IItemDefinition certusQuartzAxe();
public interface IItems
{
IItemDefinition certusQuartzAxe();
IItemDefinition certusQuartzHoe();
IItemDefinition certusQuartzHoe();
IItemDefinition certusQuartzShovel();
IItemDefinition certusQuartzShovel();
IItemDefinition certusQuartzPick();
IItemDefinition certusQuartzPick();
IItemDefinition certusQuartzSword();
IItemDefinition certusQuartzSword();
IItemDefinition certusQuartzWrench();
IItemDefinition certusQuartzWrench();
IItemDefinition certusQuartzKnife();
IItemDefinition certusQuartzKnife();
IItemDefinition netherQuartzAxe();
IItemDefinition netherQuartzAxe();
IItemDefinition netherQuartzHoe();
IItemDefinition netherQuartzHoe();
IItemDefinition netherQuartzShovel();
IItemDefinition netherQuartzShovel();
IItemDefinition netherQuartzPick();
IItemDefinition netherQuartzPick();
IItemDefinition netherQuartzSword();
IItemDefinition netherQuartzSword();
IItemDefinition netherQuartzWrench();
IItemDefinition netherQuartzWrench();
IItemDefinition netherQuartzKnife();
IItemDefinition netherQuartzKnife();
IItemDefinition entropyManipulator();
IItemDefinition entropyManipulator();
IItemDefinition wirelessTerminal();
IItemDefinition wirelessTerminal();
IItemDefinition biometricCard();
IItemDefinition biometricCard();
IItemDefinition chargedStaff();
IItemDefinition chargedStaff();
IItemDefinition massCannon();
IItemDefinition massCannon();
IItemDefinition memoryCard();
IItemDefinition memoryCard();
IItemDefinition networkTool();
IItemDefinition networkTool();
IItemDefinition portableCell();
IItemDefinition portableCell();
IItemDefinition cellCreative();
IItemDefinition cellCreative();
IItemDefinition viewCell();
IItemDefinition viewCell();
IItemDefinition cell1k();
IItemDefinition cell1k();
IItemDefinition cell4k();
IItemDefinition cell4k();
IItemDefinition cell16k();
IItemDefinition cell16k();
IItemDefinition cell64k();
IItemDefinition cell64k();
IItemDefinition spatialCell2();
IItemDefinition spatialCell2();
IItemDefinition spatialCell16();
IItemDefinition spatialCell16();
IItemDefinition spatialCell128();
IItemDefinition spatialCell128();
IItemDefinition facade();
IItemDefinition facade();
IItemDefinition crystalSeed();
IItemDefinition crystalSeed();
// rv1
IItemDefinition encodedPattern();
// rv1
IItemDefinition encodedPattern();
IItemDefinition colorApplicator();
IItemDefinition colorApplicator();
AEColoredItemDefinition coloredPaintBall();
AEColoredItemDefinition coloredPaintBall();
AEColoredItemDefinition coloredLumenPaintBall();
AEColoredItemDefinition coloredLumenPaintBall();
}

View File

@ -23,117 +23,117 @@
package appeng.api.definitions;
/**
* A list of all materials in AE
*/
public interface IMaterials {
IItemDefinition cell2SpatialPart();
public interface IMaterials
{
IItemDefinition cell2SpatialPart();
IItemDefinition cell16SpatialPart();
IItemDefinition cell16SpatialPart();
IItemDefinition cell128SpatialPart();
IItemDefinition cell128SpatialPart();
IItemDefinition silicon();
IItemDefinition silicon();
IItemDefinition skyDust();
IItemDefinition skyDust();
IItemDefinition calcProcessorPress();
IItemDefinition calcProcessorPress();
IItemDefinition engProcessorPress();
IItemDefinition engProcessorPress();
IItemDefinition logicProcessorPress();
IItemDefinition logicProcessorPress();
IItemDefinition calcProcessorPrint();
IItemDefinition calcProcessorPrint();
IItemDefinition engProcessorPrint();
IItemDefinition engProcessorPrint();
IItemDefinition logicProcessorPrint();
IItemDefinition logicProcessorPrint();
IItemDefinition siliconPress();
IItemDefinition siliconPress();
IItemDefinition siliconPrint();
IItemDefinition siliconPrint();
IItemDefinition namePress();
IItemDefinition namePress();
IItemDefinition logicProcessor();
IItemDefinition logicProcessor();
IItemDefinition calcProcessor();
IItemDefinition calcProcessor();
IItemDefinition engProcessor();
IItemDefinition engProcessor();
IItemDefinition basicCard();
IItemDefinition basicCard();
IItemDefinition advCard();
IItemDefinition advCard();
IItemDefinition purifiedCertusQuartzCrystal();
IItemDefinition purifiedCertusQuartzCrystal();
IItemDefinition purifiedNetherQuartzCrystal();
IItemDefinition purifiedNetherQuartzCrystal();
IItemDefinition purifiedFluixCrystal();
IItemDefinition purifiedFluixCrystal();
IItemDefinition cell1kPart();
IItemDefinition cell1kPart();
IItemDefinition cell4kPart();
IItemDefinition cell4kPart();
IItemDefinition cell16kPart();
IItemDefinition cell16kPart();
IItemDefinition cell64kPart();
IItemDefinition cell64kPart();
IItemDefinition emptyStorageCell();
IItemDefinition emptyStorageCell();
IItemDefinition cardRedstone();
IItemDefinition cardRedstone();
IItemDefinition cardSpeed();
IItemDefinition cardSpeed();
IItemDefinition cardCapacity();
IItemDefinition cardCapacity();
IItemDefinition cardFuzzy();
IItemDefinition cardFuzzy();
IItemDefinition cardInverter();
IItemDefinition cardInverter();
IItemDefinition cardCrafting();
IItemDefinition cardCrafting();
IItemDefinition enderDust();
IItemDefinition enderDust();
IItemDefinition flour();
IItemDefinition flour();
IItemDefinition goldDust();
IItemDefinition goldDust();
IItemDefinition ironDust();
IItemDefinition ironDust();
IItemDefinition fluixDust();
IItemDefinition fluixDust();
IItemDefinition certusQuartzDust();
IItemDefinition certusQuartzDust();
IItemDefinition netherQuartzDust();
IItemDefinition netherQuartzDust();
IItemDefinition matterBall();
IItemDefinition matterBall();
IItemDefinition ironNugget();
IItemDefinition ironNugget();
IItemDefinition certusQuartzCrystal();
IItemDefinition certusQuartzCrystal();
IItemDefinition certusQuartzCrystalCharged();
IItemDefinition certusQuartzCrystalCharged();
IItemDefinition fluixCrystal();
IItemDefinition fluixCrystal();
IItemDefinition fluixPearl();
IItemDefinition fluixPearl();
IItemDefinition woodenGear();
IItemDefinition woodenGear();
IItemDefinition wireless();
IItemDefinition wireless();
IItemDefinition wirelessBooster();
IItemDefinition wirelessBooster();
IItemDefinition annihilationCore();
IItemDefinition annihilationCore();
IItemDefinition formationCore();
IItemDefinition formationCore();
IItemDefinition singularity();
IItemDefinition singularity();
IItemDefinition qESingularity();
IItemDefinition qESingularity();
IItemDefinition blankPattern();
IItemDefinition conversionMatrix();
IItemDefinition blankPattern();
}

View File

@ -23,85 +23,82 @@
package appeng.api.definitions;
import appeng.api.util.AEColoredItemDefinition;
/**
* A list of all parts in AE
*/
public interface IParts {
AEColoredItemDefinition cableSmart();
public interface IParts
{
AEColoredItemDefinition cableSmart();
AEColoredItemDefinition cableCovered();
AEColoredItemDefinition cableCovered();
AEColoredItemDefinition cableGlass();
AEColoredItemDefinition cableGlass();
AEColoredItemDefinition cableDense();
AEColoredItemDefinition cableDense();
AEColoredItemDefinition lumenCableSmart();
AEColoredItemDefinition lumenCableSmart();
AEColoredItemDefinition lumenCableCovered();
AEColoredItemDefinition lumenCableCovered();
AEColoredItemDefinition lumenCableGlass();
AEColoredItemDefinition lumenCableGlass();
AEColoredItemDefinition lumenCableDense();
AEColoredItemDefinition lumenCableDense();
IItemDefinition quartzFiber();
IItemDefinition quartzFiber();
IItemDefinition toggleBus();
IItemDefinition toggleBus();
IItemDefinition invertedToggleBus();
IItemDefinition invertedToggleBus();
IItemDefinition storageBus();
IItemDefinition storageBus();
IItemDefinition importBus();
IItemDefinition importBus();
IItemDefinition exportBus();
IItemDefinition exportBus();
IItemDefinition iface();
IItemDefinition iface();
IItemDefinition levelEmitter();
IItemDefinition levelEmitter();
IItemDefinition annihilationPlane();
IItemDefinition annihilationPlane();
IItemDefinition identityAnnihilationPlane();
IItemDefinition formationPlane();
IItemDefinition formationPlane();
IItemDefinition p2PTunnelME();
IItemDefinition p2PTunnelME();
IItemDefinition p2PTunnelRedstone();
IItemDefinition p2PTunnelRedstone();
IItemDefinition p2PTunnelItems();
IItemDefinition p2PTunnelItems();
IItemDefinition p2PTunnelLiquids();
IItemDefinition p2PTunnelLiquids();
IItemDefinition p2PTunnelEU();
IItemDefinition p2PTunnelEU();
IItemDefinition p2PTunnelRF();
IItemDefinition p2PTunnelRF();
IItemDefinition p2PTunnelLight();
IItemDefinition p2PTunnelLight();
IItemDefinition cableAnchor();
IItemDefinition p2PTunnelOpenComputers();
IItemDefinition monitor();
IItemDefinition p2PTunnelPneumaticCraft();
IItemDefinition semiDarkMonitor();
IItemDefinition cableAnchor();
IItemDefinition darkMonitor();
IItemDefinition monitor();
IItemDefinition interfaceTerminal();
IItemDefinition semiDarkMonitor();
IItemDefinition patternTerminal();
IItemDefinition darkMonitor();
IItemDefinition craftingTerminal();
IItemDefinition interfaceTerminal();
IItemDefinition terminal();
IItemDefinition patternTerminal();
IItemDefinition storageMonitor();
IItemDefinition craftingTerminal();
IItemDefinition terminal();
IItemDefinition storageMonitor();
IItemDefinition conversionMonitor();
IItemDefinition conversionMonitor();
}

View File

@ -1,11 +1,15 @@
package appeng.api.definitions;
import com.google.common.base.Optional;
import net.minecraft.tileentity.TileEntity;
public interface ITileDefinition extends IBlockDefinition {
/**
* @return the {@link TileEntity} Class if applicable.
*/
Optional<? extends Class<? extends TileEntity>> maybeEntity();
import com.google.common.base.Optional;
public interface ITileDefinition extends IBlockDefinition
{
/**
* @return the {@link TileEntity} Class if applicable.
*/
Optional<? extends Class<? extends TileEntity>> maybeEntity();
}

View File

@ -23,85 +23,88 @@
package appeng.api.definitions;
import appeng.api.util.AEColoredItemDefinition;
import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IItems}
*/
@Deprecated
public class Items {
public AEItemDefinition itemCertusQuartzAxe;
public class Items
{
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;
public AEItemDefinition itemEncodedPattern;
public AEItemDefinition itemEncodedPattern;
public AEItemDefinition itemColorApplicator;
public AEItemDefinition itemColorApplicator;
public AEColoredItemDefinition itemPaintBall;
public AEColoredItemDefinition itemPaintBall;
public AEColoredItemDefinition itemLumenPaintBall;
public AEColoredItemDefinition itemLumenPaintBall;
}

View File

@ -23,118 +23,121 @@
package appeng.api.definitions;
import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IMaterials}
*/
@Deprecated
public class Materials {
public AEItemDefinition materialCell2SpatialPart;
public class Materials
{
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 materialQESingularity;
public AEItemDefinition materialBlankPattern;
public AEItemDefinition materialBlankPattern;
}

View File

@ -23,81 +23,84 @@
package appeng.api.definitions;
import appeng.api.util.AEColoredItemDefinition;
import appeng.api.util.AEItemDefinition;
/**
* @deprecated use {@link IParts}
*/
@Deprecated
public class Parts {
public AEColoredItemDefinition partCableSmart;
public class Parts
{
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 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;
}

View File

@ -23,25 +23,32 @@
package appeng.api.events;
import appeng.api.features.ILocatable;
import cpw.mods.fml.common.eventhandler.Event;
import appeng.api.features.ILocatable;
/**
* Input Event:
* <p>
*
* Used to Notify the Location Registry of objects, and their availability.
*/
public class LocatableEventAnnounce extends Event {
public final ILocatable target;
public final LocatableEvent change;
public class LocatableEventAnnounce extends Event
{
public LocatableEventAnnounce(final ILocatable o, final LocatableEvent ev) {
this.target = o;
this.change = ev;
}
public final ILocatable target;
public final LocatableEvent change;
public enum LocatableEvent {
Register, // Adds the locatable to the registry
Unregister // Removes the locatable from the registry
}
public LocatableEventAnnounce( ILocatable o, LocatableEvent ev )
{
this.target = o;
this.change = ev;
}
public enum LocatableEvent
{
Register, // Adds the locatable to the registry
Unregister // Removes the locatable from the registry
}
}

View File

@ -23,10 +23,14 @@
package appeng.api.exceptions;
public class AppEngException extends Exception {
private static final long serialVersionUID = -9051434206368465494L;
public AppEngException(final String t) {
super(t);
}
public class AppEngException extends Exception
{
private static final long serialVersionUID = -9051434206368465494L;
public AppEngException( String t )
{
super( t );
}
}

View File

@ -1,7 +1,10 @@
package appeng.api.exceptions;
public class CoreInaccessibleException extends RuntimeException {
public CoreInaccessibleException(final String message) {
super(message);
}
public class CoreInaccessibleException extends RuntimeException
{
public CoreInaccessibleException( String message )
{
super( message );
}
}

View File

@ -1,49 +0,0 @@
/*
* 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.exceptions;
import appeng.api.networking.IGridNode;
/**
* Exception occurred because of an already existing connection between the two {@link
* IGridNode}s <p> Intended to signal an internal exception and not intended to be thrown
* by any 3rd party module.
*
* @author yueh
* @version rv3
* @since rv3
*/
public class ExistingConnectionException extends FailedConnection {
private static final long serialVersionUID = 2975450379720353182L;
private static final String DEFAULT_MESSAGE
= "Connection between both nodes already exists.";
public ExistingConnectionException() {
super(DEFAULT_MESSAGE);
}
public ExistingConnectionException(String message) {
super(message);
}
}

View File

@ -23,27 +23,13 @@
package appeng.api.exceptions;
import appeng.api.networking.IGridNode;
/**
* Exception indicating a failed connection between two {@link IGridNode}s.
* <p>
* Intended to signal an internal exception and not intended to be thrown by
* any 3rd party module.
* <p>
* See any subclass for a more specific reason.
*
* @author AlgorithmX2
* @author yueh
* @version rv3
* @since rv0
*/
public class FailedConnection extends Exception {
private static final long serialVersionUID = -2544208090248293753L;
public class FailedConnection extends Exception
{
public FailedConnection() {}
private static final long serialVersionUID = -2544208090248293753L;
public FailedConnection(String message) {
super(message);
}
public FailedConnection()
{
}
}

View File

@ -1,7 +1,10 @@
package appeng.api.exceptions;
public class MissingDefinition extends RuntimeException {
public MissingDefinition(final String message) {
super(message);
}
public class MissingDefinition extends RuntimeException
{
public MissingDefinition( String message )
{
super( message );
}
}

View File

@ -23,10 +23,14 @@
package appeng.api.exceptions;
public class MissingIngredientError extends Exception {
private static final long serialVersionUID = -998858343831371697L;
public MissingIngredientError(final String n) {
super(n);
}
public class MissingIngredientError extends Exception
{
private static final long serialVersionUID = -998858343831371697L;
public MissingIngredientError( String n )
{
super( n );
}
}

View File

@ -23,10 +23,14 @@
package appeng.api.exceptions;
public class ModNotInstalled extends Exception {
private static final long serialVersionUID = -9052435206368425494L;
public ModNotInstalled(final String t) {
super(t);
}
public class ModNotInstalled extends Exception
{
private static final long serialVersionUID = -9052435206368425494L;
public ModNotInstalled( String t )
{
super( t );
}
}

View File

@ -1,48 +0,0 @@
/*
* 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.exceptions;
/**
* Exception due to trying to connect one or more null values.
* <p>
* Intended to signal an internal exception and not intended to be thrown by
* any 3rd party module.
*
* @author yueh
* @version rv3
* @since rv3
*/
public class NullNodeConnectionException extends FailedConnection {
private static final long serialVersionUID = -2143719383495321764L;
private static final String DEFAULT_MESSAGE
= "Connection forged between null entities.";
public NullNodeConnectionException() {
super(DEFAULT_MESSAGE);
}
public NullNodeConnectionException(String message) {
super(message);
}
}

View File

@ -23,10 +23,14 @@
package appeng.api.exceptions;
public class RecipeError extends Exception {
private static final long serialVersionUID = -6602870588617670262L;
public RecipeError(final String n) {
super(n);
}
public class RecipeError extends Exception
{
private static final long serialVersionUID = -6602870588617670262L;
public RecipeError( String n )
{
super( n );
}
}

View File

@ -23,10 +23,14 @@
package appeng.api.exceptions;
public class RegistrationError extends Exception {
private static final long serialVersionUID = -6602870588617670263L;
public RegistrationError(final String n) {
super(n);
}
public class RegistrationError extends Exception
{
private static final long serialVersionUID = -6602870588617670263L;
public RegistrationError( String n )
{
super( n );
}
}

View File

@ -1,48 +0,0 @@
/*
* 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.exceptions;
/**
* Exception due to trying to connect different security realms.
* <p>
* Intended to signal an internal exception and not intended to be thrown by
* any 3rd party module.
*
* @author yueh
* @version rv3
* @since rv3
*/
public class SecurityConnectionException extends FailedConnection {
private static final long serialVersionUID = 5048714900434215426L;
private static final String DEFAULT_MESSAGE
= "Connection failed due to different security realms.";
public SecurityConnectionException() {
super(DEFAULT_MESSAGE);
}
public SecurityConnectionException(String message) {
super(message);
}
}

View File

@ -23,95 +23,99 @@
package appeng.api.features;
import net.minecraft.item.ItemStack;
/**
* Registration Records for {@link IGrinderRegistry}
*/
public interface IGrinderEntry {
/**
* the current input
*
* @return input that the grinder will accept.
*/
ItemStack getInput();
public interface IGrinderEntry
{
/**
* lets you change the grinder recipe by changing its input.
*
* @param input input item
*/
void setInput(ItemStack input);
/**
* the current input
*
* @return input that the grinder will accept.
*/
ItemStack getInput();
/**
* gets the current output
*
* @return output that the grinder will produce
*/
ItemStack getOutput();
/**
* lets you change the grinder recipe by changing its input.
*
* @param input input item
*/
void setInput( ItemStack input );
/**
* allows you to change the output.
*
* @param output output item
*/
void setOutput(ItemStack output);
/**
* gets the current output
*
* @return output that the grinder will produce
*/
ItemStack getOutput();
/**
* gets the current output
*
* @return output that the grinder will produce
*/
ItemStack getOptionalOutput();
/**
* allows you to change the output.
*
* @param output output item
*/
void setOutput( ItemStack output );
/**
* gets the current output
*
* @return output that the grinder will produce
*/
ItemStack getSecondOptionalOutput();
/**
* gets the current output
*
* @return output that the grinder will produce
*/
ItemStack getOptionalOutput();
/**
* stack, and 0.0-1.0 chance that it will be generated.
*
* @param output output item
* @param chance generation chance
*/
void setOptionalOutput(ItemStack output, float chance);
/**
* gets the current output
*
* @return output that the grinder will produce
*/
ItemStack getSecondOptionalOutput();
/**
* 0.0 - 1.0 the chance that the optional output will be generated.
*
* @return chance of optional output
*/
float getOptionalChance();
/**
* stack, and 0.0-1.0 chance that it will be generated.
*
* @param output output item
* @param chance generation chance
*/
void setOptionalOutput( ItemStack output, float chance );
/**
* stack, and 0.0-1.0 chance that it will be generated.
*
* @param output second optional output item
* @param chance second optional output chance
*/
void setSecondOptionalOutput(ItemStack output, float chance);
/**
* 0.0 - 1.0 the chance that the optional output will be generated.
*
* @return chance of optional output
*/
float getOptionalChance();
/**
* 0.0 - 1.0 the chance that the optional output will be generated.
*
* @return second optional output chance
*/
float getSecondOptionalChance();
/**
* stack, and 0.0-1.0 chance that it will be generated.
*
* @param output second optional output item
* @param chance second optional output chance
*/
void setSecondOptionalOutput( ItemStack output, float chance );
/**
* Energy cost, in turns.
*
* @return number of turns it takes to produce the output from the input.
*/
int getEnergyCost();
/**
* 0.0 - 1.0 the chance that the optional output will be generated.
*
* @return second optional output chance
*/
float getSecondOptionalChance();
/**
* Allows you to adjust the number of turns
*
* @param c number of turns to produce output.
*/
void setEnergyCost(int c);
/**
* Energy cost, in turns.
*
* @return number of turns it takes to produce the output from the input.
*/
int getEnergyCost();
/**
* Allows you to adjust the number of turns
*
* @param c number of turns to produce output.
*/
void setEnergyCost( int c );
}

View File

@ -23,69 +23,64 @@
package appeng.api.features;
import java.util.List;
import net.minecraft.item.ItemStack;
/**
* Lets you manipulate Grinder Recipes, by adding or editing existing ones.
*/
public interface IGrinderRegistry {
/**
* Current list of registered recipes, you can modify this if you want too.
*
* @return currentlyRegisteredRecipes
*/
List<IGrinderEntry> getRecipes();
public interface IGrinderRegistry
{
/**
* add a new recipe the easy way, in &#8594; out, how many turns., duplicates will not
* be added.
*
* @param in input
* @param out output
* @param turns amount of turns to turn the input into the output
*/
void addRecipe(ItemStack in, ItemStack out, int turns);
/**
* Current list of registered recipes, you can modify this if you want too.
*
* @return currentlyRegisteredRecipes
*/
List<IGrinderEntry> getRecipes();
/**
* add a new recipe with optional outputs, duplicates will not be added.
*
* @param in input
* @param out output
* @param optional optional output
* @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
*/
void
addRecipe(ItemStack in, ItemStack out, ItemStack optional, float chance, int turns);
/**
* add a new recipe the easy way, in &#8594; out, how many turns., duplicates will not be added.
*
* @param in input
* @param out output
* @param turns amount of turns to turn the input into the output
*/
void addRecipe( ItemStack in, ItemStack out, int turns );
/**
* add a new recipe with optional outputs, duplicates will not be added.
*
* @param in input
* @param out output
* @param optional optional output
* @param chance chance to get the optional output within 0.0 - 1.0
* @param optional2 second optional output
* @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
*/
void addRecipe(
ItemStack in,
ItemStack out,
ItemStack optional,
float chance,
ItemStack optional2,
float chance2,
int turns
);
/**
* add a new recipe with optional outputs, duplicates will not be added.
*
* @param in input
* @param out output
* @param optional optional output
* @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
*/
void addRecipe( ItemStack in, ItemStack out, ItemStack optional, float chance, int turns );
/**
* Searches for a recipe for a given input, and returns it.
*
* @param input input
* @return identified recipe or null
*/
IGrinderEntry getRecipeForInput(ItemStack input);
/**
* add a new recipe with optional outputs, duplicates will not be added.
*
* @param in input
* @param out output
* @param optional optional output
* @param chance chance to get the optional output within 0.0 - 1.0
* @param optional2 second optional output
* @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
*/
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.
*
* @param input input
*
* @return identified recipe or null
*/
IGrinderEntry getRecipeForInput( ItemStack input );
}

View File

@ -1,61 +1,65 @@
package appeng.api.features;
import java.util.List;
import javax.annotation.Nonnull;
import com.google.common.base.Optional;
import net.minecraft.item.ItemStack;
import com.google.common.base.Optional;
/**
* Registration Records for {@link IInscriberRegistry}
* <p>
*
* You have to pay attention though, that recipes are not mirrored,
* where the top and bottom slots are switching places.
* <p>
*
* This is applied on runtime.
*
* @author thatsIch
* @version rv2
* @since rv2
*/
public interface IInscriberRecipe {
/**
* the current inputs
*
* @return inputs the inscriber will accept
*/
@Nonnull
List<ItemStack> getInputs();
public interface IInscriberRecipe
{
/**
* the current inputs
*
* @return inputs the inscriber will accept
*/
@Nonnull
List<ItemStack> getInputs();
/**
* gets the current output
*
* @return output that the recipe will produce
*/
@Nonnull
ItemStack getOutput();
/**
* gets the current output
*
* @return output that the recipe will produce
*/
@Nonnull
ItemStack getOutput();
/**
* gets the top optional
*
* @return item which is used top
*/
@Nonnull
Optional<ItemStack> getTopOptional();
/**
* gets the top optional
*
* @return item which is used top
*/
@Nonnull
Optional<ItemStack> getTopOptional();
/**
* gets the bottom optional
*
* @return item which is used bottom
*/
@Nonnull
Optional<ItemStack> getBottomOptional();
/**
* gets the bottom optional
*
* @return item which is used bottom
*/
@Nonnull
Optional<ItemStack> getBottomOptional();
/**
* type of inscriber process
*
* @return type of process the inscriber is doing
*/
@Nonnull
InscriberProcessType getProcessType();
/**
* type of inscriber process
*
* @return type of process the inscriber is doing
*/
@Nonnull
InscriberProcessType getProcessType();
}

View File

@ -1,10 +1,12 @@
package appeng.api.features;
import java.util.Collection;
import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;
/**
* Builder for an inscriber recipe
*
@ -12,68 +14,75 @@ import net.minecraft.item.ItemStack;
* @version rv2
* @since rv2
*/
public interface IInscriberRecipeBuilder {
/**
* Creates an inscriber recipe with inputs.
* Needs to be invoked.
*
* @param inputs new inputs for the recipe
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withInputs(@Nonnull Collection<ItemStack> inputs);
public interface IInscriberRecipeBuilder
{
/**
* Creates an inscriber recipe with inputs.
* Needs to be invoked.
*
* @param inputs new inputs for the recipe
*
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withInputs( @Nonnull Collection<ItemStack> inputs );
/**
* Creates an inscriber recipe with output.
* Needs to be invoked.
*
* @param output new output for the recipe
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withOutput(@Nonnull ItemStack output);
/**
* Creates an inscriber recipe with output.
* Needs to be invoked.
*
* @param output new output for the recipe
*
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withOutput( @Nonnull ItemStack output );
/**
* Creates an inscriber recipe with top.
* Either this or bot needs to be invoked.
*
* @param topOptional new top for the recipe
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withTopOptional(@Nonnull ItemStack topOptional);
/**
* Creates an inscriber recipe with top.
* Either this or bot needs to be invoked.
*
* @param topOptional new top for the recipe
*
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withTopOptional( @Nonnull ItemStack topOptional );
/**
* Creates an inscriber recipe with bot.
* Either this or top needs to be invoked.
*
* @param bottomOptional new bot for the recipe
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withBottomOptional(@Nonnull ItemStack bottomOptional);
/**
* Creates an inscriber recipe with bot.
* Either this or top needs to be invoked.
*
* @param bottomOptional new bot for the recipe
*
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withBottomOptional( @Nonnull ItemStack bottomOptional );
/**
* Creates an inscriber recipe with type.
* Needs to be invoked.
*
* @param type new type for the recipe
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withProcessType(@Nonnull InscriberProcessType type);
/**
* Creates an inscriber recipe with type.
* Needs to be invoked.
*
* @param type new type for the recipe
*
* @return currently used builder
*/
@Nonnull
IInscriberRecipeBuilder withProcessType( @Nonnull InscriberProcessType type );
/**
* Finalizes the process of making the recipe.
* Needs to be invoked to fetch inscriber recipe.
*
* @return legal inscriber recipe
* @throws IllegalStateException when input is not defined
* @throws IllegalStateException when input has no size
* @throws IllegalStateException when output is not defined
* @throws IllegalStateException when both optionals are not defined
* @throws IllegalStateException when process type is not defined
*/
@Nonnull
IInscriberRecipe build();
/**
* Finalizes the process of making the recipe.
* Needs to be invoked to fetch inscriber recipe.
*
* @return legal inscriber recipe
*
* @throws IllegalStateException when input is not defined
* @throws IllegalStateException when input has no size
* @throws IllegalStateException when output is not defined
* @throws IllegalStateException when both optionals are not defined
* @throws IllegalStateException when process type is not defined
*/
@Nonnull
IInscriberRecipe build();
}

View File

@ -1,68 +1,69 @@
package appeng.api.features;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;
/**
* Lets you manipulate Inscriber Recipes, by adding or editing existing ones.
*
* @author thatsIch
* @version rv3
* @version rv2
* @since rv2
*/
public interface IInscriberRegistry {
/**
* An immutable copy of currently registered recipes.
* <p>
* Use the provided methods to actually modify the inscriber recipes.
*
* @return currentlyRegisteredRecipes
* @see IInscriberRegistry#addRecipe(IInscriberRecipe)
* @see IInscriberRegistry#removeRecipe(IInscriberRecipe)
*/
@Nonnull
Collection<IInscriberRecipe> getRecipes();
public interface IInscriberRegistry
{
/**
* Current list of registered recipes, you can modify this if you want too.
* Will never contain a null recipe
*
* @return currentlyRegisteredRecipes
*/
@Nonnull
List<IInscriberRecipe> getRecipes();
/**
* Optional items which are used in the top or bottom slot.
*
* @return set of all optional items
*/
@Nonnull
Set<ItemStack> getOptionals();
/**
* Optional items which are used in the top or bottom slot
*
* @return set of all optional items
*/
@Nonnull
Set<ItemStack> getOptionals();
/**
* Get all registered items which are valid inputs.
*
* @return set of all input items
*/
@Nonnull
Set<ItemStack> getInputs();
/**
* Get all registered items which are valid inputs
*
* @return set of all input items
*/
@Nonnull
Set<ItemStack> getInputs();
/**
* Extensible way to create an inscriber recipe.
*
* @return builder for inscriber recipes
*/
@Nonnull
IInscriberRecipeBuilder builder();
/**
* Extensible way to create an inscriber recipe
*
* @return builder for inscriber recipes
*/
@Nonnull
IInscriberRecipeBuilder builder();
/**
* add a new recipe the easy way, duplicates will not be added.
* Added recipes will be automatically added to the optionals and inputs.
*
* @param recipe new recipe
* @throws IllegalArgumentException if null is added
*/
void addRecipe(IInscriberRecipe recipe);
/**
* add a new recipe the easy way, duplicates will not be added.
* Added recipes will be automatically added to the optionals and inputs.
*
* @param recipe new recipe
*
* @throws IllegalArgumentException if null is added
*/
void addRecipe( IInscriberRecipe recipe );
/**
* Removes all equal recipes from the registry.
*
* @param toBeRemovedRecipe to be removed recipe, can be null, makes just no sense.
*/
void removeRecipe(IInscriberRecipe toBeRemovedRecipe);
/**
* Removes a recipe from the registry
*
* @param toBeRemovedRecipe to be removed recipe, can be null, makes just no sense
*/
void removeRecipe( IInscriberRecipe toBeRemovedRecipe );
}

View File

@ -23,8 +23,10 @@
package appeng.api.features;
public interface IItemComparison {
boolean sameAsPrecise(IItemComparison comp);
boolean sameAsFuzzy(IItemComparison comp);
public interface IItemComparison
{
boolean sameAsPrecise( IItemComparison comp );
boolean sameAsFuzzy( IItemComparison comp );
}

View File

@ -23,28 +23,34 @@
package appeng.api.features;
import net.minecraft.item.ItemStack;
/**
* Provider for special comparisons. when an item is encountered AE Will request
* if the comparison function handles the item, by trying to request a
* IItemComparison class.
*/
public interface IItemComparisonProvider {
/**
* should return a new IItemComparison, or return null if it doesn't handle
* the supplied item.
*
* @param is item
* @return IItemComparison, or null
*/
IItemComparison getComparison(ItemStack is);
public interface IItemComparisonProvider
{
/**
* Simple test for support ( AE generally skips this and calls the above function. )
*
* @param stack item
* @return true, if getComparison will return a valid IItemComparison Object
*/
boolean canHandle(ItemStack stack);
/**
* should return a new IItemComparison, or return null if it doesn't handle
* the supplied item.
*
* @param is item
*
* @return IItemComparison, or null
*/
IItemComparison getComparison( ItemStack is );
/**
* Simple test for support ( AE generally skips this and calls the above function. )
*
* @param stack item
*
* @return true, if getComparison will return a valid IItemComparison Object
*/
boolean canHandle( ItemStack stack );
}

View File

@ -23,15 +23,19 @@
package appeng.api.features;
import appeng.api.events.LocatableEventAnnounce;
/**
* A registration record for the {@link ILocatableRegistry} use the {@link
* LocatableEventAnnounce} event on the Forge Event bus to update the registry.
* A registration record for the {@link ILocatableRegistry} use the {@link LocatableEventAnnounce} event on the Forge
* Event bus to update the registry.
*/
public interface ILocatable {
/**
* @return the serial for a locatable object
*/
long getLocatableSerial();
public interface ILocatable
{
/**
* @return the serial for a locatable object
*/
long getLocatableSerial();
}

View File

@ -23,26 +23,31 @@
package appeng.api.features;
/**
* A Registry for locatable items, works based on serial numbers.
*/
public interface ILocatableRegistry {
/**
* Attempts to find the object with the serial specified, if it can it
* returns the object.
*
* @param serial serial
* @return requestedObject, or null
* @deprecated use {@link ILocatableRegistry#getLocatableBy(long)}
*/
@Deprecated
Object findLocatableBySerial(long serial);
public interface ILocatableRegistry
{
/**
* Attempts to find the object with the serial specified, if it can it
* returns the object.
*
* @param serial serial
*
* @return requestedObject, or null
*
* @deprecated use {@link ILocatableRegistry#getLocatableBy(long)}
*/
@Deprecated
Object findLocatableBySerial( long serial );
/**
* Gets the {@link ILocatable} with the registered serial, if available
*
* @param serial serial
* @return requestedObject, or null, if the object does not exist anymore
*/
ILocatable getLocatableBy(long serial);
/**
* Gets the {@link ILocatable} with the registered serial, if available
*
* @param serial serial
*
* @return requestedObject, or null, if the object does not exist anymore
*/
ILocatable getLocatableBy( long serial );
}

View File

@ -23,23 +23,27 @@
package appeng.api.features;
import net.minecraft.item.ItemStack;
public interface IMatterCannonAmmoRegistry {
/**
* 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 weight atomic weight
*/
void registerAmmo(ItemStack ammo, double weight);
/**
* get the penetration value for a particular ammo, 0 indicates a non-ammo.
*
* @param is ammo
* @return 0 or a valid penetration value.
*/
float getPenetration(ItemStack is);
public interface IMatterCannonAmmoRegistry
{
/**
* 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 weight atomic weight
*/
void registerAmmo( ItemStack ammo, double weight );
/**
* get the penetration value for a particular ammo, 0 indicates a non-ammo.
*
* @param is ammo
*
* @return 0 or a valid penetration value.
*/
float getPenetration( ItemStack is );
}

View File

@ -23,23 +23,28 @@
package appeng.api.features;
import net.minecraft.item.ItemStack;
public interface INetworkEncodable {
/**
* Used to get the current key from the item.
*
* @param item item
* @return string key of item
*/
String getEncryptionKey(ItemStack item);
/**
* Encode the wireless frequency via the Controller.
*
* @param item the wireless terminal.
* @param encKey the wireless encryption key.
* @param name null for now.
*/
void setEncryptionKey(ItemStack item, String encKey, String name);
public interface INetworkEncodable
{
/**
* Used to get the current key from the item.
*
* @param item item
*
* @return string key of item
*/
String getEncryptionKey( ItemStack item );
/**
* Encode the wireless frequency via the Controller.
*
* @param item the wireless terminal.
* @param encKey the wireless encryption key.
* @param name null for now.
*/
void setEncryptionKey( ItemStack item, String encKey, String name );
}

View File

@ -1,7 +1,7 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 - 2015 AlgorithmX2
* 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
@ -23,30 +23,33 @@
package appeng.api.features;
import javax.annotation.Nullable;
import net.minecraft.item.ItemStack;
import appeng.api.config.TunnelType;
import net.minecraft.item.ItemStack;
/**
* A Registry for how p2p Tunnels are attuned
*/
public interface IP2PTunnelRegistry {
/**
* Allows third parties to register items from their mod as potential
* attunements for AE's P2P Tunnels
*
* @param trigger - the item which triggers attunement. Nullable, but then ignored
* @param type - the type of tunnel. Nullable, but then ignored
*/
void addNewAttunement(@Nullable ItemStack trigger, @Nullable TunnelType type);
public interface IP2PTunnelRegistry
{
/**
* returns null if no attunement can be found.
*
* @param trigger attunement trigger
* @return null if no attunement can be found or attunement
*/
@Nullable
TunnelType getTunnelTypeByItem(ItemStack trigger);
/**
* Allows third parties to register items from their mod as potential
* attunements for AE's P2P Tunnels
*
* @param trigger - the item which triggers attunement
* @param type - the type of tunnel
*/
void addNewAttunement( ItemStack trigger, TunnelType type );
/**
* returns null if no attunement can be found.
*
* @param trigger attunement trigger
*
* @return null if no attunement can be found or attunement
*/
TunnelType getTunnelTypeByItem( ItemStack trigger );
}

View File

@ -1,7 +1,7 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 - 2015 AlgorithmX2
* 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
@ -23,33 +23,37 @@
package appeng.api.features;
import javax.annotation.Nullable;
import com.mojang.authlib.GameProfile;
import net.minecraft.entity.player.EntityPlayer;
import com.mojang.authlib.GameProfile;
/**
* 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.
* 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.
*/
public interface IPlayerRegistry {
/**
* @param gameProfile user game profile
* @return user id of a username.
*/
int getID(GameProfile gameProfile);
public interface IPlayerRegistry
{
/**
* @param player player
* @return user id of a player entity.
*/
int getID(EntityPlayer player);
/**
* @param gameProfile user game profile
*
* @return user id of a username.
*/
int getID( GameProfile gameProfile );
/**
* @param playerID to be found player id
* @return PlayerEntity, or null if the player could not be found.
*/
@Nullable
EntityPlayer findPlayer(int playerID);
/**
* @param player player
*
* @return user id of a player entity.
*/
int getID( EntityPlayer player );
/**
* @param playerID to be found player id
*
* @return PlayerEntity, or null if the player could not be found.
*/
EntityPlayer findPlayer( int playerID );
}

View File

@ -1,7 +1,7 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2013 - 2015 AlgorithmX2
* 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
@ -23,57 +23,53 @@
package appeng.api.features;
import javax.annotation.Nullable;
import appeng.api.recipes.ICraftHandler;
import appeng.api.recipes.IRecipeHandler;
import appeng.api.recipes.ISubItemResolver;
/**
* @author AlgorithmX2
* @author thatsIch
* @version rv3 - 10.08.2015
* @since rv0
*/
public interface IRecipeHandlerRegistry {
/**
* Add a new Recipe Handler to the parser.
* <p>
* MUST BE CALLED IN PRE-INIT
*
* @param name name of crafthandler
* @param handler class of crafthandler
*/
void addNewCraftHandler(String name, Class<? extends ICraftHandler> handler);
/**
* Add a new resolver to the parser.
* <p>
* MUST BE CALLED IN PRE-INIT
*
* @param sir sub item resolver
*/
void addNewSubItemResolver(ISubItemResolver sir);
public interface IRecipeHandlerRegistry
{
/**
* @param name name of crafting handler
* @return A recipe handler by name, returns null on failure.
*/
@Nullable
ICraftHandler getCraftHandlerFor(String name);
/**
* Add a new Recipe Handler to the parser.
*
* MUST BE CALLED IN PRE-INIT
*
* @param name name of crafthandler
* @param handler class of crafthandler
*/
void addNewCraftHandler( String name, Class<? extends ICraftHandler> handler );
/**
* @return a new recipe handler, which can be used to parse, and read recipe files.
*/
IRecipeHandler createNewRecipehandler();
/**
* Add a new resolver to the parser.
*
* MUST BE CALLED IN PRE-INIT
*
* @param sir sub item resolver
*/
void addNewSubItemResolver( ISubItemResolver sir );
/**
* resolve sub items by name.
*
* @param nameSpace namespace of item
* @param itemName full name of item
* @return ResolverResult or ResolverResultSet or null if could not resolve
*/
@Nullable
Object resolveItem(String nameSpace, String itemName);
/**
* @param name name of crafting handler
*
* @return A recipe handler by name, returns null on failure.
*/
ICraftHandler getCraftHandlerFor( String name );
/**
* @return a new recipe handler, which can be used to parse, and read recipe files.
*/
IRecipeHandler createNewRecipehandler();
/**
* resolve sub items by name.
*
* @param nameSpace namespace of item
* @param itemName full name of item
*
* @return ResolverResult or ResolverResultSet
*/
Object resolveItem( String nameSpace, String itemName );
}

View File

@ -23,87 +23,90 @@
package appeng.api.features;
import appeng.api.movable.IMovableRegistry;
import appeng.api.networking.IGridCacheRegistry;
import appeng.api.storage.ICellRegistry;
import appeng.api.storage.IExternalStorageRegistry;
/**
* @author AlgorithmX2
* @author thatsIch
* @version rv2
* @since rv0
*/
public interface IRegistryContainer {
/**
* Use the movable registry to white list your tiles.
*/
IMovableRegistry movable();
public interface IRegistryContainer
{
/**
* Add new Grid Caches for use during run time, only use during loading phase.
*/
IGridCacheRegistry gridCache();
/**
* Use the movable registry to white list your tiles.
*/
IMovableRegistry movable();
/**
* Add additional storage bus handlers to improve interplay with mod blocks that
* contains special inventories that function unlike vanilla chests. AE uses this
* internally for barrels, DSU's, quantum chests, AE Networks and more.
*/
IExternalStorageRegistry externalStorage();
/**
* Add new Grid Caches for use during run time, only use during loading phase.
*/
IGridCacheRegistry gridCache();
/**
* Add additional special comparison functionality, AE Uses this internally for Bees.
*/
ISpecialComparisonRegistry specialComparison();
/**
* Add additional storage bus handlers to improve interplay with mod blocks that contains special inventories that
* function unlike vanilla chests. AE uses this internally for barrels, DSU's, quantum chests, AE Networks and more.
*/
IExternalStorageRegistry externalStorage();
/**
* Lets you register your items as wireless terminals
*/
IWirelessTermRegistry wireless();
/**
* Add additional special comparison functionality, AE Uses this internally for Bees.
*/
ISpecialComparisonRegistry specialComparison();
/**
* Allows you to register new cell types, these will function in drives
*/
ICellRegistry cell();
/**
* Lets you register your items as wireless terminals
*/
IWirelessTermRegistry wireless();
/**
* Manage grinder recipes via API
*/
IGrinderRegistry grinder();
/**
* Allows you to register new cell types, these will function in drives
*/
ICellRegistry cell();
/**
* Manage inscriber recipes via API
*/
IInscriberRegistry inscriber();
/**
* Manage grinder recipes via API
*/
IGrinderRegistry grinder();
/**
* get access to the locatable registry
*/
ILocatableRegistry locatable();
/**
* Manage inscriber recipes via API
*/
IInscriberRegistry inscriber();
/**
* get access to the p2p tunnel registry.
*/
IP2PTunnelRegistry p2pTunnel();
/**
* get access to the locatable registry
*/
ILocatableRegistry locatable();
/**
* get access to the ammo registry.
*/
IMatterCannonAmmoRegistry matterCannon();
/**
* get access to the p2p tunnel registry.
*/
IP2PTunnelRegistry p2pTunnel();
/**
* get access to the player registry
*/
IPlayerRegistry players();
/**
* get access to the ammo registry.
*/
IMatterCannonAmmoRegistry matterCannon();
/**
* get access to the ae2 recipe api
*/
IRecipeHandlerRegistry recipes();
/**
* get access to the player registry
*/
IPlayerRegistry players();
/**
* get access to the world-gen api.
*/
IWorldGen worldgen();
/**
* get access to the ae2 recipe api
*/
IRecipeHandlerRegistry recipes();
/**
* get access to the world-gen api.
*/
IWorldGen worldgen();
}

View File

@ -23,24 +23,29 @@
package appeng.api.features;
import net.minecraft.item.ItemStack;
/**
* A Registry of any special comparison handlers for AE To use.
*/
public interface ISpecialComparisonRegistry {
/**
* return TheHandler or null.
*
* @param stack item
* @return a handler it found for a specific item
*/
IItemComparison getSpecialComparison(ItemStack stack);
public interface ISpecialComparisonRegistry
{
/**
* Register a new special comparison function with AE.
*
* @param prov comparison provider
*/
void addComparisonProvider(IItemComparisonProvider prov);
/**
* return TheHandler or null.
*
* @param stack item
*
* @return a handler it found for a specific item
*/
IItemComparison getSpecialComparison( ItemStack stack );
/**
* Register a new special comparison function with AE.
*
* @param prov comparison provider
*/
void addComparisonProvider( IItemComparisonProvider prov );
}

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