Compare commits
373 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 822249dda8 | |||
| 1404806d3d | |||
| 12e3fa9127 | |||
| 8617dc8340 | |||
| 9bc844738c | |||
| eab6483bd7 | |||
| 7ca9405c8b | |||
| 39959145a3 | |||
| 22f552217f | |||
| 8f0e408772 | |||
| 62bbc32763 | |||
| 872d8d33cb | |||
| 1801302d8f | |||
| a85ffec9f9 | |||
| 5fca946ef3 | |||
| f8446209ce | |||
| 088627aedf | |||
| c8d08f9726 | |||
| 259d932946 | |||
| d66986df85 | |||
| 4fa78a2add | |||
| 98e9faa262 | |||
| a628a469ce | |||
| 2fca330ff1 | |||
| 3802eace7a | |||
| 2b9c997191 | |||
| 1cb32517ae | |||
| b3b7547325 | |||
| 307a6817d4 | |||
| 0beab559a6 | |||
| a65be62cd1 | |||
| e640918ca0 | |||
| 84e6aaa122 | |||
| 56ecda5173 | |||
| 662dbca3e1 | |||
| 6cb6c21495 | |||
| 79e9a3913a | |||
| 7e89317dd5 | |||
| 59e40ccbd9 | |||
| 774f88ee90 | |||
| 0528879833 | |||
| b6110e4f4a | |||
| 5b82e59264 | |||
| 3a4b171443 | |||
| 2ac27fd9ce | |||
| d01aa28cdc | |||
| 21aa5ce33b | |||
| f7ef6eb772 | |||
| 10037a9ac5 | |||
| 888de430ba | |||
| 83d661ab2a | |||
| a537bcf0ee | |||
| 590e435ad6 | |||
| 8d92a51e4f | |||
| 4322910614 | |||
| ebe589a714 | |||
| 6187e6a7bb | |||
| d5f113eb35 | |||
| 9ad5bb21c0 | |||
| 1c88ea7b78 | |||
| 5a976ebfae | |||
| b45669bb82 | |||
| e52cc40dbf | |||
| 8a20d3c1d7 | |||
| 749ebeb91d | |||
| 82586732e3 | |||
| e023d83e62 | |||
| de7cbc4949 | |||
| 71a91e51fb | |||
| 223163aa0a | |||
| bdd22093c3 | |||
| 0367b35ce0 | |||
| 755ac12b8a | |||
| e1f9e01404 | |||
| 7121426fc9 | |||
| a94e8504f8 | |||
| 9275bfe001 | |||
| 5b3c4aef79 | |||
| 4a289470e2 | |||
| d79c0f642c | |||
| 9ecad8749f | |||
| e8b57c6dc5 | |||
| 8142eb90a6 | |||
| 08abd4a770 | |||
| b8722dbbc0 | |||
| 1ac6d5d967 | |||
| 5c290789e0 | |||
| 38f6bf16f2 | |||
| 4953509255 | |||
| 188f105730 | |||
| 9bb23bcac8 | |||
| 06735f5c39 | |||
| e8143d3618 | |||
| 0d43ca15be | |||
| d18eabe1fc | |||
| d9d491d51c | |||
| 9a5bd114a4 | |||
| 30cc8c8abc | |||
| 815094e5bf | |||
| 1eaddef694 | |||
| 450299cb67 | |||
| 235fc2e81f | |||
| 92fb39d53a | |||
| eb0e4289b3 | |||
| ebbb5b1059 | |||
| d4a1590b51 | |||
| bd1d9701a9 | |||
| 4b3a232add | |||
| b8aa810a5f | |||
| 22facb9748 | |||
| ef3cc8a0a0 | |||
| 55b3dc0823 | |||
| 9445fad5a6 | |||
| 1a7bac1fcc | |||
| 19dee8d339 | |||
| a4f66c5923 | |||
| fe439bfb23 | |||
| 25da0b7357 | |||
| a2344f52e1 | |||
| bafc65d3a8 | |||
| 4e8296d3e7 | |||
| 26eeeb4c75 | |||
| f573b52b1b | |||
| a1042384e3 | |||
| 1ce82cc3b9 | |||
| 7dffbf78ce | |||
| 0f11c1e0a4 | |||
| 77b544ce4f | |||
| c67dba2f13 | |||
| 400fcdb633 | |||
| fba157a707 | |||
| 538965e74a | |||
| 0a56c724ed | |||
| 8d8d3dd2d7 | |||
| d17f8cec92 | |||
| d0acc9ccf1 | |||
| 17b919a171 | |||
| 003ef8672c | |||
| eaf2873649 | |||
| 66d00a4600 | |||
| d79d284690 | |||
| 7233b11284 | |||
| d5491549eb | |||
| f943106419 | |||
| 57fa5576af | |||
| 346e58ff25 | |||
| 42c2be5c05 | |||
| 312abce956 | |||
| 6379cfe3a2 | |||
| 208cd70725 | |||
| 130fc74768 | |||
| 6bbea481b8 | |||
| 55d7ac82e5 | |||
| 4ee44970b6 | |||
| e323e08192 | |||
| 3faab6ae25 | |||
| 3c53fddd8e | |||
| f3233d948b | |||
| d5eb16a6b0 | |||
| 200ca8d9cc | |||
| fe8bebe1c3 | |||
| d8928070fd | |||
| fd1dd982c1 | |||
| d7a09f70ef | |||
| deaddb8e82 | |||
| 4e3eb89f84 | |||
| 3e56311f2f | |||
| cb62d3a706 | |||
| adf1bd0191 | |||
| f32289d881 | |||
| 26bb08ddb5 | |||
| b4471b1abb | |||
| abe3334488 | |||
| 45dd8930d3 | |||
| 195cbecdb3 | |||
| c4b5100283 | |||
| 8350ae5f45 | |||
| 3e0bfec882 | |||
| bfa574ed21 | |||
| 5367315fd3 | |||
| 9d8e23a2ea | |||
| 094ee93dbc | |||
| 00e794f03f | |||
| e1131bd1e2 | |||
| 9ab91cd98b | |||
| 8606bd5c61 | |||
| 8ed68d9c74 | |||
| ee086366ed | |||
| dd371c2c7f | |||
| 2ed64f4944 | |||
| 25413c58f6 | |||
| 6d76bb989c | |||
| afe98cbe04 | |||
| 300e26a372 | |||
| 434386a7ff | |||
| daaac300b8 | |||
| fcdd0bc378 | |||
| bed724b1ce | |||
| 2f8cffdd93 | |||
| 2458f9c890 | |||
| 0a9e53d78c | |||
| cd49869df7 | |||
| f14a32809e | |||
| ff65e3936a | |||
| a3284ffdab | |||
| fe215f0a91 | |||
| fb31fab2cc | |||
| f2a9d8c806 | |||
| 3faa3db2b6 | |||
| f733a73d62 | |||
| 268ed4c753 | |||
| 43c06131c6 | |||
| 608e3a020c | |||
| f63adf1eca | |||
| 749742a8aa | |||
| c6af3d9a70 | |||
| ec6f331168 | |||
| fa1ea8582d | |||
| 98d6740bb2 | |||
| 10ab5d0d5a | |||
| 65d4f2fd1a | |||
| 91f6fedf3a | |||
| c6437465b7 | |||
| 52da8bdb67 | |||
| e9e06fa7ee | |||
| ef85c284c6 | |||
| 5225ea426b | |||
| 5304b3febe | |||
| 8cc1cab725 | |||
| d1622afa38 | |||
| d9f039e1f4 | |||
| 5f401bf548 | |||
| 4759a6d204 | |||
| f6f8ac20e8 | |||
| a005f1c2e8 | |||
| 27c5498935 | |||
| 783a7a62a7 | |||
| a23b35ed63 | |||
| d50dcc31fa | |||
| 2356a38898 | |||
| 69c9407796 | |||
| 0232e83196 | |||
| d43e8d19dd | |||
| bdd522e8d9 | |||
| 129b8f5a2b | |||
| 669fad0497 | |||
| 8e8cbca57b | |||
| 42651ed087 | |||
| cbbb9d1ade | |||
| 20e9eb66b2 | |||
| 85a503e65d | |||
| fd7ed5bbf0 | |||
| 9b19f5b0e2 | |||
| 3cb9695026 | |||
| 048c2d0b46 | |||
| f5a56682dd | |||
| 190060754d | |||
| 5ec07dc4fe | |||
| 2003506fd1 | |||
| 90a282bf05 | |||
| 194fa38b9f | |||
| 9599a31893 | |||
| 8e1d90a873 | |||
| 3989dbd860 | |||
| a620245bbe | |||
| 2e41d44964 | |||
| d8660a53be | |||
| eb883219a9 | |||
| d13bbe06ac | |||
| 0db7e70722 | |||
| b9381fc2e1 | |||
| 26184c3190 | |||
| a4b16c21a3 | |||
| 5ec9600177 | |||
| 2b36df9ebf | |||
| 832d517e98 | |||
| 94226f3219 | |||
| e83429e1bb | |||
| 65482357f7 | |||
| ae69ad6d8a | |||
| d449ee47c4 | |||
| c45a15e13b | |||
| 5cda370746 | |||
| 9bde4dd899 | |||
| d37345ccfe | |||
| ecbcc56997 | |||
| 8ccc114f92 | |||
| 19e7fd3544 | |||
| 1393b4c9dd | |||
| 8c45807ecd | |||
| 5f416bcca2 | |||
| 702bab1a12 | |||
| bd16641638 | |||
| 3e206ee544 | |||
| e1b66a2a1c | |||
| 0f41d4b60c | |||
| 962bd3af32 | |||
| ddd51c419c | |||
| 4513d33c13 | |||
| 0466539c1c | |||
| df06aaf271 | |||
| 7d3ecd580e | |||
| 97e065ea1f | |||
| 4b11b8857b | |||
| b2afa0398c | |||
| 679ea1c332 | |||
| e2c62f0e27 | |||
| 7693be3ec5 | |||
| 23b6e195ac | |||
| 7715f605eb | |||
| 2bed72bb79 | |||
| 61d0781099 | |||
| 1c7a28c606 | |||
| 2dc2f90d5b | |||
| 6011b2dd49 | |||
| 53fc345e88 | |||
| 46b1d1ffdc | |||
| 97f04922b9 | |||
| 70418b0bb2 | |||
| ff042a394b | |||
| bb453b0d35 | |||
| c411a800f6 | |||
| 476c310de6 | |||
| d0b8a5f33f | |||
| 51e82587c7 | |||
| 70444999b9 | |||
| 2139b810d0 | |||
| c402390282 | |||
| 237463dd94 | |||
| 6eb2a9504a | |||
| 64651feb3c | |||
| 1e2e34ac54 | |||
| 36eb8c807e | |||
| 58afa6539f | |||
| 1056629545 | |||
| 2de3a2ecee | |||
| cf9ab8a13b | |||
| 3e78c713d1 | |||
| 2f50568237 | |||
| 92fa237ce0 | |||
| 7747804385 | |||
| fb4995da62 | |||
| 3f5c299d09 | |||
| 404ef5624b | |||
| d32dbfd3c8 | |||
| 7483314190 | |||
| 6b40fda793 | |||
| 19cdea7eb5 | |||
| d4c9e5c490 | |||
| fc300745cd | |||
| 9f63859769 | |||
| 271e8889a1 | |||
| 36af72faeb | |||
| 2a1ba12516 | |||
| 260b2d1c92 | |||
| dffea9a167 | |||
| 086b9ab1e3 | |||
| 17f73f214d | |||
| 423aaf0762 | |||
| adfc2577ed | |||
| c1f260d95f | |||
| 848f4238d2 | |||
| e7dadcddbe | |||
| d6157d78a1 | |||
| 5cdeff01be | |||
| 077ff17078 | |||
| 6a88728544 | |||
| fdd67bbba4 | |||
| ec3b464655 | |||
| 16d6d55d7f | |||
| 0ea86c939c | |||
| 2cbff91ab0 | |||
| 3dff3a5d54 |
@@ -0,0 +1,3 @@
|
||||
* text=auto eol=lf
|
||||
*.java text diff=java eol=lf
|
||||
*.gradle text diff=java eol=lf
|
||||
+13
-78
@@ -15,27 +15,7 @@ Applied Energistics 2 crashing, have a suggestion, found a bug? Create an issue
|
||||
* If it is already possible with vanilla and AE2 itself, the suggestion will be considered invalid.
|
||||
* Asking for a smaller version, more compact version, or more efficient version of something will also be considered invalid.
|
||||
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues) and click [new issue](https://github.com/AppliedEnergistics/Applied-Energistics-2/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]`, `[Bug]`, or a version.
|
||||
* Restrict it to a single bug or feature, it makes managing them way easier for us.
|
||||
* The following details are required. Also refer to the issue template when creating one.
|
||||
* Forge version
|
||||
* AE2 version
|
||||
* Crash log, when reporting a crash (Please make sure to use [pastebin](http://pastebin.com/))
|
||||
* Never post an excerpt of what you consider important
|
||||
* Always 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
|
||||
3. If applicable, use on of the provided templates. It will also contain further details about required or useful information to add.
|
||||
4. 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.
|
||||
@@ -47,17 +27,19 @@ Please note that we might close any issue not matching these requirements.
|
||||
* 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.
|
||||
* Waiting for feedback is suggested.
|
||||
* 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.
|
||||
* This `master` 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.
|
||||
checkout -b my_contribution_branch`. Please avoid working
|
||||
directly on the `master` 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.
|
||||
* You can either use the gradle `spotlessCheck` and `spotlessApply` tasks or use the provided eclipse formatter config in `/codeformat`
|
||||
|
||||
````
|
||||
(#12345) Make the example in CONTRIBUTING imperative and concrete
|
||||
@@ -72,20 +54,18 @@ Please note that we might close any issue not matching these requirements.
|
||||
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.
|
||||
* Always fully test your changes. If they are large enough 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.
|
||||
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new issue.
|
||||
We usually use `squash and merge`. This allows us to easily append the PR number for future reference.
|
||||
|
||||
````
|
||||
(doc) Add documentation commit example to CONTRIBUTING
|
||||
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
|
||||
@@ -112,56 +92,11 @@ the styling guidelines used by AE.
|
||||
|
||||
PRs that do not conform to these standards will be rejected.
|
||||
|
||||
You can find presets for Eclipse and IntelliJ IDEA in the `codeformat` folder.
|
||||
We try to keep them up to date. Please report any case of maintaining the correct formatting.
|
||||
You can find presets for Eclipse in the `codeformat` folder. For IntelliJ IDEA we recommend the eclipse formatter plugin.
|
||||
|
||||
### Whitespace
|
||||
There is also a gradle task available to check for syntax errors (`spotlessCheck`) as well as applying the fixes (`spotlessApply`).
|
||||
|
||||
#### 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.
|
||||
We try to keep them up to date. Please report any problem with maintaining the correct formatting.
|
||||
|
||||
# Additional Resources
|
||||
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
<!-- Provide a summary of the issue in the Title above, please do not "[Tag]" it -->
|
||||
<!-- Provide a summary of the issue in the Title above, please do not "[Tag]" it. -->
|
||||
|
||||
#### Description
|
||||
<!-- Always use the most recent version from ae-mod.info, it might already be fixed -->
|
||||
<!-- When describing a bug, tell us what was expected and what the actual behaviour is -->
|
||||
<!-- When suggesting a feature, tell us how it should work and why it should be considered -->
|
||||
**Describe the issue**
|
||||
<!-- Always use the most recent version from ae-mod.info, it might already be fixed. -->
|
||||
<!-- When describing a bug, tell us what was expected and what the actual behaviour is. -->
|
||||
<!-- When suggesting a feature, tell us how it should work and why it should be considered. -->
|
||||
|
||||
#### Environment
|
||||
**Environment**
|
||||
<!-- Include as many relevant details about the environment -->
|
||||
<!-- Like the used version, SP/MP, other mods and their version, crashlogs etc -->
|
||||
<!-- Please use pastebin or gist for posting the complete crashlog, no excerpt -->
|
||||
<!-- The following ones are required, please note "latest" is not a version -->
|
||||
<!-- A forced crash report by pressing F3+c for 10 seconds. Use pastebin, gist, etc. -->
|
||||
<!-- Without it, we will automatically close the issue. -->
|
||||
|
||||
- Minecraft Version:
|
||||
- AE2 Version:
|
||||
- Forge Version:
|
||||
- Environment:
|
||||
@@ -22,9 +22,7 @@ about: You found a bug or encountered a crash? Please report it here.
|
||||
|
||||
**Environment**
|
||||
<!-- Include as many relevant details about the environment -->
|
||||
<!-- Like the used version, SP/MP, other mods and their version -->
|
||||
<!-- The following ones are required, please note "latest" is not a version -->
|
||||
<!-- A forced crash report by pressing F3+c for 10 seconds. Use pastebin, gist, etc. -->
|
||||
<!-- Without it, we will automatically close the issue. -->
|
||||
|
||||
- Minecraft Version:
|
||||
- AE2 Version:
|
||||
- Forge Version:
|
||||
- Environment:
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
name: 'Build branches'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Use gradle cache for faster builds
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
||||
- name: Clean gradle
|
||||
run: ./gradlew clean --no-daemon --max-workers 1
|
||||
- name: Validate no assets
|
||||
run: test ! -d ./src/generated
|
||||
- name: Generate assets
|
||||
run: ./gradlew runData --no-daemon --max-workers 1
|
||||
- name: Validate assets
|
||||
run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build --no-daemon --max-workers 1
|
||||
@@ -1,23 +0,0 @@
|
||||
name: Build
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up OpenJDK 17
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'adopt' # You can choose other OpenJDK distributions.
|
||||
- name: Update Build Script (Before Build)
|
||||
run: ./gradlew updateBuildScript
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: AE2-UEL
|
||||
path: build/libs/*.jar # Make sure this path matches the location of your build artifacts
|
||||
@@ -0,0 +1,15 @@
|
||||
name: 'Lock threads'
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
jobs:
|
||||
lock:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v2
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
issue-lock-inactive-days: '180'
|
||||
pr-lock-inactive-days: '180'
|
||||
@@ -0,0 +1,33 @@
|
||||
name: 'Build master'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Use gradle cache for faster builds
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
||||
- name: Clean gradle
|
||||
run: ./gradlew clean --no-daemon --max-workers 1
|
||||
- name: Validate no assets
|
||||
run: test ! -d ./src/generated
|
||||
- name: Generate assets
|
||||
run: ./gradlew runData --no-daemon --max-workers 1
|
||||
- name: Validate assets
|
||||
run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache
|
||||
- name: Build with Gradle
|
||||
run: ./gradlew build --no-daemon --max-workers 1
|
||||
@@ -1,82 +0,0 @@
|
||||
# Publishes built jars to distribution platforms
|
||||
name: Publish
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v[0-9]+.[0-9]+.[0-9]+' # any semver tag, e.g. 1.2.3
|
||||
|
||||
env:
|
||||
# type of release
|
||||
RELEASE_TYPE: "release"
|
||||
|
||||
jobs:
|
||||
Publish:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
permissions:
|
||||
contents: write # needed to create GitHub releases
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Check for Duplicate Tags
|
||||
run: |
|
||||
if git rev-parse -q --verify "refs/tags/${{ github.ref }}" >/dev/null; then
|
||||
echo "Tag already exists. A version bump is required."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: '17'
|
||||
|
||||
- name: Build Project
|
||||
uses: gradle/gradle-build-action@v2
|
||||
with:
|
||||
arguments: 'build --build-cache --daemon' # use the daemon here so the rest of the process is faster
|
||||
generate-job-summary: false
|
||||
gradle-home-cache-includes: |
|
||||
caches
|
||||
jdks
|
||||
notifications
|
||||
wrapper
|
||||
|
||||
- name: Publish to GitHub
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
files: "build/libs/*.jar"
|
||||
generate_release_notes: true
|
||||
fail_on_unmatched_files: true
|
||||
|
||||
- name: Publish to Maven
|
||||
uses: gradle/gradle-build-action@v2
|
||||
env:
|
||||
MAVEN_USER: "${{secrets.MAVEN_USER}}"
|
||||
MAVEN_PASSWORD: "${{secrets.MAVEN_PASSWORD}}"
|
||||
with:
|
||||
arguments: 'publish --daemon'
|
||||
generate-job-summary: false
|
||||
gradle-home-cache-includes: |
|
||||
caches
|
||||
jdks
|
||||
notifications
|
||||
wrapper
|
||||
|
||||
- name: Publish to Curseforge
|
||||
uses: gradle/gradle-build-action@v2
|
||||
env:
|
||||
CURSEFORGE_API_KEY: "${{secrets.CURSEFORGE_API_KEY}}"
|
||||
CURSEFORGE_PROJECT_ID: "${{secrets.CURSEFORGE_PROJECT_ID}}"
|
||||
RELEASE_TYPE: "${{env.RELEASE_TYPE}}"
|
||||
with:
|
||||
arguments: 'curseforge --daemon'
|
||||
generate-job-summary: false
|
||||
gradle-home-cache-includes: |
|
||||
caches
|
||||
jdks
|
||||
notifications
|
||||
wrapper
|
||||
@@ -0,0 +1,39 @@
|
||||
name: 'Build PRs'
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Use gradle cache for faster builds
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
||||
- name: Clean gradle
|
||||
run: ./gradlew clean --no-daemon --max-workers 1
|
||||
- name: Validate no assets
|
||||
run: test ! -d ./src/generated
|
||||
- name: Generate assets
|
||||
run: ./gradlew runData --no-daemon --max-workers 1
|
||||
- name: Validate assets
|
||||
run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache
|
||||
- name: Build with Gradle
|
||||
env:
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
run: ./gradlew build --no-daemon --max-workers 1
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: dist
|
||||
path: build/libs/
|
||||
@@ -0,0 +1,72 @@
|
||||
name: 'Release'
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Validate semver
|
||||
env:
|
||||
TAG: ${{ github.event.release.tag_name }}
|
||||
run: |
|
||||
echo $TAG | grep -oP '^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$'
|
||||
echo "::set-env name=RELEASE::${TAG:1}"
|
||||
- name: Export keystore
|
||||
env:
|
||||
KEY_STORE: ${{ secrets.KEY_STORE }}
|
||||
run: |
|
||||
echo $KEY_STORE | base64 -d > $HOME/keystore.jks
|
||||
echo "::set-env name=KEY_STORE_FILE::$HOME/keystore.jks"
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
- name: Validate no assets
|
||||
run: test ! -d ./src/generated
|
||||
- name: Generate assets
|
||||
run: ./gradlew runData --no-daemon --max-workers 1
|
||||
- name: Validate assets
|
||||
run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache
|
||||
- name: Build with Gradle
|
||||
env:
|
||||
KEY_STORE_PASS: ${{ secrets.KEY_STORE_PASS }}
|
||||
KEY_STORE_ALIAS: ${{ secrets.KEY_STORE_ALIAS }}
|
||||
KEY_STORE_KEY_PASS: ${{ secrets.KEY_STORE_KEY_PASS }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./gradlew build --no-daemon --max-workers 1
|
||||
- name: Upload to curseforge
|
||||
env:
|
||||
KEY_STORE_PASS: ${{ secrets.KEY_STORE_PASS }}
|
||||
KEY_STORE_ALIAS: ${{ secrets.KEY_STORE_ALIAS }}
|
||||
KEY_STORE_KEY_PASS: ${{ secrets.KEY_STORE_KEY_PASS }}
|
||||
CHANGELOG: ${{ github.event.release.body }}
|
||||
CURSEFORGE: ${{ secrets.CURSEFORGE }}
|
||||
run: ./gradlew curseforge --no-daemon --max-workers 1
|
||||
- name: Publish to github packages
|
||||
env:
|
||||
KEY_STORE_PASS: ${{ secrets.KEY_STORE_PASS }}
|
||||
KEY_STORE_ALIAS: ${{ secrets.KEY_STORE_ALIAS }}
|
||||
KEY_STORE_KEY_PASS: ${{ secrets.KEY_STORE_KEY_PASS }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./gradlew publish --no-daemon --max-workers 1
|
||||
- name: Prepare artifact metadata
|
||||
id: prepare_artifact_metadata
|
||||
run: |
|
||||
echo ::set-output name=ARTIFACT_PATH::./build/libs/appliedenergistics2-${RELEASE}.jar
|
||||
echo ::set-output name=ARTIFACT_NAME::appliedenergistics2-${RELEASE}.jar
|
||||
- name: Upload Release Artifact
|
||||
uses: actions/upload-release-asset@v1.0.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: ${{ steps.prepare_artifact_metadata.outputs.ARTIFACT_PATH }}
|
||||
asset_name: ${{ steps.prepare_artifact_metadata.outputs.ARTIFACT_NAME }}
|
||||
asset_content_type: application/zip
|
||||
@@ -1,39 +0,0 @@
|
||||
# Updates the Gradle Cache when relevant files change
|
||||
name: Update Gradle Cache
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- "gradle**" # covers gradle folder, gradle.properties, gradlew
|
||||
- "build.gradle*"
|
||||
- "settings.gradle*"
|
||||
- "src/main/resources/*_at.cfg" # access transformers
|
||||
|
||||
jobs:
|
||||
Update_Cache:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'zulu'
|
||||
java-version: '17'
|
||||
|
||||
- name: Update Cache
|
||||
uses: gradle/gradle-build-action@v2
|
||||
with:
|
||||
arguments: 'test --build-cache --no-daemon' # disable daemon since only one gradle operation will happen
|
||||
generate-job-summary: false
|
||||
gradle-home-cache-includes: |
|
||||
caches
|
||||
jdks
|
||||
notifications
|
||||
wrapper
|
||||
cache-write-only: true
|
||||
+26
-76
@@ -1,83 +1,33 @@
|
||||
.nopublish
|
||||
# exclude all
|
||||
/*
|
||||
|
||||
### Windows ###
|
||||
# include important folders
|
||||
# need gradle
|
||||
!gradle/
|
||||
!gradlew
|
||||
!gradlew.bat
|
||||
!build.gradle
|
||||
!gradle.properties
|
||||
!.travis.yml
|
||||
|
||||
thumbs.db
|
||||
*.db
|
||||
# include markdowns
|
||||
!README.md
|
||||
!LICENSE
|
||||
|
||||
### Java ###
|
||||
# include sourcecode except generated
|
||||
!src/
|
||||
src/generated
|
||||
|
||||
*.class
|
||||
# include git important files
|
||||
!.gitmodules
|
||||
!.gitignore
|
||||
!.gitattributes
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
# code format to reduce noise in git commits
|
||||
!codeformat/
|
||||
|
||||
# Package Files #
|
||||
*.war
|
||||
*.ear
|
||||
*.txt
|
||||
# Github specific files and directories
|
||||
!.github/
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
|
||||
### Eclipse ###
|
||||
|
||||
*.pydevproject
|
||||
.metadata
|
||||
.gradle
|
||||
bin/
|
||||
tmp/
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.settings/
|
||||
.loadpath
|
||||
/eclipse
|
||||
|
||||
# Eclipse Core
|
||||
.project
|
||||
|
||||
# External tool builders
|
||||
.externalToolBuilders/
|
||||
|
||||
# Locally stored "Eclipse launch configurations"
|
||||
*.launch
|
||||
|
||||
# CDT-specific
|
||||
.cproject
|
||||
|
||||
# JDT-specific (Eclipse Java Development Tools)
|
||||
.classpath
|
||||
|
||||
# Java annotation processor (APT)
|
||||
.factorypath
|
||||
|
||||
# PDT-specific
|
||||
.buildpath
|
||||
|
||||
# sbteclipse plugin
|
||||
.target
|
||||
|
||||
# TeXlipse plugin
|
||||
.texlipse
|
||||
|
||||
### Intellij IDEA ###
|
||||
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
|
||||
.idea/
|
||||
.idea_modules/
|
||||
/classes/
|
||||
/out/
|
||||
/build/
|
||||
|
||||
# Linux
|
||||
*~
|
||||
|
||||
run/
|
||||
|
||||
logs/
|
||||
# Explicit ignores
|
||||
Thumbs.db
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
Changes so far :
|
||||
|
||||
Design changes/breakages:
|
||||
- Interfaces no longer spill items of one pattern on other faces
|
||||
- Interfaces now push patterns in round-robin (Interfaces, then sides)
|
||||
|
||||
|
||||
|
||||
|
||||
Fixes:
|
||||
|
||||
- Fix gregtech machines appearing with 'unnamed' or 'draconium lens' on the interface terminal on specific situations.
|
||||
- Add memorycard support for fluid interfaces, import/export/storage busses and level emitters ( this fix was upstreamed to AE2 for MC 1.16)
|
||||
- Storage busses now hide/show inaccessible items as configured.
|
||||
- Exclusive Blocking mode for GTCE ( shapes, molds and configured circuits do not block GTCE machines )
|
||||
- Blocking modes default to block on any item in the iventory the entity exposes
|
||||
- Fuzzy includes items that report that they're damageable, but report a maxDamage of 0 ( auto-crafting of basic capacitors -> resonant capacitors is now possible ) <- Broken item implementation.
|
||||
- Fix CME exceptions on the energy grid
|
||||
- Fix AE going offline even with enough power by extracting from the local buffer always last
|
||||
- Fix IO-Port copying craftable flag into items
|
||||
- Fix NBT of old items not clearing on drives that reached 64 types once
|
||||
|
||||
Performance:
|
||||
|
||||
- Added @talchas fixes for insane channelless AE networks.
|
||||
- Implemented StorageDrawers slotless itemrepository.
|
||||
- Removed CraftedEvent calls (really bad lag with craftweaker versions before CraftTweaker2-1.12-4.1.20.626)
|
||||
- Count items set in interfaces before queuing crafting for them needlessly
|
||||
- Backported b7ca98d ( Avoid copying items on simulated item extraction )
|
||||
- Cache some level emitters functions
|
||||
- Reduced import bus insert simulation to 1 before real insertion (if possible)
|
||||
- Backported itemlist re-implementation along with pattern changes to avoid CraftingManager fallback issues
|
||||
- Instead of recalculating all the content of the network on every change, track the changes properly and apply them to the cached list of items
|
||||
|
||||
QOL:
|
||||
|
||||
- added highlight interface button to interface terminal ("?" button on the left of the interface slots)
|
||||
- Added bar on the interface terminal that search by inputs ( The one on the LEFT, also searchs by interface name )
|
||||
- Shortcut to molecular assemblers with free slots on the terminal interface by @Theisyat
|
||||
- Toggle button on interface terminal to hide full interfaces
|
||||
- JEI "U", "R" and "A" (Usages/Recipes/Bookmark) now work on the Crafting Status GUI. ( the one that shows the total items to craft, and whats missing)
|
||||
- Patterns can now be made with items currently showing on JEI. ( This is overriden by Just Enough Energistics. )
|
||||
- Added multiplier buttons to processing pattern gui
|
||||
- Switched crafting terminal JEI search to fuzzy mode. If the recipe uses a damageable item, AE will try to grab it ( damaged tools )
|
||||
- Encoded patterns stack up to 64 ( holding shift and clicking the encode arrow will transfer the encoded pattern to the player inventory)
|
||||
- Encoded patterns can be draggred on the interface terminal.
|
||||
- Storage Monitor and Conversion Monitor now also ccepts fluids
|
||||
- Draggable JEI ghost items (also works on bookmarked items. SHIFT + Click will move the hovered item into the first free target slot)
|
||||
- JEI auto switches between crafting and processing patterns
|
||||
- GTCE Blocking mode work through phantom itemfaces
|
||||
- Shift-clicking blank patterns into the pattern terminal will try to fill the blank pattern slots first
|
||||
- Mismached simulated/real item count ( most often due to compacting drawers ) will now tell the player wich item cause the failure when trying to start a craft
|
||||
- Added 'pattern expansion' cards that adds an extra row of patterns to interfaces. up to 3 card on an interface. (each card will increase the interface idle power draw by 4 times)
|
||||
|
||||
HOTKEYS:
|
||||
|
||||
- Implemented mousetweaks API. AE2 custom keybinds now work. (Try right clicking and use the scroll-wheel on the terminals)
|
||||
- Holding SHIFT and scrolling UP and DOWN will increase the items set on the configured slots of Interfaces and Pattern Terminal (Processing mode)
|
||||
@@ -1,44 +1,179 @@
|
||||
# Applied Energistics 2 Unofficial Extended Life
|
||||
[](https://github.com/AppliedEnergistics/Applied-Energistics-2/actions?query=workflow%3A%22Build+master%22)
|
||||
[](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases)
|
||||
[](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases)
|
||||
|
||||
[](https://www.curseforge.com/minecraft/mc-mods/ae2-extended-life) [](https://www.curseforge.com/minecraft/mc-mods/ae2-extended-life) [](https://github.com/AE2-UEL/Applied-Energistics-2/issues) [](https://github.com/AE2-UEL/Applied-Energistics-2/pulls)
|
||||
# Applied Energistics 2
|
||||
|
||||
---
|
||||
## Table of Contents
|
||||
|
||||
* [About](#about)
|
||||
* [Contacts](#contacts)
|
||||
* [License](#license)
|
||||
* [Downloads](#downloads)
|
||||
* [Installation](#installation)
|
||||
* [Issues](#issues)
|
||||
* [API](#applied-energistics-2-api)
|
||||
* [Building](#building)
|
||||
* [Contribution](#contribution)
|
||||
* [Localization](#applied-energistics-2-localization)
|
||||
* [Credits](#credits)
|
||||
|
||||
## About
|
||||
|
||||
A maintained fork of a Mod about Matter, Energy and using them to conquer the world.
|
||||
A Mod about Matter, Energy and using them to conquer the world..
|
||||
|
||||
This project started as a fork of [Applied Energistics 2](https://github.com/AppliedEnergistics/Applied-Energistics-2) by [PrototypeTrousers](https://github.com/PrototypeTrousers), initially addressing issues related to the [Nomifactory](https://www.curseforge.com/minecraft/modpacks/nomifactory) modpack. It is now being maintained by the [AE2 Unofficial Extended Life Team](https://github.com/AE2-UEL).
|
||||
## Contacts
|
||||
|
||||
See [Releases](https://github.com/PrototypeTrousers/Applied-Energistics-2/releases) for the compiled jars.
|
||||
|
||||
## RecipeStages
|
||||
|
||||
You need to add the following into a CraftTweaker script:
|
||||
```
|
||||
mods.recipestages.Recipes.setPackageStage("appeng", allStages);
|
||||
```
|
||||
|
||||
The second argument allows you to customize which stages exactly you want to be craftable with AE2. Not sure why you would do that, but we support that nonetheless!
|
||||
* [Website](http://ae-mod.info/)
|
||||
* [IRC #appliedenergistics on esper.net](http://webchat.esper.net/?channels=appliedenergistics&prompt=1)
|
||||
* [GitHub](https://github.com/AppliedEnergistics/Applied-Energistics-2)
|
||||
* [Discord](https://discord.gg/GygKjjm)
|
||||
|
||||
## License
|
||||
|
||||
* Applied Energistics 2 API
|
||||
- (c) 2013 - 2018 AlgorithmX2 et al
|
||||
- (c) 2013 - 2020 AlgorithmX2 et al
|
||||
- [](http://opensource.org/licenses/MIT)
|
||||
* Applied Energistics 2
|
||||
- (c) 2013 - 2018 AlgorithmX2 et al
|
||||
- (c) 2013 - 2020 AlgorithmX2 et al
|
||||
- [](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
|
||||
* Textures and Models
|
||||
- (c) 2013 - 2018 AlgorithmX2 et al
|
||||
- (c) 2013 - 2020 AlgorithmX2 et al
|
||||
- [](https://creativecommons.org/licenses/by-nc-sa/3.0/)
|
||||
* Text and Translations
|
||||
- [](https://creativecommons.org/publicdomain/zero/1.0/)
|
||||
|
||||
## Downloads
|
||||
|
||||
Downloads can be found on [CurseForge](https://www.curseforge.com/minecraft/mc-mods/applied-energistics-2) or on the [official website](http://ae-mod.info/Downloads/).
|
||||
|
||||
## Installation
|
||||
|
||||
You install this mod by putting it into the `minecraft/mods/` folder. It has no additional hard dependencies.
|
||||
|
||||
## Issues
|
||||
|
||||
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.
|
||||
* If it is already possible with vanilla and AE2 itself, the suggestion will be considered invalid.
|
||||
* Asking for a smaller version, more compact version, or more efficient version of something will also be considered invalid.
|
||||
2. Go to [the issues page](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues) and click [new issue](https://github.com/AppliedEnergistics/Applied-Energistics-2/issues/new)
|
||||
3. If applicable, use on of the provided templates. It will also contain further details about required or useful information to add.
|
||||
4. 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.
|
||||
|
||||
Please note that we might close any issue not matching these requirements.
|
||||
|
||||
## Applied Energistics 2 API
|
||||
|
||||
The API for Applied Energistics 2. It is open source to discuss changes, improve documentation, and provide better add-on support in general.
|
||||
|
||||
### Maven
|
||||
|
||||
We use Github Packages as maven repository now. You can use the following snippet as example on how to add a repository to your gradle build file.
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
name "AE2"
|
||||
url "https://maven.pkg.github.com/AppliedEnergistics/Applied-Energistics-2"
|
||||
}
|
||||
}
|
||||
|
||||
When compiling against the AE2 API you can use gradle dependencies, just add
|
||||
|
||||
dependencies {
|
||||
compileOnly "appeng:appliedenergistics2:VERSION:api"
|
||||
}
|
||||
|
||||
or add the `compileOnly` line to your existing dependencies task to your build.gradle.
|
||||
|
||||
Replace `VERSION` with the desired one. With 1.15+ we switched to using [semver](https://semver.org/).
|
||||
It is highly recommended following its specification and further considering an upper bound for the dependency version.
|
||||
A change of the `MAJOR` version will be an API break and can lead to various crashes. Better to inform a player about the addon not supporting the new version until it could be tested or updated.
|
||||
|
||||
An example string would be `appeng:appliedenergistics2:7.0.0-alpha.6:api` for the API only or `appeng:appliedenergistics2:7.0.0-alpha.6` for the whole mod.
|
||||
|
||||
Builds obtained [here](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases) or via [maven](https://github.com/AppliedEnergistics/Applied-Energistics-2/packages) should work in a development environment.
|
||||
However the dependency might need to be wrapped in `fg.deobf()` like `runtimeOnly fg.deobf("appeng:appliedenergistics2:VERSION:api")`
|
||||
|
||||
## Building
|
||||
|
||||
1. Clone this repository via
|
||||
- SSH `git clone git@github.com:AppliedEnergistics/Applied-Energistics-2.git` or
|
||||
- HTTPS `git clone https://github.com/AppliedEnergistics/Applied-Energistics-2.git`
|
||||
2. Build using the `gradlew runData build` command. Jar will be in `build/libs`
|
||||
3. For core developer: Setup IDE
|
||||
- IntelliJ: Import as gradle project
|
||||
- Eclipse: Import as gradle project or execute gradle task `eclipse` and potentially `genEclipseRuns`
|
||||
|
||||
## Contribution
|
||||
|
||||
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/AppliedEnergistics/Applied-Energistics-2/blob/master/.github/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.
|
||||
* Use the file you are editing as a style guide.
|
||||
* Consider your feature. [Suggestion Guidelines](http://ae-mod.info/Suggestion-Guidelines/)
|
||||
- Is your suggestion already possible using Vanilla + AE2?
|
||||
- Make sure your feature isn't already in the works, or hasn't been rejected previously.
|
||||
- Does your feature simplify another feature of AE2? These changes will not be accepted.
|
||||
- If your feature can be done by any popular mod, discuss with us first.
|
||||
|
||||
**Getting Started**
|
||||
|
||||
1. Fork this repository
|
||||
2. Clone the fork via
|
||||
* SSH `git clone git@github.com:<your username>/Applied-Energistics-2.git` or
|
||||
* HTTPS `git clone https://github.com/<your username>/Applied-Energistics-2.git`
|
||||
3. Change code base
|
||||
4. Run `gradlew spotlessApply` to apply automatic code formatting
|
||||
5. Add changes to git `git add -A`
|
||||
6. Commit changes to your clone `git commit -m "<summary of made changes>"`
|
||||
7. Push to your fork `git push`
|
||||
8. Create a Pull-Request on GitHub
|
||||
9. Wait for review
|
||||
10. Squash commits for cleaner history
|
||||
|
||||
If you are only doing single file pull requests, GitHub supports using a quick way without the need of cloning your fork. Also read up about [synching](https://help.github.com/articles/syncing-a-fork) if you plan to contribute on regular basis.
|
||||
|
||||
## Applied Energistics 2 Localization
|
||||
|
||||
### English Text
|
||||
|
||||
`en_US` is included in this repository, fixes to typos are welcome.
|
||||
|
||||
### Encoding
|
||||
|
||||
Files must be encoded as UTF-8.
|
||||
|
||||
### New or updated 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.
|
||||
|
||||
### Final Note
|
||||
|
||||
If you have have issues localizing something feel free to contact us on IRC, at #AppliedEnergistics on Esper.net
|
||||
|
||||
Thanks to everyone helping out to improve localization of AE2.
|
||||
|
||||
## Credits
|
||||
|
||||
Special thanks to:
|
||||
|
||||
* PrototypeTrousers for the initial fork
|
||||
Thanks to
|
||||
|
||||
* Notch et al for Minecraft
|
||||
* Lex et al for MinecraftForge
|
||||
* AlgorithmX2 for AppliedEnergistics2
|
||||
|
||||
+159
-1177
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,92 +0,0 @@
|
||||
<?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>
|
||||
@@ -0,0 +1,365 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<profiles version="18">
|
||||
<profile kind="CodeFormatterProfile" name="AE2" version="18">
|
||||
<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_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.parentheses_positions_in_for_statment" value="common_lines"/>
|
||||
<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_logical_operator" value="insert"/>
|
||||
<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.parentheses_positions_in_method_invocation" value="common_lines"/>
|
||||
<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="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not 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.parentheses_positions_in_switch_statement" value="common_lines"/>
|
||||
<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.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
|
||||
<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_after_arrow_in_switch_default" 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_space_after_semicolon_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
|
||||
<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.number_of_blank_lines_before_code_block" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
|
||||
<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.comment.count_line_length_from_starting_position" value="true"/>
|
||||
<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="16"/>
|
||||
<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.insert_space_before_arrow_in_switch_case" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator" value="true"/>
|
||||
<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_space_after_prefix_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
|
||||
<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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not 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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
|
||||
<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.align_tags_descriptions_grouped" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_method_body_on_one_line" value="one_line_never"/>
|
||||
<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.keep_loop_body_block_on_one_line" value="one_line_never"/>
|
||||
<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="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
|
||||
<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="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_never"/>
|
||||
<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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="16"/>
|
||||
<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="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="true"/>
|
||||
<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="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
|
||||
<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.insert_space_before_bitwise_operator" value="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="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" 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="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
|
||||
<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.alignment_for_relational_operator" value="0"/>
|
||||
<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_unary_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
|
||||
<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_after_additive_operator" value="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="do not 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_space_after_string_concatenation" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not 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.text_block_indentation" value="0"/>
|
||||
<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.alignment_for_module_statements" value="16"/>
|
||||
<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.number_of_blank_lines_after_code_block" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line" value="one_line_never"/>
|
||||
<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="80"/>
|
||||
<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.align_assignment_statements_on_columns" value="false"/>
|
||||
<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="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain" value="0"/>
|
||||
<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="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not 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="true"/>
|
||||
<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.wrap_before_conditional_operator" value="true"/>
|
||||
<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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_shift_operator" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_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="80"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not 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_space_after_bitwise_operator" value="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="do not 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="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_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.parentheses_positions_in_method_delcaration" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_never"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
|
||||
<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="do not 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="do not 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="do not 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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" 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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_logical_operator" 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="16"/>
|
||||
<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.indent_breaks_compare_to_cases" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_relational_operator" value="true"/>
|
||||
<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="do not 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="do not 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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.comment.indent_tag_description" value="false"/>
|
||||
<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="16"/>
|
||||
<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.alignment_for_string_concatenation" value="16"/>
|
||||
<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.blank_lines_after_last_class_body_declaration" value="0"/>
|
||||
<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.keep_simple_while_body_on_same_line" value="false"/>
|
||||
<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_logical_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_shift_operator" value="insert"/>
|
||||
<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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
|
||||
<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.parentheses_positions_in_lambda_declaration" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_shift_operator" value="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.keep_simple_do_while_body_on_same_line" value="false"/>
|
||||
<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.keep_enum_declaration_on_one_line" value="one_line_never"/>
|
||||
<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="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator" value="insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
|
||||
<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.alignment_for_expressions_in_for_loop_header" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not 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="do not 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_before_string_concatenation" value="insert"/>
|
||||
<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="true"/>
|
||||
<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="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
|
||||
<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.wrap_before_string_concatenation" value="true"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
|
||||
</profile>
|
||||
</profiles>
|
||||
@@ -1,5 +1,5 @@
|
||||
This file is part of Applied Energistics 2.
|
||||
Copyright (c) 2013 - $today.year, AlgorithmX2, All rights reserved.
|
||||
Copyright (c) 2013 - $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
|
||||
|
||||
@@ -1,314 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<profiles version="13">
|
||||
<profile kind="CodeFormatterProfile" name="AE2" version="13">
|
||||
<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.parentheses_positions_in_for_statment" value="common_lines"/>
|
||||
<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.parentheses_positions_in_method_invocation" value="common_lines"/>
|
||||
<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.parentheses_positions_in_switch_statement" value="common_lines"/>
|
||||
<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.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
|
||||
<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="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="80"/>
|
||||
<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.parentheses_positions_in_if_while_statement" value="common_lines"/>
|
||||
<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.comment.count_line_length_from_starting_position" value="false"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="do not 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="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.alignment_for_parameterized_type_references" value="0"/>
|
||||
<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.insert_new_line_after_annotation_on_enum_constant" 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="next_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="false"/>
|
||||
<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="do not 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.parentheses_positions_in_catch_clause" value="common_lines"/>
|
||||
<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="next_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="do not 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.alignment_for_type_parameters" 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="16"/>
|
||||
<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="do not 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="16"/>
|
||||
<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.parentheses_positions_in_annotation" value="common_lines"/>
|
||||
<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="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="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="do not 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="do not 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.wrap_before_conditional_operator" value="true"/>
|
||||
<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.align_fields_grouping_blank_lines" value="2147483647"/>
|
||||
<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.parentheses_positions_in_try_clause" value="common_lines"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="80"/>
|
||||
<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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
|
||||
<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.parentheses_positions_in_method_delcaration" value="common_lines"/>
|
||||
<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.alignment_for_type_arguments" value="0"/>
|
||||
<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="do not 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="do not 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.parentheses_positions_in_lambda_declaration" value="common_lines"/>
|
||||
<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="do not insert"/>
|
||||
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="do not 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.alignment_for_expressions_in_for_loop_header" value="0"/>
|
||||
<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="false"/>
|
||||
<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="do not insert"/>
|
||||
</profile>
|
||||
</profiles>
|
||||
@@ -1,52 +0,0 @@
|
||||
//file:noinspection DependencyNotationArgument
|
||||
// TODO remove when fixed in RFG ^
|
||||
/*
|
||||
* Add your dependencies here. Common configurations:
|
||||
* - implementation("group:name:version:classifier"): if you need this for internal implementation details of the mod.
|
||||
* Available at compiletime and runtime for your environment.
|
||||
*
|
||||
* - compileOnlyApi("g:n:v:c"): if you need this for internal implementation details of the mod.
|
||||
* Available at compiletime but not runtime for your environment.
|
||||
*
|
||||
* - annotationProcessor("g:n:v:c"): mostly for java compiler plugins, if you know you need this, use it, otherwise don't worry
|
||||
*
|
||||
* - testCONFIG("g:n:v:c"): replace CONFIG by one of the above, same as above but for the test sources instead of main
|
||||
*
|
||||
* You can exclude transitive dependencies (dependencies of the chosen dependency) by appending { transitive = false } if needed.
|
||||
*
|
||||
* To add a mod with CurseMaven, replace '("g:n:v:c")' in the above with 'rfg.deobf("curse.maven:project_slug-project_id:file_id")'
|
||||
* Example: implementation rfg.deobf("curse.maven:gregtech-ce-unofficial-557242:4527757")
|
||||
*
|
||||
* To shadow a dependency, use 'shadowImplementation'. For more info, see https://github.com/GregTechCEu/Buildscripts/blob/master/docs/shadow.md
|
||||
*
|
||||
* For more details, see https://docs.gradle.org/8.0.1/userguide/java_library_plugin.html#sec:java_library_configurations_graph
|
||||
*/
|
||||
dependencies {
|
||||
|
||||
// Mods always in-game
|
||||
implementation rfg.deobf("curse.maven:gregtechceu-557242:4429261") // GTCEu
|
||||
implementation rfg.deobf("curse.maven:codechicken-lib-1-8-242818:2779848") // CCL 3.2.3.358
|
||||
implementation rfg.deobf("curse.maven:baubles-227083:2518667") // Baubles
|
||||
implementation rfg.deobf("curse.maven:industrial-craft-242638:2547175") // IC2
|
||||
implementation rfg.deobf("curse.maven:forestry-59751:2684780") // Forestry
|
||||
|
||||
// Mods only in code by default
|
||||
compileOnly "curse.maven:chisel-235279:2915375"
|
||||
compileOnly "curse.maven:hwyla-253449:2568751"
|
||||
compileOnly "curse.maven:recipe-stages-280554:3405072"
|
||||
compileOnly "curse.maven:item-stages-280316:2696769"
|
||||
compileOnly "curse.maven:game-stages-268655:2951844"
|
||||
compileOnly "net.darkhax.tesla:Tesla-1.12.2:1.0.63"
|
||||
compileOnly "curse.maven:CoFHCore-69162:2920433"
|
||||
compileOnly "CraftTweaker2:CraftTweaker2-API:4.1.20.684"
|
||||
compileOnly "curse.maven:inventory-tweaks-223094:2482482"
|
||||
compileOnly "curse.maven:inventory-bogo-sorter-632327:4399738"
|
||||
compileOnly rfg.deobf("curse.maven:ctm-267602:2915363") // CTM 1.0.2.31
|
||||
compileOnly rfg.deobf("curse.maven:actually-additions-228404:3117927") // ActuallyAdditions r152
|
||||
}
|
||||
|
||||
minecraft {
|
||||
injectedTags.put('AEVERSION', aeversion)
|
||||
injectedTags.put('AECHANNEL', aechannel)
|
||||
injectedTags.put('AEBUILD', aebuild)
|
||||
}
|
||||
+30
-179
@@ -1,184 +1,35 @@
|
||||
modName = AE2 Unofficial Extended Life
|
||||
version_major=0
|
||||
version_minor=0
|
||||
version_patch=0
|
||||
|
||||
# This is a case-sensitive string to identify your mod. Convention is to use lower case.
|
||||
modId = appliedenergistics2
|
||||
artifact_group=appeng
|
||||
artifact_basename=appliedenergistics2
|
||||
|
||||
modGroup = appeng
|
||||
#########################################################
|
||||
# Minecraft Versions #
|
||||
#########################################################
|
||||
minecraft_release=1.16
|
||||
minecraft_version=1.16.1
|
||||
mcp_mappings=20200723-1.16.1
|
||||
forge_version=32.0.93
|
||||
|
||||
# Version of your mod.
|
||||
# This field can be left empty if you want your mod's version to be determined by the latest git tag instead.
|
||||
modVersion =
|
||||
#########################################################
|
||||
# Provided APIs #
|
||||
#########################################################
|
||||
jei_version=7.0.0.6
|
||||
top_version=3.0.1-beta-4
|
||||
hwyla_version=1.10.8-B72_1.15.2
|
||||
ctm_version=MC1.15.2-1.1.0.9
|
||||
|
||||
# AE2 Specific Version Settings
|
||||
aeversion=rv6
|
||||
aechannel=stable
|
||||
aebuild=7
|
||||
#########################################################
|
||||
# Deployment #
|
||||
#########################################################
|
||||
website_version=1.16.1
|
||||
curse_versions=1.16.1
|
||||
curseforge_project=223794
|
||||
|
||||
# Whether to use the old jar naming structure (modid-mcversion-version) instead of the new version (modid-version)
|
||||
includeMCVersionJar = false
|
||||
|
||||
# The name of your jar when you produce builds, not including any versioning info
|
||||
modArchivesBaseName = ae2-uel
|
||||
|
||||
# Will update your build.gradle automatically whenever an update is available
|
||||
autoUpdateBuildScript = false
|
||||
|
||||
minecraftVersion = 1.12.2
|
||||
|
||||
# Select a username for testing your mod with breakpoints. You may leave this empty for a random username each time you
|
||||
# restart Minecraft in development. Choose this dependent on your mod:
|
||||
# Do you need consistent player progressing (for example Thaumcraft)? -> Select a name
|
||||
# Do you need to test how your custom blocks interacts with a player that is not the owner? -> leave name empty
|
||||
# Alternatively this can be set with the 'DEV_USERNAME' environment variable.
|
||||
developmentEnvironmentUserName = Developer
|
||||
|
||||
# Enables using modern java syntax (up to version 17) via Jabel, while still targeting JVM 8.
|
||||
# See https://github.com/bsideup/jabel for details on how this works.
|
||||
# Using this requires that you use a Java 17 JDK for development.
|
||||
enableModernJavaSyntax = true
|
||||
|
||||
# Generate a class with String fields for the mod id, name and version named with the fields below
|
||||
generateGradleTokenClass = appeng.Tags
|
||||
gradleTokenModId = MODID
|
||||
gradleTokenModName = MODNAME
|
||||
gradleTokenVersion = VERSION
|
||||
|
||||
# In case your mod provides an API for other mods to implement you may declare its package here. Otherwise, you can
|
||||
# leave this property empty.
|
||||
# Example value: apiPackage = api + modGroup = com.myname.mymodid -> com.myname.mymodid.api
|
||||
apiPackage = api
|
||||
|
||||
# If you want to keep your API code in src/api instead of src/main
|
||||
useSrcApiPath = true
|
||||
|
||||
# Specify the configuration file for Forge's access transformers here. It must be placed into /src/main/resources/
|
||||
# There can be multiple files in a comma-separated list.
|
||||
# Example value: mymodid_at.cfg,jei_at.cfg
|
||||
accessTransformersFile = appliedenergistics2_at.cfg
|
||||
|
||||
# Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled!
|
||||
usesMixins = false
|
||||
# Specify the package that contains all of your Mixins. You may only place Mixins in this package or the build will fail!
|
||||
mixinsPackage =
|
||||
# Automatically generates a mixin config json if enabled, with the name mixins.modid.json
|
||||
generateMixinConfig = false
|
||||
# Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin!
|
||||
# Example value: coreModClass = asm.FMLPlugin + modGroup = com.myname.mymodid -> com.myname.mymodid.asm.FMLPlugin
|
||||
coreModClass = core.AE2ELCore
|
||||
# If your project is only a consolidation of mixins or a core mod and does NOT contain a 'normal' mod (meaning that
|
||||
# there is no class annotated with @Mod) you want this to be true. When in doubt: leave it on false!
|
||||
containsMixinsAndOrCoreModOnly = false
|
||||
|
||||
# Enables Mixins even if this mod doesn't use them, useful if one of the dependencies uses mixins.
|
||||
forceEnableMixins = false
|
||||
|
||||
# Outputs pre-transformed and post-transformed loaded classes to run/CLASSLOADER_TEMP. Can be used in combination with
|
||||
# diff to see exactly what your ASM or Mixins are changing in the target file.
|
||||
# Optionally can be specified with the 'CORE_MOD_DEBUG' env var. Will output a lot of files!
|
||||
enableCoreModDebug = false
|
||||
|
||||
# Adds CurseMaven, Modrinth Maven, BlameJared maven, and some more well-known 1.12.2 repositories
|
||||
includeWellKnownRepositories = true
|
||||
|
||||
# Adds JEI and TheOneProbe to your development environment. Adds them as 'implementation', meaning they will
|
||||
# be available at compiletime and runtime for your mod (in-game and in-code).
|
||||
# Overrides the above setting to be always true, as these repositories are needed to fetch the mods
|
||||
includeCommonDevEnvMods = true
|
||||
|
||||
|
||||
# If enabled, you may use 'shadowCompile' for dependencies. They will be integrated in your jar. It is your
|
||||
# responsibility check the licence and request permission for distribution, if required.
|
||||
usesShadowedDependencies = false
|
||||
# If disabled, won't remove unused classes from shaded dependencies. Some libraries use reflection to access
|
||||
# their own classes, making the minimization unreliable.
|
||||
minimizeShadowedDependencies = true
|
||||
# If disabled, won't rename the shadowed classes.
|
||||
relocateShadowedDependencies = true
|
||||
|
||||
# Separate run directories into "run/client" for runClient task, and "run/server" for runServer task.
|
||||
# Useful for debugging a server and client simultaneously. If not enabled, it will be in the standard location "run/"
|
||||
separateRunDirectories = false
|
||||
|
||||
# The display name format of versions published to Curse and Modrinth. $MOD_NAME and $VERSION are available variables.
|
||||
# Default: $MOD_NAME \u2212 $VERSION. \u2212 is the minus character which looks much better than the hyphen minus on Curse.
|
||||
versionDisplayFormat = $MOD_NAME \u2212 $VERSION
|
||||
|
||||
# Publishing to modrinth requires you to set the MODRINTH_API_KEY environment variable to your current modrinth API token.
|
||||
|
||||
# The project's ID on Modrinth. Can be either the slug or the ID.
|
||||
# Leave this empty if you don't want to publish on Modrinth.
|
||||
# Alternatively this can be set with the 'MODRINTH_PROJECT_ID' environment variable.
|
||||
modrinthProjectId =
|
||||
|
||||
# The project's relations on Modrinth. You can use this to refer to other projects on Modrinth.
|
||||
# Syntax: scope1-type1:name1;scope2-type2:name2;...
|
||||
# Where scope can be one of [required, optional, incompatible, embedded],
|
||||
# type can be one of [project, version],
|
||||
# and the name is the Modrinth project or version slug/id of the other mod.
|
||||
# Example: required-project:jei;optional-project:top;incompatible-project:gregtech
|
||||
modrinthRelations =
|
||||
|
||||
|
||||
# Publishing to CurseForge requires you to set the CURSEFORGE_API_KEY environment variable to one of your CurseForge API tokens.
|
||||
|
||||
# The project's numeric ID on CurseForge. You can find this in the About Project box.
|
||||
# Leave this empty if you don't want to publish on CurseForge.
|
||||
# Alternatively this can be set with the 'CURSEFORGE_PROJECT_ID' environment variable.
|
||||
curseForgeProjectId =
|
||||
|
||||
# The project's relations on CurseForge. You can use this to refer to other projects on CurseForge.
|
||||
# Syntax: type1:name1;type2:name2;...
|
||||
# Where type can be one of [requiredDependency, embeddedLibrary, optionalDependency, tool, incompatible],
|
||||
# and the name is the CurseForge project slug of the other mod.
|
||||
# Example: requiredDependency:railcraft;embeddedLibrary:cofhlib;incompatible:buildcraft
|
||||
curseForgeRelations =
|
||||
|
||||
# This project's release type on CurseForge and/or Modrinth
|
||||
# Alternatively this can be set with the 'RELEASE_TYPE' environment variable.
|
||||
# Allowed types: release, beta, alpha
|
||||
releaseType = release
|
||||
|
||||
# Generate a default changelog for releases. Requires git to be installed, as it uses it to generate a changelog of
|
||||
# commits since the last tagged release.
|
||||
generateDefaultChangelog = false
|
||||
|
||||
# Prevent the source code from being published
|
||||
noPublishedSources = false
|
||||
|
||||
|
||||
# Publish to a custom maven location. Follows a few rules:
|
||||
# Group ID can be set with the 'ARTIFACT_GROUP_ID' environment variable, default to 'project.group'
|
||||
# Artifact ID can be set with the 'ARTIFACT_ID' environment variable, default to 'project.name'
|
||||
# Version can be set with the 'RELEASE_VERSION' environment variable, default to 'modVersion'
|
||||
# For maven credentials:
|
||||
# Username is set with the 'MAVEN_USER' environment variable, default to "NONE"
|
||||
# Password is set with the 'MAVEN_PASSWORD' environment variable, default to "NONE"
|
||||
customMavenPublishUrl = https://maven.gtceu.com
|
||||
|
||||
# The group for maven artifacts. Defaults to the 'project.modGroup' until the last '.' (if any).
|
||||
# So 'mymod' becomes 'mymod' and 'com.myname.mymodid' 'becomes com.myname'
|
||||
mavenArtifactGroup =
|
||||
|
||||
# Enable spotless checks
|
||||
# Enforces code formatting on your source code
|
||||
# By default this will use the files found here: https://github.com/GregTechCEu/Buildscripts/tree/master/spotless
|
||||
# to format your code. However, you can create your own version of these files and place them in your project's
|
||||
# root directory to apply your own formatting options instead.
|
||||
enableSpotless = false
|
||||
|
||||
# Enable JUnit testing platform used for testing your code.
|
||||
# Uses JUnit 5. See guide and documentation here: https://junit.org/junit5/docs/current/user-guide/
|
||||
enableJUnit = true
|
||||
|
||||
# Deployment debug setting
|
||||
# Uncomment this to test deployments to CurseForge and Modrinth
|
||||
# Alternatively, you can set the 'DEPLOYMENT_DEBUG' environment variable.
|
||||
deploymentDebug = false
|
||||
|
||||
|
||||
# Gradle Settings
|
||||
# Effectively applies the '--stacktrace' flag by default
|
||||
org.gradle.logging.stacktrace = all
|
||||
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
|
||||
# This is required to provide enough memory for the Minecraft decompilation process.
|
||||
org.gradle.jvmargs = -Xmx3G
|
||||
#########################################################
|
||||
# Gradle #
|
||||
#########################################################
|
||||
# Various tasks like runData will fail when run as daemon
|
||||
org.gradle.daemon=false
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* 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>.
|
||||
*/
|
||||
|
||||
processResources {
|
||||
exclude '.cache'
|
||||
}
|
||||
|
||||
jar {
|
||||
finalizedBy 'reobfJar'
|
||||
finalizedBy 'signJar'
|
||||
|
||||
from sourceSets.main.output.classesDirs
|
||||
from sourceSets.api.output.classesDirs
|
||||
from sourceSets.main.output.resourcesDir
|
||||
from sourceSets.api.output.resourcesDir
|
||||
|
||||
manifest {
|
||||
attributes([
|
||||
"Specification-Title": "Applied Energistics 2",
|
||||
"Specification-Vendor": "TeamAppliedEnergistics",
|
||||
"Specification-Version": "${project.version}",
|
||||
"Implementation-Title": "${project.name}",
|
||||
"Implementation-Version": "${project.version}",
|
||||
"Implementation-Vendor" :"TeamAppliedEnergistics",
|
||||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
task javadocs(type: Javadoc) {
|
||||
classpath = sourceSets.main.compileClasspath
|
||||
source = sourceSets.api.java
|
||||
include "appeng/api/**"
|
||||
|
||||
options.addStringOption('Xdoclint:none', '-quiet')
|
||||
options.encoding = 'UTF-8'
|
||||
options.charSet = 'UTF-8'
|
||||
}
|
||||
|
||||
task javadocJar(type: Jar, dependsOn: javadocs) {
|
||||
classifier = "javadoc"
|
||||
from javadoc.destinationDir
|
||||
}
|
||||
|
||||
task sourcesJar(type: Jar) {
|
||||
classifier = "sources"
|
||||
from sourceSets.main.allJava
|
||||
from sourceSets.api.allJava
|
||||
}
|
||||
|
||||
task apiJar(type: Jar) {
|
||||
classifier = "api"
|
||||
from sourceSets.api.output
|
||||
include "appeng/api/**"
|
||||
|
||||
// TODO: when FG bug is fixed, remove allJava from the api jar.
|
||||
// https://github.com/MinecraftForge/ForgeGradle/issues/369
|
||||
// Gradle should be able to pull them from the -sources jar.
|
||||
from sourceSets.api.allJava
|
||||
}
|
||||
|
||||
artifacts {
|
||||
archives javadocJar
|
||||
archives sourcesJar
|
||||
archives apiJar
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* This file is part of Applied Energistics 2.
|
||||
* Copyright (c) 2020, TeamAppliedEnergistics, 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
|
||||
*g 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>.
|
||||
*/
|
||||
|
||||
def isAlpha = project.version.contains("alpha")
|
||||
def isBeta = project.version.contains("beta")
|
||||
|
||||
def cfReleaseType = "release"
|
||||
if (isAlpha) {
|
||||
cfReleaseType = "alpha"
|
||||
} else if (isBeta) {
|
||||
cfReleaseType = "beta"
|
||||
}
|
||||
|
||||
if (System.getenv("CURSEFORGE")) {
|
||||
curseforge {
|
||||
apiKey = System.getenv("CURSEFORGE")
|
||||
project {
|
||||
id = project.curseforge_project
|
||||
changelogType = "markdown"
|
||||
changelog = System.getenv("CHANGELOG") ?: "Please visit our [releases](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases) for a changelog"
|
||||
releaseType = cfReleaseType
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* 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()
|
||||
|
||||
maven { // modmaven, maven proxy
|
||||
name 'modmaven'
|
||||
url "https://modmaven.k-4u.nl/"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
||||
|
||||
// compile against provided APIs
|
||||
compileOnly "mezz.jei:jei-${minecraft_version}:${jei_version}:api"
|
||||
compileOnly "mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}:api"
|
||||
|
||||
// Runtime, Mods
|
||||
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}")
|
||||
runtimeOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}")
|
||||
//runtimeOnly fg.deobf("team.chisel.ctm:CTM:${ctm_version}")
|
||||
|
||||
// unit test dependencies
|
||||
testCompile "junit:junit:4.13"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* This file is part of Applied Energistics 2.
|
||||
* Copyright (c) 2013 - 2020, 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
|
||||
*g 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>.
|
||||
*/
|
||||
|
||||
spotless {
|
||||
java {
|
||||
target 'src/*/java/appeng/**/*.java'
|
||||
|
||||
indentWithSpaces()
|
||||
eclipse().configFile 'codeformat/codeformat.xml'
|
||||
importOrderFile 'codeformat/ae2.importorder'
|
||||
}
|
||||
format 'json', {
|
||||
target 'src/*/resources/**/*.json'
|
||||
targetExclude 'src/generated/resources/**'
|
||||
prettier().config(['parser': 'json'])
|
||||
}
|
||||
}
|
||||
Vendored
BIN
Binary file not shown.
+1
-3
@@ -1,7 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
@@ -1,126 +1,78 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright © 2015-2021 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
#!/usr/bin/env sh
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# Gradle start up script for POSIX generated by Gradle.
|
||||
#
|
||||
# Important for running:
|
||||
#
|
||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||
# noncompliant, but you have some other compliant shell such as ksh or
|
||||
# bash, then to run this script, type that shell name before the whole
|
||||
# command line, like:
|
||||
#
|
||||
# ksh Gradle
|
||||
#
|
||||
# Busybox and similar reduced shells will NOT work, because this script
|
||||
# requires all of these POSIX shell features:
|
||||
# * functions;
|
||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||
# * compound commands having a testable exit status, especially «case»;
|
||||
# * various built-in commands including «command», «set», and «ulimit».
|
||||
#
|
||||
# Important for patching:
|
||||
#
|
||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||
#
|
||||
# The "traditional" practice of packing multiple parameters into a
|
||||
# space-separated string is a well documented source of bugs and security
|
||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||
# options in "$@", and eventually passing that to Java.
|
||||
#
|
||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||
# see the in-line comments for details.
|
||||
#
|
||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
#
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
|
||||
# Resolve links: $0 may be a link
|
||||
app_path=$0
|
||||
|
||||
# Need this for daisy-chained symlinks.
|
||||
while
|
||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||
[ -h "$app_path" ]
|
||||
do
|
||||
ls=$( ls -ld "$app_path" )
|
||||
link=${ls#*' -> '}
|
||||
case $link in #(
|
||||
/*) app_path=$link ;; #(
|
||||
*) app_path=$APP_HOME$link ;;
|
||||
esac
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
} >&2
|
||||
}
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
} >&2
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "$( uname )" in #(
|
||||
CYGWIN* ) cygwin=true ;; #(
|
||||
Darwin* ) darwin=true ;; #(
|
||||
MSYS* | MINGW* ) msys=true ;; #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
@@ -129,120 +81,92 @@ Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
fi
|
||||
|
||||
# Collect all arguments for the java command, stacking in reverse order:
|
||||
# * args from the command line
|
||||
# * the main class name
|
||||
# * -classpath
|
||||
# * -D...appname settings
|
||||
# * --module-path (only if needed)
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
||||
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
for arg do
|
||||
if
|
||||
case $arg in #(
|
||||
-*) false ;; # don't mess with options #(
|
||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||
[ -e "$t" ] ;; #(
|
||||
*) false ;;
|
||||
esac
|
||||
then
|
||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
# Roll the args list around exactly as many times as the number of
|
||||
# args, so each arg winds up back in the position where it started, but
|
||||
# possibly modified.
|
||||
#
|
||||
# NB: a `for` loop captures its iteration list before it begins, so
|
||||
# changing the positional parameters here affects neither the number of
|
||||
# iterations, nor the values presented in `arg`.
|
||||
shift # remove old arg
|
||||
set -- "$@" "$arg" # push replacement arg
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=$(save "$@")
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
# Collect all arguments for the java command;
|
||||
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
||||
# shell script including quotes and variable substitutions, so put them in
|
||||
# double quotes to make sure that they get re-expanded; and
|
||||
# * put everything else in single quotes, so that it's not re-expanded.
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-classpath "$CLASSPATH" \
|
||||
org.gradle.wrapper.GradleWrapperMain \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
||||
cd "$(dirname "$0")"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
#
|
||||
# In Bash we could simply go:
|
||||
#
|
||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||
# set -- "${ARGS[@]}" "$@"
|
||||
#
|
||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||
# character that might be a shell metacharacter, then use eval to reverse
|
||||
# that process (while maintaining the separation between arguments), and wrap
|
||||
# the whole thing up as a single "set" statement.
|
||||
#
|
||||
# This will of course break if any of these variables contains a newline or
|
||||
# an unmatched quote.
|
||||
#
|
||||
|
||||
eval "set -- $(
|
||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||
xargs -n1 |
|
||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
|
||||
Vendored
+24
-32
@@ -1,20 +1,4 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@@ -25,23 +9,19 @@
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
set DEFAULT_JVM_OPTS=
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
@@ -55,7 +35,7 @@ goto fail
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
@@ -65,26 +45,38 @@ echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
pluginManagement {
|
||||
repositories {
|
||||
maven {
|
||||
// RetroFuturaGradle
|
||||
name 'GTNH Maven'
|
||||
url 'https://nexus.gtnewhorizons.com/repository/public/'
|
||||
//noinspection GroovyAssignabilityCheck
|
||||
mavenContent {
|
||||
includeGroup 'com.gtnewhorizons'
|
||||
includeGroup 'com.gtnewhorizons.retrofuturagradle'
|
||||
}
|
||||
}
|
||||
gradlePluginPortal()
|
||||
mavenCentral()
|
||||
mavenLocal()
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'com.diffplug.blowdryerSetup' version '1.7.0'
|
||||
// Automatic toolchain provisioning
|
||||
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0'
|
||||
}
|
||||
|
||||
blowdryerSetup {
|
||||
repoSubfolder 'spotless'
|
||||
github 'GregTechCEu/Buildscripts', 'tag', 'v1.0.7'
|
||||
}
|
||||
|
||||
rootProject.name = rootProject.projectDir.getName()
|
||||
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* 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>.
|
||||
*/
|
||||
|
||||
package appeng.api;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
/**
|
||||
* Use this annotation on a class in your Mod to have it instantiated during the
|
||||
* initialization phase of Applied Energistics.
|
||||
*
|
||||
* The class also needs to implement {@link IAEAddon}.
|
||||
*
|
||||
* AE expects your class to have a single constructor without any parameters.
|
||||
*
|
||||
* This is the only way to get access to the public {@link IAppEngApi} instance.
|
||||
*/
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.CLASS)
|
||||
@Documented
|
||||
public @interface AEAddon {
|
||||
}
|
||||
@@ -1,78 +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;
|
||||
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
import appeng.api.exceptions.CoreInaccessibleException;
|
||||
|
||||
|
||||
/**
|
||||
* Entry point for api.
|
||||
*
|
||||
* Available IMCs:
|
||||
*/
|
||||
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;
|
||||
|
||||
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." );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* API Entry Point.
|
||||
*
|
||||
* @return the {@link IAppEngApi}
|
||||
*/
|
||||
public static IAppEngApi instance()
|
||||
{
|
||||
return HELD_API;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
* 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>.
|
||||
*/
|
||||
|
||||
package appeng.api;
|
||||
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
|
||||
/**
|
||||
* Marks interfaces that can be used as injectable constructor arguments for an {@link AEPlugin}.
|
||||
*/
|
||||
@Target( ElementType.TYPE )
|
||||
@Retention( RetentionPolicy.RUNTIME )
|
||||
public @interface AEInjectable
|
||||
{}
|
||||
@@ -1,39 +0,0 @@
|
||||
/*
|
||||
* 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>.
|
||||
*/
|
||||
|
||||
package appeng.api;
|
||||
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
|
||||
/**
|
||||
* Use this annotation on a class in your Mod to have it instantiated during the initialization phase of Applied
|
||||
* Energistics.
|
||||
* AE expects your class to have a single constructor and can supply certain arguments to your constructor using
|
||||
* dependency injection.
|
||||
*/
|
||||
@Target( ElementType.TYPE )
|
||||
@Retention( RetentionPolicy.RUNTIME )
|
||||
@Documented
|
||||
public @interface AEPlugin
|
||||
{}
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 TeamAppliedEnergistics
|
||||
*
|
||||
* 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;
|
||||
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
|
||||
/**
|
||||
* Every AE2 addon requiring access to {@link IAppEngApi}, needs to provide at
|
||||
* least one class implementing this interface.
|
||||
*
|
||||
* Further it requires the class to be annotated with {@link AEAddon}.
|
||||
*
|
||||
*/
|
||||
public interface IAEAddon {
|
||||
|
||||
/**
|
||||
* This gets called once the API is successfully constructed and ready to be
|
||||
* used.
|
||||
*
|
||||
* For now this happens during {@link FMLCommonSetupEvent}.
|
||||
*
|
||||
* Each addon is responsible to maintain a reference to {@link IAppEngApi} for
|
||||
* future use. Otherwise there is no alternative to access it later.
|
||||
*
|
||||
* @param api The API instance when ready.
|
||||
*/
|
||||
void onAPIAvailable(IAppEngApi api);
|
||||
|
||||
}
|
||||
@@ -23,47 +23,50 @@
|
||||
|
||||
package appeng.api;
|
||||
|
||||
|
||||
import appeng.api.client.IClientHelper;
|
||||
import appeng.api.crafting.ICraftingHelper;
|
||||
import appeng.api.definitions.IDefinitions;
|
||||
import appeng.api.features.IRegistryContainer;
|
||||
import appeng.api.networking.IGridHelper;
|
||||
import appeng.api.networking.IGridNode;
|
||||
import appeng.api.parts.IPartHelper;
|
||||
import appeng.api.storage.IStorageHelper;
|
||||
import appeng.api.util.IClientHelper;
|
||||
|
||||
public interface IAppEngApi {
|
||||
|
||||
@AEInjectable
|
||||
public interface IAppEngApi
|
||||
{
|
||||
/**
|
||||
* @return Registry Container for the numerous registries in AE2.
|
||||
*/
|
||||
IRegistryContainer registries();
|
||||
/**
|
||||
* @return An accessible list of all AE definitions
|
||||
*/
|
||||
IDefinitions definitions();
|
||||
|
||||
/**
|
||||
* @return A helper for working with storage data types.
|
||||
*/
|
||||
IStorageHelper storage();
|
||||
/**
|
||||
* @return Registry Container for the numerous registries in AE2.
|
||||
*/
|
||||
IRegistryContainer registries();
|
||||
|
||||
/**
|
||||
* @return A helper to create {@link IGridNode} and other grid related objects.
|
||||
*/
|
||||
IGridHelper grid();
|
||||
/**
|
||||
* @return A helper for working with storage data types.
|
||||
*/
|
||||
IStorageHelper storage();
|
||||
|
||||
/**
|
||||
* @return A helper for working with grids, and buses.
|
||||
*/
|
||||
IPartHelper partHelper();
|
||||
/**
|
||||
* @return A helper for working with crafting related tasks.
|
||||
*/
|
||||
ICraftingHelper crafting();
|
||||
|
||||
/**
|
||||
* @return An accessible list of all AE definitions
|
||||
*/
|
||||
IDefinitions definitions();
|
||||
/**
|
||||
* @return A helper to create {@link IGridNode} and other grid related objects.
|
||||
*/
|
||||
IGridHelper grid();
|
||||
|
||||
/**
|
||||
* @return Utility methods primarily useful for client side stuff
|
||||
*/
|
||||
IClientHelper client();
|
||||
/**
|
||||
* @return A helper for working with grids, and buses.
|
||||
*/
|
||||
IPartHelper partHelper();
|
||||
|
||||
/**
|
||||
* @return Utility methods primarily useful for client side stuff
|
||||
*/
|
||||
IClientHelper client();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 TeamAppliedEnergistics
|
||||
*
|
||||
* 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.client;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import net.minecraft.client.renderer.model.ModelBakery;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
/**
|
||||
* A registry for 3D models used to render storage cells in the world, when they
|
||||
* are inserted into a drive or similar machines.
|
||||
*/
|
||||
public interface ICellModelRegistry {
|
||||
|
||||
/**
|
||||
* Register a new model for a storage cell item.
|
||||
*
|
||||
* <p>
|
||||
* You are responsible for ensuring that the given model is actually loaded by
|
||||
* the game. See
|
||||
* {@see net.minecraftforge.client.model.ModelLoader#addSpecialModel}.
|
||||
*
|
||||
* This method only maps an {@link Item} to a {@link ResourceLocation} which can
|
||||
* be looked up from the {@link ModelBakery}. No validation about missing models
|
||||
* will be done.
|
||||
*
|
||||
* Will throw an exception in case a model is already registered for an item.
|
||||
*
|
||||
* For examples look at our cell part models within the drive model directory.
|
||||
*
|
||||
* @param item The cell item
|
||||
* @param model The {@link ResourceLocation} representing the model.
|
||||
* @return
|
||||
*/
|
||||
void registerModel(@Nonnull Item item, @Nonnull ResourceLocation model);
|
||||
|
||||
/**
|
||||
* The {@link ResourceLocation} of the model used to render the given storage
|
||||
* cell {@link Item} when inserted into a drive or similar.
|
||||
*
|
||||
* @param item
|
||||
* @return null, if no model is registered.
|
||||
*/
|
||||
@Nullable
|
||||
ResourceLocation model(@Nonnull Item item);
|
||||
|
||||
/**
|
||||
* An unmodifiable map of all registered mappings.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Nonnull
|
||||
Map<Item, ResourceLocation> models();
|
||||
|
||||
/**
|
||||
* Returns the default model, which can be used when no explicit model is
|
||||
* registered.
|
||||
*/
|
||||
@Nonnull
|
||||
ResourceLocation getDefaultModel();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 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.client;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
|
||||
import appeng.api.storage.cells.ICellInventoryHandler;
|
||||
import appeng.api.storage.data.IAEStack;
|
||||
|
||||
public interface IClientHelper {
|
||||
/**
|
||||
* Add cell information to the provided list. Used for tooltip content.
|
||||
*
|
||||
* @param handler Cell handler.
|
||||
* @param lines List of lines to add to.
|
||||
*/
|
||||
<T extends IAEStack<T>> void addCellInformation(ICellInventoryHandler<T> handler, List<ITextComponent> lines);
|
||||
|
||||
/**
|
||||
* A helper to work with clientside related tasks for cells.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
ICellModelRegistry cells();
|
||||
|
||||
}
|
||||
@@ -23,51 +23,42 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
public enum AccessRestriction {
|
||||
NO_ACCESS(0), READ(1), WRITE(2), READ_WRITE(3);
|
||||
|
||||
public enum AccessRestriction
|
||||
{
|
||||
NO_ACCESS( 0 ), READ( 1 ), WRITE( 2 ), READ_WRITE( 3 );
|
||||
private final int permissionBit;
|
||||
|
||||
private final int permissionBit;
|
||||
AccessRestriction(final int v) {
|
||||
this.permissionBit = v;
|
||||
}
|
||||
|
||||
AccessRestriction( final int v )
|
||||
{
|
||||
this.permissionBit = v;
|
||||
}
|
||||
public boolean hasPermission(final AccessRestriction ar) {
|
||||
return (this.permissionBit & ar.permissionBit) == ar.permissionBit;
|
||||
}
|
||||
|
||||
public boolean hasPermission( final AccessRestriction ar )
|
||||
{
|
||||
return ( this.permissionBit & ar.permissionBit ) == ar.permissionBit;
|
||||
}
|
||||
public AccessRestriction restrictPermissions(final AccessRestriction ar) {
|
||||
return this.getPermByBit(this.permissionBit & ar.permissionBit);
|
||||
}
|
||||
|
||||
public AccessRestriction restrictPermissions( final AccessRestriction ar )
|
||||
{
|
||||
return this.getPermByBit( this.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;
|
||||
}
|
||||
}
|
||||
|
||||
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 addPermissions(final AccessRestriction ar) {
|
||||
return this.getPermByBit(this.permissionBit | ar.permissionBit);
|
||||
}
|
||||
|
||||
public AccessRestriction addPermissions( final AccessRestriction ar )
|
||||
{
|
||||
return this.getPermByBit( this.permissionBit | ar.permissionBit );
|
||||
}
|
||||
|
||||
public AccessRestriction removePermissions( final AccessRestriction ar )
|
||||
{
|
||||
return this.getPermByBit( this.permissionBit & ( ~ar.permissionBit ) );
|
||||
}
|
||||
public AccessRestriction removePermissions(final AccessRestriction ar) {
|
||||
return this.getPermByBit(this.permissionBit & (~ar.permissionBit));
|
||||
}
|
||||
}
|
||||
@@ -23,26 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum ActionItems
|
||||
{
|
||||
WRENCH,
|
||||
CLOSE,
|
||||
STASH,
|
||||
ENCODE,
|
||||
SUBSTITUTION,
|
||||
MULTIPLY_BY_TWO,
|
||||
MULTIPLY_BY_THREE,
|
||||
INCREASE_BY_ONE,
|
||||
DIVIDE_BY_TWO,
|
||||
DIVIDE_BY_THREE,
|
||||
DECREASE_BY_ONE,
|
||||
MAX_COUNT,
|
||||
MOLECULAR_ASSEMBLERS_ON,
|
||||
MOLECULAR_ASSEMBLERS_OFF,
|
||||
TOGGLE_SHOW_FULL_INTERFACES_ON,
|
||||
TOGGLE_SHOW_FULL_INTERFACES_OFF,
|
||||
TOGGLE_SHOW_ONLY_INVALID_PATTERNS_ON,
|
||||
TOGGLE_SHOW_ONLY_INVALID_PATTERNS_OFF,
|
||||
HIGHLIGHT_INTERFACE
|
||||
}
|
||||
public enum ActionItems {
|
||||
WRENCH, CLOSE, STASH, ENCODE, ENABLE_SUBSTITUTION, DISABLE_SUBSTITUTION
|
||||
}
|
||||
@@ -23,16 +23,26 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction;
|
||||
|
||||
public enum Actionable
|
||||
{
|
||||
/**
|
||||
* Perform the intended action.
|
||||
*/
|
||||
MODULATE,
|
||||
public enum Actionable {
|
||||
/**
|
||||
* Perform the intended action.
|
||||
*/
|
||||
MODULATE(FluidAction.EXECUTE),
|
||||
|
||||
/**
|
||||
* Pretend to perform the action.
|
||||
*/
|
||||
SIMULATE
|
||||
/**
|
||||
* Pretend to perform the action.
|
||||
*/
|
||||
SIMULATE(FluidAction.SIMULATE);
|
||||
|
||||
private final FluidAction fluidAction;
|
||||
|
||||
Actionable(FluidAction fluidAction) {
|
||||
this.fluidAction = fluidAction;
|
||||
}
|
||||
|
||||
public FluidAction getFluidAction() {
|
||||
return fluidAction;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,16 +23,14 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
public enum CondenserOutput {
|
||||
|
||||
public enum CondenserOutput
|
||||
{
|
||||
TRASH, // 0
|
||||
|
||||
TRASH, // 0
|
||||
MATTER_BALLS, // 256
|
||||
|
||||
MATTER_BALLS, // 256
|
||||
SINGULARITY; // 250,000
|
||||
|
||||
SINGULARITY; // 250,000
|
||||
|
||||
public int requiredPower = 0;
|
||||
public int requiredPower = 0;
|
||||
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum CopyMode
|
||||
{
|
||||
CLEAR_ON_REMOVE, KEEP_ON_REMOVE
|
||||
public enum CopyMode {
|
||||
CLEAR_ON_REMOVE, KEEP_ON_REMOVE
|
||||
}
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum FullnessMode
|
||||
{
|
||||
EMPTY, HALF, FULL
|
||||
public enum FullnessMode {
|
||||
EMPTY, HALF, FULL
|
||||
}
|
||||
@@ -23,28 +23,20 @@
|
||||
|
||||
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 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 final float breakPoint;
|
||||
public final float percentage;
|
||||
FuzzyMode(final float p) {
|
||||
this.percentage = p;
|
||||
this.breakPoint = p / 100.0f;
|
||||
}
|
||||
|
||||
FuzzyMode( final float p )
|
||||
{
|
||||
this.percentage = p;
|
||||
this.breakPoint = p / 100.0f;
|
||||
}
|
||||
|
||||
public int calculateBreakPoint( final int maxDamage )
|
||||
{
|
||||
return (int) ( ( this.percentage * maxDamage ) / 100.0f );
|
||||
}
|
||||
public int calculateBreakPoint(final int maxDamage) {
|
||||
return (int) ((this.percentage * maxDamage) / 100.0f);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum IncludeExclude
|
||||
{
|
||||
WHITELIST, BLACKLIST
|
||||
public enum IncludeExclude {
|
||||
WHITELIST, BLACKLIST
|
||||
}
|
||||
@@ -1,30 +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;
|
||||
}
|
||||
@@ -23,12 +23,10 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
public enum LevelEmitterMode {
|
||||
|
||||
public enum LevelEmitterMode
|
||||
{
|
||||
STORED_AMOUNT,
|
||||
|
||||
STORED_AMOUNT,
|
||||
|
||||
STORABLE_AMOUNT
|
||||
STORABLE_AMOUNT
|
||||
|
||||
}
|
||||
@@ -23,12 +23,10 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
public enum LevelType {
|
||||
|
||||
public enum LevelType
|
||||
{
|
||||
ITEM_LEVEL,
|
||||
|
||||
ITEM_LEVEL,
|
||||
|
||||
ENERGY_LEVEL
|
||||
ENERGY_LEVEL
|
||||
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
package appeng.api.config;
|
||||
|
||||
public enum LockCraftingMode {
|
||||
/**
|
||||
* Crafting is never locked.
|
||||
*/
|
||||
NONE,
|
||||
/**
|
||||
* After pushing a pattern to an adjacent machine, the interface will not accept further crafts until a
|
||||
* redstone pulse is received.
|
||||
*/
|
||||
LOCK_UNTIL_PULSE,
|
||||
/**
|
||||
* Crafting is locked while the interface is receiving a redstone signal.
|
||||
*/
|
||||
LOCK_WHILE_HIGH,
|
||||
/**
|
||||
* Crafting is locked while the interface is not receiving a redstone signal.
|
||||
*/
|
||||
LOCK_WHILE_LOW,
|
||||
/**
|
||||
* After pushing a pattern to an adjacent machine, the interface will not accept further crafts until the
|
||||
* primary pattern result is returned to the network through the interface.
|
||||
*/
|
||||
LOCK_UNTIL_RESULT
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum ModSettings
|
||||
{
|
||||
public enum ModSettings {
|
||||
|
||||
}
|
||||
|
||||
@@ -23,14 +23,12 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
public enum NetworkEmitterMode {
|
||||
|
||||
public enum NetworkEmitterMode
|
||||
{
|
||||
POWER_LEVEL,
|
||||
|
||||
POWER_LEVEL,
|
||||
BOOTING,
|
||||
|
||||
BOOTING,
|
||||
|
||||
CHANNEL_ERROR
|
||||
CHANNEL_ERROR
|
||||
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum OperationMode
|
||||
{
|
||||
FILL, EMPTY
|
||||
public enum OperationMode {
|
||||
FILL, EMPTY
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum OutputMode
|
||||
{
|
||||
EXPORT_ONLY, EXPORT_OR_CRAFT, CRAFT_ONLY
|
||||
public enum OutputMode {
|
||||
EXPORT_ONLY, EXPORT_OR_CRAFT, CRAFT_ONLY
|
||||
}
|
||||
|
||||
@@ -23,23 +23,19 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
public enum PowerMultiplier {
|
||||
ONE, 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;
|
||||
|
||||
/**
|
||||
* please do not edit this value, it is set when AE loads its config files.
|
||||
*/
|
||||
public double multiplier = 1.0;
|
||||
public double multiply(final double in) {
|
||||
return in * this.multiplier;
|
||||
}
|
||||
|
||||
public double multiply( final double in )
|
||||
{
|
||||
return in * this.multiplier;
|
||||
}
|
||||
|
||||
public double divide( final double in )
|
||||
{
|
||||
return in / this.multiplier;
|
||||
}
|
||||
public double divide(final double in) {
|
||||
return in / this.multiplier;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,42 +23,46 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.util.text.TranslationTextComponent;
|
||||
|
||||
public enum PowerUnits
|
||||
{
|
||||
AE( "gui.appliedenergistics2.units.appliedenergstics" ), // Native Units - AE Energy
|
||||
EU( "gui.appliedenergistics2.units.ic2" ), // IndustrialCraft 2 - Energy Units
|
||||
RF( "gui.appliedenergistics2.units.rf" ), // RF - Redstone Flux
|
||||
GTEU( "gui.appliedenergistics2.units.gteu" ); // RF - Redstone Flux
|
||||
public enum PowerUnits {
|
||||
AE("gui.appliedenergistics2.units.appliedenergstics"), // Native Units - AE Energy
|
||||
EU("gui.appliedenergistics2.units.ic2"), // IndustrialCraft 2 - Energy Units
|
||||
RF("gui.appliedenergistics2.units.rf"); // RF - Redstone Flux
|
||||
|
||||
/**
|
||||
* 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;
|
||||
/**
|
||||
* 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( final String un )
|
||||
{
|
||||
this.unlocalizedName = un;
|
||||
}
|
||||
PowerUnits(final String un) {
|
||||
this.unlocalizedName = un;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
/**
|
||||
* 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(final PowerUnits target, final double value) {
|
||||
return (value * this.conversionRatio) / target.conversionRatio;
|
||||
}
|
||||
|
||||
public ITextComponent textComponent() {
|
||||
return new TranslationTextComponent(unlocalizedName);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum RedstoneMode
|
||||
{
|
||||
IGNORE, LOW_SIGNAL, HIGH_SIGNAL, SIGNAL_PULSE
|
||||
public enum RedstoneMode {
|
||||
IGNORE, LOW_SIGNAL, HIGH_SIGNAL, SIGNAL_PULSE
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum RelativeDirection
|
||||
{
|
||||
LEFT, RIGHT, UP, DOW
|
||||
public enum RelativeDirection {
|
||||
LEFT, RIGHT, UP, DOW
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum SchedulingMode
|
||||
{
|
||||
DEFAULT, ROUNDROBIN, RANDOM
|
||||
public enum SchedulingMode {
|
||||
DEFAULT, ROUNDROBIN, RANDOM
|
||||
}
|
||||
|
||||
@@ -23,8 +23,18 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
public enum SearchBoxMode {
|
||||
AUTOSEARCH(false), AUTOSEARCH_KEEP(false), MANUAL_SEARCH(false), MANUAL_SEARCH_KEEP(false), JEI_AUTOSEARCH(true),
|
||||
JEI_AUTOSEARCH_KEEP(true), JEI_MANUAL_SEARCH(true), JEI_MANUAL_SEARCH_KEEP(true);
|
||||
|
||||
private final boolean requiresJei;
|
||||
|
||||
SearchBoxMode(boolean requiresJei) {
|
||||
this.requiresJei = requiresJei;
|
||||
}
|
||||
|
||||
public boolean isRequiresJei() {
|
||||
return requiresJei;
|
||||
}
|
||||
|
||||
public enum SearchBoxMode
|
||||
{
|
||||
AUTOSEARCH, AUTOSEARCH_KEEP, MANUAL_SEARCH, MANUAL_SEARCH_KEEP, JEI_AUTOSEARCH, JEI_AUTOSEARCH_KEEP, JEI_MANUAL_SEARCH, JEI_MANUAL_SEARCH_KEEP
|
||||
}
|
||||
|
||||
@@ -23,49 +23,48 @@
|
||||
|
||||
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 translationKey = "gui.appliedenergistics2.security." + this.name().toLowerCase();
|
||||
|
||||
public String getUnlocalizedName()
|
||||
{
|
||||
return this.unlocalizedName + ".name";
|
||||
}
|
||||
public String getTranslatedName() {
|
||||
return this.translationKey + ".name";
|
||||
}
|
||||
|
||||
public String getUnlocalizedTip()
|
||||
{
|
||||
return this.unlocalizedName + ".tip";
|
||||
}
|
||||
public String getTranslatedTip() {
|
||||
return this.translationKey + ".tip";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,87 +23,73 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
import java.util.EnumSet;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public enum Settings {
|
||||
LEVEL_EMITTER_MODE(EnumSet.allOf(LevelEmitterMode.class)),
|
||||
|
||||
public enum Settings
|
||||
{
|
||||
LEVEL_EMITTER_MODE( EnumSet.allOf( LevelEmitterMode.class ) ),
|
||||
REDSTONE_EMITTER(EnumSet.of(RedstoneMode.HIGH_SIGNAL, RedstoneMode.LOW_SIGNAL)),
|
||||
|
||||
REDSTONE_EMITTER( EnumSet.of( RedstoneMode.HIGH_SIGNAL, RedstoneMode.LOW_SIGNAL ) ),
|
||||
REDSTONE_CONTROLLED(EnumSet.allOf(RedstoneMode.class)),
|
||||
|
||||
REDSTONE_CONTROLLED( EnumSet.allOf( RedstoneMode.class ) ),
|
||||
CONDENSER_OUTPUT(EnumSet.allOf(CondenserOutput.class)),
|
||||
|
||||
CONDENSER_OUTPUT( EnumSet.allOf( CondenserOutput.class ) ),
|
||||
POWER_UNITS(EnumSet.allOf(PowerUnits.class)),
|
||||
|
||||
POWER_UNITS( EnumSet.allOf( PowerUnits.class ) ),
|
||||
ACCESS(EnumSet.of(AccessRestriction.READ_WRITE, AccessRestriction.READ, AccessRestriction.WRITE)),
|
||||
|
||||
ACCESS( EnumSet.of( AccessRestriction.READ_WRITE, AccessRestriction.READ, AccessRestriction.WRITE ) ),
|
||||
SORT_DIRECTION(EnumSet.allOf(SortDir.class)),
|
||||
|
||||
SORT_DIRECTION( EnumSet.allOf( SortDir.class ) ),
|
||||
SORT_BY(EnumSet.allOf(SortOrder.class)),
|
||||
|
||||
SORT_BY( EnumSet.allOf( SortOrder.class ) ),
|
||||
SEARCH_TOOLTIPS(EnumSet.of(YesNo.YES, YesNo.NO)),
|
||||
|
||||
SEARCH_TOOLTIPS( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||
VIEW_MODE(EnumSet.allOf(ViewItems.class)),
|
||||
|
||||
VIEW_MODE( EnumSet.allOf( ViewItems.class ) ),
|
||||
SEARCH_MODE(EnumSet.allOf(SearchBoxMode.class)),
|
||||
|
||||
SEARCH_MODE( EnumSet.allOf( SearchBoxMode.class ) ),
|
||||
IO_DIRECTION(EnumSet.of(RelativeDirection.LEFT, RelativeDirection.RIGHT)),
|
||||
|
||||
ACTIONS( EnumSet.allOf( ActionItems.class ) ),
|
||||
BLOCK(EnumSet.of(YesNo.YES, YesNo.NO)),
|
||||
|
||||
IO_DIRECTION( EnumSet.of( RelativeDirection.LEFT, RelativeDirection.RIGHT ) ),
|
||||
OPERATION_MODE(EnumSet.allOf(OperationMode.class)),
|
||||
|
||||
UNLOCK(EnumSet.allOf(LockCraftingMode.class)),
|
||||
FULLNESS_MODE(EnumSet.allOf(FullnessMode.class)),
|
||||
|
||||
BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||
CRAFT_ONLY(EnumSet.of(YesNo.YES, YesNo.NO)),
|
||||
|
||||
OPERATION_MODE( EnumSet.allOf( OperationMode.class ) ),
|
||||
FUZZY_MODE(EnumSet.allOf(FuzzyMode.class)),
|
||||
|
||||
FULLNESS_MODE( EnumSet.allOf( FullnessMode.class ) ),
|
||||
LEVEL_TYPE(EnumSet.allOf(LevelType.class)),
|
||||
|
||||
CRAFT_ONLY( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||
TERMINAL_STYLE(EnumSet.of(TerminalStyle.TALL, TerminalStyle.SMALL)),
|
||||
|
||||
FUZZY_MODE( EnumSet.allOf( FuzzyMode.class ) ),
|
||||
COPY_MODE(EnumSet.allOf(CopyMode.class)),
|
||||
|
||||
LEVEL_TYPE( EnumSet.allOf( LevelType.class ) ),
|
||||
INTERFACE_TERMINAL(EnumSet.of(YesNo.YES, YesNo.NO)),
|
||||
|
||||
TERMINAL_STYLE( EnumSet.of( TerminalStyle.TALL, TerminalStyle.SMALL ) ),
|
||||
CRAFT_VIA_REDSTONE(EnumSet.of(YesNo.YES, YesNo.NO)),
|
||||
|
||||
COPY_MODE( EnumSet.allOf( CopyMode.class ) ),
|
||||
STORAGE_FILTER(EnumSet.allOf(StorageFilter.class)),
|
||||
|
||||
INTERFACE_TERMINAL( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||
PLACE_BLOCK(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 ) ),
|
||||
private final EnumSet<? extends Enum<?>> values;
|
||||
|
||||
PLACE_BLOCK( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||
Settings(@Nonnull final EnumSet<? extends Enum<?>> possibleOptions) {
|
||||
if (possibleOptions.isEmpty()) {
|
||||
throw new IllegalArgumentException("Tried to instantiate an empty setting.");
|
||||
}
|
||||
|
||||
SCHEDULING_MODE( EnumSet.allOf( SchedulingMode.class ) ),
|
||||
this.values = possibleOptions;
|
||||
}
|
||||
|
||||
STICKY_MODE( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||
|
||||
;
|
||||
|
||||
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." );
|
||||
}
|
||||
|
||||
this.values = possibleOptions;
|
||||
}
|
||||
|
||||
public EnumSet<? extends Enum<?>> getPossibleValues()
|
||||
{
|
||||
return this.values;
|
||||
}
|
||||
public EnumSet<? extends Enum<?>> getPossibleValues() {
|
||||
return this.values;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum SortDir
|
||||
{
|
||||
ASCENDING, DESCENDING
|
||||
public enum SortDir {
|
||||
ASCENDING, DESCENDING
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum SortOrder
|
||||
{
|
||||
NAME, AMOUNT, MOD, INVTWEAKS
|
||||
public enum SortOrder {
|
||||
NAME, AMOUNT, MOD
|
||||
}
|
||||
@@ -23,12 +23,10 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
public enum StorageFilter {
|
||||
|
||||
public enum StorageFilter
|
||||
{
|
||||
NONE,
|
||||
|
||||
NONE,
|
||||
|
||||
EXTRACTABLE_ONLY
|
||||
EXTRACTABLE_ONLY
|
||||
|
||||
}
|
||||
|
||||
@@ -23,14 +23,12 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
public enum TerminalStyle {
|
||||
|
||||
public enum TerminalStyle
|
||||
{
|
||||
TALL,
|
||||
|
||||
TALL,
|
||||
FULL,
|
||||
|
||||
FULL,
|
||||
|
||||
SMALL
|
||||
SMALL
|
||||
|
||||
}
|
||||
@@ -23,66 +23,14 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.definitions.IItemDefinition;
|
||||
import appeng.api.definitions.IParts;
|
||||
import appeng.api.parts.IPartItem;
|
||||
import com.google.common.base.Preconditions;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public enum TunnelType {
|
||||
ME(tryPartStack(IParts::p2PTunnelME)),
|
||||
IC2_POWER(tryPartStack(IParts::p2PTunnelEU)),
|
||||
FE_POWER(tryPartStack(IParts::p2PTunnelFE)),
|
||||
GTEU_POWER(tryPartStack(IParts::p2PTunnelGTEU)),
|
||||
REDSTONE(tryPartStack(IParts::p2PTunnelRedstone)),
|
||||
FLUID(tryPartStack(IParts::p2PTunnelFE)),
|
||||
ITEM(tryPartStack(IParts::p2PTunnelItems)),
|
||||
LIGHT(tryPartStack(IParts::p2PTunnelLight));
|
||||
|
||||
private ItemStack partItemStack;
|
||||
private Supplier<ItemStack> partItemStackSupplier;
|
||||
|
||||
@Deprecated
|
||||
TunnelType() {
|
||||
this.partItemStack = ItemStack.EMPTY;
|
||||
this.partItemStackSupplier = null;
|
||||
}
|
||||
|
||||
// Public facing.
|
||||
TunnelType(ItemStack partItemStack) {
|
||||
this.partItemStack = partItemStack;
|
||||
this.partItemStackSupplier = null;
|
||||
}
|
||||
|
||||
// Work around things instantiating this class too early.
|
||||
TunnelType(Supplier<ItemStack> supplier) {
|
||||
this.partItemStack = null;
|
||||
this.partItemStackSupplier = supplier;
|
||||
}
|
||||
|
||||
private static Supplier<ItemStack> tryPartStack(Function<IParts, IItemDefinition> supplier) {
|
||||
return () -> supplier.apply(AEApi.instance().definitions().parts()).maybeStack(1).orElse(ItemStack.EMPTY);
|
||||
}
|
||||
|
||||
public static TunnelType registerTunnelType(@Nonnull String name, @Nonnull ItemStack partItemStack) {
|
||||
Preconditions.checkArgument(partItemStack.isEmpty() || partItemStack.getItem() instanceof IPartItem<?>,
|
||||
"Part item must be an instance of IPartItem");
|
||||
|
||||
return EnumHelper.addEnum(TunnelType.class, name, new Class[]{ItemStack.class}, partItemStack);
|
||||
}
|
||||
|
||||
public ItemStack getPartItemStack() {
|
||||
if (this.partItemStackSupplier != null) {
|
||||
this.partItemStack = this.partItemStackSupplier.get();
|
||||
this.partItemStackSupplier = null;
|
||||
}
|
||||
return partItemStack;
|
||||
}
|
||||
ME, // Network Tunnel
|
||||
IC2_POWER, // EU Tunnel
|
||||
FE_POWER, // Forge Energy tunnel
|
||||
REDSTONE, // Redstone Tunnel
|
||||
FLUID, // Fluid Tunnel
|
||||
ITEM, // Item Tunnel
|
||||
LIGHT, // Light Tunnel
|
||||
BUNDLED_REDSTONE, // Bundled Redstone Tunnel
|
||||
COMPUTER_MESSAGE // Computer Message Tunnel
|
||||
}
|
||||
|
||||
@@ -23,46 +23,52 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import appeng.api.definitions.IItemDefinition;
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.IItemProvider;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.util.text.TranslationTextComponent;
|
||||
|
||||
public enum Upgrades {
|
||||
/**
|
||||
* Gold Tier Upgrades.
|
||||
*/
|
||||
CAPACITY(0),
|
||||
REDSTONE(0),
|
||||
CRAFTING(0),
|
||||
MAGNET(0),
|
||||
STICKY(0),
|
||||
CAPACITY(0), REDSTONE(0), CRAFTING(0),
|
||||
|
||||
/**
|
||||
* Diamond Tier Upgrades.
|
||||
*/
|
||||
FUZZY(1),
|
||||
SPEED(1),
|
||||
INVERTER(1),
|
||||
PATTERN_EXPANSION(1),
|
||||
QUANTUM_LINK(1);
|
||||
FUZZY(1), SPEED(1), INVERTER(1);
|
||||
|
||||
private final int tier;
|
||||
private final Map<ItemStack, Integer> supportedMax = new HashMap<>();
|
||||
private final List<Supported> supported = new ArrayList<>();
|
||||
private List<ITextComponent> supportedTooltipLines;
|
||||
|
||||
Upgrades(final int tier) {
|
||||
this.tier = tier;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list of Items/Blocks that support this upgrade, and how many it supports.
|
||||
* @return list of Items/Blocks that support this upgrade, and how many it
|
||||
* supports.
|
||||
*/
|
||||
public Map<ItemStack, Integer> getSupported() {
|
||||
return this.supportedMax;
|
||||
public List<Supported> getSupported() {
|
||||
return this.supported;
|
||||
}
|
||||
|
||||
public void registerItem(final IItemProvider item, final int maxSupported) {
|
||||
this.registerItem(item, maxSupported, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,24 +76,98 @@ public enum Upgrades {
|
||||
*
|
||||
* @param item machine in which this upgrade can be installed
|
||||
* @param maxSupported amount how many upgrades can be installed
|
||||
* @param tooltipGroup If more than one item of the same group are supported,
|
||||
* the tooltip will show this translation key instead. If
|
||||
* the items have different maxSupported values, the highest
|
||||
* will be shown.
|
||||
*/
|
||||
public void registerItem(final IItemDefinition item, final int maxSupported) {
|
||||
item.maybeStack(1).ifPresent(is -> this.registerItem(is, maxSupported));
|
||||
public void registerItem(final IItemProvider item, final int maxSupported, @Nullable String tooltipGroup) {
|
||||
Preconditions.checkNotNull(item);
|
||||
this.supported.add(new Supported(item.asItem(), maxSupported, tooltipGroup));
|
||||
supportedTooltipLines = null; // Reset tooltip
|
||||
}
|
||||
|
||||
/**
|
||||
* 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);
|
||||
public List<ITextComponent> getTooltipLines() {
|
||||
if (supportedTooltipLines == null) {
|
||||
supported.sort(Comparator.comparingInt(o -> o.maxCount));
|
||||
supportedTooltipLines = new ArrayList<>(supported.size());
|
||||
|
||||
// Use a separate set because the final text will include numbers
|
||||
Set<ITextComponent> namesAdded = new HashSet<>();
|
||||
|
||||
for (int i = 0; i < supported.size(); i++) {
|
||||
Supported supported = this.supported.get(i);
|
||||
ITextComponent name = supported.item.getName();
|
||||
|
||||
// If the group was already added by a previous item, skip this
|
||||
if (supported.getTooltipGroup() != null && namesAdded.contains(supported.getTooltipGroup())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// If any of the following items would be of the same group, use the group name
|
||||
// instead
|
||||
if (supported.getTooltipGroup() != null) {
|
||||
for (int j = i + 1; j < this.supported.size(); j++) {
|
||||
ITextComponent otherGroup = this.supported.get(j).getTooltipGroup();
|
||||
if (supported.getTooltipGroup().equals(otherGroup)) {
|
||||
name = supported.getTooltipGroup();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (namesAdded.add(name)) {
|
||||
// append the supported count only if its > 1
|
||||
if (supported.maxCount > 1) {
|
||||
name = name.deepCopy().appendString(" (" + supported.maxCount + ")");
|
||||
}
|
||||
supportedTooltipLines.add(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return supportedTooltipLines;
|
||||
}
|
||||
|
||||
public int getTier() {
|
||||
return this.tier;
|
||||
}
|
||||
|
||||
public static class Supported {
|
||||
private final Item item;
|
||||
private final Block block;
|
||||
private final int maxCount;
|
||||
// Translation key of the tooltip group
|
||||
@Nullable
|
||||
private final String tooltipGroup;
|
||||
|
||||
public Supported(Item item, int maxCount, @Nullable String tooltipGroup) {
|
||||
this.item = item;
|
||||
if (item.getItem() instanceof BlockItem) {
|
||||
this.block = ((BlockItem) item.getItem()).getBlock();
|
||||
} else {
|
||||
this.block = null;
|
||||
}
|
||||
this.maxCount = maxCount;
|
||||
this.tooltipGroup = tooltipGroup;
|
||||
}
|
||||
|
||||
public int getMaxCount() {
|
||||
return maxCount;
|
||||
}
|
||||
|
||||
public boolean isSupported(Block block) {
|
||||
return block != null && this.block == block;
|
||||
}
|
||||
|
||||
public boolean isSupported(Item item) {
|
||||
return item != null && this.item == item;
|
||||
}
|
||||
|
||||
public ITextComponent getTooltipGroup() {
|
||||
return this.tooltipGroup != null ? new TranslationTextComponent(this.tooltipGroup) : null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum ViewItems
|
||||
{
|
||||
ALL, STORED, CRAFTABLE
|
||||
public enum ViewItems {
|
||||
ALL, STORED, CRAFTABLE
|
||||
}
|
||||
@@ -23,8 +23,6 @@
|
||||
|
||||
package appeng.api.config;
|
||||
|
||||
|
||||
public enum YesNo
|
||||
{
|
||||
YES, NO, UNDECIDED
|
||||
public enum YesNo {
|
||||
YES, NO, UNDECIDED
|
||||
}
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2020 TeamAppliedEnergistics
|
||||
*
|
||||
* 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.crafting;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.ICraftingRecipe;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import appeng.api.networking.crafting.ICraftingPatternDetails;
|
||||
import appeng.api.storage.data.IAEItemStack;
|
||||
|
||||
public interface ICraftingHelper {
|
||||
|
||||
/**
|
||||
* Checks that the given item stack is an encoded pattern.
|
||||
*/
|
||||
boolean isEncodedPattern(@Nullable IAEItemStack item);
|
||||
|
||||
/**
|
||||
* Checks that the given item stack is an encoded pattern.
|
||||
*/
|
||||
boolean isEncodedPattern(ItemStack item);
|
||||
|
||||
/**
|
||||
* Encodes a processing pattern which represents the ability to convert the
|
||||
* given inputs into the given outputs using some process external to the ME
|
||||
* system.
|
||||
*
|
||||
* @param stack If null, a new item will be created to hold the encoded pattern.
|
||||
* Otherwise the given item must already contains an encoded
|
||||
* pattern that will be overwritten.
|
||||
* @return A new encoded pattern, or the given stack with the pattern encoded in
|
||||
* it.
|
||||
*/
|
||||
ItemStack encodeProcessingPattern(@Nullable ItemStack stack, ItemStack[] in, ItemStack[] out);
|
||||
|
||||
/**
|
||||
* Encodes a crafting pattern which represents a Vanilla crafting recipe.
|
||||
*
|
||||
* @param stack If null, a new item will be created to hold the
|
||||
* encoded pattern. Otherwise the given item must
|
||||
* already contains an encoded pattern that will be
|
||||
* overwritten.
|
||||
* @param recipe The Vanilla crafting recipe to be encoded.
|
||||
* @param in The items in the crafting grid, which are used to
|
||||
* determine what items are supplied from the ME system
|
||||
* to craft using this pattern.
|
||||
* @param out What is to be expected as the result of this crafting
|
||||
* operation by the ME system.
|
||||
* @param allowSubstitutes Controls whether the ME system will allow the use of
|
||||
* equivalent items to craft this recipe.
|
||||
*/
|
||||
ItemStack encodeCraftingPattern(@Nullable ItemStack stack, ICraftingRecipe recipe, ItemStack[] in, ItemStack out,
|
||||
boolean allowSubstitutes);
|
||||
|
||||
/**
|
||||
* Same as {@link #decodePattern(ItemStack, World, boolean)} with no auto
|
||||
* recovery of changed recipe ids.
|
||||
*/
|
||||
@Nullable
|
||||
default ICraftingPatternDetails decodePattern(@Nonnull ItemStack itemStack, @Nonnull World world) {
|
||||
return decodePattern(itemStack, world, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Decodes an encoded crafting pattern and returns the pattern details.
|
||||
* <p>
|
||||
* The item backing the {@link ItemStack} needs to be an item returned by the
|
||||
* encode methods of this class.
|
||||
*
|
||||
* @param itemStack pattern
|
||||
* @param world world used to access the
|
||||
* {@link net.minecraft.item.crafting.RecipeManager}.
|
||||
* @param autoRecovery If true, the method will try to recover from changed
|
||||
* recipe ids by searching the entire recipe manager for a
|
||||
* recipe matching the inputs. If this is successful, the
|
||||
* given item stack will be changed to reflect the new
|
||||
* recipe id.
|
||||
* @return The pattern details if the pattern could be decoded. Otherwise null.
|
||||
*/
|
||||
@Nullable
|
||||
ICraftingPatternDetails decodePattern(@Nonnull ItemStack itemStack, @Nonnull World world, boolean autoRecovery);
|
||||
|
||||
}
|
||||
@@ -18,34 +18,39 @@
|
||||
|
||||
package appeng.api.definitions;
|
||||
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
|
||||
public interface IBlockDefinition extends IItemDefinition {
|
||||
/**
|
||||
* @return the {@link Block} implementation if applicable
|
||||
*/
|
||||
default Optional<Block> maybeBlock() {
|
||||
return Optional.of(block());
|
||||
}
|
||||
|
||||
public interface IBlockDefinition extends IItemDefinition
|
||||
{
|
||||
/**
|
||||
* @return the {@link Block} implementation if applicable
|
||||
*/
|
||||
Optional<Block> maybeBlock();
|
||||
Block block();
|
||||
|
||||
/**
|
||||
* @return the {@link ItemBlock} implementation if applicable
|
||||
*/
|
||||
Optional<ItemBlock> maybeItemBlock();
|
||||
/**
|
||||
* @return the {@link BlockItem} implementation if applicable
|
||||
*/
|
||||
default Optional<BlockItem> maybeBlockItem() {
|
||||
return Optional.of(blockItem());
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare Block with world.
|
||||
*
|
||||
* @param world world of block
|
||||
* @param pos location
|
||||
*
|
||||
* @return if the block is placed in the world at the specific location.
|
||||
*/
|
||||
boolean isSameAs( IBlockAccess world, BlockPos pos );
|
||||
BlockItem blockItem();
|
||||
|
||||
/**
|
||||
* Compare Block with world.
|
||||
*
|
||||
* @param world world of block
|
||||
* @param pos location
|
||||
*
|
||||
* @return if the block is placed in the world at the specific location.
|
||||
*/
|
||||
boolean isSameAs(IBlockReader world, BlockPos pos);
|
||||
}
|
||||
|
||||
@@ -23,169 +23,167 @@
|
||||
|
||||
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 quartzBlock();
|
||||
/*
|
||||
* decorative
|
||||
*/
|
||||
IBlockDefinition quartzBlock();
|
||||
|
||||
IBlockDefinition quartzPillar();
|
||||
IBlockDefinition quartzPillar();
|
||||
|
||||
IBlockDefinition chiseledQuartzBlock();
|
||||
IBlockDefinition chiseledQuartzBlock();
|
||||
|
||||
IBlockDefinition quartzGlass();
|
||||
IBlockDefinition quartzGlass();
|
||||
|
||||
IBlockDefinition quartzVibrantGlass();
|
||||
IBlockDefinition quartzVibrantGlass();
|
||||
|
||||
IBlockDefinition quartzFixture();
|
||||
IBlockDefinition quartzFixture();
|
||||
|
||||
IBlockDefinition fluixBlock();
|
||||
IBlockDefinition fluixBlock();
|
||||
|
||||
IBlockDefinition skyStoneBlock();
|
||||
IBlockDefinition skyStoneBlock();
|
||||
|
||||
IBlockDefinition smoothSkyStoneBlock();
|
||||
IBlockDefinition smoothSkyStoneBlock();
|
||||
|
||||
IBlockDefinition skyStoneBrick();
|
||||
IBlockDefinition skyStoneBrick();
|
||||
|
||||
IBlockDefinition skyStoneSmallBrick();
|
||||
IBlockDefinition skyStoneSmallBrick();
|
||||
|
||||
IBlockDefinition skyStoneChest();
|
||||
IBlockDefinition skyStoneChest();
|
||||
|
||||
IBlockDefinition smoothSkyStoneChest();
|
||||
IBlockDefinition smoothSkyStoneChest();
|
||||
|
||||
IBlockDefinition skyCompass();
|
||||
IBlockDefinition skyCompass();
|
||||
|
||||
IBlockDefinition skyStoneStairs();
|
||||
IBlockDefinition skyStoneStairs();
|
||||
|
||||
IBlockDefinition smoothSkyStoneStairs();
|
||||
IBlockDefinition smoothSkyStoneStairs();
|
||||
|
||||
IBlockDefinition skyStoneBrickStairs();
|
||||
IBlockDefinition skyStoneBrickStairs();
|
||||
|
||||
IBlockDefinition skyStoneSmallBrickStairs();
|
||||
IBlockDefinition skyStoneSmallBrickStairs();
|
||||
|
||||
IBlockDefinition fluixStairs();
|
||||
IBlockDefinition fluixStairs();
|
||||
|
||||
IBlockDefinition quartzStairs();
|
||||
IBlockDefinition quartzStairs();
|
||||
|
||||
IBlockDefinition chiseledQuartzStairs();
|
||||
IBlockDefinition chiseledQuartzStairs();
|
||||
|
||||
IBlockDefinition quartzPillarStairs();
|
||||
IBlockDefinition quartzPillarStairs();
|
||||
|
||||
IBlockDefinition skyStoneSlab();
|
||||
IBlockDefinition skyStoneSlab();
|
||||
|
||||
IBlockDefinition smoothSkyStoneSlab();
|
||||
IBlockDefinition smoothSkyStoneSlab();
|
||||
|
||||
IBlockDefinition skyStoneBrickSlab();
|
||||
IBlockDefinition skyStoneBrickSlab();
|
||||
|
||||
IBlockDefinition skyStoneSmallBrickSlab();
|
||||
IBlockDefinition skyStoneSmallBrickSlab();
|
||||
|
||||
IBlockDefinition fluixSlab();
|
||||
IBlockDefinition fluixSlab();
|
||||
|
||||
IBlockDefinition quartzSlab();
|
||||
IBlockDefinition quartzSlab();
|
||||
|
||||
IBlockDefinition chiseledQuartzSlab();
|
||||
IBlockDefinition chiseledQuartzSlab();
|
||||
|
||||
IBlockDefinition quartzPillarSlab();
|
||||
IBlockDefinition quartzPillarSlab();
|
||||
|
||||
/*
|
||||
* misc
|
||||
*/
|
||||
ITileDefinition grindstone();
|
||||
/*
|
||||
* misc
|
||||
*/
|
||||
ITileDefinition grindstone();
|
||||
|
||||
ITileDefinition crank();
|
||||
ITileDefinition crank();
|
||||
|
||||
ITileDefinition inscriber();
|
||||
ITileDefinition inscriber();
|
||||
|
||||
ITileDefinition wirelessAccessPoint();
|
||||
ITileDefinition wirelessAccessPoint();
|
||||
|
||||
ITileDefinition charger();
|
||||
ITileDefinition charger();
|
||||
|
||||
IBlockDefinition tinyTNT();
|
||||
IBlockDefinition tinyTNT();
|
||||
|
||||
ITileDefinition securityStation();
|
||||
ITileDefinition securityStation();
|
||||
|
||||
/*
|
||||
* quantum Network Bridge
|
||||
*/
|
||||
ITileDefinition quantumRing();
|
||||
/*
|
||||
* quantum Network Bridge
|
||||
*/
|
||||
ITileDefinition quantumRing();
|
||||
|
||||
ITileDefinition quantumLink();
|
||||
ITileDefinition quantumLink();
|
||||
|
||||
/*
|
||||
* spatial iO
|
||||
*/
|
||||
ITileDefinition spatialPylon();
|
||||
/*
|
||||
* spatial iO
|
||||
*/
|
||||
ITileDefinition spatialPylon();
|
||||
|
||||
ITileDefinition spatialIOPort();
|
||||
ITileDefinition spatialIOPort();
|
||||
|
||||
/*
|
||||
* Bus / cables
|
||||
*/
|
||||
ITileDefinition multiPart();
|
||||
/*
|
||||
* Bus / cables
|
||||
*/
|
||||
ITileDefinition multiPart();
|
||||
|
||||
/*
|
||||
* machines
|
||||
*/
|
||||
ITileDefinition controller();
|
||||
/*
|
||||
* machines
|
||||
*/
|
||||
ITileDefinition controller();
|
||||
|
||||
ITileDefinition drive();
|
||||
ITileDefinition drive();
|
||||
|
||||
ITileDefinition chest();
|
||||
ITileDefinition chest();
|
||||
|
||||
ITileDefinition iface();
|
||||
ITileDefinition iface();
|
||||
|
||||
ITileDefinition fluidIface();
|
||||
ITileDefinition fluidIface();
|
||||
|
||||
ITileDefinition cellWorkbench();
|
||||
ITileDefinition cellWorkbench();
|
||||
|
||||
ITileDefinition iOPort();
|
||||
ITileDefinition iOPort();
|
||||
|
||||
ITileDefinition condenser();
|
||||
ITileDefinition condenser();
|
||||
|
||||
ITileDefinition energyAcceptor();
|
||||
ITileDefinition energyAcceptor();
|
||||
|
||||
ITileDefinition vibrationChamber();
|
||||
ITileDefinition vibrationChamber();
|
||||
|
||||
ITileDefinition quartzGrowthAccelerator();
|
||||
ITileDefinition quartzGrowthAccelerator();
|
||||
|
||||
ITileDefinition energyCell();
|
||||
ITileDefinition energyCell();
|
||||
|
||||
ITileDefinition energyCellDense();
|
||||
ITileDefinition energyCellDense();
|
||||
|
||||
ITileDefinition energyCellCreative();
|
||||
ITileDefinition energyCellCreative();
|
||||
|
||||
// rv1
|
||||
ITileDefinition craftingUnit();
|
||||
// rv1
|
||||
ITileDefinition craftingUnit();
|
||||
|
||||
ITileDefinition craftingAccelerator();
|
||||
ITileDefinition craftingAccelerator();
|
||||
|
||||
ITileDefinition craftingStorage1k();
|
||||
ITileDefinition craftingStorage1k();
|
||||
|
||||
ITileDefinition craftingStorage4k();
|
||||
ITileDefinition craftingStorage4k();
|
||||
|
||||
ITileDefinition craftingStorage16k();
|
||||
ITileDefinition craftingStorage16k();
|
||||
|
||||
ITileDefinition craftingStorage64k();
|
||||
ITileDefinition craftingStorage64k();
|
||||
|
||||
ITileDefinition craftingMonitor();
|
||||
ITileDefinition craftingMonitor();
|
||||
|
||||
ITileDefinition molecularAssembler();
|
||||
ITileDefinition molecularAssembler();
|
||||
|
||||
ITileDefinition lightDetector();
|
||||
ITileDefinition lightDetector();
|
||||
|
||||
ITileDefinition paint();
|
||||
ITileDefinition paint();
|
||||
}
|
||||
|
||||
@@ -18,10 +18,8 @@
|
||||
|
||||
package appeng.api.definitions;
|
||||
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
|
||||
/**
|
||||
* Interface to compare a definition with an itemstack or a block
|
||||
*
|
||||
@@ -29,14 +27,13 @@ import net.minecraft.item.ItemStack;
|
||||
* @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);
|
||||
}
|
||||
|
||||
@@ -23,29 +23,27 @@
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
@@ -23,36 +23,51 @@
|
||||
|
||||
package appeng.api.definitions;
|
||||
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IItemProvider;
|
||||
|
||||
import appeng.api.features.AEFeature;
|
||||
|
||||
public interface IItemDefinition extends IComparableDefinition
|
||||
{
|
||||
/**
|
||||
* @return the unique name of the definition which will be used to register the underlying structure. Will never be
|
||||
* null
|
||||
*/
|
||||
@Nonnull
|
||||
String identifier();
|
||||
public interface IItemDefinition extends IComparableDefinition, IItemProvider {
|
||||
/**
|
||||
* @return the unique name of the definition which will be used to register the
|
||||
* underlying structure. Will never be null
|
||||
*/
|
||||
@Nonnull
|
||||
String identifier();
|
||||
|
||||
/**
|
||||
* @return the {@link Item} Implementation if applicable
|
||||
*/
|
||||
Optional<Item> maybeItem();
|
||||
/**
|
||||
* @return the {@link Item} Implementation if applicable
|
||||
*/
|
||||
default Optional<Item> maybeItem() {
|
||||
return Optional.of(item());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return an {@link ItemStack} with specified quantity of this item.
|
||||
*/
|
||||
Optional<ItemStack> maybeStack( int stackSize );
|
||||
Item item();
|
||||
|
||||
/**
|
||||
* @return an {@link ItemStack} with specified quantity of this item.
|
||||
*/
|
||||
default Optional<ItemStack> maybeStack(int stackSize) {
|
||||
return Optional.of(stack(stackSize));
|
||||
}
|
||||
|
||||
ItemStack stack(int stackSize);
|
||||
|
||||
/**
|
||||
* @return an immutable set of the features of this item
|
||||
*/
|
||||
Set<AEFeature> features();
|
||||
|
||||
@Override
|
||||
default Item asItem() {
|
||||
return item();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return <tt>true</tt> if definition is enabled
|
||||
*/
|
||||
boolean isEnabled();
|
||||
}
|
||||
|
||||
@@ -23,102 +23,98 @@
|
||||
|
||||
package appeng.api.definitions;
|
||||
|
||||
|
||||
import appeng.api.util.AEColoredItemDefinition;
|
||||
|
||||
|
||||
/**
|
||||
* A list of all items in AE
|
||||
*/
|
||||
public interface IItems {
|
||||
IItemDefinition certusQuartzAxe();
|
||||
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 wirelessCraftingTerminal();
|
||||
IItemDefinition biometricCard();
|
||||
|
||||
IItemDefinition wirelessPatternTerminal();
|
||||
IItemDefinition chargedStaff();
|
||||
|
||||
IItemDefinition wirelessInterfaceTerminal();
|
||||
IItemDefinition massCannon();
|
||||
|
||||
IItemDefinition wirelessFluidTerminal();
|
||||
IItemDefinition memoryCard();
|
||||
|
||||
IItemDefinition biometricCard();
|
||||
IItemDefinition networkTool();
|
||||
|
||||
IItemDefinition chargedStaff();
|
||||
IItemDefinition portableCell();
|
||||
|
||||
IItemDefinition massCannon();
|
||||
IItemDefinition cellCreative();
|
||||
|
||||
IItemDefinition memoryCard();
|
||||
IItemDefinition viewCell();
|
||||
|
||||
IItemDefinition networkTool();
|
||||
IItemDefinition cell1k();
|
||||
|
||||
IItemDefinition portableCell();
|
||||
IItemDefinition cell4k();
|
||||
|
||||
IItemDefinition cellCreative();
|
||||
IItemDefinition cell16k();
|
||||
|
||||
IItemDefinition viewCell();
|
||||
IItemDefinition cell64k();
|
||||
|
||||
IItemDefinition cell1k();
|
||||
IItemDefinition fluidCell1k();
|
||||
|
||||
IItemDefinition cell4k();
|
||||
IItemDefinition fluidCell4k();
|
||||
|
||||
IItemDefinition cell16k();
|
||||
IItemDefinition fluidCell16k();
|
||||
|
||||
IItemDefinition cell64k();
|
||||
IItemDefinition fluidCell64k();
|
||||
|
||||
IItemDefinition fluidCell1k();
|
||||
IItemDefinition spatialCell2();
|
||||
|
||||
IItemDefinition fluidCell4k();
|
||||
IItemDefinition spatialCell16();
|
||||
|
||||
IItemDefinition fluidCell16k();
|
||||
IItemDefinition spatialCell128();
|
||||
|
||||
IItemDefinition fluidCell64k();
|
||||
IItemDefinition facade();
|
||||
|
||||
IItemDefinition spatialCell2();
|
||||
IItemDefinition certusCrystalSeed();
|
||||
|
||||
IItemDefinition spatialCell16();
|
||||
IItemDefinition fluixCrystalSeed();
|
||||
|
||||
IItemDefinition spatialCell128();
|
||||
IItemDefinition netherQuartzSeed();
|
||||
|
||||
IItemDefinition facade();
|
||||
IItemDefinition dummyFluidItem();
|
||||
|
||||
IItemDefinition crystalSeed();
|
||||
// rv1
|
||||
IItemDefinition encodedPattern();
|
||||
|
||||
// rv1
|
||||
IItemDefinition encodedPattern();
|
||||
IItemDefinition colorApplicator();
|
||||
|
||||
IItemDefinition colorApplicator();
|
||||
AEColoredItemDefinition coloredPaintBall();
|
||||
|
||||
AEColoredItemDefinition coloredPaintBall();
|
||||
|
||||
AEColoredItemDefinition coloredLumenPaintBall();
|
||||
AEColoredItemDefinition coloredLumenPaintBall();
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
package appeng.api.definitions;
|
||||
|
||||
|
||||
/**
|
||||
* A list of all materials in AE
|
||||
*/
|
||||
@@ -88,20 +87,12 @@ public interface IMaterials {
|
||||
|
||||
IItemDefinition cardCapacity();
|
||||
|
||||
IItemDefinition cardPatternExpansion();
|
||||
|
||||
IItemDefinition cardQuantumLink();
|
||||
|
||||
IItemDefinition cardMagnet();
|
||||
|
||||
IItemDefinition cardFuzzy();
|
||||
|
||||
IItemDefinition cardInverter();
|
||||
|
||||
IItemDefinition cardCrafting();
|
||||
|
||||
IItemDefinition cardSticky();
|
||||
|
||||
IItemDefinition enderDust();
|
||||
|
||||
IItemDefinition flour();
|
||||
|
||||
@@ -23,10 +23,8 @@
|
||||
|
||||
package appeng.api.definitions;
|
||||
|
||||
|
||||
import appeng.api.util.AEColoredItemDefinition;
|
||||
|
||||
|
||||
/**
|
||||
* A list of all parts in AE
|
||||
*/
|
||||
@@ -41,14 +39,6 @@ public interface IParts {
|
||||
|
||||
AEColoredItemDefinition cableDenseSmart();
|
||||
|
||||
AEColoredItemDefinition lumenCableSmart();
|
||||
|
||||
AEColoredItemDefinition lumenCableCovered();
|
||||
|
||||
AEColoredItemDefinition lumenCableGlass();
|
||||
|
||||
AEColoredItemDefinition lumenDenseCableSmart();
|
||||
|
||||
IItemDefinition quartzFiber();
|
||||
|
||||
IItemDefinition toggleBus();
|
||||
@@ -57,8 +47,6 @@ public interface IParts {
|
||||
|
||||
IItemDefinition storageBus();
|
||||
|
||||
IItemDefinition oreDictStorageBus();
|
||||
|
||||
IItemDefinition importBus();
|
||||
|
||||
IItemDefinition exportBus();
|
||||
@@ -87,12 +75,8 @@ public interface IParts {
|
||||
|
||||
IItemDefinition p2PTunnelFE();
|
||||
|
||||
IItemDefinition p2PTunnelGTEU();
|
||||
|
||||
IItemDefinition p2PTunnelLight();
|
||||
|
||||
// IItemDefinition p2PTunnelOpenComputers();
|
||||
|
||||
IItemDefinition cableAnchor();
|
||||
|
||||
IItemDefinition monitor();
|
||||
@@ -105,12 +89,6 @@ public interface IParts {
|
||||
|
||||
IItemDefinition patternTerminal();
|
||||
|
||||
IItemDefinition expandedProcessingPatternTerminal();
|
||||
|
||||
IItemDefinition interfaceConfigurationTerminal();
|
||||
|
||||
IItemDefinition fluidInterfaceConfigurationTerminal();
|
||||
|
||||
IItemDefinition craftingTerminal();
|
||||
|
||||
IItemDefinition terminal();
|
||||
|
||||
@@ -18,16 +18,13 @@
|
||||
|
||||
package appeng.api.definitions;
|
||||
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
|
||||
public interface ITileDefinition extends IBlockDefinition
|
||||
{
|
||||
/**
|
||||
* @return the {@link TileEntity} Class if applicable.
|
||||
*/
|
||||
Optional<? extends Class<? extends TileEntity>> maybeEntity();
|
||||
public interface ITileDefinition extends IBlockDefinition {
|
||||
/**
|
||||
* @return the {@link TileEntity} Class if applicable.
|
||||
*/
|
||||
Optional<? extends Class<? extends TileEntity>> maybeEntity();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package appeng.api.definitions;
|
||||
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
// Private helper class to create AE2 resource locations
|
||||
final class IdHelper {
|
||||
|
||||
private IdHelper() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a ResourceLocation namespaced to AE2.
|
||||
*/
|
||||
static ResourceLocation id(String id) {
|
||||
return new ResourceLocation("appliedenergistics2", id);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -23,39 +23,34 @@
|
||||
|
||||
package appeng.api.events;
|
||||
|
||||
|
||||
import net.minecraftforge.fml.common.eventhandler.Event;
|
||||
import net.minecraftforge.eventbus.api.Event;
|
||||
|
||||
import appeng.api.features.ILocatable;
|
||||
|
||||
|
||||
/**
|
||||
* Input Event:
|
||||
*
|
||||
* Used to Notify the Location Registry of objects, and their availability.
|
||||
*/
|
||||
public class LocatableEventAnnounce extends Event
|
||||
{
|
||||
public class LocatableEventAnnounce extends Event {
|
||||
|
||||
public final ILocatable target;
|
||||
public final LocatableEvent change;
|
||||
public final ILocatable target;
|
||||
public final LocatableEvent change;
|
||||
|
||||
public LocatableEventAnnounce( final ILocatable o, final LocatableEvent ev )
|
||||
{
|
||||
this.target = o;
|
||||
this.change = ev;
|
||||
}
|
||||
public LocatableEventAnnounce(final ILocatable o, final LocatableEvent ev) {
|
||||
this.target = o;
|
||||
this.change = ev;
|
||||
}
|
||||
|
||||
public enum LocatableEvent
|
||||
{
|
||||
/**
|
||||
* Adds the locatable to the registry
|
||||
*/
|
||||
REGISTER,
|
||||
public enum LocatableEvent {
|
||||
/**
|
||||
* Adds the locatable to the registry
|
||||
*/
|
||||
REGISTER,
|
||||
|
||||
/**
|
||||
* Removes the locatable from the registry
|
||||
*/
|
||||
UNREGISTER
|
||||
}
|
||||
/**
|
||||
* Removes the locatable from the registry
|
||||
*/
|
||||
UNREGISTER
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,14 +23,11 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
public class AppEngException extends Exception {
|
||||
|
||||
public class AppEngException extends Exception
|
||||
{
|
||||
private static final long serialVersionUID = -9051434206368465494L;
|
||||
|
||||
private static final long serialVersionUID = -9051434206368465494L;
|
||||
|
||||
public AppEngException( final String t )
|
||||
{
|
||||
super( t );
|
||||
}
|
||||
public AppEngException(final String t) {
|
||||
super(t);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,13 +18,10 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
public class CoreInaccessibleException extends RuntimeException {
|
||||
private static final long serialVersionUID = -7434641554655517242L;
|
||||
|
||||
public class CoreInaccessibleException extends RuntimeException
|
||||
{
|
||||
private static final long serialVersionUID = -7434641554655517242L;
|
||||
|
||||
public CoreInaccessibleException( final String message )
|
||||
{
|
||||
super( message );
|
||||
}
|
||||
public CoreInaccessibleException(final String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,34 +23,30 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
|
||||
import appeng.api.networking.IGridNode;
|
||||
|
||||
|
||||
/**
|
||||
* Exception occurred because of an already existing connection between the two {@link IGridNode}s
|
||||
* Exception occurred because of an already existing connection between the two
|
||||
* {@link IGridNode}s
|
||||
*
|
||||
* Intended to signal an internal exception and not intended to be thrown by
|
||||
* any 3rd party module.
|
||||
* 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 FailedConnectionException
|
||||
{
|
||||
public class ExistingConnectionException extends FailedConnectionException {
|
||||
|
||||
private static final long serialVersionUID = 2975450379720353182L;
|
||||
private static final String DEFAULT_MESSAGE = "Connection between both nodes already exists.";
|
||||
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() {
|
||||
super(DEFAULT_MESSAGE);
|
||||
}
|
||||
|
||||
public ExistingConnectionException( String message )
|
||||
{
|
||||
super( message );
|
||||
}
|
||||
public ExistingConnectionException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,15 +23,13 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
|
||||
import appeng.api.networking.IGridNode;
|
||||
|
||||
|
||||
/**
|
||||
* Exception indicating a failed connection between two {@link IGridNode}s.
|
||||
*
|
||||
* Intended to signal an internal exception and not intended to be thrown by
|
||||
* any 3rd party module.
|
||||
* Intended to signal an internal exception and not intended to be thrown by any
|
||||
* 3rd party module.
|
||||
*
|
||||
* See any subclass for a more specific reason.
|
||||
*
|
||||
@@ -40,17 +38,14 @@ import appeng.api.networking.IGridNode;
|
||||
* @version rv3
|
||||
* @since rv0
|
||||
*/
|
||||
public class FailedConnectionException extends Exception
|
||||
{
|
||||
public class FailedConnectionException extends Exception {
|
||||
|
||||
private static final long serialVersionUID = -2544208090248293753L;
|
||||
private static final long serialVersionUID = -2544208090248293753L;
|
||||
|
||||
public FailedConnectionException()
|
||||
{
|
||||
}
|
||||
public FailedConnectionException() {
|
||||
}
|
||||
|
||||
public FailedConnectionException( String message )
|
||||
{
|
||||
super( message );
|
||||
}
|
||||
public FailedConnectionException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,13 +18,10 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
public class MissingDefinitionException extends RuntimeException {
|
||||
private static final long serialVersionUID = -6547396584255825761L;
|
||||
|
||||
public class MissingDefinitionException extends RuntimeException
|
||||
{
|
||||
private static final long serialVersionUID = -6547396584255825761L;
|
||||
|
||||
public MissingDefinitionException( final String message )
|
||||
{
|
||||
super( message );
|
||||
}
|
||||
public MissingDefinitionException(final String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,14 +23,11 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
public class MissingIngredientException extends Exception {
|
||||
|
||||
public class MissingIngredientException extends Exception
|
||||
{
|
||||
private static final long serialVersionUID = -998858343831371697L;
|
||||
|
||||
private static final long serialVersionUID = -998858343831371697L;
|
||||
|
||||
public MissingIngredientException( final String n )
|
||||
{
|
||||
super( n );
|
||||
}
|
||||
public MissingIngredientException(final String n) {
|
||||
super(n);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,14 +23,11 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
public class ModNotInstalledException extends Exception {
|
||||
|
||||
public class ModNotInstalledException extends Exception
|
||||
{
|
||||
private static final long serialVersionUID = -9052435206368425494L;
|
||||
|
||||
private static final long serialVersionUID = -9052435206368425494L;
|
||||
|
||||
public ModNotInstalledException( final String t )
|
||||
{
|
||||
super( t );
|
||||
}
|
||||
public ModNotInstalledException(final String t) {
|
||||
super(t);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,31 +23,27 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
|
||||
/**
|
||||
* Exception due to trying to connect one or more null values.
|
||||
*
|
||||
* Intended to signal an internal exception and not intended to be thrown by
|
||||
* any 3rd party module.
|
||||
* 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 FailedConnectionException
|
||||
{
|
||||
public class NullNodeConnectionException extends FailedConnectionException {
|
||||
|
||||
private static final long serialVersionUID = -2143719383495321764L;
|
||||
private static final String DEFAULT_MESSAGE = "Connection forged between null entities.";
|
||||
private static final long serialVersionUID = -2143719383495321764L;
|
||||
private static final String DEFAULT_MESSAGE = "Connection forged between null entities.";
|
||||
|
||||
public NullNodeConnectionException()
|
||||
{
|
||||
super( DEFAULT_MESSAGE );
|
||||
}
|
||||
public NullNodeConnectionException() {
|
||||
super(DEFAULT_MESSAGE);
|
||||
}
|
||||
|
||||
public NullNodeConnectionException( String message )
|
||||
{
|
||||
super( message );
|
||||
}
|
||||
public NullNodeConnectionException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,14 +23,11 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
public class RecipeException extends Exception {
|
||||
|
||||
public class RecipeException extends Exception
|
||||
{
|
||||
private static final long serialVersionUID = -6602870588617670262L;
|
||||
|
||||
private static final long serialVersionUID = -6602870588617670262L;
|
||||
|
||||
public RecipeException( final String n )
|
||||
{
|
||||
super( n );
|
||||
}
|
||||
public RecipeException(final String n) {
|
||||
super(n);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,14 +23,11 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
public class RegistrationException extends Exception {
|
||||
|
||||
public class RegistrationException extends Exception
|
||||
{
|
||||
private static final long serialVersionUID = -6602870588617670263L;
|
||||
|
||||
private static final long serialVersionUID = -6602870588617670263L;
|
||||
|
||||
public RegistrationException( final String n )
|
||||
{
|
||||
super( n );
|
||||
}
|
||||
public RegistrationException(final String n) {
|
||||
super(n);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,30 +23,26 @@
|
||||
|
||||
package appeng.api.exceptions;
|
||||
|
||||
|
||||
/**
|
||||
* Exception due to trying to connect different security realms.
|
||||
*
|
||||
* Intended to signal an internal exception and not intended to be thrown by
|
||||
* any 3rd party module.
|
||||
* 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 FailedConnectionException
|
||||
{
|
||||
private static final long serialVersionUID = 5048714900434215426L;
|
||||
private static final String DEFAULT_MESSAGE = "Connection failed due to different security realms.";
|
||||
public class SecurityConnectionException extends FailedConnectionException {
|
||||
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() {
|
||||
super(DEFAULT_MESSAGE);
|
||||
}
|
||||
|
||||
public SecurityConnectionException( String message )
|
||||
{
|
||||
super( message );
|
||||
}
|
||||
public SecurityConnectionException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,439 @@
|
||||
/*
|
||||
* This file is part of Applied Energistics 2.
|
||||
* Copyright (c) 2013 - 2018, 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>.
|
||||
*/
|
||||
|
||||
package appeng.api.features;
|
||||
|
||||
public enum AEFeature {
|
||||
// stuff that has no reason for ever being turned off, or that
|
||||
// is just flat out required by tons of
|
||||
// important stuff.
|
||||
CORE("Core", null, false) {
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Worldgen related
|
||||
*/
|
||||
CERTUS_QUARTZ_WORLD_GEN("CertusQuartzWorldGen", Constants.CATEGORY_WORLD, true),
|
||||
|
||||
METEORITE_WORLD_GEN("MeteoriteWorldGen", Constants.CATEGORY_WORLD, true),
|
||||
|
||||
DECORATIVE_LIGHTS("DecorativeLights", Constants.CATEGORY_WORLD, false),
|
||||
|
||||
DECORATIVE_BLOCKS("DecorativeBlocks", Constants.CATEGORY_WORLD, false,
|
||||
"Blocks that are not used in any essential recipes, also slabs and stairs."),
|
||||
|
||||
SKY_STONE_CHESTS("SkyStoneChests", Constants.CATEGORY_WORLD, false),
|
||||
|
||||
SPAWN_PRESSES_IN_METEORITES("SpawnPressesInMeteorites", Constants.CATEGORY_WORLD, true),
|
||||
|
||||
FLOUR("Flour", Constants.CATEGORY_WORLD, false), CHEST_LOOT("ChestLoot", Constants.CATEGORY_WORLD, false),
|
||||
|
||||
VILLAGER_TRADING("VillagerTrading", Constants.CATEGORY_WORLD, true),
|
||||
|
||||
TINY_TNT("TinyTNT", Constants.CATEGORY_WORLD, false),
|
||||
|
||||
CERTUS_ORE("CertusOre", Constants.CATEGORY_WORLD, false),
|
||||
|
||||
CHARGED_CERTUS_ORE("ChargedCertusOre", Constants.CATEGORY_WORLD, false),
|
||||
|
||||
/**
|
||||
* Machines
|
||||
*/
|
||||
GRIND_STONE("GrindStone", Constants.CATEGORY_MACHINES, false),
|
||||
|
||||
INSCRIBER("Inscriber", Constants.CATEGORY_MACHINES, false),
|
||||
|
||||
CHARGER("Charger", Constants.CATEGORY_MACHINES, false),
|
||||
|
||||
CRYSTAL_GROWTH_ACCELERATOR("CrystalGrowthAccelerator", Constants.CATEGORY_MACHINES, false),
|
||||
|
||||
POWER_GEN("VibrationChamber", Constants.CATEGORY_MACHINES, false),
|
||||
|
||||
/**
|
||||
* Tools
|
||||
*/
|
||||
POWERED_TOOLS("PoweredTools", Constants.CATEGORY_TOOLS_CLASSIFICATIONS, false),
|
||||
|
||||
CERTUS_QUARTZ_TOOLS("CertusQuartzTools", Constants.CATEGORY_TOOLS_CLASSIFICATIONS, false),
|
||||
|
||||
NETHER_QUARTZ_TOOLS("NetherQuartzTools", Constants.CATEGORY_TOOLS_CLASSIFICATIONS, false),
|
||||
|
||||
QUARTZ_HOE("QuartzHoe", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
QUARTZ_SPADE("QuartzSpade", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
QUARTZ_SWORD("QuartzSword", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
QUARTZ_PICKAXE("QuartzPickaxe", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
QUARTZ_AXE("QuartzAxe", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
QUARTZ_KNIFE("QuartzKnife", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
QUARTZ_WRENCH("QuartzWrench", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
CHARGED_STAFF("ChargedStaff", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
ENTROPY_MANIPULATOR("EntropyManipulator", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
MATTER_CANNON("MatterCannon", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
WIRELESS_ACCESS_TERMINAL("WirelessAccessTerminal", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
COLOR_APPLICATOR("ColorApplicator", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
PAINT_BALLS("PaintBalls", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
METEORITE_COMPASS("MeteoriteCompass", Constants.CATEGORY_TOOLS, false),
|
||||
|
||||
LIGHT_DETECTOR("LightDetector", Constants.CATEGORY_MISC, false),
|
||||
|
||||
/**
|
||||
* Network
|
||||
*/
|
||||
SECURITY("Security", Constants.CATEGORY_NETWORK_FEATURES, false),
|
||||
|
||||
SPATIAL_IO("SpatialIO", Constants.CATEGORY_NETWORK_FEATURES, false),
|
||||
|
||||
QUANTUM_NETWORK_BRIDGE("QuantumNetworkBridge", Constants.CATEGORY_NETWORK_FEATURES, false),
|
||||
|
||||
CHANNELS("Channels", Constants.CATEGORY_NETWORK_FEATURES, false),
|
||||
|
||||
/**
|
||||
* Buses and parts
|
||||
*/
|
||||
INTERFACE("Interface", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
FLUID_INTERFACE("FluidInterface", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
LEVEL_EMITTER("LevelEmitter", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
FLUID_LEVEL_EMITTER("FluidLevelEmitter", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
FLUID_TERMINAL("FluidTerminal", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
CRAFTING_TERMINAL("CraftingTerminal", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
TERMINAL("Terminal", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
STORAGE_MONITOR("StorageMonitor", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
P2P_TUNNEL("P2PTunnel", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
FORMATION_PLANE("FormationPlane", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
FLUID_FORMATION_PLANE("FluidFormationPlane", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
ANNIHILATION_PLANE("AnnihilationPlane", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
IDENTITY_ANNIHILATION_PLANE("IdentityAnnihilationPlane", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
FLUID_ANNIHILATION_PLANE("FluidAnnihilationPlane", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
IMPORT_BUS("ImportBus", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
FLUID_IMPORT_BUS("FluidImportBus", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
EXPORT_BUS("ExportBus", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
FLUID_EXPORT_BUS("FluidExportBus", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
STORAGE_BUS("StorageBus", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
FLUID_STORAGE_BUS("FluidStorageBus", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
PART_CONVERSION_MONITOR("PartConversionMonitor", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
TOGGLE_BUS("ToggleBus", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
PANELS("Panels", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
QUARTZ_FIBER("QuartzFiber", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
CABLE_ANCHOR("CableAnchor", Constants.CATEGORY_NETWORK_BUSES, false),
|
||||
|
||||
/**
|
||||
* Portable cells
|
||||
*/
|
||||
PORTABLE_CELL("PortableCell", Constants.CATEGORY_PORTABLE_CELL, false),
|
||||
|
||||
/**
|
||||
* Storage
|
||||
*/
|
||||
STORAGE_CELLS("StorageCells", Constants.CATEGORY_STORAGE, false),
|
||||
|
||||
ME_CHEST("MEChest", Constants.CATEGORY_STORAGE, false),
|
||||
|
||||
ME_DRIVE("MEDrive", Constants.CATEGORY_STORAGE, false),
|
||||
|
||||
IO_PORT("IOPort", Constants.CATEGORY_STORAGE, false),
|
||||
|
||||
CONDENSER("Condenser", Constants.CATEGORY_STORAGE, false),
|
||||
|
||||
/**
|
||||
* Network tools
|
||||
*/
|
||||
NETWORK_TOOL("NetworkTool", Constants.CATEGORY_NETWORK_TOOL, false),
|
||||
|
||||
MEMORY_CARD("MemoryCard", Constants.CATEGORY_NETWORK_TOOL, false),
|
||||
|
||||
/**
|
||||
* Cables
|
||||
*/
|
||||
GLASS_CABLES("GlassCables", Constants.CATEGORY_CABLES, false),
|
||||
|
||||
COVERED_CABLES("CoveredCables", Constants.CATEGORY_CABLES, false),
|
||||
|
||||
SMART_CABLES("SmartCables", Constants.CATEGORY_CABLES, false),
|
||||
|
||||
DENSE_CABLES("DenseCables", Constants.CATEGORY_CABLES, false),
|
||||
|
||||
/**
|
||||
* Energy cells
|
||||
*/
|
||||
ENERGY_CELLS("EnergyCells", Constants.CATEGORY_ENERGY, false),
|
||||
|
||||
ENERGY_ACCEPTOR("EnergyAcceptor", Constants.CATEGORY_ENERGY, false),
|
||||
|
||||
DENSE_ENERGY_CELLS("DenseEnergyCells", Constants.CATEGORY_ENERGY, false),
|
||||
|
||||
/**
|
||||
* P2P Tunnels
|
||||
*/
|
||||
P2P_TUNNEL_ME("P2PTunnelME", Constants.CATEGORY_P2P_TUNNELS, false),
|
||||
|
||||
P2P_TUNNEL_ITEMS("P2PTunnelItems", Constants.CATEGORY_P2P_TUNNELS, false),
|
||||
|
||||
P2P_TUNNEL_REDSTONE("P2PTunnelRedstone", Constants.CATEGORY_P2P_TUNNELS, false),
|
||||
|
||||
P2P_TUNNEL_EU("P2PTunnelEU", Constants.CATEGORY_P2P_TUNNELS, false),
|
||||
|
||||
P2P_TUNNEL_FE("P2PTunnelFE", Constants.CATEGORY_P2P_TUNNELS, false),
|
||||
|
||||
P2P_TUNNEL_FLUIDS("P2PTunnelFluids", Constants.CATEGORY_P2P_TUNNELS, false),
|
||||
|
||||
P2P_TUNNEL_LIGHT("P2PTunnelLight", Constants.CATEGORY_P2P_TUNNELS, false),
|
||||
|
||||
P2P_TUNNEL_OPEN_COMPUTERS("P2PTunnelOpenComputers", Constants.CATEGORY_P2P_TUNNELS, false),
|
||||
|
||||
P2P_TUNNEL_PRESSURE("P2PTunnelPressure", Constants.CATEGORY_P2P_TUNNELS, false),
|
||||
|
||||
/**
|
||||
* Block damage by items or blocks
|
||||
*/
|
||||
MASS_CANNON_BLOCK_DAMAGE("MassCannonBlockDamage", Constants.CATEGORY_BLOCK_FEATURES, false),
|
||||
|
||||
TINY_TNT_BLOCK_DAMAGE("TinyTNTBlockDamage", Constants.CATEGORY_BLOCK_FEATURES, false),
|
||||
|
||||
/**
|
||||
* Facades
|
||||
*/
|
||||
FACADES("Facades", Constants.CATEGORY_FACADES, false),
|
||||
TILE_ENTITY_FACADES("TileEntityFacades", Constants.CATEGORY_FACADES, false, true,
|
||||
"Unsupported: Allows whitelisting TileEntity as facades. Could work, have render issues, or corrupt your world. USE AT YOUR OWN RISK."),
|
||||
|
||||
/**
|
||||
* Debug
|
||||
*/
|
||||
UNSUPPORTED_DEVELOPER_TOOLS("UnsupportedDeveloperTools", Constants.CATEGORY_MISC, false, true),
|
||||
|
||||
CREATIVE("Creative", Constants.CATEGORY_MISC, false),
|
||||
|
||||
GRINDER_LOGGING("GrinderLogging", Constants.CATEGORY_MISC, false, false),
|
||||
|
||||
LOGGING("Logging", Constants.CATEGORY_MISC, false),
|
||||
|
||||
INTEGRATION_LOGGING("IntegrationLogging", Constants.CATEGORY_MISC, false, true),
|
||||
|
||||
WEBSITE_RECIPES("WebsiteRecipes", Constants.CATEGORY_MISC, false, true),
|
||||
|
||||
LOG_SECURITY_AUDITS("LogSecurityAudits", Constants.CATEGORY_MISC, false, true),
|
||||
|
||||
ACHIEVEMENTS("Achievements", Constants.CATEGORY_MISC, false),
|
||||
|
||||
UPDATE_LOGGING("UpdateLogging", Constants.CATEGORY_MISC, false, true),
|
||||
|
||||
PACKET_LOGGING("PacketLogging", Constants.CATEGORY_MISC, false, true),
|
||||
|
||||
CRAFTING_LOG("CraftingLog", Constants.CATEGORY_MISC, false, true),
|
||||
|
||||
DEBUG_LOGGING("DebugLogging", Constants.CATEGORY_MISC, false, true),
|
||||
|
||||
/**
|
||||
* Crafting
|
||||
*/
|
||||
ENABLE_FACADE_CRAFTING("EnableFacadeCrafting", Constants.CATEGORY_CRAFTING, true),
|
||||
|
||||
IN_WORLD_SINGULARITY("InWorldSingularity", Constants.CATEGORY_CRAFTING, true),
|
||||
|
||||
IN_WORLD_FLUIX("InWorldFluix", Constants.CATEGORY_CRAFTING, true),
|
||||
|
||||
IN_WORLD_PURIFICATION("InWorldPurification", Constants.CATEGORY_CRAFTING, true),
|
||||
|
||||
INTERFACE_TERMINAL("InterfaceTerminal", Constants.CATEGORY_CRAFTING, false),
|
||||
|
||||
ENABLE_DISASSEMBLY_CRAFTING("EnableDisassemblyCrafting", Constants.CATEGORY_CRAFTING, true),
|
||||
|
||||
/**
|
||||
* Rendering
|
||||
*/
|
||||
ALPHA_PASS("AlphaPass", Constants.CATEGORY_RENDERING, true),
|
||||
|
||||
/**
|
||||
* Crafting machines
|
||||
*/
|
||||
MOLECULAR_ASSEMBLER("MolecularAssembler", Constants.CATEGORY_CRAFTING_FEATURES, false),
|
||||
|
||||
PATTERNS("Patterns", Constants.CATEGORY_CRAFTING_FEATURES, false),
|
||||
|
||||
CRAFTING_CPU("CraftingCPU", Constants.CATEGORY_CRAFTING_FEATURES, false),
|
||||
|
||||
/**
|
||||
* Upgrades
|
||||
*/
|
||||
BASIC_CARDS("BasicCards", Constants.CATEGORY_UPGRADES, false),
|
||||
|
||||
ADVANCED_CARDS("AdvancedCards", Constants.CATEGORY_UPGRADES, false),
|
||||
|
||||
VIEW_CELL("ViewCell", Constants.CATEGORY_UPGRADES, false),
|
||||
|
||||
CRYSTAL_SEEDS("CrystalSeeds", Constants.CATEGORY_MATERIALS, false),
|
||||
|
||||
PURE_CRYSTALS("PureCrystals", Constants.CATEGORY_MATERIALS, false),
|
||||
|
||||
/**
|
||||
* Materials. Items mostly for crafting
|
||||
*/
|
||||
CERTUS("Certus", Constants.CATEGORY_MATERIALS, false),
|
||||
|
||||
FLUIX("Fluix", Constants.CATEGORY_MATERIALS, false),
|
||||
|
||||
SILICON("Silicon", Constants.CATEGORY_MATERIALS, false),
|
||||
|
||||
DUSTS("Dusts", Constants.CATEGORY_MATERIALS, false),
|
||||
|
||||
NUGGETS("Nuggets", Constants.CATEGORY_MATERIALS, false),
|
||||
|
||||
QUARTZ_GLASS("QuartzGlass", Constants.CATEGORY_MATERIALS, false),
|
||||
|
||||
SKY_STONE("SkyStone", Constants.CATEGORY_MATERIALS, false),
|
||||
|
||||
PROCESSORS("Processors", Constants.CATEGORY_COMPONENTS, false),
|
||||
|
||||
PRINTED_CIRCUITS("PrintedCircuits", Constants.CATEGORY_COMPONENTS, false),
|
||||
|
||||
PRESSES("Presses", Constants.CATEGORY_COMPONENTS, false),
|
||||
|
||||
MATTER_BALL("MatterBall", Constants.CATEGORY_COMPONENTS, false),
|
||||
|
||||
CORES("Cores", Constants.CATEGORY_COMPONENTS, false),
|
||||
|
||||
/**
|
||||
* Server commands
|
||||
*/
|
||||
CHUNK_LOGGER_TRACE("ChunkLoggerTrace", Constants.CATEGORY_COMMANDS, false, true);
|
||||
|
||||
private final String key;
|
||||
private final String category;
|
||||
private final boolean enabled;
|
||||
private final String comment;
|
||||
private final boolean config;
|
||||
|
||||
AEFeature(final String key, final String cat, boolean config) {
|
||||
this(key, cat, true, config);
|
||||
}
|
||||
|
||||
AEFeature(final String key, final String cat, boolean config, final String comment) {
|
||||
this(key, cat, true, config, comment);
|
||||
}
|
||||
|
||||
AEFeature(final String key, final String cat, final boolean enabled, boolean config) {
|
||||
this(key, cat, enabled, config, null);
|
||||
}
|
||||
|
||||
AEFeature(final String key, final String cat, final boolean enabled, boolean config, final String comment) {
|
||||
this.key = key;
|
||||
this.category = cat;
|
||||
this.enabled = enabled;
|
||||
this.comment = comment;
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
/**
|
||||
* override to set visibility
|
||||
*
|
||||
* @return default true
|
||||
*/
|
||||
public boolean isVisible() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public String key() {
|
||||
return this.key;
|
||||
}
|
||||
|
||||
public String category() {
|
||||
return this.category;
|
||||
}
|
||||
|
||||
public boolean isEnabled() {
|
||||
return this.enabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* If exposed as config option.
|
||||
*/
|
||||
public boolean isConfig() {
|
||||
return config;
|
||||
}
|
||||
|
||||
public String comment() {
|
||||
return this.comment;
|
||||
}
|
||||
|
||||
private enum Constants {
|
||||
;
|
||||
|
||||
private static final String CATEGORY_MISC = "Misc";
|
||||
private static final String CATEGORY_CRAFTING = "Crafting";
|
||||
private static final String CATEGORY_WORLD = "World";
|
||||
private static final String CATEGORY_MACHINES = "Machines";
|
||||
private static final String CATEGORY_TOOLS = "Tools";
|
||||
private static final String CATEGORY_TOOLS_CLASSIFICATIONS = "ToolsClassifications";
|
||||
private static final String CATEGORY_NETWORK_BUSES = "NetworkBuses";
|
||||
private static final String CATEGORY_P2P_TUNNELS = "P2PTunnels";
|
||||
private static final String CATEGORY_BLOCK_FEATURES = "BlockFeatures";
|
||||
private static final String CATEGORY_CRAFTING_FEATURES = "CraftingFeatures";
|
||||
private static final String CATEGORY_STORAGE = "Storage";
|
||||
private static final String CATEGORY_CABLES = "Cables";
|
||||
private static final String CATEGORY_NETWORK_FEATURES = "NetworkFeatures";
|
||||
private static final String CATEGORY_COMMANDS = "Commands";
|
||||
private static final String CATEGORY_RENDERING = "Rendering";
|
||||
private static final String CATEGORY_FACADES = "Facades";
|
||||
private static final String CATEGORY_NETWORK_TOOL = "NetworkTool";
|
||||
private static final String CATEGORY_PORTABLE_CELL = "PortableCell";
|
||||
private static final String CATEGORY_ENERGY = "Energy";
|
||||
private static final String CATEGORY_UPGRADES = "Upgrades";
|
||||
private static final String CATEGORY_MATERIALS = "Materials";
|
||||
private static final String CATEGORY_COMPONENTS = "CraftingComponents";
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,6 @@
|
||||
|
||||
package appeng.api.features;
|
||||
|
||||
|
||||
import javax.annotation.Nonnegative;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
@@ -31,54 +30,57 @@ import net.minecraft.item.Item;
|
||||
|
||||
import appeng.api.implementations.items.IAEItemPowerStorage;
|
||||
|
||||
|
||||
/**
|
||||
* A registry to allow mapping {@link Item}s to a specific charge rate when being placed inside a charger.
|
||||
*
|
||||
* The registry is used in favor of an additional method for {@link IAEItemPowerStorage} with a fixed value per item.
|
||||
* This allows more flexibility for other charger like machines to choose their own values when needed.
|
||||
*
|
||||
* There is no guarantee that this is charged per tick, it only represents the value per operation.
|
||||
* By default this is one charging operation every 10 ticks in case of an AE2 charger.
|
||||
*
|
||||
* A registry to allow mapping {@link Item}s to a specific charge rate when
|
||||
* being placed inside a charger.
|
||||
*
|
||||
* The registry is used in favor of an additional method for
|
||||
* {@link IAEItemPowerStorage} with a fixed value per item. This allows more
|
||||
* flexibility for other charger like machines to choose their own values when
|
||||
* needed.
|
||||
*
|
||||
* There is no guarantee that this is charged per tick, it only represents the
|
||||
* value per operation. By default this is one charging operation every 10 ticks
|
||||
* in case of an AE2 charger.
|
||||
*
|
||||
* @author yueh
|
||||
* @version rv5
|
||||
* @since rv5
|
||||
*/
|
||||
public interface IChargerRegistry
|
||||
{
|
||||
public interface IChargerRegistry {
|
||||
|
||||
/**
|
||||
* Fetch a charge rate for a specific item.
|
||||
*
|
||||
* The specific item does not need to have a mapping registered at all.
|
||||
* In this case it will use a default value of 160 AE.
|
||||
*
|
||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
||||
* @return custom rate or default of 160
|
||||
*/
|
||||
@Nonnegative
|
||||
double getChargeRate( @Nonnull Item item );
|
||||
/**
|
||||
* Fetch a charge rate for a specific item.
|
||||
*
|
||||
* The specific item does not need to have a mapping registered at all. In this
|
||||
* case it will use a default value of 160 AE.
|
||||
*
|
||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
||||
* @return custom rate or default of 160
|
||||
*/
|
||||
@Nonnegative
|
||||
double getChargeRate(@Nonnull Item item);
|
||||
|
||||
/**
|
||||
* Register a custom charge rate for a specific item.
|
||||
*
|
||||
* Capped at 16000 to avoid extracting too much energy from a network for each operation.
|
||||
* This is done silently without any feedback or exception.
|
||||
* Further the cap is not fixed, it can change at any time in the future should power issues arise.
|
||||
*
|
||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
||||
* @param chargeRate the custom rate, must be > 0, capped to 16000d
|
||||
*/
|
||||
void addChargeRate( @Nonnull Item item, @Nonnegative double chargeRate );
|
||||
/**
|
||||
* Register a custom charge rate for a specific item.
|
||||
*
|
||||
* Capped at 16000 to avoid extracting too much energy from a network for each
|
||||
* operation. This is done silently without any feedback or exception. Further
|
||||
* the cap is not fixed, it can change at any time in the future should power
|
||||
* issues arise.
|
||||
*
|
||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
||||
* @param chargeRate the custom rate, must be > 0, capped to 16000d
|
||||
*/
|
||||
void addChargeRate(@Nonnull Item item, @Nonnegative double chargeRate);
|
||||
|
||||
/**
|
||||
* Remove the custom rate for a specific item.
|
||||
*
|
||||
* It will revert to the default value afterwards.
|
||||
*
|
||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
||||
*/
|
||||
void removeChargeRate( @Nonnull Item item );
|
||||
/**
|
||||
* Remove the custom rate for a specific item.
|
||||
*
|
||||
* It will revert to the default value afterwards.
|
||||
*
|
||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
||||
*/
|
||||
void removeChargeRate(@Nonnull Item item);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,93 +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.features;
|
||||
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
|
||||
/**
|
||||
* Registration Records for {@link IGrinderRegistry}
|
||||
*/
|
||||
public interface IGrinderRecipe
|
||||
{
|
||||
|
||||
/**
|
||||
* the current input
|
||||
*
|
||||
* @return input that the grinder will accept.
|
||||
*/
|
||||
@Nonnull
|
||||
ItemStack getInput();
|
||||
|
||||
/**
|
||||
* gets the current output
|
||||
*
|
||||
* @return output that the grinder will produce
|
||||
*/
|
||||
@Nonnull
|
||||
ItemStack getOutput();
|
||||
|
||||
/**
|
||||
* gets the current output
|
||||
*
|
||||
* @return output that the grinder will produce
|
||||
*/
|
||||
@Nonnull
|
||||
Optional<ItemStack> getOptionalOutput();
|
||||
|
||||
/**
|
||||
* gets the current output
|
||||
*
|
||||
* @return output that the grinder will produce
|
||||
*/
|
||||
Optional<ItemStack> getSecondOptionalOutput();
|
||||
|
||||
/**
|
||||
* 0.0 - 1.0 the chance that the optional output will be generated.
|
||||
*
|
||||
* @return chance of optional output
|
||||
*/
|
||||
@Nonnull
|
||||
float getOptionalChance();
|
||||
|
||||
/**
|
||||
* 0.0 - 1.0 the chance that the optional output will be generated.
|
||||
*
|
||||
* @return second optional output chance
|
||||
*/
|
||||
float getSecondOptionalChance();
|
||||
|
||||
/**
|
||||
* Amount of turns required to process the item.
|
||||
*
|
||||
* @return number of turns it takes to produce the output from the input.
|
||||
*/
|
||||
int getRequiredTurns();
|
||||
|
||||
}
|
||||
@@ -1,115 +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.features;
|
||||
|
||||
|
||||
import javax.annotation.Nonnegative;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
|
||||
/**
|
||||
* Builder for a grinder recipe.
|
||||
*
|
||||
* The only default value provided are turns at a value of 8.
|
||||
*
|
||||
* @author yueh
|
||||
* @version rv5
|
||||
* @since rv5
|
||||
*/
|
||||
public interface IGrinderRecipeBuilder
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates an grinder recipe with inputs.
|
||||
* Needs to be invoked.
|
||||
*
|
||||
* @param input new input for the recipe
|
||||
*
|
||||
* @return currently used builder
|
||||
*/
|
||||
@Nonnull
|
||||
IGrinderRecipeBuilder withInput( @Nonnull ItemStack input );
|
||||
|
||||
/**
|
||||
* Creates an grinder recipe with output.
|
||||
* Needs to be invoked.
|
||||
*
|
||||
* @param output new output for the recipe
|
||||
*
|
||||
* @return currently used builder
|
||||
*/
|
||||
@Nonnull
|
||||
IGrinderRecipeBuilder withOutput( @Nonnull ItemStack output );
|
||||
|
||||
/**
|
||||
* Creates an grinder recipe with the first optional output and its chance.
|
||||
*
|
||||
* @param optional new first optional for the recipe
|
||||
* @param chance chance for the first optional output, must be within 0.0 - 1.0
|
||||
*
|
||||
* @return currently used builder
|
||||
*/
|
||||
@Nonnull
|
||||
IGrinderRecipeBuilder withFirstOptional( @Nonnull ItemStack optional, float chance );
|
||||
|
||||
/**
|
||||
* Creates an grinder recipe with the second optional output and its chance.
|
||||
*
|
||||
* @param optional new second optional for the recipe
|
||||
* @param chance chance for the second optional output, must be within 0.0 - 1.0
|
||||
*
|
||||
* @return currently used builder
|
||||
*/
|
||||
@Nonnull
|
||||
IGrinderRecipeBuilder withSecondOptional( @Nonnull ItemStack optional, float chance );
|
||||
|
||||
/**
|
||||
* Creates an grinder recipe with the amount of turns as cost.
|
||||
*
|
||||
* Defaults to 8 when not called.
|
||||
*
|
||||
* @param turns new turns for the recipe, must be > 0
|
||||
*
|
||||
* @return currently used builder
|
||||
*/
|
||||
@Nonnull
|
||||
IGrinderRecipeBuilder withTurns( @Nonnegative int turns );
|
||||
|
||||
/**
|
||||
* Finalizes the process of making the recipe.
|
||||
* Needs to be invoked to fetch grinder recipe.
|
||||
*
|
||||
* @return valid grinder 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
|
||||
IGrinderRecipe build();
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user