Compare commits
416 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f7be92adcf | |||
| 53f18f8e80 | |||
| 770db27777 | |||
| de674f72bd | |||
| 19747ba1f1 | |||
| 024b5c6503 | |||
| 63dd035c85 | |||
| e611b1fb76 | |||
| 4c8ad87875 | |||
| 194d1171f9 | |||
| 376bbf7e84 | |||
| ddfac3a339 | |||
| 95d8216992 | |||
| 4e2afb297e | |||
| d9588441b0 | |||
| 86a42e970f | |||
| bdb0ac14c5 | |||
| 8c735305d7 | |||
| 9011273229 | |||
| 3328bfcda2 | |||
| 158d7c6a04 | |||
| 0085262779 | |||
| 1ed654843c | |||
| 6277058167 | |||
| 6e6f8d33cd | |||
| efb9ab512a | |||
| a9c891f69a | |||
| 2ea120e614 | |||
| 29c18bbf33 | |||
| 027e8477c2 | |||
| f8bac0475a | |||
| 55c527e557 | |||
| 7714f5196e | |||
| 430ee8430d | |||
| 2e98ec015c | |||
| b6955d42b6 | |||
| e696b31013 | |||
| b84c25e64c | |||
| 327b26559f | |||
| f434688f3a | |||
| 7996c44075 | |||
| f5e9df07d4 | |||
| 159a9370c9 | |||
| ad5dcf5c97 | |||
| 104d6fc34d | |||
| 40caeec92f | |||
| 119cdbc2c0 | |||
| a44c74b0d7 | |||
| a55dbb061c | |||
| 9fdf0345b3 | |||
| 346f5aeaac | |||
| d4b5d0dc26 | |||
| d77838146d | |||
| 5b1f98b2d8 | |||
| 1c197c0f20 | |||
| 46a1faaca2 | |||
| dd28b610e1 | |||
| aa2bb45199 | |||
| 48146af137 | |||
| 582d7f140c | |||
| ffdc052d99 | |||
| de7d6321f0 | |||
| 235eef23e3 | |||
| c7fcdf7d8b | |||
| 3a6ab149e4 | |||
| 9337eceb82 | |||
| 35f91bf0d0 | |||
| 6d14d082b0 | |||
| 98ad919f1b | |||
| fb4af262b7 | |||
| 5f774749e8 | |||
| 81b3ff6976 | |||
| c8698fc2bf | |||
| be9fb6d04c | |||
| 90ca2c7e92 | |||
| 39ac308889 | |||
| 4d268b97a9 | |||
| 4b6fbf68b6 | |||
| a289dec832 | |||
| a4f50ea9ef | |||
| 0e8f7c9d03 | |||
| 7c0935f447 | |||
| 1e9e8d2639 | |||
| 3455e815b8 | |||
| a08e61b818 | |||
| 19c6e2ff2d | |||
| 4f25c1551b | |||
| 3b94e9420d | |||
| f30f334a23 | |||
| ed702a5c73 | |||
| 1364117374 | |||
| ed4b864ba2 | |||
| 706e577dab | |||
| ccc8486571 | |||
| 3e8440644e | |||
| 50f4e08b64 | |||
| cfa9fa2843 | |||
| 47f819e021 | |||
| e67b196e19 | |||
| 6d151bb890 | |||
| 3305270a71 | |||
| f824bfd2e1 | |||
| 036f4e1c5b | |||
| 146d3f5628 | |||
| 9c821cb015 | |||
| 3a83c99b1f | |||
| 447c6debab | |||
| 50470ae3cf | |||
| 993be652c9 | |||
| b3bfbd0b58 | |||
| 49b3dc8b60 | |||
| 71ffcfb839 | |||
| 73f76a6654 | |||
| 645de1d868 | |||
| 8f40478695 | |||
| 056fcc3818 | |||
| 0ed0eb9d5f | |||
| 3ddc846648 | |||
| f98f6ef852 | |||
| 4192d721a0 | |||
| a0f3ef9d86 | |||
| 6b29288de6 | |||
| 285fc6314c | |||
| 50fd83e96b | |||
| cc51138a6a | |||
| 918df0bf7f | |||
| c852199901 | |||
| fd95d3de47 | |||
| c3dd6dabe1 | |||
| b0e81ac2d1 | |||
| 30f4cdf545 | |||
| ee9441474e | |||
| 8846202270 | |||
| 17a900ae9a | |||
| 66bc243b41 | |||
| a2bda8f449 | |||
| a2c2a4df0f | |||
| b4e237244a | |||
| b541ad8d18 | |||
| 64f29a7dba | |||
| 6d25b7ef3c | |||
| c3a608ef59 | |||
| af1f5c34d2 | |||
| f5378e060e | |||
| 47407acc42 | |||
| d7f3428824 | |||
| 63e339b88b | |||
| 98761809fd | |||
| 8cb013b686 | |||
| f2fe376982 | |||
| 603452de1f | |||
| 40bd96d21c | |||
| a14d160a07 | |||
| df28a5520f | |||
| 0d096944cc | |||
| 963d3414d8 | |||
| 4414451f5e | |||
| e0ddb92b81 | |||
| 6f551ad67f | |||
| fd3349614d | |||
| 903f211044 | |||
| 78e1e26a11 | |||
| 2a6de11597 | |||
| cd2b53af85 | |||
| 1c5565491a | |||
| 311cc5c6f6 | |||
| 41796449ed | |||
| 9eef9d3840 | |||
| 13afa6908a | |||
| 103438f805 | |||
| eaa01f7648 | |||
| e81fb09599 | |||
| 94d73aec7c | |||
| b51af43dba | |||
| 85dc8ae7c1 | |||
| c34176f392 | |||
| 76fe2175a0 | |||
| c5d33ed892 | |||
| b423d99879 | |||
| 81156b411d | |||
| 6be1660d41 | |||
| 304f394497 | |||
| 50f21125c8 | |||
| 30b85bd239 | |||
| 9ce00d338f | |||
| 11f5b71089 | |||
| e7da72163b | |||
| 6d7c65dd70 | |||
| 5e21101619 | |||
| 3db8d0185f | |||
| 2f5ecfe638 | |||
| 75843e802d | |||
| e41b6943aa | |||
| 92347ad2f5 | |||
| 517bd77df7 | |||
| 19f928a9a5 | |||
| 73251a0fe5 | |||
| 9335daff7d | |||
| cc5377d53b | |||
| 059f20d801 | |||
| d229570495 | |||
| c284748b6c | |||
| 880a9c8821 | |||
| c68c02ef3b | |||
| 89c4d2736c | |||
| 01778794e5 | |||
| 8f2a06e457 | |||
| 2d71b75019 | |||
| 9f09cd04d4 | |||
| b041fae0d5 | |||
| c466a0e00e | |||
| 618e9390c6 | |||
| 9a71bfb0f0 | |||
| 9680123906 | |||
| 87730894e9 | |||
| 71c944daea | |||
| e96b4a698a | |||
| 1d5465a4b8 | |||
| 09cbfe96d6 | |||
| cbdad7c58e | |||
| 6be96956a9 | |||
| e376e002e9 | |||
| 0b9df31d4e | |||
| cef6dbf0d7 | |||
| e4af7b1947 | |||
| 6eadb8f861 | |||
| b6b6a83563 | |||
| 32ab4c6af4 | |||
| fda8c87410 | |||
| 389e060707 | |||
| 0942a90ef4 | |||
| 8cef06512a | |||
| 8e4658be20 | |||
| 0bd2bd6b5a | |||
| db2c4c4325 | |||
| ac793ee847 | |||
| 6404f26cca | |||
| ced6ad865c | |||
| 24750f00b1 | |||
| df08ce0513 | |||
| f9c274fb48 | |||
| 3582582e3f | |||
| 6de48f8541 | |||
| 5a2c2d06d3 | |||
| 98d3cafdfd | |||
| 904de49543 | |||
| b0772bf94c | |||
| aa5d5e3623 | |||
| 42f4ef2855 | |||
| 3eb2582f29 | |||
| 307f86ded8 | |||
| 56f57e18a5 | |||
| eab695b692 | |||
| 0fb393820b | |||
| 01fe5c7a8b | |||
| 8468b47443 | |||
| 6cb583c918 | |||
| d69395a117 | |||
| 59effe8131 | |||
| 6f42876963 | |||
| 08952b48dd | |||
| e3c9c4ce65 | |||
| 7b91da58c0 | |||
| 26c06bca15 | |||
| 4458bd28ab | |||
| df3f00d978 | |||
| 18ae994ee4 | |||
| 47888b5546 | |||
| e18593feb5 | |||
| af4c3de55e | |||
| bea29331a3 | |||
| 9b9579b358 | |||
| 52da4f9528 | |||
| 50aac2c768 | |||
| 33946438bd | |||
| 9372cb2f14 | |||
| 00037ace77 | |||
| e13af643ba | |||
| ffcfd809d8 | |||
| 7c10a6b883 | |||
| c2bddc30c4 | |||
| 024655f84d | |||
| 589e48ac01 | |||
| 43d3a2c1c0 | |||
| c432fa7200 | |||
| cc744ab8b9 | |||
| 8fe4229a8e | |||
| 3f86884965 | |||
| 1319ec79c9 | |||
| 31a3afc18b | |||
| 9d6026635d | |||
| 39038ac935 | |||
| 4f627b234c | |||
| 6180c188e6 | |||
| 7ada6d18ee | |||
| f493767243 | |||
| ba4cdbcb85 | |||
| f3877aa1ec | |||
| 366b31b3aa | |||
| 533fb5c34b | |||
| 62d1d904c6 | |||
| 03fb43db16 | |||
| 9576bec855 | |||
| b5da6730a1 | |||
| 039bab4811 | |||
| 4b5bdf9893 | |||
| 3c3c23712d | |||
| af91c04ea1 | |||
| 0240a5d76a | |||
| 0c0aafba2f | |||
| b541025738 | |||
| 62f842d4ef | |||
| fc154d8568 | |||
| 4641e48529 | |||
| 0fae87afc7 | |||
| ee1b6bb0d7 | |||
| 36ca8b9f0a | |||
| 9c94c7342b | |||
| 399d67b42c | |||
| 10761a1e9d | |||
| d1ddf53d99 | |||
| f776b4d548 | |||
| 41180792e1 | |||
| 2269c05d98 | |||
| 63616e5730 | |||
| 6ca3e6e696 | |||
| a4b5cfc3b9 | |||
| 38b0a7a153 | |||
| aa4863a979 | |||
| 44c7a46315 | |||
| c3b1dea7c5 | |||
| 40ec517480 | |||
| 2fdc16d3a8 | |||
| 053485a95a | |||
| e910af7734 | |||
| 59d7bd6c16 | |||
| 1a11462ddd | |||
| 77d615559f | |||
| 6878bfa4b0 | |||
| f1d50eca1a | |||
| 4ee32dd0b0 | |||
| 66e589324a | |||
| 362b001cb4 | |||
| b6fd4b3c0f | |||
| e364603a5a | |||
| c58bebc346 | |||
| 97f11f0c61 | |||
| 5c2fa72f95 | |||
| ebd8501301 | |||
| fa07247bd7 | |||
| 95d25ddf47 | |||
| 7a45e1faf4 | |||
| 1f88494832 | |||
| c629b4e0cf | |||
| 65ca607134 | |||
| 898c07ca01 | |||
| 883c267aa8 | |||
| 22cf913708 | |||
| b4ba1af1ec | |||
| 892c919ee2 | |||
| a65b3d2ceb | |||
| c826a3e24f | |||
| fc98505f22 | |||
| ea54ccbcf5 | |||
| 7796c6d4b6 | |||
| e2e6f6e83f | |||
| a7a1a87cd8 | |||
| e50eb7965f | |||
| d25a8a53a2 | |||
| 92b48f01a2 | |||
| 42f0d37c44 | |||
| 088a1827be | |||
| 6a21968dab | |||
| 7c5ff5322a | |||
| 7834028459 | |||
| c43cbbef43 | |||
| ead6274ca4 | |||
| f1c41bab3f | |||
| 12e74dc0de | |||
| c10088d907 | |||
| a12d29c4a0 | |||
| 2227510acf | |||
| 97ae7e1f14 | |||
| fc119070b2 | |||
| 82e3a95f11 | |||
| e6998913e1 | |||
| a3e69ce608 | |||
| ceef176a2a | |||
| c2e2696707 | |||
| 4d6c61dfcb | |||
| 932141cc9e | |||
| adf59774d4 | |||
| 9c6668b0f7 | |||
| 1b7f11a12e | |||
| 3cf4f9122c | |||
| d97996070a | |||
| 8a165bea09 | |||
| f707f95373 | |||
| b2a660ec9b | |||
| d6499c16b0 | |||
| de3e0178a4 | |||
| 203522316c | |||
| 719ea5090b | |||
| 00e19d67a2 | |||
| 169f6393d1 | |||
| 12bf337238 | |||
| 3b544c2486 | |||
| 660e17d167 | |||
| b10246a67b | |||
| 74362bb543 | |||
| 81df58afa5 | |||
| 535289e694 | |||
| d730503378 | |||
| 5ac8db41e7 | |||
| dfe5b82bda | |||
| c7f8f4249e |
@@ -1,3 +0,0 @@
|
|||||||
* text=auto eol=lf
|
|
||||||
*.java text diff=java eol=lf
|
|
||||||
*.gradle text diff=java eol=lf
|
|
||||||
+78
-13
@@ -15,7 +15,27 @@ 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.
|
* 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.
|
* 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)
|
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.
|
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
|
||||||
4. Click `Submit New Issue`, and wait for feedback!
|
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.
|
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.
|
||||||
@@ -27,19 +47,17 @@ 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.
|
* 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.
|
* 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.
|
* Make sure you fill in the earliest version that you know has the issue.
|
||||||
* Waiting for feedback is suggested.
|
|
||||||
* Fork the repository on GitHub
|
* Fork the repository on GitHub
|
||||||
* Create a topic branch from where you want to base your work.
|
* Create a topic branch from where you want to base your work.
|
||||||
* This `master` branch that is under active development.
|
* This is revison branch that is under active development.
|
||||||
* Only target release branches if you are certain your fix must be on that
|
* Only target release branches if you are certain your fix must be on that
|
||||||
branch.
|
branch.
|
||||||
* To quickly create a topic branch based on the development branch; `git
|
* To quickly create a topic branch based on the development branch; `git
|
||||||
checkout -b my_contribution_branch`. Please avoid working
|
checkout -b fix/master/my_contribution branch`. Please avoid working
|
||||||
directly on the `master` branch.
|
directly on the `active development` branch.
|
||||||
* Make commits of logical units.
|
* Make commits of logical units.
|
||||||
* Check for unnecessary whitespace with `git diff --check` before committing.
|
* Check for unnecessary whitespace with `git diff --check` before committing.
|
||||||
* Make sure your commit messages are in the proper format.
|
* 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
|
(#12345) Make the example in CONTRIBUTING imperative and concrete
|
||||||
@@ -54,18 +72,20 @@ Please note that we might close any issue not matching these requirements.
|
|||||||
from our issue tracker. The body describes the behavior without the patch,
|
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.
|
why this is a problem, and how the patch fixes the problem when applied.
|
||||||
````
|
````
|
||||||
* Always fully test your changes. If they are large enough in scope, then fully test AE2.
|
* Always fully test your changes. If they are large engouh in scope, then fully test AE2.
|
||||||
* Describing the process you used to test your changes in detail will help speed up this process.
|
* Describing the process you used to test your changes in detail will help speed up this process.
|
||||||
|
|
||||||
## Making Trivial Changes
|
## Making Trivial Changes
|
||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
|
|
||||||
For changes of a trivial nature to comments and documentation, it is not always necessary to create a new issue.
|
For changes of a trivial nature to comments and documentation, it is not
|
||||||
We usually use `squash and merge`. This allows us to easily append the PR number for future reference.
|
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.
|
||||||
|
|
||||||
````
|
````
|
||||||
Add documentation commit example to CONTRIBUTING
|
(doc) Add documentation commit example to CONTRIBUTING
|
||||||
|
|
||||||
There is no example for contributing a documentation commit
|
There is no example for contributing a documentation commit
|
||||||
to the Puppet repository. This is a problem because the contributor
|
to the Puppet repository. This is a problem because the contributor
|
||||||
@@ -92,11 +112,56 @@ the styling guidelines used by AE.
|
|||||||
|
|
||||||
PRs that do not conform to these standards will be rejected.
|
PRs that do not conform to these standards will be rejected.
|
||||||
|
|
||||||
You can find presets for Eclipse in the `codeformat` folder. For IntelliJ IDEA we recommend the eclipse formatter plugin.
|
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.
|
||||||
|
|
||||||
There is also a gradle task available to check for syntax errors (`spotlessCheck`) as well as applying the fixes (`spotlessApply`).
|
### Whitespace
|
||||||
|
|
||||||
We try to keep them up to date. Please report any problem with maintaining the correct formatting.
|
#### Tabs or spaces
|
||||||
|
Configure your IDE to use tabs as padding whitespace. Ensure that there is no extra whitespace
|
||||||
|
at the end of lines, or on blank lines.
|
||||||
|
|
||||||
|
#### Pad parenthes with whitespace
|
||||||
|
````
|
||||||
|
if( item.equals( newItem )
|
||||||
|
|
||||||
|
public void DeleteItem( item )
|
||||||
|
|
||||||
|
catch( Throwable )
|
||||||
|
````
|
||||||
|
|
||||||
|
### Braces
|
||||||
|
|
||||||
|
Place opening and closing braces on a new line. Always include open and close braces, even if
|
||||||
|
the body is a single line.
|
||||||
|
|
||||||
|
````
|
||||||
|
if( item.equals( newItem )
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DeleteItem( item )
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
````
|
||||||
|
|
||||||
|
## Submitting Changes
|
||||||
|
|
||||||
|
* Push your changes to a topic branch in your fork of the repository.
|
||||||
|
* Submit a pull request to the repository in the puppetlabs organization.
|
||||||
|
* Update your issue to mark that you have submitted code and are ready for it to be reviewed.
|
||||||
|
* Include a link to the pull request in the ticket.
|
||||||
|
* The core team looks at Pull Requests on a regular basis.
|
||||||
|
* There are many reasons why it will take a long time to pull your PR. Be patient, we'll
|
||||||
|
get to it.
|
||||||
|
* After feedback has been given we expect responses within two weeks. After two
|
||||||
|
weeks will may close the pull request if it isn't showing any activity.
|
||||||
|
|
||||||
# Additional Resources
|
# Additional Resources
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
<!-- 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 -->
|
||||||
|
|
||||||
**Describe the issue**
|
#### Description
|
||||||
<!-- Always use the most recent version from ae-mod.info, it might already be fixed. -->
|
<!-- 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 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. -->
|
<!-- 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 -->
|
<!-- Include as many relevant details about the environment -->
|
||||||
<!-- A forced crash report by pressing F3+c for 10 seconds. Use pastebin, gist, etc. -->
|
<!-- Like the used version, SP/MP, other mods and their version, crashlogs etc -->
|
||||||
<!-- Without it, we will automatically close the issue. -->
|
<!-- Please use pastebin or gist for posting the complete crashlog, no excerpt -->
|
||||||
|
<!-- The following ones are required, please note "latest" is not a version -->
|
||||||
|
|
||||||
- Environment:
|
- Minecraft Version:
|
||||||
|
- AE2 Version:
|
||||||
|
- Forge Version:
|
||||||
@@ -22,7 +22,9 @@ about: You found a bug or encountered a crash? Please report it here.
|
|||||||
|
|
||||||
**Environment**
|
**Environment**
|
||||||
<!-- Include as many relevant details about the environment -->
|
<!-- Include as many relevant details about the environment -->
|
||||||
<!-- A forced crash report by pressing F3+c for 10 seconds. Use pastebin, gist, etc. -->
|
<!-- Like the used version, SP/MP, other mods and their version -->
|
||||||
<!-- Without it, we will automatically close the issue. -->
|
<!-- The following ones are required, please note "latest" is not a version -->
|
||||||
|
|
||||||
- Environment:
|
- Minecraft Version:
|
||||||
|
- AE2 Version:
|
||||||
|
- Forge Version:
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
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,33 +0,0 @@
|
|||||||
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,40 +0,0 @@
|
|||||||
name: 'Build PRs'
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
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/
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
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 publishMavenPublicationToGitHubPackagesRepository --no-daemon --max-workers 1
|
|
||||||
- name: Publish to modmaven
|
|
||||||
env:
|
|
||||||
KEY_STORE_PASS: ${{ secrets.KEY_STORE_PASS }}
|
|
||||||
KEY_STORE_ALIAS: ${{ secrets.KEY_STORE_ALIAS }}
|
|
||||||
KEY_STORE_KEY_PASS: ${{ secrets.KEY_STORE_KEY_PASS }}
|
|
||||||
MODMAVEN_USER: ${{ secrets.MODMAVEN_USER }}
|
|
||||||
MODMAVEN_PASSWORD: ${{ secrets.MODMAVEN_PASSWORD }}
|
|
||||||
run: ./gradlew publishMavenPublicationToModmavenRepository --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
-3
@@ -14,14 +14,12 @@
|
|||||||
!README.md
|
!README.md
|
||||||
!LICENSE
|
!LICENSE
|
||||||
|
|
||||||
# include sourcecode except generated
|
# include sourcecode
|
||||||
!src/
|
!src/
|
||||||
src/generated
|
|
||||||
|
|
||||||
# include git important files
|
# include git important files
|
||||||
!.gitmodules
|
!.gitmodules
|
||||||
!.gitignore
|
!.gitignore
|
||||||
!.gitattributes
|
|
||||||
|
|
||||||
# code format to reduce noise in git commits
|
# code format to reduce noise in git commits
|
||||||
!codeformat/
|
!codeformat/
|
||||||
|
|||||||
+33
@@ -0,0 +1,33 @@
|
|||||||
|
sudo: required
|
||||||
|
dist: trusty
|
||||||
|
|
||||||
|
language: java
|
||||||
|
jdk:
|
||||||
|
- oraclejdk8
|
||||||
|
- openjdk8
|
||||||
|
|
||||||
|
before_cache:
|
||||||
|
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
||||||
|
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
|
||||||
|
- rm -f $HOME/.gradle/caches/minecraft/ForgeVersion.json
|
||||||
|
- rm -f $HOME/.gradle/caches/minecraft/ForgeVersion.json.etag
|
||||||
|
- rm -fr $HOME/.gradle/caches/minecraft/deobfedDeps
|
||||||
|
- rm -f $HOME/.gradle/caches/*/fileHashes/fileHashes.bin
|
||||||
|
- rm -f $HOME/.gradle/caches/*/fileHashes/fileHashes.lock
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- '$HOME/.m2/repository'
|
||||||
|
- '$HOME/.sonar/cache'
|
||||||
|
- '$HOME/.gradle/wrapper'
|
||||||
|
- '$HOME/.gradle/caches'
|
||||||
|
|
||||||
|
addons:
|
||||||
|
sonarcloud:
|
||||||
|
organization: "appliedenergistics"
|
||||||
|
|
||||||
|
install: "./gradlew setupCIWorkspace"
|
||||||
|
script:
|
||||||
|
- "./gradlew build"
|
||||||
|
- "./gradlew test"
|
||||||
|
- "./gradlew sonarqube"
|
||||||
+58
@@ -0,0 +1,58 @@
|
|||||||
|
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,183 +1,29 @@
|
|||||||
[](https://github.com/AppliedEnergistics/Applied-Energistics-2/actions?query=workflow%3A%22Build+master%22)
|
This is a fork of AE2 i made for trying to solve issues for the [Omnifactory](https://www.curseforge.com/minecraft/modpacks/omnifactory) modpack.
|
||||||
[](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases)
|
|
||||||
[](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases)
|
|
||||||
|
|
||||||
# Applied Energistics 2
|
See https://github.com/PrototypeTrousers/Applied-Energistics-2/tree/AE2-Omnifactory branch for commits
|
||||||
|
and
|
||||||
|
https://github.com/PrototypeTrousers/Applied-Energistics-2/releases for the compiled jars.
|
||||||
|
|
||||||
## Table of Contents
|
# Applied Energistics 2 (PrototypeTrousers fork for Omnifactory)
|
||||||
|
|
||||||
* [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
|
## About
|
||||||
|
|
||||||
A Mod about Matter, Energy and using them to conquer the world..
|
A Mod about Matter, Energy and using them to conquer the world..
|
||||||
|
|
||||||
## Contacts
|
|
||||||
|
|
||||||
* [Website](http://ae-mod.info/)
|
|
||||||
* [Discord](https://discord.gg/GygKjjm)
|
|
||||||
* [GitHub](https://github.com/AppliedEnergistics/Applied-Energistics-2)
|
|
||||||
* [IRC #appliedenergistics on esper.net](http://webchat.esper.net/?channels=appliedenergistics&prompt=1)
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
* Applied Energistics 2 API
|
* Applied Energistics 2 API
|
||||||
- (c) 2013 - 2020 AlgorithmX2 et al
|
- (c) 2013 - 2018 AlgorithmX2 et al
|
||||||
- [](http://opensource.org/licenses/MIT)
|
- [](http://opensource.org/licenses/MIT)
|
||||||
* Applied Energistics 2
|
* Applied Energistics 2
|
||||||
- (c) 2013 - 2020 AlgorithmX2 et al
|
- (c) 2013 - 2018 AlgorithmX2 et al
|
||||||
- [](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
|
- [](https://raw.githubusercontent.com/AppliedEnergistics/Applied-Energistics-2/rv2/LICENSE)
|
||||||
* Textures and Models
|
* Textures and Models
|
||||||
- (c) 2020, [Ridanisaurus Rid](https://github.com/Ridanisaurus/), (c) 2013 - 2020 AlgorithmX2 et al
|
- (c) 2013 - 2018 AlgorithmX2 et al
|
||||||
- [](https://creativecommons.org/licenses/by-nc-sa/3.0/)
|
- [](https://creativecommons.org/licenses/by-nc-sa/3.0/)
|
||||||
* Text and Translations
|
* Text and Translations
|
||||||
- [](https://creativecommons.org/publicdomain/zero/1.0/)
|
- [](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
|
|
||||||
|
|
||||||
Our authoritative Maven repository is Github Packages, which you can also use in your builds. Use of Github Packages
|
|
||||||
[requires special setup](https://docs.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-gradle-for-use-with-github-packages#authenticating-to-github-packages)
|
|
||||||
to authenticate with your personal access token.
|
|
||||||
|
|
||||||
AE2 is also available without authentication from Modmaven. You can use the following snippet as example on how to add a repository to your gradle build file.
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
maven {
|
|
||||||
name "Modmaven"
|
|
||||||
url "https://modmaven.k-4u.nl/"
|
|
||||||
// For Gradle 5.1 and above, limit it to just AE2
|
|
||||||
content {
|
|
||||||
includeGroup 'appeng'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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
|
## Credits
|
||||||
|
|
||||||
Thanks to
|
Thanks to
|
||||||
@@ -185,5 +31,4 @@ Thanks to
|
|||||||
* Notch et al for Minecraft
|
* Notch et al for Minecraft
|
||||||
* Lex et al for MinecraftForge
|
* Lex et al for MinecraftForge
|
||||||
* AlgorithmX2 for AppliedEnergistics2
|
* AlgorithmX2 for AppliedEnergistics2
|
||||||
* [Ridanisaurus Rid](https://github.com/Ridanisaurus/) for the new 2020 textures
|
|
||||||
* all [contributors](https://github.com/AppliedEnergistics/Applied-Energistics-2/graphs/contributors)
|
* all [contributors](https://github.com/AppliedEnergistics/Applied-Energistics-2/graphs/contributors)
|
||||||
|
|||||||
+60
-299
@@ -18,62 +18,38 @@
|
|||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
maven { url = 'https://files.minecraftforge.net/maven' }
|
mavenLocal()
|
||||||
maven { url = 'https://repo.spongepowered.org/maven' }
|
|
||||||
jcenter()
|
jcenter()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
maven {
|
||||||
|
name = "forge"
|
||||||
|
url = "http://files.minecraftforge.net/maven"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
|
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
|
||||||
classpath 'org.spongepowered:mixingradle:0.7-SNAPSHOT'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id "maven-publish"
|
id "org.sonarqube" version "2.6"
|
||||||
id "com.diffplug.gradle.spotless" version "4.3.0"
|
|
||||||
id "com.matthewprenger.cursegradle" version "1.4.0"
|
|
||||||
id "idea"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'net.minecraftforge.gradle'
|
apply plugin: 'net.minecraftforge.gradle.forge'
|
||||||
apply plugin: 'org.spongepowered.mixin'
|
apply plugin: 'jacoco'
|
||||||
apply plugin: "eclipse"
|
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
jcenter()
|
jcenter()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven { // modmaven, maven proxy
|
|
||||||
name 'modmaven'
|
|
||||||
url "https://modmaven.k-4u.nl/"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
apply from: 'gradle/scripts/dependencies.gradle'
|
||||||
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
apply from: 'gradle/scripts/artifacts.gradle'
|
||||||
|
apply from: 'gradle/scripts/optional.gradle'
|
||||||
|
|
||||||
// compile against provided APIs
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||||
compileOnly "mezz.jei:jei-${jei_minecraft_version}:${jei_version}:api"
|
targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
compileOnly "mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}:api"
|
|
||||||
|
|
||||||
// Runtime, Mods
|
|
||||||
runtimeOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}:${jei_version}")
|
|
||||||
runtimeOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}")
|
|
||||||
|
|
||||||
// unit test dependencies
|
|
||||||
testCompile "junit:junit:4.13"
|
|
||||||
|
|
||||||
// Annotation Processors
|
|
||||||
annotationProcessor 'org.spongepowered:mixin:0.8:processor'
|
|
||||||
}
|
|
||||||
group = artifact_group
|
|
||||||
archivesBaseName = artifact_basename
|
|
||||||
|
|
||||||
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
|
|
||||||
compileJava {
|
|
||||||
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8
|
|
||||||
}
|
|
||||||
|
|
||||||
// ensure everything uses UTF-8 and not some random codepage chosen by gradle
|
// ensure everything uses UTF-8 and not some random codepage chosen by gradle
|
||||||
compileJava.options.encoding = 'UTF-8'
|
compileJava.options.encoding = 'UTF-8'
|
||||||
@@ -81,280 +57,65 @@ tasks.withType(JavaCompile) {
|
|||||||
options.encoding = 'UTF-8'
|
options.encoding = 'UTF-8'
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////
|
version = aeversion + "-" + aechannel + "-" + aebuild + "-" + extended + "-" + extendedversion
|
||||||
// Version Number
|
group = aegroup
|
||||||
version = version_major + "." + version_minor + "." + version_patch
|
archivesBaseName = aebasename
|
||||||
|
|
||||||
ext.pr = System.getenv('PR_NUMBER') ?: ""
|
// Add Coremod Manifest
|
||||||
if (ext.pr) {
|
jar {
|
||||||
version = version + "+pr." + ext.pr
|
manifest {
|
||||||
|
attributes 'FMLAT': 'appeng_at.cfg'
|
||||||
|
}
|
||||||
|
|
||||||
|
from sourceSets.api.output
|
||||||
|
dependsOn apiClasses
|
||||||
|
|
||||||
|
// specify which files are really included, can control which APIs should be in
|
||||||
|
include "appeng/**"
|
||||||
|
include "assets/**"
|
||||||
|
include "mcmod.info"
|
||||||
|
include "pack.mcmeta"
|
||||||
|
include "META-INF/appeng_at.cfg"
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.branch = System.getenv('BRANCH') ?: ""
|
minecraft {
|
||||||
if (ext.branch) {
|
version = minecraft_version + "-" + forge_version
|
||||||
version = version + "+branch." + ext.branch
|
|
||||||
}
|
|
||||||
|
|
||||||
ext.release = System.getenv('RELEASE') ?: ""
|
replaceIn "AEConfig.java"
|
||||||
if (ext.release) {
|
replaceIn "package-info.java"
|
||||||
version = ext.release
|
|
||||||
}
|
|
||||||
|
|
||||||
ext.isAlpha = project.version.contains("alpha")
|
replace "@version@", project.version
|
||||||
ext.isBeta = project.version.contains("beta")
|
replace "@aeversion@", aeversion
|
||||||
|
replace "@aechannel@", aechannel
|
||||||
|
replace "@aebuild@", aebuild
|
||||||
|
|
||||||
|
// used when launching minecraft in dev env
|
||||||
|
runDir = "run"
|
||||||
|
mappings = mcp_mappings
|
||||||
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
api
|
api
|
||||||
main {
|
main
|
||||||
compileClasspath += sourceSets.api.output
|
|
||||||
runtimeClasspath += sourceSets.api.output
|
|
||||||
resources {
|
|
||||||
srcDir 'src/generated/resources'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
test {
|
|
||||||
compileClasspath += sourceSets.api.output
|
|
||||||
runtimeClasspath += sourceSets.api.output
|
|
||||||
java {
|
|
||||||
exclude '**/*'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
processResources
|
||||||
apiCompile.extendsFrom(compile)
|
{
|
||||||
}
|
// this will ensure that this task is redone when the versions change.
|
||||||
|
inputs.property "version", project.version
|
||||||
|
inputs.property "mcversion", project.minecraft.version
|
||||||
|
|
||||||
////////////////////
|
// replace stuff in mcmod.info, nothing else
|
||||||
// Forge/Minecraft
|
from(sourceSets.main.resources.srcDirs) {
|
||||||
minecraft {
|
include 'mcmod.info'
|
||||||
mappings channel: "snapshot", version: project.mcp_mappings
|
expand 'version': project.version, 'mcversion': project.minecraft.version
|
||||||
|
|
||||||
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
|
|
||||||
|
|
||||||
runs {
|
|
||||||
client {
|
|
||||||
property 'forge.logging.console.level', 'debug'
|
|
||||||
workingDirectory project.file('run')
|
|
||||||
property "mixin.debug.export", "true"
|
|
||||||
mods {
|
|
||||||
appliedenergistics2 {
|
|
||||||
source sourceSets.main
|
|
||||||
source sourceSets.api
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
server {
|
|
||||||
property 'forge.logging.console.level', 'debug'
|
|
||||||
workingDirectory project.file('run')
|
|
||||||
mods {
|
|
||||||
appliedenergistics2 {
|
|
||||||
source sourceSets.main
|
|
||||||
source sourceSets.api
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
data {
|
|
||||||
property 'forge.logging.console.level', 'debug'
|
|
||||||
workingDirectory project.file('run')
|
|
||||||
// ForgeGradle will just force-exit the Gradle Daemon which fails our builds in case
|
|
||||||
// a daemon is used for any reason.
|
|
||||||
forceExit false
|
|
||||||
args '--mod', 'appliedenergistics2', '--all', '--output', file('src/generated/resources/')
|
|
||||||
mods {
|
|
||||||
appliedenergistics2 {
|
|
||||||
source sourceSets.main
|
|
||||||
source sourceSets.api
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////
|
|
||||||
// Mixins
|
|
||||||
mixin {
|
|
||||||
add sourceSets.main, "appliedenergistics2.mixins.refmap.json"
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////
|
|
||||||
// Jar Signing
|
|
||||||
def signProps = [:]
|
|
||||||
if (System.getenv("KEY_STORE_FILE")) {
|
|
||||||
signProps['keyStore'] = System.getenv("KEY_STORE_FILE")
|
|
||||||
signProps['storePass'] = System.getenv("KEY_STORE_PASS")
|
|
||||||
signProps['alias'] = System.getenv("KEY_STORE_ALIAS")
|
|
||||||
signProps['keyPass'] = System.getenv("KEY_STORE_KEY_PASS")
|
|
||||||
}
|
|
||||||
|
|
||||||
task signJar(type: net.minecraftforge.gradle.common.task.SignJar, dependsOn: 'reobfJar') {
|
|
||||||
onlyIf { !signProps.isEmpty() }
|
|
||||||
|
|
||||||
if (!signProps.isEmpty()) {
|
|
||||||
keyStore = signProps.keyStore
|
|
||||||
alias = signProps.alias
|
|
||||||
storePass = signProps.storePass
|
|
||||||
keyPass = signProps.keyPass
|
|
||||||
|
|
||||||
inputFile = jar.archivePath
|
|
||||||
outputFile = jar.archivePath
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////
|
|
||||||
// Aritfacts
|
|
||||||
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"),
|
|
||||||
"MixinConfigs": "appliedenergistics2.mixins.json"
|
|
||||||
])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////
|
|
||||||
// Maven publish
|
|
||||||
publishing {
|
|
||||||
publications {
|
|
||||||
maven(MavenPublication) {
|
|
||||||
groupId = project.group
|
|
||||||
artifactId = project.archivesBaseName
|
|
||||||
version = project.version
|
|
||||||
|
|
||||||
// ForgeGradle will generate wild dependency definitions, see https://github.com/MinecraftForge/ForgeGradle/issues/584
|
|
||||||
// Since we don't actually depend on anything, just remove the entire node.
|
|
||||||
pom.withXml {
|
|
||||||
asNode().remove(asNode().dependencies)
|
|
||||||
}
|
|
||||||
|
|
||||||
from components.java
|
|
||||||
artifact sourcesJar
|
|
||||||
artifact javadocJar
|
|
||||||
artifact apiJar
|
|
||||||
}
|
|
||||||
}
|
|
||||||
repositories {
|
|
||||||
maven {
|
|
||||||
credentials {
|
|
||||||
username System.getenv("GITHUB_ACTOR")
|
|
||||||
password System.getenv("GITHUB_TOKEN")
|
|
||||||
}
|
|
||||||
name = "GitHubPackages"
|
|
||||||
url = "https://maven.pkg.github.com/AppliedEnergistics/Applied-Energistics-2"
|
|
||||||
}
|
|
||||||
maven {
|
|
||||||
credentials {
|
|
||||||
username System.getenv("MODMAVEN_USER")
|
|
||||||
password System.getenv("MODMAVEN_PASSWORD")
|
|
||||||
}
|
|
||||||
name = "modmaven"
|
|
||||||
url = "https://modmaven.k-4u.nl/artifactory/local-releases/"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////
|
|
||||||
// Spotless
|
|
||||||
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'])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////
|
|
||||||
// Curse Forge
|
|
||||||
if (System.getenv("CURSEFORGE")) {
|
|
||||||
def cfReleaseType = "release"
|
|
||||||
if (ext.isAlpha) {
|
|
||||||
cfReleaseType = "alpha"
|
|
||||||
} else if (ext.isBeta) {
|
|
||||||
cfReleaseType = "beta"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
curseforge {
|
// copy everything else, thats not the mcmod.info
|
||||||
apiKey = System.getenv("CURSEFORGE")
|
from(sourceSets.main.resources.srcDirs) {
|
||||||
project {
|
exclude 'mcmod.info'
|
||||||
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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
////////////////
|
// move access transformer to META-INF
|
||||||
// IntelliJ Project Import
|
rename '(.+_at.cfg)', 'META-INF/$1'
|
||||||
// The Mixin annotation process does not have an obfuscation source when running through the IntelliJ compiler,
|
|
||||||
// thus we have to prevent it from being activated as part of importing this Gradle project into IntelliJ.
|
|
||||||
if (System.getProperty("idea.sync.active") == "true") {
|
|
||||||
afterEvaluate {
|
|
||||||
tasks.withType(JavaCompile).all {
|
|
||||||
it.options.annotationProcessorPath = files()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1,92 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
This configuration file was written by the eclipse-cs plugin configuration editor
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Checkstyle-Configuration: AE2
|
||||||
|
Description: none
|
||||||
|
-->
|
||||||
|
<module name="Checker">
|
||||||
|
<property name="severity" value="warning"/>
|
||||||
|
<module name="TreeWalker">
|
||||||
|
<property name="tabWidth" value="4"/>
|
||||||
|
<module name="ConstantName"/>
|
||||||
|
<module name="LocalFinalVariableName"/>
|
||||||
|
<module name="LocalVariableName"/>
|
||||||
|
<module name="MemberName"/>
|
||||||
|
<module name="MethodName"/>
|
||||||
|
<module name="PackageName"/>
|
||||||
|
<module name="ParameterName"/>
|
||||||
|
<module name="StaticVariableName"/>
|
||||||
|
<module name="TypeName"/>
|
||||||
|
<module name="AvoidStarImport"/>
|
||||||
|
<module name="IllegalImport"/>
|
||||||
|
<module name="RedundantImport"/>
|
||||||
|
<module name="UnusedImports"/>
|
||||||
|
<module name="EmptyForIteratorPad"/>
|
||||||
|
<module name="MethodParamPad"/>
|
||||||
|
<module name="NoWhitespaceAfter">
|
||||||
|
<property name="tokens" value="BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
|
||||||
|
</module>
|
||||||
|
<module name="NoWhitespaceBefore"/>
|
||||||
|
<module name="OperatorWrap"/>
|
||||||
|
<module name="ParenPad">
|
||||||
|
<property name="option" value="space"/>
|
||||||
|
</module>
|
||||||
|
<module name="TypecastParenPad">
|
||||||
|
<property name="option" value="space"/>
|
||||||
|
<property name="tokens" value="RPAREN,TYPECAST"/>
|
||||||
|
</module>
|
||||||
|
<module name="WhitespaceAfter"/>
|
||||||
|
<module name="WhitespaceAround"/>
|
||||||
|
<module name="ModifierOrder"/>
|
||||||
|
<module name="RedundantModifier"/>
|
||||||
|
<module name="AvoidNestedBlocks"/>
|
||||||
|
<module name="EmptyBlock">
|
||||||
|
<property name="severity" value="ignore"/>
|
||||||
|
<metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
|
||||||
|
</module>
|
||||||
|
<module name="LeftCurly">
|
||||||
|
<property name="option" value="nl"/>
|
||||||
|
</module>
|
||||||
|
<module name="NeedBraces"/>
|
||||||
|
<module name="RightCurly">
|
||||||
|
<property name="option" value="alone"/>
|
||||||
|
</module>
|
||||||
|
<module name="AvoidInlineConditionals">
|
||||||
|
<property name="severity" value="ignore"/>
|
||||||
|
<metadata name="net.sf.eclipsecs.core.lastEnabledSeverity" value="inherit"/>
|
||||||
|
</module>
|
||||||
|
<module name="EmptyStatement"/>
|
||||||
|
<module name="EqualsHashCode"/>
|
||||||
|
<module name="HiddenField"/>
|
||||||
|
<module name="IllegalInstantiation"/>
|
||||||
|
<module name="InnerAssignment"/>
|
||||||
|
<module name="MagicNumber"/>
|
||||||
|
<module name="MissingSwitchDefault"/>
|
||||||
|
<module name="RedundantThrows">
|
||||||
|
<property name="suppressLoadErrors" value="true"/>
|
||||||
|
</module>
|
||||||
|
<module name="SimplifyBooleanExpression"/>
|
||||||
|
<module name="SimplifyBooleanReturn"/>
|
||||||
|
<module name="FinalClass"/>
|
||||||
|
<module name="HideUtilityClassConstructor"/>
|
||||||
|
<module name="InterfaceIsType"/>
|
||||||
|
<module name="VisibilityModifier"/>
|
||||||
|
<module name="ArrayTypeStyle"/>
|
||||||
|
<module name="FinalParameters"/>
|
||||||
|
<module name="UpperEll"/>
|
||||||
|
</module>
|
||||||
|
<module name="Translation"/>
|
||||||
|
<module name="RegexpSingleline">
|
||||||
|
<property name="format" value="\s+$"/>
|
||||||
|
<property name="message" value="Line has trailing spaces."/>
|
||||||
|
</module>
|
||||||
|
<module name="Header">
|
||||||
|
<property name="severity" value="error"/>
|
||||||
|
<property name="headerFile" value="${config_loc}/copyright.txt"/>
|
||||||
|
<property name="fileExtensions" value="java"/>
|
||||||
|
</module>
|
||||||
|
</module>
|
||||||
@@ -1,365 +0,0 @@
|
|||||||
<?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.
|
This file is part of Applied Energistics 2.
|
||||||
Copyright (c) 2013 - $YEAR, AlgorithmX2, All rights reserved.
|
Copyright (c) 2013 - $today.year, AlgorithmX2, All rights reserved.
|
||||||
|
|
||||||
Applied Energistics 2 is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
|||||||
@@ -0,0 +1,314 @@
|
|||||||
|
<?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>
|
||||||
+27
-28
@@ -1,36 +1,35 @@
|
|||||||
version_major=0
|
aeversion=rv6
|
||||||
version_minor=0
|
aechannel=stable
|
||||||
version_patch=0
|
aebuild=7
|
||||||
|
aegroup=appeng
|
||||||
artifact_group=appeng
|
aebasename=appliedenergistics2
|
||||||
artifact_basename=appliedenergistics2
|
extended=extended_life
|
||||||
|
extendedversion=v0.53.8
|
||||||
#########################################################
|
#########################################################
|
||||||
# Minecraft Versions #
|
# Versions #
|
||||||
#########################################################
|
#########################################################
|
||||||
minecraft_release=1.16
|
minecraft_version=1.12.2
|
||||||
minecraft_version=1.16.3
|
mcp_mappings=snapshot_20171003
|
||||||
mcp_mappings=20200916-1.16.2
|
forge_version=14.23.5.2847
|
||||||
forge_version=34.0.8
|
#########################################################
|
||||||
|
# Installable #
|
||||||
|
#########################################################
|
||||||
|
hwyla_version=1.8.26-B41_1.12.2
|
||||||
#########################################################
|
#########################################################
|
||||||
# Provided APIs #
|
# Provided APIs #
|
||||||
#########################################################
|
#########################################################
|
||||||
jei_minecraft_version=1.16.2
|
jei_version=4.16.1.302
|
||||||
jei_version=7.3.2.25
|
tesla_version=1.0.63
|
||||||
top_version=3.0.3-beta-6
|
ic2_version=2.8.73-ex112
|
||||||
hwyla_version=1.10.8-B72_1.15.2
|
top_version=1.12-1.4.23-16
|
||||||
ctm_version=MC1.15.2-1.1.0.9
|
cofhcore_version=1.12.2-4.5.2.19
|
||||||
|
crafttweaker_version=4.1.8.9
|
||||||
|
inventorytweaks_version=1.63
|
||||||
|
bogosorter_version=1.1.0
|
||||||
|
ctm_version=MC1.12.2-0.3.1.16
|
||||||
|
forestry_version=5.8.2.387
|
||||||
#########################################################
|
#########################################################
|
||||||
# Deployment #
|
# Deployment #
|
||||||
#########################################################
|
#########################################################
|
||||||
website_version=1.16.2
|
website_version=1.12.2
|
||||||
curse_versions=1.16.2
|
curse_versions=1.12.2
|
||||||
curseforge_project=223794
|
|
||||||
|
|
||||||
#########################################################
|
|
||||||
# Gradle #
|
|
||||||
#########################################################
|
|
||||||
# Various tasks like runData will fail when run as daemon
|
|
||||||
org.gradle.daemon=false
|
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
/*
|
||||||
|
* 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>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Suppresses warnings/errors when building javadocs
|
||||||
|
allprojects {
|
||||||
|
tasks.withType(Javadoc) {
|
||||||
|
options.addStringOption('Xdoclint:none', '-quiet')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
javadoc {
|
||||||
|
options.encoding = 'UTF-8'
|
||||||
|
options.charSet = 'UTF-8'
|
||||||
|
}
|
||||||
|
|
||||||
|
task javadocs(type: Javadoc) {
|
||||||
|
source = sourceSets.api.java
|
||||||
|
include "appeng/api/**"
|
||||||
|
|
||||||
|
// Due to ForgeGradle having to be a special snowflake,
|
||||||
|
// we have to add some custom configurations to the normal compile configuration and hope it does not break.
|
||||||
|
classpath = configurations.compile + configurations.forgeGradleMc + configurations.forgeGradleMcDeps
|
||||||
|
}
|
||||||
|
|
||||||
|
task javadocJar(type: Jar, dependsOn: javadocs) {
|
||||||
|
from javadoc.destinationDir
|
||||||
|
|
||||||
|
classifier = 'javadoc'
|
||||||
|
}
|
||||||
|
|
||||||
|
task apiJar(type: Jar) {
|
||||||
|
from sourceSets.api.java
|
||||||
|
include "appeng/api/**"
|
||||||
|
|
||||||
|
from sourceSets.api.output
|
||||||
|
include "appeng/api/**"
|
||||||
|
|
||||||
|
classifier = 'api'
|
||||||
|
}
|
||||||
|
|
||||||
|
task sourceJar(type: Jar, overwrite: true) {
|
||||||
|
from sourceSets.api.allSource
|
||||||
|
from sourceSets.main.allSource
|
||||||
|
|
||||||
|
classifier = 'sources'
|
||||||
|
}
|
||||||
|
|
||||||
|
artifacts {
|
||||||
|
archives apiJar
|
||||||
|
archives javadocJar
|
||||||
|
archives sourceJar
|
||||||
|
}
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
/*
|
||||||
|
* 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 {
|
||||||
|
name "Mobius"
|
||||||
|
url "http://mobiusstrip.eu/maven"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "JEI repo"
|
||||||
|
url "http://dvs1.progwml6.com/files/maven"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "Tesla repo"
|
||||||
|
url "https://maven.mcmoddev.com"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name "Ellpeck"
|
||||||
|
url "https://maven.ellpeck.de"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "IC2 repo"
|
||||||
|
url = "http://maven.ic2.player.to"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "CoFH Maven"
|
||||||
|
url = "http://maven.covers1624.net"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven { // TheOneProbe
|
||||||
|
name 'tterrag maven'
|
||||||
|
url "http://maven.tterrag.com/"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven { // McJtyLib
|
||||||
|
name 'mcjty'
|
||||||
|
url "http://maven.k-4u.nl/"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven { // CraftTweaker
|
||||||
|
name 'jared maven'
|
||||||
|
url "http://maven.blamejared.com/"
|
||||||
|
}
|
||||||
|
|
||||||
|
//maven { // modmaven, maven proxy
|
||||||
|
// name 'modmaven'
|
||||||
|
// url "https://modmaven.k-4u.nl/"
|
||||||
|
//}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "CurseForge"
|
||||||
|
url = "https://minecraft.curseforge.com/api/maven/"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
configurations {
|
||||||
|
mods
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
deobfCompile "gregtechce:gregtech:1.12.2:1.15.1.735"
|
||||||
|
// installable runtime dependencies
|
||||||
|
mods "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
||||||
|
mods "net.industrial-craft:industrialcraft-2:${ic2_version}:dev"
|
||||||
|
mods "mcjty.theoneprobe:TheOneProbe-${minecraft_version}:${top_version}"
|
||||||
|
|
||||||
|
// compile against provided APIs
|
||||||
|
compileOnly "mezz.jei:jei_${minecraft_version}:${jei_version}:api"
|
||||||
|
compileOnly "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
||||||
|
compileOnly "net.darkhax.tesla:Tesla-1.12.2:${tesla_version}"
|
||||||
|
compileOnly "net.industrial-craft:industrialcraft-2:${ic2_version}:api"
|
||||||
|
compileOnly "mcjty.theoneprobe:TheOneProbe-1.12:${top_version}:api"
|
||||||
|
compileOnly "cofh:CoFHCore:${cofhcore_version}:deobf"
|
||||||
|
compileOnly "CraftTweaker2:CraftTweaker2-API:${crafttweaker_version}"
|
||||||
|
compileOnly "inventory-tweaks:InventoryTweaks:${inventorytweaks_version}:api"
|
||||||
|
compileOnly "inventory-bogo-sorter:bogosorter:${bogosorter_version}"
|
||||||
|
compileOnly "team.chisel.ctm:CTM:${ctm_version}"
|
||||||
|
compileOnly "de.ellpeck.actuallyadditions:ActuallyAdditions:1.12.2-r152.16:api"
|
||||||
|
deobfCompile "net.sengir.forestry:forestry_${minecraft_version}:$forestry_version"
|
||||||
|
|
||||||
|
|
||||||
|
// at runtime, use the full JEI jar
|
||||||
|
runtime "mezz.jei:jei_${minecraft_version}:${jei_version}"
|
||||||
|
|
||||||
|
// unit test dependencies
|
||||||
|
testCompile "junit:junit:4.12"
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
/*
|
||||||
|
* 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>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
task wrapper(type: Wrapper) {
|
||||||
|
gradleVersion = "2.14"
|
||||||
|
}
|
||||||
|
|
||||||
|
// HWYLA
|
||||||
|
task installHwyla(type: Copy, dependsOn: "deinstallHwyla") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*Hwyla*.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallHwyla(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*Hwyla*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// IC2
|
||||||
|
task installIC2(type: Copy, dependsOn: "deinstallIC2") {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*industrialcraft-2*.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallIC2(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*industrialcraft-2*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// TOP
|
||||||
|
task installTop(type: Copy, dependsOn: ["deinstallTop"]) {
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*TheOneProbe*.jar"
|
||||||
|
into file(minecraft.runDir + "/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
task deinstallTop(type: Delete) {
|
||||||
|
delete fileTree(dir: minecraft.runDir + "/mods", include: "*TheOneProbe*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
Vendored
BIN
Binary file not shown.
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.3-bin.zip
|
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
|
||||||
|
|||||||
@@ -1,41 +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.
|
|
||||||
*
|
|
||||||
* 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 {
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* 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
|
||||||
|
{}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
/*
|
||||||
|
* 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
|
||||||
|
{}
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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,50 +23,47 @@
|
|||||||
|
|
||||||
package appeng.api;
|
package appeng.api;
|
||||||
|
|
||||||
import appeng.api.client.IClientHelper;
|
|
||||||
import appeng.api.crafting.ICraftingHelper;
|
|
||||||
import appeng.api.definitions.IDefinitions;
|
import appeng.api.definitions.IDefinitions;
|
||||||
import appeng.api.features.IRegistryContainer;
|
import appeng.api.features.IRegistryContainer;
|
||||||
import appeng.api.networking.IGridHelper;
|
import appeng.api.networking.IGridHelper;
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
import appeng.api.parts.IPartHelper;
|
import appeng.api.parts.IPartHelper;
|
||||||
import appeng.api.storage.IStorageHelper;
|
import appeng.api.storage.IStorageHelper;
|
||||||
|
import appeng.api.util.IClientHelper;
|
||||||
|
|
||||||
public interface IAppEngApi {
|
|
||||||
|
|
||||||
/**
|
@AEInjectable
|
||||||
* @return An accessible list of all AE definitions
|
public interface IAppEngApi
|
||||||
*/
|
{
|
||||||
IDefinitions definitions();
|
/**
|
||||||
|
* @return Registry Container for the numerous registries in AE2.
|
||||||
|
*/
|
||||||
|
IRegistryContainer registries();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Registry Container for the numerous registries in AE2.
|
* @return A helper for working with storage data types.
|
||||||
*/
|
*/
|
||||||
IRegistryContainer registries();
|
IStorageHelper storage();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return A helper for working with storage data types.
|
* @return A helper to create {@link IGridNode} and other grid related objects.
|
||||||
*/
|
*/
|
||||||
IStorageHelper storage();
|
IGridHelper grid();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return A helper for working with crafting related tasks.
|
* @return A helper for working with grids, and buses.
|
||||||
*/
|
*/
|
||||||
ICraftingHelper crafting();
|
IPartHelper partHelper();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return A helper to create {@link IGridNode} and other grid related objects.
|
* @return An accessible list of all AE definitions
|
||||||
*/
|
*/
|
||||||
IGridHelper grid();
|
IDefinitions definitions();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return A helper for working with grids, and buses.
|
* @return Utility methods primarily useful for client side stuff
|
||||||
*/
|
*/
|
||||||
IPartHelper partHelper();
|
IClientHelper client();
|
||||||
|
|
||||||
/**
|
|
||||||
* @return Utility methods primarily useful for client side stuff
|
|
||||||
*/
|
|
||||||
IClientHelper client();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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();
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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,42 +23,51 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum AccessRestriction {
|
|
||||||
NO_ACCESS(0), READ(1), WRITE(2), READ_WRITE(3);
|
|
||||||
|
|
||||||
private final int permissionBit;
|
public enum AccessRestriction
|
||||||
|
{
|
||||||
|
NO_ACCESS( 0 ), READ( 1 ), WRITE( 2 ), READ_WRITE( 3 );
|
||||||
|
|
||||||
AccessRestriction(final int v) {
|
private final int permissionBit;
|
||||||
this.permissionBit = v;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean hasPermission(final AccessRestriction ar) {
|
AccessRestriction( final int v )
|
||||||
return (this.permissionBit & ar.permissionBit) == ar.permissionBit;
|
{
|
||||||
}
|
this.permissionBit = v;
|
||||||
|
}
|
||||||
|
|
||||||
public AccessRestriction restrictPermissions(final AccessRestriction ar) {
|
public boolean hasPermission( final AccessRestriction ar )
|
||||||
return this.getPermByBit(this.permissionBit & ar.permissionBit);
|
{
|
||||||
}
|
return ( this.permissionBit & ar.permissionBit ) == ar.permissionBit;
|
||||||
|
}
|
||||||
|
|
||||||
private AccessRestriction getPermByBit(final int bit) {
|
public AccessRestriction restrictPermissions( final AccessRestriction ar )
|
||||||
switch (bit) {
|
{
|
||||||
default:
|
return this.getPermByBit( this.permissionBit & ar.permissionBit );
|
||||||
case 0:
|
}
|
||||||
return NO_ACCESS;
|
|
||||||
case 1:
|
|
||||||
return READ;
|
|
||||||
case 2:
|
|
||||||
return WRITE;
|
|
||||||
case 3:
|
|
||||||
return READ_WRITE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public AccessRestriction addPermissions(final AccessRestriction ar) {
|
private AccessRestriction getPermByBit( final int bit )
|
||||||
return this.getPermByBit(this.permissionBit | ar.permissionBit);
|
{
|
||||||
}
|
switch( bit )
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
case 0:
|
||||||
|
return NO_ACCESS;
|
||||||
|
case 1:
|
||||||
|
return READ;
|
||||||
|
case 2:
|
||||||
|
return WRITE;
|
||||||
|
case 3:
|
||||||
|
return READ_WRITE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public AccessRestriction removePermissions(final AccessRestriction ar) {
|
public AccessRestriction addPermissions( final AccessRestriction ar )
|
||||||
return this.getPermByBit(this.permissionBit & (~ar.permissionBit));
|
{
|
||||||
}
|
return this.getPermByBit( this.permissionBit | ar.permissionBit );
|
||||||
|
}
|
||||||
|
|
||||||
|
public AccessRestriction removePermissions( final AccessRestriction ar )
|
||||||
|
{
|
||||||
|
return this.getPermByBit( this.permissionBit & ( ~ar.permissionBit ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,23 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum ActionItems {
|
|
||||||
WRENCH, CLOSE, STASH, ENCODE, ENABLE_SUBSTITUTION, DISABLE_SUBSTITUTION
|
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,
|
||||||
|
FREE_MOLECULAR_SLOT_SHORTCUT,
|
||||||
|
TOGGLE_SHOW_FULL_INTERFACES_ON,
|
||||||
|
TOGGLE_SHOW_FULL_INTERFACES_OFF,
|
||||||
|
HIGHLIGHT_INTERFACE
|
||||||
}
|
}
|
||||||
@@ -23,26 +23,16 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
import net.minecraftforge.fluids.capability.IFluidHandler.FluidAction;
|
|
||||||
|
|
||||||
public enum Actionable {
|
public enum Actionable
|
||||||
/**
|
{
|
||||||
* Perform the intended action.
|
/**
|
||||||
*/
|
* Perform the intended action.
|
||||||
MODULATE(FluidAction.EXECUTE),
|
*/
|
||||||
|
MODULATE,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pretend to perform the action.
|
* Pretend to perform the action.
|
||||||
*/
|
*/
|
||||||
SIMULATE(FluidAction.SIMULATE);
|
SIMULATE
|
||||||
|
|
||||||
private final FluidAction fluidAction;
|
|
||||||
|
|
||||||
Actionable(FluidAction fluidAction) {
|
|
||||||
this.fluidAction = fluidAction;
|
|
||||||
}
|
|
||||||
|
|
||||||
public FluidAction getFluidAction() {
|
|
||||||
return fluidAction;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,14 +23,16 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum CondenserOutput {
|
|
||||||
|
|
||||||
TRASH, // 0
|
public enum CondenserOutput
|
||||||
|
{
|
||||||
|
|
||||||
MATTER_BALLS, // 256
|
TRASH, // 0
|
||||||
|
|
||||||
SINGULARITY; // 250,000
|
MATTER_BALLS, // 256
|
||||||
|
|
||||||
public int requiredPower = 0;
|
SINGULARITY; // 250,000
|
||||||
|
|
||||||
|
public int requiredPower = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum CopyMode {
|
|
||||||
CLEAR_ON_REMOVE, KEEP_ON_REMOVE
|
public enum CopyMode
|
||||||
|
{
|
||||||
|
CLEAR_ON_REMOVE, KEEP_ON_REMOVE
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum FullnessMode {
|
|
||||||
EMPTY, HALF, FULL
|
public enum FullnessMode
|
||||||
|
{
|
||||||
|
EMPTY, HALF, FULL
|
||||||
}
|
}
|
||||||
@@ -23,20 +23,28 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum FuzzyMode {
|
|
||||||
// Note that percentage damaged, is the inverse of percentage durability.
|
|
||||||
IGNORE_ALL(-1), PERCENT_99(0), PERCENT_75(25), PERCENT_50(50), PERCENT_25(75);
|
|
||||||
|
|
||||||
public final float breakPoint;
|
public enum FuzzyMode
|
||||||
public final float percentage;
|
{
|
||||||
|
// Note that percentage damaged, is the inverse of percentage durability.
|
||||||
|
IGNORE_ALL( -1 ),
|
||||||
|
PERCENT_99( 0 ),
|
||||||
|
PERCENT_75( 25 ),
|
||||||
|
PERCENT_50( 50 ),
|
||||||
|
PERCENT_25( 75 );
|
||||||
|
|
||||||
FuzzyMode(final float p) {
|
public final float breakPoint;
|
||||||
this.percentage = p;
|
public final float percentage;
|
||||||
this.breakPoint = p / 100.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int calculateBreakPoint(final int maxDamage) {
|
FuzzyMode( final float p )
|
||||||
return (int) ((this.percentage * maxDamage) / 100.0f);
|
{
|
||||||
}
|
this.percentage = p;
|
||||||
|
this.breakPoint = p / 100.0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int calculateBreakPoint( final int maxDamage )
|
||||||
|
{
|
||||||
|
return (int) ( ( this.percentage * maxDamage ) / 100.0f );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum IncludeExclude {
|
|
||||||
WHITELIST, BLACKLIST
|
public enum IncludeExclude
|
||||||
|
{
|
||||||
|
WHITELIST, BLACKLIST
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* 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,10 +23,12 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum LevelEmitterMode {
|
|
||||||
|
|
||||||
STORED_AMOUNT,
|
public enum LevelEmitterMode
|
||||||
|
{
|
||||||
|
|
||||||
STORABLE_AMOUNT
|
STORED_AMOUNT,
|
||||||
|
|
||||||
|
STORABLE_AMOUNT
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,10 +23,12 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum LevelType {
|
|
||||||
|
|
||||||
ITEM_LEVEL,
|
public enum LevelType
|
||||||
|
{
|
||||||
|
|
||||||
ENERGY_LEVEL
|
ITEM_LEVEL,
|
||||||
|
|
||||||
|
ENERGY_LEVEL
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum ModSettings {
|
|
||||||
|
public enum ModSettings
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,12 +23,14 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum NetworkEmitterMode {
|
|
||||||
|
|
||||||
POWER_LEVEL,
|
public enum NetworkEmitterMode
|
||||||
|
{
|
||||||
|
|
||||||
BOOTING,
|
POWER_LEVEL,
|
||||||
|
|
||||||
CHANNEL_ERROR
|
BOOTING,
|
||||||
|
|
||||||
|
CHANNEL_ERROR
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum OperationMode {
|
|
||||||
FILL, EMPTY
|
public enum OperationMode
|
||||||
|
{
|
||||||
|
FILL, EMPTY
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
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,19 +23,23 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum PowerMultiplier {
|
|
||||||
ONE, CONFIG;
|
|
||||||
|
|
||||||
/**
|
public enum PowerMultiplier
|
||||||
* please do not edit this value, it is set when AE loads its config files.
|
{
|
||||||
*/
|
ONE, CONFIG;
|
||||||
public double multiplier = 1.0;
|
|
||||||
|
|
||||||
public double multiply(final double in) {
|
/**
|
||||||
return in * this.multiplier;
|
* please do not edit this value, it is set when AE loads its config files.
|
||||||
}
|
*/
|
||||||
|
public double multiplier = 1.0;
|
||||||
|
|
||||||
public double divide(final double in) {
|
public double multiply( final double in )
|
||||||
return in / this.multiplier;
|
{
|
||||||
}
|
return in * this.multiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double divide( final double in )
|
||||||
|
{
|
||||||
|
return in / this.multiplier;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,46 +23,42 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
import net.minecraft.util.text.ITextComponent;
|
|
||||||
import net.minecraft.util.text.TranslationTextComponent;
|
|
||||||
|
|
||||||
public enum PowerUnits {
|
public enum PowerUnits
|
||||||
AE("gui.appliedenergistics2.units.appliedenergstics"), // Native Units - AE Energy
|
{
|
||||||
EU("gui.appliedenergistics2.units.ic2"), // IndustrialCraft 2 - Energy Units
|
AE( "gui.appliedenergistics2.units.appliedenergstics" ), // Native Units - AE Energy
|
||||||
RF("gui.appliedenergistics2.units.rf"); // RF - Redstone Flux
|
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
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* unlocalized name for the power unit.
|
* unlocalized name for the power unit.
|
||||||
*/
|
*/
|
||||||
public final String unlocalizedName;
|
public final String unlocalizedName;
|
||||||
/**
|
/**
|
||||||
* please do not edit this value, it is set when AE loads its config files.
|
* please do not edit this value, it is set when AE loads its config files.
|
||||||
*/
|
*/
|
||||||
public double conversionRatio = 1.0;
|
public double conversionRatio = 1.0;
|
||||||
|
|
||||||
PowerUnits(final String un) {
|
PowerUnits( final String un )
|
||||||
this.unlocalizedName = un;
|
{
|
||||||
}
|
this.unlocalizedName = un;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* do power conversion using AE's conversion rates.
|
* do power conversion using AE's conversion rates.
|
||||||
*
|
* <p>
|
||||||
* Example: PowerUnits.EU.convertTo( PowerUnits.AE, 32 );
|
* Example: PowerUnits.EU.convertTo( PowerUnits.AE, 32 );
|
||||||
*
|
* <p>
|
||||||
* will normally returns 64, as it will convert the EU, to AE with AE's power
|
* will normally returns 64, as it will convert the EU, to AE with AE's power settings.
|
||||||
* settings.
|
*
|
||||||
*
|
* @param target target power unit
|
||||||
* @param target target power unit
|
* @param value value
|
||||||
* @param value value
|
* @return value converted to target units, from this units.
|
||||||
*
|
*/
|
||||||
* @return value converted to target units, from this units.
|
public double convertTo( final PowerUnits target, final double value )
|
||||||
*/
|
{
|
||||||
public double convertTo(final PowerUnits target, final double value) {
|
return ( value * this.conversionRatio ) / target.conversionRatio;
|
||||||
return (value * this.conversionRatio) / target.conversionRatio;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public ITextComponent textComponent() {
|
|
||||||
return new TranslationTextComponent(unlocalizedName);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
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,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum RelativeDirection {
|
|
||||||
LEFT, RIGHT, UP, DOW
|
public enum RelativeDirection
|
||||||
|
{
|
||||||
|
LEFT, RIGHT, UP, DOW
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum SchedulingMode {
|
|
||||||
DEFAULT, ROUNDROBIN, RANDOM
|
public enum SchedulingMode
|
||||||
|
{
|
||||||
|
DEFAULT, ROUNDROBIN, RANDOM
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,18 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
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,50 +23,49 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represent the security systems basic permissions, these are not for
|
* Represent the security systems basic permissions, these are not for anti-griefing, they are part of the mod as a
|
||||||
* anti-griefing, they are part of the mod as a gameplay feature.
|
* gameplay feature.
|
||||||
*/
|
*/
|
||||||
public enum SecurityPermissions {
|
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
|
* required to insert items into the network via terminal ( also used for machines based on the owner of the
|
||||||
* Security Block. )
|
* network, which is determined by its Security Block. )
|
||||||
*/
|
*/
|
||||||
INJECT,
|
INJECT,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* required to extract items from the network via terminal ( also used for
|
* required to extract items from the network via terminal ( also used for machines based on the owner of the
|
||||||
* machines based on the owner of the network, which is determined by its
|
* network, which is determined by its Security Block. )
|
||||||
* Security Block. )
|
*/
|
||||||
*/
|
EXTRACT,
|
||||||
EXTRACT,
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* required to request crafting from the network via terminal.
|
* required to request crafting from the network via terminal.
|
||||||
*/
|
*/
|
||||||
CRAFT,
|
CRAFT,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* required to modify automation, and make modifications to the networks
|
* required to modify automation, and make modifications to the networks physical layout.
|
||||||
* physical layout.
|
*/
|
||||||
*/
|
BUILD,
|
||||||
BUILD,
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* required to modify the security blocks settings.
|
* required to modify the security blocks settings.
|
||||||
*/
|
*/
|
||||||
SECURITY;
|
SECURITY;
|
||||||
|
|
||||||
private final String translationKey = "gui.appliedenergistics2.security." + this.name().toLowerCase(Locale.ROOT);
|
private final String unlocalizedName = "gui.appliedenergistics2.security." + this.name().toLowerCase();
|
||||||
|
|
||||||
public String getTranslatedName() {
|
public String getUnlocalizedName()
|
||||||
return this.translationKey + ".name";
|
{
|
||||||
}
|
return this.unlocalizedName + ".name";
|
||||||
|
}
|
||||||
|
|
||||||
public String getTranslatedTip() {
|
public String getUnlocalizedTip()
|
||||||
return this.translationKey + ".tip";
|
{
|
||||||
}
|
return this.unlocalizedName + ".tip";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,73 +23,81 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public enum Settings {
|
|
||||||
LEVEL_EMITTER_MODE(EnumSet.allOf(LevelEmitterMode.class)),
|
|
||||||
|
|
||||||
REDSTONE_EMITTER(EnumSet.of(RedstoneMode.HIGH_SIGNAL, RedstoneMode.LOW_SIGNAL)),
|
public enum Settings
|
||||||
|
{
|
||||||
|
LEVEL_EMITTER_MODE( EnumSet.allOf( LevelEmitterMode.class ) ),
|
||||||
|
|
||||||
REDSTONE_CONTROLLED(EnumSet.allOf(RedstoneMode.class)),
|
REDSTONE_EMITTER( EnumSet.of( RedstoneMode.HIGH_SIGNAL, RedstoneMode.LOW_SIGNAL ) ),
|
||||||
|
|
||||||
CONDENSER_OUTPUT(EnumSet.allOf(CondenserOutput.class)),
|
REDSTONE_CONTROLLED( EnumSet.allOf( RedstoneMode.class ) ),
|
||||||
|
|
||||||
POWER_UNITS(EnumSet.allOf(PowerUnits.class)),
|
CONDENSER_OUTPUT( EnumSet.allOf( CondenserOutput.class ) ),
|
||||||
|
|
||||||
ACCESS(EnumSet.of(AccessRestriction.READ_WRITE, AccessRestriction.READ, AccessRestriction.WRITE)),
|
POWER_UNITS( EnumSet.allOf( PowerUnits.class ) ),
|
||||||
|
|
||||||
SORT_DIRECTION(EnumSet.allOf(SortDir.class)),
|
ACCESS( EnumSet.of( AccessRestriction.READ_WRITE, AccessRestriction.READ, AccessRestriction.WRITE ) ),
|
||||||
|
|
||||||
SORT_BY(EnumSet.allOf(SortOrder.class)),
|
SORT_DIRECTION( EnumSet.allOf( SortDir.class ) ),
|
||||||
|
|
||||||
SEARCH_TOOLTIPS(EnumSet.of(YesNo.YES, YesNo.NO)),
|
SORT_BY( EnumSet.allOf( SortOrder.class ) ),
|
||||||
|
|
||||||
VIEW_MODE(EnumSet.allOf(ViewItems.class)),
|
SEARCH_TOOLTIPS( EnumSet.of( YesNo.YES, YesNo.NO ) ),
|
||||||
|
|
||||||
SEARCH_MODE(EnumSet.allOf(SearchBoxMode.class)),
|
VIEW_MODE( EnumSet.allOf( ViewItems.class ) ),
|
||||||
|
|
||||||
IO_DIRECTION(EnumSet.of(RelativeDirection.LEFT, RelativeDirection.RIGHT)),
|
SEARCH_MODE( EnumSet.allOf( SearchBoxMode.class ) ),
|
||||||
|
|
||||||
BLOCK(EnumSet.of(YesNo.YES, YesNo.NO)),
|
ACTIONS( EnumSet.allOf( ActionItems.class ) ),
|
||||||
|
|
||||||
OPERATION_MODE(EnumSet.allOf(OperationMode.class)),
|
IO_DIRECTION( EnumSet.of( RelativeDirection.LEFT, RelativeDirection.RIGHT ) ),
|
||||||
|
|
||||||
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) {
|
SCHEDULING_MODE( EnumSet.allOf( SchedulingMode.class ) );
|
||||||
if (possibleOptions.isEmpty()) {
|
|
||||||
throw new IllegalArgumentException("Tried to instantiate an empty setting.");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.values = possibleOptions;
|
private final EnumSet<? extends Enum<?>> values;
|
||||||
}
|
|
||||||
|
|
||||||
public EnumSet<? extends Enum<?>> getPossibleValues() {
|
Settings( @Nonnull final EnumSet<? extends Enum<?>> possibleOptions )
|
||||||
return this.values;
|
{
|
||||||
}
|
if( possibleOptions.isEmpty() )
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException( "Tried to instantiate an empty setting." );
|
||||||
|
}
|
||||||
|
|
||||||
|
this.values = possibleOptions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EnumSet<? extends Enum<?>> getPossibleValues()
|
||||||
|
{
|
||||||
|
return this.values;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum SortDir {
|
|
||||||
ASCENDING, DESCENDING
|
public enum SortDir
|
||||||
|
{
|
||||||
|
ASCENDING, DESCENDING
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum SortOrder {
|
|
||||||
NAME, AMOUNT, MOD
|
public enum SortOrder
|
||||||
|
{
|
||||||
|
NAME, AMOUNT, MOD, INVTWEAKS
|
||||||
}
|
}
|
||||||
@@ -23,10 +23,12 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum StorageFilter {
|
|
||||||
|
|
||||||
NONE,
|
public enum StorageFilter
|
||||||
|
{
|
||||||
|
|
||||||
EXTRACTABLE_ONLY
|
NONE,
|
||||||
|
|
||||||
|
EXTRACTABLE_ONLY
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,12 +23,14 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum TerminalStyle {
|
|
||||||
|
|
||||||
TALL,
|
public enum TerminalStyle
|
||||||
|
{
|
||||||
|
|
||||||
FULL,
|
TALL,
|
||||||
|
|
||||||
SMALL
|
FULL,
|
||||||
|
|
||||||
|
SMALL
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -23,14 +23,17 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum TunnelType {
|
|
||||||
ME, // Network Tunnel
|
public enum TunnelType
|
||||||
IC2_POWER, // EU Tunnel
|
{
|
||||||
FE_POWER, // Forge Energy tunnel
|
ME, // Network Tunnel
|
||||||
REDSTONE, // Redstone Tunnel
|
IC2_POWER, // EU Tunnel
|
||||||
FLUID, // Fluid Tunnel
|
FE_POWER, // Forge Energy tunnel
|
||||||
ITEM, // Item Tunnel
|
GTEU_POWER, // Forge Energy tunnel
|
||||||
LIGHT, // Light Tunnel
|
REDSTONE, // Redstone Tunnel
|
||||||
BUNDLED_REDSTONE, // Bundled Redstone Tunnel
|
FLUID, // Fluid Tunnel
|
||||||
COMPUTER_MESSAGE // Computer Message Tunnel
|
ITEM, // Item Tunnel
|
||||||
|
LIGHT, // Light Tunnel
|
||||||
|
BUNDLED_REDSTONE, // Bundled Redstone Tunnel
|
||||||
|
COMPUTER_MESSAGE // Computer Message Tunnel
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,151 +23,75 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
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 javax.annotation.Nullable;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import appeng.api.definitions.IItemDefinition;
|
||||||
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),
|
|
||||||
|
|
||||||
/**
|
public enum Upgrades
|
||||||
* Diamond Tier Upgrades.
|
{
|
||||||
*/
|
/**
|
||||||
FUZZY(1), SPEED(1), INVERTER(1);
|
* Gold Tier Upgrades.
|
||||||
|
*/
|
||||||
|
CAPACITY( 0 ),
|
||||||
|
REDSTONE( 0 ),
|
||||||
|
CRAFTING( 0 ),
|
||||||
|
|
||||||
private final int tier;
|
/**
|
||||||
private final List<Supported> supported = new ArrayList<>();
|
* Diamond Tier Upgrades.
|
||||||
private List<ITextComponent> supportedTooltipLines;
|
*/
|
||||||
|
FUZZY( 1 ),
|
||||||
|
SPEED( 1 ),
|
||||||
|
INVERTER( 1 ),
|
||||||
|
PATTERN_EXPANSION(1);
|
||||||
|
|
||||||
Upgrades(final int tier) {
|
private final int tier;
|
||||||
this.tier = tier;
|
private final Map<ItemStack, Integer> supportedMax = new HashMap<>();
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
Upgrades( final int tier )
|
||||||
* @return list of Items/Blocks that support this upgrade, and how many it
|
{
|
||||||
* supports.
|
this.tier = tier;
|
||||||
*/
|
}
|
||||||
public List<Supported> getSupported() {
|
|
||||||
return this.supported;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void registerItem(final IItemProvider item, final int maxSupported) {
|
/**
|
||||||
this.registerItem(item, maxSupported, null);
|
* @return list of Items/Blocks that support this upgrade, and how many it supports.
|
||||||
}
|
*/
|
||||||
|
public Map<ItemStack, Integer> getSupported()
|
||||||
|
{
|
||||||
|
return this.supportedMax;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a specific amount of this upgrade into a specific machine
|
* Registers a specific amount of this upgrade into a specific machine
|
||||||
*
|
*
|
||||||
* @param item machine in which this upgrade can be installed
|
* @param item machine in which this upgrade can be installed
|
||||||
* @param maxSupported amount how many upgrades 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
|
public void registerItem( final IItemDefinition item, final int maxSupported )
|
||||||
* the items have different maxSupported values, the highest
|
{
|
||||||
* will be shown.
|
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
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<ITextComponent> getTooltipLines() {
|
/**
|
||||||
if (supportedTooltipLines == null) {
|
* Registers a specific amount of this upgrade into a specific machine
|
||||||
supported.sort(Comparator.comparingInt(o -> o.maxCount));
|
*
|
||||||
supportedTooltipLines = new ArrayList<>(supported.size());
|
* @param stack machine in which this upgrade can be installed
|
||||||
|
* @param maxSupported amount how many upgrades can be installed
|
||||||
// Use a separate set because the final text will include numbers
|
*/
|
||||||
Set<ITextComponent> namesAdded = new HashSet<>();
|
public void registerItem( final ItemStack stack, final int maxSupported )
|
||||||
|
{
|
||||||
for (int i = 0; i < supported.size(); i++) {
|
if( stack != null )
|
||||||
Supported supported = this.supported.get(i);
|
{
|
||||||
ITextComponent name = supported.item.getName();
|
this.supportedMax.put( stack, maxSupported );
|
||||||
|
}
|
||||||
// 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public int getTier()
|
||||||
|
{
|
||||||
|
return this.tier;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum ViewItems {
|
|
||||||
ALL, STORED, CRAFTABLE
|
public enum ViewItems
|
||||||
|
{
|
||||||
|
ALL, STORED, CRAFTABLE
|
||||||
}
|
}
|
||||||
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
package appeng.api.config;
|
package appeng.api.config;
|
||||||
|
|
||||||
public enum YesNo {
|
|
||||||
YES, NO, UNDECIDED
|
public enum YesNo
|
||||||
|
{
|
||||||
|
YES, NO, UNDECIDED
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,112 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
* @throws IllegalArgumentException If either in or out contain only empty
|
|
||||||
* ItemStacks.
|
|
||||||
* @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.
|
|
||||||
* @throws IllegalArgumentException If either in or out contain only empty
|
|
||||||
* ItemStacks.
|
|
||||||
*/
|
|
||||||
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,39 +18,34 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.item.BlockItem;
|
import net.minecraft.item.ItemBlock;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IBlockReader;
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
|
||||||
public interface IBlockDefinition extends IItemDefinition {
|
|
||||||
/**
|
|
||||||
* @return the {@link Block} implementation if applicable
|
|
||||||
*/
|
|
||||||
default Optional<Block> maybeBlock() {
|
|
||||||
return Optional.of(block());
|
|
||||||
}
|
|
||||||
|
|
||||||
Block block();
|
public interface IBlockDefinition extends IItemDefinition
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return the {@link Block} implementation if applicable
|
||||||
|
*/
|
||||||
|
Optional<Block> maybeBlock();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the {@link BlockItem} implementation if applicable
|
* @return the {@link ItemBlock} implementation if applicable
|
||||||
*/
|
*/
|
||||||
default Optional<BlockItem> maybeBlockItem() {
|
Optional<ItemBlock> maybeItemBlock();
|
||||||
return Optional.of(blockItem());
|
|
||||||
}
|
|
||||||
|
|
||||||
BlockItem blockItem();
|
/**
|
||||||
|
* Compare Block with world.
|
||||||
/**
|
*
|
||||||
* Compare Block with world.
|
* @param world world of block
|
||||||
*
|
* @param pos location
|
||||||
* @param world world of block
|
*
|
||||||
* @param pos location
|
* @return if the block is placed in the world at the specific location.
|
||||||
*
|
*/
|
||||||
* @return if the block is placed in the world at the specific location.
|
boolean isSameAs( IBlockAccess world, BlockPos pos );
|
||||||
*/
|
|
||||||
boolean isSameAs(IBlockReader world, BlockPos pos);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,167 +23,169 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of all blocks in AE
|
* A list of all blocks in AE
|
||||||
*/
|
*/
|
||||||
public interface IBlocks {
|
public interface IBlocks
|
||||||
/*
|
{
|
||||||
* world gen
|
/*
|
||||||
*/
|
* world gen
|
||||||
IBlockDefinition quartzOre();
|
*/
|
||||||
|
IBlockDefinition quartzOre();
|
||||||
|
|
||||||
IBlockDefinition quartzOreCharged();
|
IBlockDefinition quartzOreCharged();
|
||||||
|
|
||||||
IBlockDefinition matrixFrame();
|
IBlockDefinition matrixFrame();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* decorative
|
* decorative
|
||||||
*/
|
*/
|
||||||
IBlockDefinition quartzBlock();
|
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
|
* misc
|
||||||
*/
|
*/
|
||||||
ITileDefinition grindstone();
|
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
|
* quantum Network Bridge
|
||||||
*/
|
*/
|
||||||
ITileDefinition quantumRing();
|
ITileDefinition quantumRing();
|
||||||
|
|
||||||
ITileDefinition quantumLink();
|
ITileDefinition quantumLink();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* spatial iO
|
* spatial iO
|
||||||
*/
|
*/
|
||||||
ITileDefinition spatialPylon();
|
ITileDefinition spatialPylon();
|
||||||
|
|
||||||
ITileDefinition spatialIOPort();
|
ITileDefinition spatialIOPort();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Bus / cables
|
* Bus / cables
|
||||||
*/
|
*/
|
||||||
ITileDefinition multiPart();
|
ITileDefinition multiPart();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* machines
|
* machines
|
||||||
*/
|
*/
|
||||||
ITileDefinition controller();
|
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
|
// rv1
|
||||||
ITileDefinition craftingUnit();
|
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,8 +18,10 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface to compare a definition with an itemstack or a block
|
* Interface to compare a definition with an itemstack or a block
|
||||||
*
|
*
|
||||||
@@ -27,13 +29,14 @@ import net.minecraft.item.ItemStack;
|
|||||||
* @version rv2
|
* @version rv2
|
||||||
* @since rv2
|
* @since rv2
|
||||||
*/
|
*/
|
||||||
public interface IComparableDefinition {
|
public interface IComparableDefinition
|
||||||
/**
|
{
|
||||||
* Compare {@link ItemStack} with this
|
/**
|
||||||
*
|
* Compare {@link ItemStack} with this
|
||||||
* @param comparableStack compared item
|
*
|
||||||
*
|
* @param comparableStack compared item
|
||||||
* @return true if the item stack is a matching item.
|
*
|
||||||
*/
|
* @return true if the item stack is a matching item.
|
||||||
boolean isSameAs(ItemStack comparableStack);
|
*/
|
||||||
|
boolean isSameAs( ItemStack comparableStack );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,27 +23,29 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All definitions in AE
|
* All definitions in AE
|
||||||
*/
|
*/
|
||||||
public interface IDefinitions {
|
public interface IDefinitions
|
||||||
/**
|
{
|
||||||
* @return an accessible list of all of AE's blocks
|
/**
|
||||||
*/
|
* @return an accessible list of all of AE's blocks
|
||||||
IBlocks blocks();
|
*/
|
||||||
|
IBlocks blocks();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return an accessible list of all of AE's Items
|
* @return an accessible list of all of AE's Items
|
||||||
*/
|
*/
|
||||||
IItems items();
|
IItems items();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return an accessible list of all of AE's materials; materials are items
|
* @return an accessible list of all of AE's materials; materials are items
|
||||||
*/
|
*/
|
||||||
IMaterials materials();
|
IMaterials materials();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return an accessible list of all of AE's parts, parts are items
|
* @return an accessible list of all of AE's parts, parts are items
|
||||||
*/
|
*/
|
||||||
IParts parts();
|
IParts parts();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,51 +23,36 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.IItemProvider;
|
|
||||||
|
|
||||||
import appeng.api.features.AEFeature;
|
|
||||||
|
|
||||||
public interface IItemDefinition extends IComparableDefinition, IItemProvider {
|
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
|
* @return the unique name of the definition which will be used to register the underlying structure. Will never be
|
||||||
*/
|
* null
|
||||||
@Nonnull
|
*/
|
||||||
String identifier();
|
@Nonnull
|
||||||
|
String identifier();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the {@link Item} Implementation if applicable
|
* @return the {@link Item} Implementation if applicable
|
||||||
*/
|
*/
|
||||||
default Optional<Item> maybeItem() {
|
Optional<Item> maybeItem();
|
||||||
return Optional.of(item());
|
|
||||||
}
|
|
||||||
|
|
||||||
Item item();
|
/**
|
||||||
|
* @return an {@link ItemStack} with specified quantity of this item.
|
||||||
/**
|
*/
|
||||||
* @return an {@link ItemStack} with specified quantity of this item.
|
Optional<ItemStack> maybeStack( int stackSize );
|
||||||
*/
|
|
||||||
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,98 +23,95 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.util.AEColoredItemDefinition;
|
import appeng.api.util.AEColoredItemDefinition;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of all items in AE
|
* A list of all items in AE
|
||||||
*/
|
*/
|
||||||
public interface IItems {
|
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 biometricCard();
|
IItemDefinition biometricCard();
|
||||||
|
|
||||||
IItemDefinition chargedStaff();
|
IItemDefinition chargedStaff();
|
||||||
|
|
||||||
IItemDefinition massCannon();
|
IItemDefinition massCannon();
|
||||||
|
|
||||||
IItemDefinition memoryCard();
|
IItemDefinition memoryCard();
|
||||||
|
|
||||||
IItemDefinition networkTool();
|
IItemDefinition networkTool();
|
||||||
|
|
||||||
IItemDefinition portableCell();
|
IItemDefinition portableCell();
|
||||||
|
|
||||||
IItemDefinition cellCreative();
|
IItemDefinition cellCreative();
|
||||||
|
|
||||||
IItemDefinition viewCell();
|
IItemDefinition viewCell();
|
||||||
|
|
||||||
IItemDefinition cell1k();
|
IItemDefinition cell1k();
|
||||||
|
|
||||||
IItemDefinition cell4k();
|
IItemDefinition cell4k();
|
||||||
|
|
||||||
IItemDefinition cell16k();
|
IItemDefinition cell16k();
|
||||||
|
|
||||||
IItemDefinition cell64k();
|
IItemDefinition cell64k();
|
||||||
|
|
||||||
IItemDefinition fluidCell1k();
|
IItemDefinition fluidCell1k();
|
||||||
|
|
||||||
IItemDefinition fluidCell4k();
|
IItemDefinition fluidCell4k();
|
||||||
|
|
||||||
IItemDefinition fluidCell16k();
|
IItemDefinition fluidCell16k();
|
||||||
|
|
||||||
IItemDefinition fluidCell64k();
|
IItemDefinition fluidCell64k();
|
||||||
|
|
||||||
IItemDefinition spatialCell2();
|
IItemDefinition spatialCell2();
|
||||||
|
|
||||||
IItemDefinition spatialCell16();
|
IItemDefinition spatialCell16();
|
||||||
|
|
||||||
IItemDefinition spatialCell128();
|
IItemDefinition spatialCell128();
|
||||||
|
|
||||||
IItemDefinition facade();
|
IItemDefinition facade();
|
||||||
|
|
||||||
IItemDefinition certusCrystalSeed();
|
IItemDefinition crystalSeed();
|
||||||
|
|
||||||
IItemDefinition fluixCrystalSeed();
|
// rv1
|
||||||
|
IItemDefinition encodedPattern();
|
||||||
|
|
||||||
IItemDefinition netherQuartzSeed();
|
IItemDefinition colorApplicator();
|
||||||
|
|
||||||
IItemDefinition dummyFluidItem();
|
AEColoredItemDefinition coloredPaintBall();
|
||||||
|
|
||||||
// rv1
|
AEColoredItemDefinition coloredLumenPaintBall();
|
||||||
IItemDefinition encodedPattern();
|
|
||||||
|
|
||||||
IItemDefinition colorApplicator();
|
|
||||||
|
|
||||||
AEColoredItemDefinition coloredPaintBall();
|
|
||||||
|
|
||||||
AEColoredItemDefinition coloredLumenPaintBall();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,121 +23,125 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of all materials in AE
|
* A list of all materials in AE
|
||||||
*/
|
*/
|
||||||
public interface IMaterials {
|
public interface IMaterials
|
||||||
IItemDefinition cell2SpatialPart();
|
{
|
||||||
|
IItemDefinition cell2SpatialPart();
|
||||||
|
|
||||||
IItemDefinition cell16SpatialPart();
|
IItemDefinition cell16SpatialPart();
|
||||||
|
|
||||||
IItemDefinition cell128SpatialPart();
|
IItemDefinition cell128SpatialPart();
|
||||||
|
|
||||||
IItemDefinition silicon();
|
IItemDefinition silicon();
|
||||||
|
|
||||||
IItemDefinition skyDust();
|
IItemDefinition skyDust();
|
||||||
|
|
||||||
IItemDefinition calcProcessorPress();
|
IItemDefinition calcProcessorPress();
|
||||||
|
|
||||||
IItemDefinition engProcessorPress();
|
IItemDefinition engProcessorPress();
|
||||||
|
|
||||||
IItemDefinition logicProcessorPress();
|
IItemDefinition logicProcessorPress();
|
||||||
|
|
||||||
IItemDefinition calcProcessorPrint();
|
IItemDefinition calcProcessorPrint();
|
||||||
|
|
||||||
IItemDefinition engProcessorPrint();
|
IItemDefinition engProcessorPrint();
|
||||||
|
|
||||||
IItemDefinition logicProcessorPrint();
|
IItemDefinition logicProcessorPrint();
|
||||||
|
|
||||||
IItemDefinition siliconPress();
|
IItemDefinition siliconPress();
|
||||||
|
|
||||||
IItemDefinition siliconPrint();
|
IItemDefinition siliconPrint();
|
||||||
|
|
||||||
IItemDefinition namePress();
|
IItemDefinition namePress();
|
||||||
|
|
||||||
IItemDefinition logicProcessor();
|
IItemDefinition logicProcessor();
|
||||||
|
|
||||||
IItemDefinition calcProcessor();
|
IItemDefinition calcProcessor();
|
||||||
|
|
||||||
IItemDefinition engProcessor();
|
IItemDefinition engProcessor();
|
||||||
|
|
||||||
IItemDefinition basicCard();
|
IItemDefinition basicCard();
|
||||||
|
|
||||||
IItemDefinition advCard();
|
IItemDefinition advCard();
|
||||||
|
|
||||||
IItemDefinition purifiedCertusQuartzCrystal();
|
IItemDefinition purifiedCertusQuartzCrystal();
|
||||||
|
|
||||||
IItemDefinition purifiedNetherQuartzCrystal();
|
IItemDefinition purifiedNetherQuartzCrystal();
|
||||||
|
|
||||||
IItemDefinition purifiedFluixCrystal();
|
IItemDefinition purifiedFluixCrystal();
|
||||||
|
|
||||||
IItemDefinition cell1kPart();
|
IItemDefinition cell1kPart();
|
||||||
|
|
||||||
IItemDefinition cell4kPart();
|
IItemDefinition cell4kPart();
|
||||||
|
|
||||||
IItemDefinition cell16kPart();
|
IItemDefinition cell16kPart();
|
||||||
|
|
||||||
IItemDefinition cell64kPart();
|
IItemDefinition cell64kPart();
|
||||||
|
|
||||||
IItemDefinition emptyStorageCell();
|
IItemDefinition emptyStorageCell();
|
||||||
|
|
||||||
IItemDefinition cardRedstone();
|
IItemDefinition cardRedstone();
|
||||||
|
|
||||||
IItemDefinition cardSpeed();
|
IItemDefinition cardSpeed();
|
||||||
|
|
||||||
IItemDefinition cardCapacity();
|
IItemDefinition cardCapacity();
|
||||||
|
|
||||||
IItemDefinition cardFuzzy();
|
IItemDefinition cardPatternExpansion();
|
||||||
|
|
||||||
IItemDefinition cardInverter();
|
IItemDefinition cardFuzzy();
|
||||||
|
|
||||||
IItemDefinition cardCrafting();
|
IItemDefinition cardInverter();
|
||||||
|
|
||||||
IItemDefinition enderDust();
|
IItemDefinition cardCrafting();
|
||||||
|
|
||||||
IItemDefinition flour();
|
IItemDefinition enderDust();
|
||||||
|
|
||||||
IItemDefinition goldDust();
|
IItemDefinition flour();
|
||||||
|
|
||||||
IItemDefinition ironDust();
|
IItemDefinition goldDust();
|
||||||
|
|
||||||
IItemDefinition fluixDust();
|
IItemDefinition ironDust();
|
||||||
|
|
||||||
IItemDefinition certusQuartzDust();
|
IItemDefinition fluixDust();
|
||||||
|
|
||||||
IItemDefinition netherQuartzDust();
|
IItemDefinition certusQuartzDust();
|
||||||
|
|
||||||
IItemDefinition matterBall();
|
IItemDefinition netherQuartzDust();
|
||||||
|
|
||||||
IItemDefinition certusQuartzCrystal();
|
IItemDefinition matterBall();
|
||||||
|
|
||||||
IItemDefinition certusQuartzCrystalCharged();
|
IItemDefinition certusQuartzCrystal();
|
||||||
|
|
||||||
IItemDefinition fluixCrystal();
|
IItemDefinition certusQuartzCrystalCharged();
|
||||||
|
|
||||||
IItemDefinition fluixPearl();
|
IItemDefinition fluixCrystal();
|
||||||
|
|
||||||
IItemDefinition woodenGear();
|
IItemDefinition fluixPearl();
|
||||||
|
|
||||||
IItemDefinition wirelessReceiver();
|
IItemDefinition woodenGear();
|
||||||
|
|
||||||
IItemDefinition wirelessBooster();
|
IItemDefinition wirelessReceiver();
|
||||||
|
|
||||||
IItemDefinition annihilationCore();
|
IItemDefinition wirelessBooster();
|
||||||
|
|
||||||
IItemDefinition formationCore();
|
IItemDefinition annihilationCore();
|
||||||
|
|
||||||
IItemDefinition singularity();
|
IItemDefinition formationCore();
|
||||||
|
|
||||||
IItemDefinition qESingularity();
|
IItemDefinition singularity();
|
||||||
|
|
||||||
IItemDefinition blankPattern();
|
IItemDefinition qESingularity();
|
||||||
|
|
||||||
IItemDefinition fluidCell1kPart();
|
IItemDefinition blankPattern();
|
||||||
|
|
||||||
IItemDefinition fluidCell4kPart();
|
IItemDefinition fluidCell1kPart();
|
||||||
|
|
||||||
IItemDefinition fluidCell16kPart();
|
IItemDefinition fluidCell4kPart();
|
||||||
|
|
||||||
IItemDefinition fluidCell64kPart();
|
IItemDefinition fluidCell16kPart();
|
||||||
|
|
||||||
|
IItemDefinition fluidCell64kPart();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.util.AEColoredItemDefinition;
|
import appeng.api.util.AEColoredItemDefinition;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of all parts in AE
|
* A list of all parts in AE
|
||||||
*/
|
*/
|
||||||
@@ -39,6 +41,14 @@ public interface IParts {
|
|||||||
|
|
||||||
AEColoredItemDefinition cableDenseSmart();
|
AEColoredItemDefinition cableDenseSmart();
|
||||||
|
|
||||||
|
AEColoredItemDefinition lumenCableSmart();
|
||||||
|
|
||||||
|
AEColoredItemDefinition lumenCableCovered();
|
||||||
|
|
||||||
|
AEColoredItemDefinition lumenCableGlass();
|
||||||
|
|
||||||
|
AEColoredItemDefinition lumenDenseCableSmart();
|
||||||
|
|
||||||
IItemDefinition quartzFiber();
|
IItemDefinition quartzFiber();
|
||||||
|
|
||||||
IItemDefinition toggleBus();
|
IItemDefinition toggleBus();
|
||||||
@@ -47,6 +57,8 @@ public interface IParts {
|
|||||||
|
|
||||||
IItemDefinition storageBus();
|
IItemDefinition storageBus();
|
||||||
|
|
||||||
|
IItemDefinition oreDictStorageBus();
|
||||||
|
|
||||||
IItemDefinition importBus();
|
IItemDefinition importBus();
|
||||||
|
|
||||||
IItemDefinition exportBus();
|
IItemDefinition exportBus();
|
||||||
@@ -75,8 +87,12 @@ public interface IParts {
|
|||||||
|
|
||||||
IItemDefinition p2PTunnelFE();
|
IItemDefinition p2PTunnelFE();
|
||||||
|
|
||||||
|
IItemDefinition p2PTunnelGTEU();
|
||||||
|
|
||||||
IItemDefinition p2PTunnelLight();
|
IItemDefinition p2PTunnelLight();
|
||||||
|
|
||||||
|
// IItemDefinition p2PTunnelOpenComputers();
|
||||||
|
|
||||||
IItemDefinition cableAnchor();
|
IItemDefinition cableAnchor();
|
||||||
|
|
||||||
IItemDefinition monitor();
|
IItemDefinition monitor();
|
||||||
@@ -89,6 +105,12 @@ public interface IParts {
|
|||||||
|
|
||||||
IItemDefinition patternTerminal();
|
IItemDefinition patternTerminal();
|
||||||
|
|
||||||
|
IItemDefinition expandedProcessingPatternTerminal();
|
||||||
|
|
||||||
|
IItemDefinition interfaceConfigurationTerminal();
|
||||||
|
|
||||||
|
IItemDefinition fluidInterfaceConfigurationTerminal();
|
||||||
|
|
||||||
IItemDefinition craftingTerminal();
|
IItemDefinition craftingTerminal();
|
||||||
|
|
||||||
IItemDefinition terminal();
|
IItemDefinition terminal();
|
||||||
|
|||||||
@@ -18,13 +18,16 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
|
||||||
public interface ITileDefinition extends IBlockDefinition {
|
|
||||||
/**
|
public interface ITileDefinition extends IBlockDefinition
|
||||||
* @return the {@link TileEntity} Class if applicable.
|
{
|
||||||
*/
|
/**
|
||||||
Optional<? extends Class<? extends TileEntity>> maybeEntity();
|
* @return the {@link TileEntity} Class if applicable.
|
||||||
|
*/
|
||||||
|
Optional<? extends Class<? extends TileEntity>> maybeEntity();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
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,34 +23,39 @@
|
|||||||
|
|
||||||
package appeng.api.events;
|
package appeng.api.events;
|
||||||
|
|
||||||
import net.minecraftforge.eventbus.api.Event;
|
|
||||||
|
import net.minecraftforge.fml.common.eventhandler.Event;
|
||||||
|
|
||||||
import appeng.api.features.ILocatable;
|
import appeng.api.features.ILocatable;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Input Event:
|
* Input Event:
|
||||||
*
|
*
|
||||||
* Used to Notify the Location Registry of objects, and their availability.
|
* Used to Notify the Location Registry of objects, and their availability.
|
||||||
*/
|
*/
|
||||||
public class LocatableEventAnnounce extends Event {
|
public class LocatableEventAnnounce extends Event
|
||||||
|
{
|
||||||
|
|
||||||
public final ILocatable target;
|
public final ILocatable target;
|
||||||
public final LocatableEvent change;
|
public final LocatableEvent change;
|
||||||
|
|
||||||
public LocatableEventAnnounce(final ILocatable o, final LocatableEvent ev) {
|
public LocatableEventAnnounce( final ILocatable o, final LocatableEvent ev )
|
||||||
this.target = o;
|
{
|
||||||
this.change = ev;
|
this.target = o;
|
||||||
}
|
this.change = ev;
|
||||||
|
}
|
||||||
|
|
||||||
public enum LocatableEvent {
|
public enum LocatableEvent
|
||||||
/**
|
{
|
||||||
* Adds the locatable to the registry
|
/**
|
||||||
*/
|
* Adds the locatable to the registry
|
||||||
REGISTER,
|
*/
|
||||||
|
REGISTER,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes the locatable from the registry
|
* Removes the locatable from the registry
|
||||||
*/
|
*/
|
||||||
UNREGISTER
|
UNREGISTER
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,11 +23,14 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
public class AppEngException extends Exception {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = -9051434206368465494L;
|
public class AppEngException extends Exception
|
||||||
|
{
|
||||||
|
|
||||||
public AppEngException(final String t) {
|
private static final long serialVersionUID = -9051434206368465494L;
|
||||||
super(t);
|
|
||||||
}
|
public AppEngException( final String t )
|
||||||
|
{
|
||||||
|
super( t );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,10 +18,13 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
public class CoreInaccessibleException extends RuntimeException {
|
|
||||||
private static final long serialVersionUID = -7434641554655517242L;
|
|
||||||
|
|
||||||
public CoreInaccessibleException(final String message) {
|
public class CoreInaccessibleException extends RuntimeException
|
||||||
super(message);
|
{
|
||||||
}
|
private static final long serialVersionUID = -7434641554655517242L;
|
||||||
|
|
||||||
|
public CoreInaccessibleException( final String message )
|
||||||
|
{
|
||||||
|
super( message );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,30 +23,34 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception occurred because of an already existing connection between the two
|
* Exception occurred because of an already existing connection between the two {@link IGridNode}s
|
||||||
* {@link IGridNode}s
|
|
||||||
*
|
*
|
||||||
* Intended to signal an internal exception and not intended to be thrown by any
|
* Intended to signal an internal exception and not intended to be thrown by
|
||||||
* 3rd party module.
|
* any 3rd party module.
|
||||||
*
|
*
|
||||||
* @author yueh
|
* @author yueh
|
||||||
* @version rv3
|
* @version rv3
|
||||||
* @since rv3
|
* @since rv3
|
||||||
*/
|
*/
|
||||||
public class ExistingConnectionException extends FailedConnectionException {
|
public class ExistingConnectionException extends FailedConnectionException
|
||||||
|
{
|
||||||
|
|
||||||
private static final long serialVersionUID = 2975450379720353182L;
|
private static final long serialVersionUID = 2975450379720353182L;
|
||||||
private static final String DEFAULT_MESSAGE = "Connection between both nodes already exists.";
|
private static final String DEFAULT_MESSAGE = "Connection between both nodes already exists.";
|
||||||
|
|
||||||
public ExistingConnectionException() {
|
public ExistingConnectionException()
|
||||||
super(DEFAULT_MESSAGE);
|
{
|
||||||
}
|
super( DEFAULT_MESSAGE );
|
||||||
|
}
|
||||||
|
|
||||||
public ExistingConnectionException(String message) {
|
public ExistingConnectionException( String message )
|
||||||
super(message);
|
{
|
||||||
}
|
super( message );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,13 +23,15 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.networking.IGridNode;
|
import appeng.api.networking.IGridNode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception indicating a failed connection between two {@link IGridNode}s.
|
* Exception indicating a failed connection between two {@link IGridNode}s.
|
||||||
*
|
*
|
||||||
* Intended to signal an internal exception and not intended to be thrown by any
|
* Intended to signal an internal exception and not intended to be thrown by
|
||||||
* 3rd party module.
|
* any 3rd party module.
|
||||||
*
|
*
|
||||||
* See any subclass for a more specific reason.
|
* See any subclass for a more specific reason.
|
||||||
*
|
*
|
||||||
@@ -38,14 +40,17 @@ import appeng.api.networking.IGridNode;
|
|||||||
* @version rv3
|
* @version rv3
|
||||||
* @since rv0
|
* @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) {
|
public FailedConnectionException( String message )
|
||||||
super(message);
|
{
|
||||||
}
|
super( message );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,10 +18,13 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
public class MissingDefinitionException extends RuntimeException {
|
|
||||||
private static final long serialVersionUID = -6547396584255825761L;
|
|
||||||
|
|
||||||
public MissingDefinitionException(final String message) {
|
public class MissingDefinitionException extends RuntimeException
|
||||||
super(message);
|
{
|
||||||
}
|
private static final long serialVersionUID = -6547396584255825761L;
|
||||||
|
|
||||||
|
public MissingDefinitionException( final String message )
|
||||||
|
{
|
||||||
|
super( message );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,11 +23,14 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
public class MissingIngredientException extends Exception {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = -998858343831371697L;
|
public class MissingIngredientException extends Exception
|
||||||
|
{
|
||||||
|
|
||||||
public MissingIngredientException(final String n) {
|
private static final long serialVersionUID = -998858343831371697L;
|
||||||
super(n);
|
|
||||||
}
|
public MissingIngredientException( final String n )
|
||||||
|
{
|
||||||
|
super( n );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,11 +23,14 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
public class ModNotInstalledException extends Exception {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = -9052435206368425494L;
|
public class ModNotInstalledException extends Exception
|
||||||
|
{
|
||||||
|
|
||||||
public ModNotInstalledException(final String t) {
|
private static final long serialVersionUID = -9052435206368425494L;
|
||||||
super(t);
|
|
||||||
}
|
public ModNotInstalledException( final String t )
|
||||||
|
{
|
||||||
|
super( t );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,27 +23,31 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception due to trying to connect one or more null values.
|
* 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
|
* Intended to signal an internal exception and not intended to be thrown by
|
||||||
* 3rd party module.
|
* any 3rd party module.
|
||||||
*
|
*
|
||||||
* @author yueh
|
* @author yueh
|
||||||
* @version rv3
|
* @version rv3
|
||||||
* @since rv3
|
* @since rv3
|
||||||
*/
|
*/
|
||||||
public class NullNodeConnectionException extends FailedConnectionException {
|
public class NullNodeConnectionException extends FailedConnectionException
|
||||||
|
{
|
||||||
|
|
||||||
private static final long serialVersionUID = -2143719383495321764L;
|
private static final long serialVersionUID = -2143719383495321764L;
|
||||||
private static final String DEFAULT_MESSAGE = "Connection forged between null entities.";
|
private static final String DEFAULT_MESSAGE = "Connection forged between null entities.";
|
||||||
|
|
||||||
public NullNodeConnectionException() {
|
public NullNodeConnectionException()
|
||||||
super(DEFAULT_MESSAGE);
|
{
|
||||||
}
|
super( DEFAULT_MESSAGE );
|
||||||
|
}
|
||||||
|
|
||||||
public NullNodeConnectionException(String message) {
|
public NullNodeConnectionException( String message )
|
||||||
super(message);
|
{
|
||||||
}
|
super( message );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,11 +23,14 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
public class RecipeException extends Exception {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = -6602870588617670262L;
|
public class RecipeException extends Exception
|
||||||
|
{
|
||||||
|
|
||||||
public RecipeException(final String n) {
|
private static final long serialVersionUID = -6602870588617670262L;
|
||||||
super(n);
|
|
||||||
}
|
public RecipeException( final String n )
|
||||||
|
{
|
||||||
|
super( n );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,11 +23,14 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
public class RegistrationException extends Exception {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = -6602870588617670263L;
|
public class RegistrationException extends Exception
|
||||||
|
{
|
||||||
|
|
||||||
public RegistrationException(final String n) {
|
private static final long serialVersionUID = -6602870588617670263L;
|
||||||
super(n);
|
|
||||||
}
|
public RegistrationException( final String n )
|
||||||
|
{
|
||||||
|
super( n );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,26 +23,30 @@
|
|||||||
|
|
||||||
package appeng.api.exceptions;
|
package appeng.api.exceptions;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception due to trying to connect different security realms.
|
* Exception due to trying to connect different security realms.
|
||||||
*
|
*
|
||||||
* Intended to signal an internal exception and not intended to be thrown by any
|
* Intended to signal an internal exception and not intended to be thrown by
|
||||||
* 3rd party module.
|
* any 3rd party module.
|
||||||
*
|
*
|
||||||
* @author yueh
|
* @author yueh
|
||||||
* @version rv3
|
* @version rv3
|
||||||
* @since rv3
|
* @since rv3
|
||||||
*/
|
*/
|
||||||
public class SecurityConnectionException extends FailedConnectionException {
|
public class SecurityConnectionException extends FailedConnectionException
|
||||||
private static final long serialVersionUID = 5048714900434215426L;
|
{
|
||||||
private static final String DEFAULT_MESSAGE = "Connection failed due to different security realms.";
|
private static final long serialVersionUID = 5048714900434215426L;
|
||||||
|
private static final String DEFAULT_MESSAGE = "Connection failed due to different security realms.";
|
||||||
|
|
||||||
public SecurityConnectionException() {
|
public SecurityConnectionException()
|
||||||
super(DEFAULT_MESSAGE);
|
{
|
||||||
}
|
super( DEFAULT_MESSAGE );
|
||||||
|
}
|
||||||
|
|
||||||
public SecurityConnectionException(String message) {
|
public SecurityConnectionException( String message )
|
||||||
super(message);
|
{
|
||||||
}
|
super( message );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,439 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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,6 +23,7 @@
|
|||||||
|
|
||||||
package appeng.api.features;
|
package appeng.api.features;
|
||||||
|
|
||||||
|
|
||||||
import javax.annotation.Nonnegative;
|
import javax.annotation.Nonnegative;
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
@@ -30,57 +31,54 @@ import net.minecraft.item.Item;
|
|||||||
|
|
||||||
import appeng.api.implementations.items.IAEItemPowerStorage;
|
import appeng.api.implementations.items.IAEItemPowerStorage;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A registry to allow mapping {@link Item}s to a specific charge rate when
|
* A registry to allow mapping {@link Item}s to a specific charge rate when being placed inside a charger.
|
||||||
* being placed inside a charger.
|
*
|
||||||
*
|
* The registry is used in favor of an additional method for {@link IAEItemPowerStorage} with a fixed value per item.
|
||||||
* The registry is used in favor of an additional method for
|
* This allows more flexibility for other charger like machines to choose their own values when needed.
|
||||||
* {@link IAEItemPowerStorage} with a fixed value per item. This allows more
|
*
|
||||||
* flexibility for other charger like machines to choose their own values when
|
* There is no guarantee that this is charged per tick, it only represents the value per operation.
|
||||||
* needed.
|
* By default this is one charging operation every 10 ticks in case of an AE2 charger.
|
||||||
*
|
*
|
||||||
* 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
|
* @author yueh
|
||||||
* @version rv5
|
* @version rv5
|
||||||
* @since rv5
|
* @since rv5
|
||||||
*/
|
*/
|
||||||
public interface IChargerRegistry {
|
public interface IChargerRegistry
|
||||||
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fetch a charge rate for a specific item.
|
* Fetch a charge rate for a specific item.
|
||||||
*
|
*
|
||||||
* The specific item does not need to have a mapping registered at all. In this
|
* The specific item does not need to have a mapping registered at all.
|
||||||
* case it will use a default value of 160 AE.
|
* In this case it will use a default value of 160 AE.
|
||||||
*
|
*
|
||||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
||||||
* @return custom rate or default of 160
|
* @return custom rate or default of 160
|
||||||
*/
|
*/
|
||||||
@Nonnegative
|
@Nonnegative
|
||||||
double getChargeRate(@Nonnull Item item);
|
double getChargeRate( @Nonnull Item item );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register a custom charge rate for a specific item.
|
* Register a custom charge rate for a specific item.
|
||||||
*
|
*
|
||||||
* Capped at 16000 to avoid extracting too much energy from a network for each
|
* Capped at 16000 to avoid extracting too much energy from a network for each operation.
|
||||||
* operation. This is done silently without any feedback or exception. Further
|
* This is done silently without any feedback or exception.
|
||||||
* the cap is not fixed, it can change at any time in the future should power
|
* Further the cap is not fixed, it can change at any time in the future should power issues arise.
|
||||||
* issues arise.
|
*
|
||||||
*
|
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
||||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
* @param chargeRate the custom rate, must be > 0, capped to 16000d
|
||||||
* @param chargeRate the custom rate, must be > 0, capped to 16000d
|
*/
|
||||||
*/
|
void addChargeRate( @Nonnull Item item, @Nonnegative double chargeRate );
|
||||||
void addChargeRate(@Nonnull Item item, @Nonnegative double chargeRate);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove the custom rate for a specific item.
|
* Remove the custom rate for a specific item.
|
||||||
*
|
*
|
||||||
* It will revert to the default value afterwards.
|
* It will revert to the default value afterwards.
|
||||||
*
|
*
|
||||||
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
* @param item A {@link Item} implementing {@link IAEItemPowerStorage}.
|
||||||
*/
|
*/
|
||||||
void removeChargeRate(@Nonnull Item item);
|
void removeChargeRate( @Nonnull Item item );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,93 @@
|
|||||||
|
/*
|
||||||
|
* 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();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
/*
|
||||||
|
* 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();
|
||||||
|
}
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
/*
|
||||||
|
* 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.Collection;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lets you manipulate Grinder Recipes, by adding or editing existing ones.
|
||||||
|
*/
|
||||||
|
public interface IGrinderRegistry
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extensible way to create a grinder recipe.
|
||||||
|
*
|
||||||
|
* @return builder for grinder recipes
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IGrinderRecipeBuilder builder();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An immutable list of the currently registered recipes.
|
||||||
|
*
|
||||||
|
* @return currentlyRegisteredRecipes
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Collection<IGrinderRecipe> getRecipes();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new recipe to the registry.
|
||||||
|
*/
|
||||||
|
boolean addRecipe( IGrinderRecipe recipe );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specific from the recipe list.
|
||||||
|
*
|
||||||
|
* @param recipe The recipe to be removed.
|
||||||
|
* @return true, if it was removed
|
||||||
|
*/
|
||||||
|
boolean removeRecipe( @Nonnull IGrinderRecipe recipe );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Searches for a recipe for a given input, and returns it.
|
||||||
|
*
|
||||||
|
* @param input The {@link ItemStack} to be grinded.
|
||||||
|
*
|
||||||
|
* @return identified recipe or null
|
||||||
|
*/
|
||||||
|
@Nullable
|
||||||
|
IGrinderRecipe getRecipeForInput( @Nonnull ItemStack input );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allows do add a custom ratio from an ore to dust when being grinded.
|
||||||
|
*
|
||||||
|
* The default ratio is 1 ore to 2 dusts.
|
||||||
|
*
|
||||||
|
* These have to be added before any recipe is registered. Otherwise it will use the default value.
|
||||||
|
*
|
||||||
|
* @param oredictName The name of the ore;
|
||||||
|
* @param ratio The amount, must be > 0;
|
||||||
|
*/
|
||||||
|
void addDustRatio( @Nonnull String oredictName, int ratio );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a custom ratio for a specific ore name.
|
||||||
|
*
|
||||||
|
* Will use the default of 2 value afterwards.
|
||||||
|
*
|
||||||
|
* @param oredictName The name of the ore;
|
||||||
|
*/
|
||||||
|
boolean removeDustRatio( @Nonnull String oredictName );
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
/*
|
||||||
|
* 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.features;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registration Records for {@link IInscriberRegistry}
|
||||||
|
*
|
||||||
|
* You have to pay attention though, that recipes are not mirrored,
|
||||||
|
* where the top and bottom slots are switching places.
|
||||||
|
*
|
||||||
|
* This is applied on runtime.
|
||||||
|
*
|
||||||
|
* @author thatsIch
|
||||||
|
* @version rv2
|
||||||
|
* @since rv2
|
||||||
|
*/
|
||||||
|
public interface IInscriberRecipe
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* the current inputs
|
||||||
|
*
|
||||||
|
* @return inputs the inscriber will accept
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
List<ItemStack> getInputs();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gets the current output
|
||||||
|
*
|
||||||
|
* @return output that the recipe will produce
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
ItemStack getOutput();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gets the top optional
|
||||||
|
*
|
||||||
|
* @return item which is used top
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Optional<ItemStack> getTopOptional();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gets the bottom optional
|
||||||
|
*
|
||||||
|
* @return item which is used bottom
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Optional<ItemStack> getBottomOptional();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* type of inscriber process
|
||||||
|
*
|
||||||
|
* @return type of process the inscriber is doing
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
InscriberProcessType getProcessType();
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
/*
|
||||||
|
* 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.features;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builder for an inscriber recipe
|
||||||
|
*
|
||||||
|
* @author thatsIch
|
||||||
|
* @version rv2
|
||||||
|
* @since rv2
|
||||||
|
*/
|
||||||
|
public interface IInscriberRecipeBuilder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with inputs.
|
||||||
|
* Needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param inputs new inputs for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withInputs( @Nonnull Collection<ItemStack> inputs );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with output.
|
||||||
|
* Needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param output new output for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withOutput( @Nonnull ItemStack output );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with top.
|
||||||
|
* Either this or bot needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param topOptional new top for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withTopOptional( @Nonnull ItemStack topOptional );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with bot.
|
||||||
|
* Either this or top needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param bottomOptional new bot for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withBottomOptional( @Nonnull ItemStack bottomOptional );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates an inscriber recipe with type.
|
||||||
|
* Needs to be invoked.
|
||||||
|
*
|
||||||
|
* @param type new type for the recipe
|
||||||
|
*
|
||||||
|
* @return currently used builder
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder withProcessType( @Nonnull InscriberProcessType type );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finalizes the process of making the recipe.
|
||||||
|
* Needs to be invoked to fetch inscriber recipe.
|
||||||
|
*
|
||||||
|
* @return legal inscriber recipe
|
||||||
|
*
|
||||||
|
* @throws IllegalStateException when input is not defined
|
||||||
|
* @throws IllegalStateException when input has no size
|
||||||
|
* @throws IllegalStateException when output is not defined
|
||||||
|
* @throws IllegalStateException when both optionals are not defined
|
||||||
|
* @throws IllegalStateException when process type is not defined
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipe build();
|
||||||
|
}
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
/*
|
||||||
|
* 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.features;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lets you manipulate Inscriber Recipes, by adding or editing existing ones.
|
||||||
|
*
|
||||||
|
* @author thatsIch
|
||||||
|
* @version rv5
|
||||||
|
* @since rv2
|
||||||
|
*/
|
||||||
|
public interface IInscriberRegistry
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Extensible way to create an inscriber recipe.
|
||||||
|
*
|
||||||
|
* @return builder for inscriber recipes
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
IInscriberRecipeBuilder builder();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An immutable copy of currently registered recipes.
|
||||||
|
*
|
||||||
|
* Use the provided methods to actually modify the inscriber recipes.
|
||||||
|
*
|
||||||
|
* @see IInscriberRegistry#addRecipe(IInscriberRecipe)
|
||||||
|
* @see IInscriberRegistry#removeRecipe(IInscriberRecipe)
|
||||||
|
*
|
||||||
|
* @return currentlyRegisteredRecipes
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Collection<IInscriberRecipe> getRecipes();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Optional items which are used in the top or bottom slot.
|
||||||
|
*
|
||||||
|
* @return set of all optional items
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Set<ItemStack> getOptionals();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all registered items which are valid inputs.
|
||||||
|
*
|
||||||
|
* @return set of all input items
|
||||||
|
*/
|
||||||
|
@Nonnull
|
||||||
|
Set<ItemStack> getInputs();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* add a new recipe the easy way, duplicates will not be added.
|
||||||
|
* Added recipes will be automatically added to the optionals and inputs.
|
||||||
|
*
|
||||||
|
* @param recipe new recipe
|
||||||
|
*
|
||||||
|
* @return true, when successfully added
|
||||||
|
*
|
||||||
|
* @throws IllegalArgumentException if null is added
|
||||||
|
*/
|
||||||
|
boolean addRecipe( IInscriberRecipe recipe );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes all equal recipes from the registry.
|
||||||
|
*
|
||||||
|
* @param toBeRemovedRecipe to be removed recipe, can be null, makes just no sense.
|
||||||
|
*
|
||||||
|
* @return true, when successfully removed
|
||||||
|
*/
|
||||||
|
boolean removeRecipe( IInscriberRecipe toBeRemovedRecipe );
|
||||||
|
|
||||||
|
}
|
||||||
@@ -23,8 +23,10 @@
|
|||||||
|
|
||||||
package appeng.api.features;
|
package appeng.api.features;
|
||||||
|
|
||||||
public interface IItemComparison {
|
|
||||||
boolean sameAsPrecise(IItemComparison comp);
|
|
||||||
|
|
||||||
boolean sameAsFuzzy(IItemComparison comp);
|
public interface IItemComparison
|
||||||
|
{
|
||||||
|
boolean sameAsPrecise( IItemComparison comp );
|
||||||
|
|
||||||
|
boolean sameAsFuzzy( IItemComparison comp );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,32 +23,34 @@
|
|||||||
|
|
||||||
package appeng.api.features;
|
package appeng.api.features;
|
||||||
|
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provider for special comparisons. when an item is encountered AE Will request
|
* Provider for special comparisons. when an item is encountered AE Will request
|
||||||
* if the comparison function handles the item, by trying to request a
|
* if the comparison function handles the item, by trying to request a
|
||||||
* IItemComparison class.
|
* IItemComparison class.
|
||||||
*/
|
*/
|
||||||
public interface IItemComparisonProvider {
|
public interface IItemComparisonProvider
|
||||||
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* should return a new IItemComparison, or return null if it doesn't handle the
|
* should return a new IItemComparison, or return null if it doesn't handle
|
||||||
* supplied item.
|
* the supplied item.
|
||||||
*
|
*
|
||||||
* @param is item
|
* @param is item
|
||||||
*
|
*
|
||||||
* @return IItemComparison, or null
|
* @return IItemComparison, or null
|
||||||
*/
|
*/
|
||||||
IItemComparison getComparison(ItemStack is);
|
IItemComparison getComparison( ItemStack is );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple test for support ( AE generally skips this and calls the above
|
* Simple test for support ( AE generally skips this and calls the above function. )
|
||||||
* function. )
|
*
|
||||||
*
|
* @param stack item
|
||||||
* @param stack item
|
*
|
||||||
*
|
* @return true, if getComparison will return a valid IItemComparison Object
|
||||||
* @return true, if getComparison will return a valid IItemComparison Object
|
*/
|
||||||
*/
|
boolean canHandle( ItemStack stack );
|
||||||
boolean canHandle(ItemStack stack);
|
|
||||||
}
|
}
|
||||||
@@ -23,17 +23,19 @@
|
|||||||
|
|
||||||
package appeng.api.features;
|
package appeng.api.features;
|
||||||
|
|
||||||
|
|
||||||
import appeng.api.events.LocatableEventAnnounce;
|
import appeng.api.events.LocatableEventAnnounce;
|
||||||
|
|
||||||
/**
|
|
||||||
* A registration record for the {@link ILocatableRegistry} use the
|
|
||||||
* {@link LocatableEventAnnounce} event on the Forge Event bus to update the
|
|
||||||
* registry.
|
|
||||||
*/
|
|
||||||
public interface ILocatable {
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the serial for a locatable object
|
* A registration record for the {@link ILocatableRegistry} use the {@link LocatableEventAnnounce} event on the Forge
|
||||||
*/
|
* Event bus to update the registry.
|
||||||
long getLocatableSerial();
|
*/
|
||||||
|
public interface ILocatable
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the serial for a locatable object
|
||||||
|
*/
|
||||||
|
long getLocatableSerial();
|
||||||
}
|
}
|
||||||
@@ -23,17 +23,19 @@
|
|||||||
|
|
||||||
package appeng.api.features;
|
package appeng.api.features;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Registry for locatable items, works based on serial numbers.
|
* A Registry for locatable items, works based on serial numbers.
|
||||||
*/
|
*/
|
||||||
public interface ILocatableRegistry {
|
public interface ILocatableRegistry
|
||||||
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the {@link ILocatable} with the registered serial, if available
|
* Gets the {@link ILocatable} with the registered serial, if available
|
||||||
*
|
*
|
||||||
* @param serial serial
|
* @param serial serial
|
||||||
*
|
*
|
||||||
* @return requestedObject, or null, if the object does not exist anymore
|
* @return requestedObject, or null, if the object does not exist anymore
|
||||||
*/
|
*/
|
||||||
ILocatable getLocatableBy(long serial);
|
ILocatable getLocatableBy( long serial );
|
||||||
}
|
}
|
||||||
@@ -23,36 +23,27 @@
|
|||||||
|
|
||||||
package appeng.api.features;
|
package appeng.api.features;
|
||||||
|
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.ResourceLocation;
|
|
||||||
|
|
||||||
public interface IMatterCannonAmmoRegistry {
|
|
||||||
|
|
||||||
/**
|
public interface IMatterCannonAmmoRegistry
|
||||||
* register a new ammo, generally speaking this is based off of atomic weight to
|
{
|
||||||
* make it easier to guess at
|
|
||||||
*
|
|
||||||
* @param ammo new ammo
|
|
||||||
* @param weight atomic weight
|
|
||||||
*/
|
|
||||||
void registerAmmoItem(Item ammo, double weight);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* register a new ammo, generally speaking this is based off of atomic weight to
|
* register a new ammo, generally speaking this is based off of atomic weight to make it easier to guess at
|
||||||
* make it easier to guess at
|
*
|
||||||
*
|
* @param ammo new ammo
|
||||||
* @param ammoTag item tag id
|
* @param weight atomic weight
|
||||||
* @param weight atomic weight
|
*/
|
||||||
*/
|
void registerAmmo( ItemStack ammo, double weight );
|
||||||
void registerAmmoTag(ResourceLocation ammoTag, double weight);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the penetration value for a particular ammo, 0 indicates a non-ammo.
|
* get the penetration value for a particular ammo, 0 indicates a non-ammo.
|
||||||
*
|
*
|
||||||
* @param is ammo
|
* @param is ammo
|
||||||
*
|
*
|
||||||
* @return 0 or a valid penetration value.
|
* @return 0 or a valid penetration value.
|
||||||
*/
|
*/
|
||||||
float getPenetration(ItemStack is);
|
float getPenetration( ItemStack is );
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user