Compare commits
616 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ebe3341bfe | |||
| 7566b3e2fc | |||
| 30c074021b | |||
| e6586ac360 | |||
| 0429fe5f21 | |||
| e16d90333b | |||
| 59c7dd1285 | |||
| 13ba399418 | |||
| 8d152afcd3 | |||
| 9fdfbbea54 | |||
| f4303fc1ec | |||
| 3c62ac79c3 | |||
| e42863643d | |||
| ace7c7d660 | |||
| 35f2aa7d51 | |||
| 926a4a87c6 | |||
| d1d2c415bf | |||
| f631858be6 | |||
| d407ec4922 | |||
| 3587fce218 | |||
| 7464647bb8 | |||
| 0848f5db70 | |||
| 822e394966 | |||
| 68ed4c9c0f | |||
| f13d7f351d | |||
| 086ddd5a67 | |||
| acb1d00197 | |||
| 4aaa3f8929 | |||
| 793b8d6655 | |||
| cba89b0323 | |||
| 1f2cdfd843 | |||
| da39d81d5f | |||
| 1442248ec3 | |||
| 1500661e43 | |||
| a7c2824624 | |||
| 9d2549bdd8 | |||
| a37a2b4e89 | |||
| aa6bad7a72 | |||
| e2e5eed351 | |||
| b6de4ebf18 | |||
| 4545d78a51 | |||
| 6dc75fe26e | |||
| 0552282d9d | |||
| 8be01dfb87 | |||
| 4c5803b986 | |||
| 3b4b9a1bd5 | |||
| 2c7959e399 | |||
| 4649841341 | |||
| 3d4cfb2ee8 | |||
| 8092d0d354 | |||
| ceee1f181f | |||
| eefb11544e | |||
| af5921f9e8 | |||
| 75be2ff039 | |||
| b6f4bdb64d | |||
| b76c9f1371 | |||
| 50bf591418 | |||
| b077aff1f8 | |||
| 8debd6c499 | |||
| 53ad6c776b | |||
| e37f8ef65d | |||
| d8b20f53a9 | |||
| bf1a3b7751 | |||
| c8a6d50ce3 | |||
| 13af30f657 | |||
| 5d7f552643 | |||
| 82be548fc7 | |||
| 38249608e4 | |||
| 8f66765696 | |||
| fd5f9263d8 | |||
| 36d94a17aa | |||
| ede2b4ce25 | |||
| e09ec8c420 | |||
| 3d4c03e184 | |||
| 17119fd990 | |||
| 9a00185b6d | |||
| 2c7b239914 | |||
| 4039188712 | |||
| ecb697ab11 | |||
| ab1f519401 | |||
| d06a70ee22 | |||
| 422f9faf76 | |||
| 96ab73001b | |||
| 854676a33c | |||
| 7f76723da5 | |||
| 3fc7cf0247 | |||
| b377dfdd69 | |||
| 51522019ca | |||
| ff1091d252 | |||
| 15dff5d53d | |||
| 7ab89a0657 | |||
| dcd36b3b2f | |||
| 7b985c72bd | |||
| 269d3766db | |||
| d7e7ef0cb4 | |||
| 472f1e65a2 | |||
| 56268aba79 | |||
| 9d7dacdc29 | |||
| fb2aa21337 | |||
| 8bad14f982 | |||
| 0e797b2120 | |||
| 17c38a6418 | |||
| 58a6dabb20 | |||
| 329e613c99 | |||
| 11a4783881 | |||
| e230440cba | |||
| 149e7d251a | |||
| 405f14bd13 | |||
| acd77ff3f2 | |||
| a0ec9ceb51 | |||
| d6f2ed30e5 | |||
| 9785e38e3f | |||
| 1759bd898e | |||
| ae0d02e7d5 | |||
| d76eec2145 | |||
| d7e1554e41 | |||
| 9dee7f6c0e | |||
| 13c3067068 | |||
| 7c4e5679a3 | |||
| 03ed421331 | |||
| 36197a5dc6 | |||
| f407a26a8f | |||
| cb1011295c | |||
| 55a56ad79d | |||
| dd2f1c6dc7 | |||
| f14407b87a | |||
| 04f006695e | |||
| 4f36ccf64d | |||
| d9b4410c94 | |||
| 9bbd0ad61b | |||
| 662a7805dd | |||
| c46eadec08 | |||
| 148207f5c3 | |||
| 3ae251f098 | |||
| 82a906886f | |||
| 5b2c6658c0 | |||
| 653557bc65 | |||
| dde87448a9 | |||
| 8c29eeecdc | |||
| d852d0c216 | |||
| f9bb00a7e7 | |||
| 9f7e42ca7d | |||
| b76c18fedf | |||
| 98ce8235bb | |||
| e1ea4ae22f | |||
| 20ba83c529 | |||
| 225a4d5ab6 | |||
| bd4f03652e | |||
| d6650f9617 | |||
| c5607bda4e | |||
| 11af1f2111 | |||
| 7748f7c92d | |||
| 801fec3eaa | |||
| de324aad91 | |||
| 16ccb2ee46 | |||
| bd0d2a1f28 | |||
| 9abd53a8e8 | |||
| 1f12fc5e91 | |||
| 87fcc6c267 | |||
| e301459dfa | |||
| bf802f1c6f | |||
| 7ba4ca6923 | |||
| 53ed861e23 | |||
| 833f8aca2a | |||
| 9bcf45b7e2 | |||
| b2847677ed | |||
| 95845d5a6c | |||
| 286a3631be | |||
| 6506301049 | |||
| 422543f205 | |||
| 1eec160b74 | |||
| de23b62493 | |||
| 2b6299f2b0 | |||
| b495c972c4 | |||
| 7722dcc720 | |||
| c4d5add5f1 | |||
| 348e6436b8 | |||
| 92457ac680 | |||
| 9e53737635 | |||
| 0e0729166f | |||
| 15a1e8f150 | |||
| b443f1ce57 | |||
| 486a68d06b | |||
| 9b263c5501 | |||
| daf4910548 | |||
| 4f5bdfefe8 | |||
| c9f1387098 | |||
| 1f1d6d041a | |||
| 403a6e8b4a | |||
| 0a0c23c190 | |||
| d28cd798e9 | |||
| 3dedb7eefb | |||
| ae3295d3c9 | |||
| 4bac5f43db | |||
| 2e9a5dc8ea | |||
| 9ac4ea4e6e | |||
| 601faf5087 | |||
| 88e3df897e | |||
| f57a8cefda | |||
| d3fdac2b81 | |||
| 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
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
name: Build mod
|
||||||
|
|
||||||
|
on: [ push, pull_request, workflow_dispatch ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build mod
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Set up JDK 1.8
|
||||||
|
uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '8'
|
||||||
|
- name: Grant execute permission for gradlew
|
||||||
|
run: chmod +x gradlew
|
||||||
|
- name: Build with Gradle
|
||||||
|
run: ./gradlew -Pnet.minecraftforge.gradle.disableUpdateChecker=true build
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: appliedenergistics2
|
||||||
|
path: build/libs
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
name: 'Lock threads'
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '0 0 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lock:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: dessant/lock-threads@v2
|
|
||||||
with:
|
|
||||||
github-token: ${{ github.token }}
|
|
||||||
issue-lock-inactive-days: '180'
|
|
||||||
pr-lock-inactive-days: '180'
|
|
||||||
@@ -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,39 +0,0 @@
|
|||||||
name: 'Build PRs'
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches: [ master ]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up JDK 1.8
|
|
||||||
uses: actions/setup-java@v1
|
|
||||||
with:
|
|
||||||
java-version: 1.8
|
|
||||||
- name: Grant execute permission for gradlew
|
|
||||||
run: chmod +x gradlew
|
|
||||||
- name: Use gradle cache for faster builds
|
|
||||||
uses: actions/cache@v1
|
|
||||||
with:
|
|
||||||
path: ~/.gradle/caches
|
|
||||||
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
|
||||||
- name: Clean gradle
|
|
||||||
run: ./gradlew clean --no-daemon --max-workers 1
|
|
||||||
- name: Validate no assets
|
|
||||||
run: test ! -d ./src/generated
|
|
||||||
- name: Generate assets
|
|
||||||
run: ./gradlew runData --no-daemon --max-workers 1
|
|
||||||
- name: Validate assets
|
|
||||||
run: test -d ./src/generated -a -f ./src/generated/resources/.cache/cache
|
|
||||||
- name: Build with Gradle
|
|
||||||
env:
|
|
||||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
||||||
run: ./gradlew build --no-daemon --max-workers 1
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: dist
|
|
||||||
path: build/libs/
|
|
||||||
@@ -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
|
|
||||||
+2
-3
@@ -8,20 +8,19 @@
|
|||||||
!gradlew.bat
|
!gradlew.bat
|
||||||
!build.gradle
|
!build.gradle
|
||||||
!gradle.properties
|
!gradle.properties
|
||||||
|
!settings.gradle
|
||||||
!.travis.yml
|
!.travis.yml
|
||||||
|
|
||||||
# include markdowns
|
# include markdowns
|
||||||
!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,185 +1,34 @@
|
|||||||
[](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 [AE2-Omnifactory](https://github.com/PrototypeTrousers/Applied-Energistics-2/tree/AE2-Omnifactory) branch for commits and [Releases](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..
|
## RecipeStages
|
||||||
|
You need to add the following into a CraftTweaker script:
|
||||||
|
```
|
||||||
|
mods.recipestages.Recipes.setPackageStage("appeng", allStages);
|
||||||
|
```
|
||||||
|
|
||||||
## Contacts
|
The second argument allows you to customize which stages exactly you want to be craftable with AE2. Idk why would you like to restrict any, but you can.
|
||||||
|
|
||||||
* [Website](http://ae-mod.info/)
|
|
||||||
* [IRC #appliedenergistics on esper.net](http://webchat.esper.net/?channels=appliedenergistics&prompt=1)
|
|
||||||
* [GitHub](https://github.com/AppliedEnergistics/Applied-Energistics-2)
|
|
||||||
* [Discord](https://discord.gg/GygKjjm)
|
|
||||||
|
|
||||||
## License
|
## 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) 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
|
||||||
|
|
||||||
* Notch et al for Minecraft
|
* Notch et al for Minecraft
|
||||||
|
|||||||
+979
-176
File diff suppressed because it is too large
Load Diff
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>
|
||||||
+140
-28
@@ -1,36 +1,148 @@
|
|||||||
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
|
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Minecraft Versions #
|
# Versions #
|
||||||
#########################################################
|
#########################################################
|
||||||
minecraft_release=1.16
|
minecraft_version=1.12.2
|
||||||
minecraft_version=1.16.2
|
mcp_mappings=snapshot_20171003
|
||||||
mcp_mappings=20200723-1.16.1
|
forge_version=14.23.5.2847
|
||||||
forge_version=33.0.42
|
#########################################################
|
||||||
|
# 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.1.1.15
|
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
|
crafttweaker_version=4.1.20.684
|
||||||
|
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
|
mapping_channel=snapshot
|
||||||
|
mapping_version=20171003
|
||||||
#########################################################
|
# Run Configurations
|
||||||
# Gradle #
|
minecraft_username=Developer
|
||||||
#########################################################
|
extra_jvm_args=
|
||||||
# Various tasks like runData will fail when run as daemon
|
modName=Applied Energistics 2
|
||||||
org.gradle.daemon=false
|
# This is a case-sensitive string to identify your mod. Convention is to use lower case.
|
||||||
|
modId=appliedenergistics2
|
||||||
|
modGroup=appeng
|
||||||
|
# Version of your mod.
|
||||||
|
# This field can be left empty if you want your mod's version to be determined by the latest git tag instead.
|
||||||
|
modVersion=rv6-stable-7-extended_life-v0.55.21
|
||||||
|
# Whether to use the old jar naming structure (modid-mcversion-version) instead of the new version (modid-version)
|
||||||
|
includeMCVersionJar=false
|
||||||
|
# The name of your jar when you produce builds, not including any versioning info
|
||||||
|
modArchivesBaseName=appliedenergistics2
|
||||||
|
# Will update your build.gradle automatically whenever an update is available
|
||||||
|
autoUpdateBuildScript=false
|
||||||
|
minecraftVersion=1.12.2
|
||||||
|
# Select a username for testing your mod with breakpoints. You may leave this empty for a random username each time you
|
||||||
|
# restart Minecraft in development. Choose this dependent on your mod:
|
||||||
|
# Do you need consistent player progressing (for example Thaumcraft)? -> Select a name
|
||||||
|
# Do you need to test how your custom blocks interacts with a player that is not the owner? -> leave name empty
|
||||||
|
# Alternatively this can be set with the 'DEV_USERNAME' environment variable.
|
||||||
|
developmentEnvironmentUserName=Developer
|
||||||
|
# Enables using modern java syntax (up to version 17) via Jabel, while still targeting JVM 8.
|
||||||
|
# See https://github.com/bsideup/jabel for details on how this works.
|
||||||
|
# Using this requires that you use a Java 17 JDK for development.
|
||||||
|
enableModernJavaSyntax=true
|
||||||
|
# Generate a class with String fields for the mod id, name and version named with the fields below
|
||||||
|
generateGradleTokenClass=appeng.Tags
|
||||||
|
gradleTokenModId=
|
||||||
|
gradleTokenModName=
|
||||||
|
gradleTokenVersion=VERSION
|
||||||
|
# In case your mod provides an API for other mods to implement you may declare its package here. Otherwise, you can
|
||||||
|
# leave this property empty.
|
||||||
|
# Example value: apiPackage = api + modGroup = com.myname.mymodid -> com.myname.mymodid.api
|
||||||
|
apiPackage=api
|
||||||
|
# Specify the configuration file for Forge's access transformers here. It must be placed into /src/main/resources/
|
||||||
|
# There can be multiple files in a comma-separated list.
|
||||||
|
# Example value: mymodid_at.cfg,jei_at.cfg
|
||||||
|
accessTransformersFile=appliedenergistics2_at.cfg
|
||||||
|
# Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled!
|
||||||
|
usesMixins=false
|
||||||
|
# Specify the package that contains all of your Mixins. You may only place Mixins in this package or the build will fail!
|
||||||
|
mixinsPackage=
|
||||||
|
# Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin!
|
||||||
|
# Example value: coreModClass = asm.FMLPlugin + modGroup = com.myname.mymodid -> com.myname.mymodid.asm.FMLPlugin
|
||||||
|
coreModClass=core.AE2ELCore
|
||||||
|
# If your project is only a consolidation of mixins or a core mod and does NOT contain a 'normal' mod (meaning that
|
||||||
|
# there is no class annotated with @Mod) you want this to be true. When in doubt: leave it on false!
|
||||||
|
containsMixinsAndOrCoreModOnly=false
|
||||||
|
# Enables Mixins even if this mod doesn't use them, useful if one of the dependencies uses mixins.
|
||||||
|
forceEnableMixins=false
|
||||||
|
# Adds CurseMaven, Modrinth Maven, BlameJared maven, and some more well-known 1.12.2 repositories
|
||||||
|
includeWellKnownRepositories=true
|
||||||
|
# Adds JEI and TheOneProbe to your development environment. Adds them as 'implementation', meaning they will
|
||||||
|
# be available at compiletime and runtime for your mod (in-game and in-code).
|
||||||
|
# Overrides the above setting to be always true, as these repositories are needed to fetch the mods
|
||||||
|
includeCommonDevEnvMods=true
|
||||||
|
# If enabled, you may use 'shadowCompile' for dependencies. They will be integrated in your jar. It is your
|
||||||
|
# responsibility check the licence and request permission for distribution, if required.
|
||||||
|
usesShadowedDependencies=false
|
||||||
|
# If disabled, won't remove unused classes from shaded dependencies. Some libraries use reflection to access
|
||||||
|
# their own classes, making the minimization unreliable.
|
||||||
|
minimizeShadowedDependencies=true
|
||||||
|
# If disabled, won't rename the shadowed classes.
|
||||||
|
relocateShadowedDependencies=true
|
||||||
|
# Publishing to modrinth requires you to set the MODRINTH_API_KEY environment variable to your current modrinth API token.
|
||||||
|
# The project's ID on Modrinth. Can be either the slug or the ID.
|
||||||
|
# Leave this empty if you don't want to publish on Modrinth.
|
||||||
|
# Alternatively this can be set with the 'MODRINTH_PROJECT_ID' environment variable.
|
||||||
|
modrinthProjectId=
|
||||||
|
# The project's relations on Modrinth. You can use this to refer to other projects on Modrinth.
|
||||||
|
# Syntax: scope1-type1:name1;scope2-type2:name2;...
|
||||||
|
# Where scope can be one of [required, optional, incompatible, embedded],
|
||||||
|
# type can be one of [project, version],
|
||||||
|
# and the name is the Modrinth project or version slug/id of the other mod.
|
||||||
|
# Example: required-project:jei;optional-project:top;incompatible-project:gregtech
|
||||||
|
modrinthRelations=
|
||||||
|
# Publishing to CurseForge requires you to set the CURSEFORGE_API_KEY environment variable to one of your CurseForge API tokens.
|
||||||
|
# The project's numeric ID on CurseForge. You can find this in the About Project box.
|
||||||
|
# Leave this empty if you don't want to publish on CurseForge.
|
||||||
|
# Alternatively this can be set with the 'CURSEFORGE_PROJECT_ID' environment variable.
|
||||||
|
curseForgeProjectId=
|
||||||
|
# The project's relations on CurseForge. You can use this to refer to other projects on CurseForge.
|
||||||
|
# Syntax: type1:name1;type2:name2;...
|
||||||
|
# Where type can be one of [requiredDependency, embeddedLibrary, optionalDependency, tool, incompatible],
|
||||||
|
# and the name is the CurseForge project slug of the other mod.
|
||||||
|
# Example: requiredDependency:railcraft;embeddedLibrary:cofhlib;incompatible:buildcraft
|
||||||
|
curseForgeRelations=
|
||||||
|
# This project's release type on CurseForge and/or Modrinth
|
||||||
|
# Allowed types: release, beta, alpha
|
||||||
|
releaseType=beta
|
||||||
|
# Generate a default changelog for releases. Requires git to be installed, as it uses it to generate a changelog of
|
||||||
|
# commits since the last tagged release.
|
||||||
|
generateDefaultChangelog=false
|
||||||
|
# Prevent the source code from being published
|
||||||
|
noPublishedSources=false
|
||||||
|
# Enable spotless checks
|
||||||
|
# Enforces code formatting on your source code
|
||||||
|
# By default this will use the files found here: https://github.com/GregTechCEu/Buildscripts/tree/master/spotless
|
||||||
|
# to format your code. However, you can create your own version of these files and place them in your project's
|
||||||
|
# root directory to apply your own formatting options instead.
|
||||||
|
enableSpotless=false
|
||||||
|
# Enable JUnit testing platform used for testing your code.
|
||||||
|
# Uses JUnit 5. See guide and documentation here: https://junit.org/junit5/docs/current/user-guide/
|
||||||
|
enableJUnit=true
|
||||||
|
# Deployment debug setting
|
||||||
|
# Uncomment this to test deployments to CurseForge and Modrinth
|
||||||
|
# Alternatively, you can set the 'DEPLOYMENT_DEBUG' environment variable.
|
||||||
|
deploymentDebug=false
|
||||||
|
# Gradle Settings
|
||||||
|
# Effectively applies the '--stacktrace' flag by default
|
||||||
|
org.gradle.logging.stacktrace=all
|
||||||
|
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
|
||||||
|
# This is required to provide enough memory for the Minecraft decompilation process.
|
||||||
|
org.gradle.jvmargs=-Xmx3G
|
||||||
@@ -1,81 +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>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
processResources {
|
|
||||||
exclude '.cache'
|
|
||||||
}
|
|
||||||
|
|
||||||
jar {
|
|
||||||
finalizedBy 'reobfJar'
|
|
||||||
finalizedBy 'signJar'
|
|
||||||
|
|
||||||
from sourceSets.main.output.classesDirs
|
|
||||||
from sourceSets.api.output.classesDirs
|
|
||||||
from sourceSets.main.output.resourcesDir
|
|
||||||
from sourceSets.api.output.resourcesDir
|
|
||||||
|
|
||||||
manifest {
|
|
||||||
attributes([
|
|
||||||
"Specification-Title": "Applied Energistics 2",
|
|
||||||
"Specification-Vendor": "TeamAppliedEnergistics",
|
|
||||||
"Specification-Version": "${project.version}",
|
|
||||||
"Implementation-Title": "${project.name}",
|
|
||||||
"Implementation-Version": "${project.version}",
|
|
||||||
"Implementation-Vendor" :"TeamAppliedEnergistics",
|
|
||||||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
|
|
||||||
])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task javadocs(type: Javadoc) {
|
|
||||||
classpath = sourceSets.main.compileClasspath
|
|
||||||
source = sourceSets.api.java
|
|
||||||
include "appeng/api/**"
|
|
||||||
|
|
||||||
options.addStringOption('Xdoclint:none', '-quiet')
|
|
||||||
options.encoding = 'UTF-8'
|
|
||||||
options.charSet = 'UTF-8'
|
|
||||||
}
|
|
||||||
|
|
||||||
task javadocJar(type: Jar, dependsOn: javadocs) {
|
|
||||||
classifier = "javadoc"
|
|
||||||
from javadoc.destinationDir
|
|
||||||
}
|
|
||||||
|
|
||||||
task sourcesJar(type: Jar) {
|
|
||||||
classifier = "sources"
|
|
||||||
from sourceSets.main.allJava
|
|
||||||
from sourceSets.api.allJava
|
|
||||||
}
|
|
||||||
|
|
||||||
task apiJar(type: Jar) {
|
|
||||||
classifier = "api"
|
|
||||||
from sourceSets.api.output
|
|
||||||
include "appeng/api/**"
|
|
||||||
|
|
||||||
// TODO: when FG bug is fixed, remove allJava from the api jar.
|
|
||||||
// https://github.com/MinecraftForge/ForgeGradle/issues/369
|
|
||||||
// Gradle should be able to pull them from the -sources jar.
|
|
||||||
from sourceSets.api.allJava
|
|
||||||
}
|
|
||||||
|
|
||||||
artifacts {
|
|
||||||
archives javadocJar
|
|
||||||
archives sourcesJar
|
|
||||||
archives apiJar
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of Applied Energistics 2.
|
|
||||||
* Copyright (c) 2020, TeamAppliedEnergistics, All rights reserved.
|
|
||||||
*
|
|
||||||
* Applied Energistics 2 is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* Applied Energistics 2 is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
*g GNU Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
def isAlpha = project.version.contains("alpha")
|
|
||||||
def isBeta = project.version.contains("beta")
|
|
||||||
|
|
||||||
def cfReleaseType = "release"
|
|
||||||
if (isAlpha) {
|
|
||||||
cfReleaseType = "alpha"
|
|
||||||
} else if (isBeta) {
|
|
||||||
cfReleaseType = "beta"
|
|
||||||
}
|
|
||||||
|
|
||||||
if (System.getenv("CURSEFORGE")) {
|
|
||||||
curseforge {
|
|
||||||
apiKey = System.getenv("CURSEFORGE")
|
|
||||||
project {
|
|
||||||
id = project.curseforge_project
|
|
||||||
changelogType = "markdown"
|
|
||||||
changelog = System.getenv("CHANGELOG") ?: "Please visit our [releases](https://github.com/AppliedEnergistics/Applied-Energistics-2/releases) for a changelog"
|
|
||||||
releaseType = cfReleaseType
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -19,24 +19,102 @@
|
|||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
|
|
||||||
maven { // modmaven, maven proxy
|
maven {
|
||||||
name 'modmaven'
|
url "https://cursemaven.com"
|
||||||
url "https://modmaven.k-4u.nl/"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "CurseForge"
|
||||||
|
url = "https://minecraft.curseforge.com/api/maven/"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name "Mobius"
|
||||||
|
url "http://mobiusstrip.eu/maven"
|
||||||
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
name = "JEI repo"
|
||||||
|
url "http://dvs1.progwml6.com/files/maven"
|
||||||
|
}
|
||||||
|
|
||||||
|
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/"
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
configurations {
|
||||||
|
mods
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
// deobfCompile "gregtechce:gregtech:1.12.2:1.15.1.735"
|
||||||
|
// installable runtime dependencies
|
||||||
|
implementation rfg.deobf("curse.maven:gregtechceu-557242:4429261")
|
||||||
|
|
||||||
|
compileOnly "curse.maven:chisel-235279:2915375"
|
||||||
|
|
||||||
|
implementation rfg.deobf("curse.maven:baubles-227083:2518667")
|
||||||
|
//mods "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
||||||
|
mods "curse.maven:hwyla-253449:2568751"
|
||||||
|
mods "net.industrial-craft:industrialcraft-2:${ic2_version}:dev"
|
||||||
|
mods "mcjty.theoneprobe:TheOneProbe-${minecraft_version}:${top_version}"
|
||||||
|
|
||||||
// compile against provided APIs
|
// compile against provided APIs
|
||||||
compileOnly "mezz.jei:jei-${jei_minecraft_version}:${jei_version}:api"
|
compileOnly "mezz.jei:jei_${minecraft_version}:${jei_version}:api"
|
||||||
compileOnly "mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}:api"
|
//compileOnly "mcp.mobius.waila:Hwyla:${hwyla_version}"
|
||||||
|
compileOnly "curse.maven:hwyla-253449:2568751"
|
||||||
|
//Code chicken lib, GTCE dependency
|
||||||
|
implementation rfg.deobf("curse.maven:CCL-242818:2779848")
|
||||||
|
|
||||||
// Runtime, Mods
|
compileOnly "curse.maven:recipe-stages-280554:3405072"
|
||||||
runtimeOnly fg.deobf("mezz.jei:jei-${jei_minecraft_version}:${jei_version}")
|
compileOnly "curse.maven:item-stages-280316:2696769"
|
||||||
runtimeOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-${minecraft_release}:${minecraft_release}-${top_version}")
|
compileOnly "curse.maven:game-stages-268655:2951844"
|
||||||
//runtimeOnly fg.deobf("team.chisel.ctm:CTM:${ctm_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 "curse.maven:CoFHCore-69162:2920433"
|
||||||
|
compileOnly "CraftTweaker2:CraftTweaker2-API:${crafttweaker_version}"
|
||||||
|
compileOnly "curse.maven:inventory-tweaks-223094:2482482"
|
||||||
|
compileOnly "curse.maven:inventory-bogo-sorter-632327:4399738"
|
||||||
|
compileOnly "team.chisel.ctm:CTM:${ctm_version}"
|
||||||
|
compileOnly "de.ellpeck.actuallyadditions:ActuallyAdditions:1.12.2-r152.16:api"
|
||||||
|
implementation rfg.deobf("net.sengir.forestry:forestry_${minecraft_version}:$forestry_version")
|
||||||
|
|
||||||
|
// at runtime, use the full JEI jar
|
||||||
|
runtimeOnly "mezz.jei:jei_${minecraft_version}:${jei_version}"
|
||||||
|
|
||||||
// unit test dependencies
|
// unit test dependencies
|
||||||
testCompile "junit:junit:4.13"
|
testImplementation "junit:junit:4.12"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
* 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>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// HWYLA
|
||||||
|
tasks.register('installHwyla', Copy) {
|
||||||
|
dependsOn "deinstallHwyla"
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*Hwyla*.jar"
|
||||||
|
into file("/run/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.register('deinstallHwyla', Delete) {
|
||||||
|
delete fileTree(dir: "/run/mods", include: "*Hwyla*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// IC2
|
||||||
|
tasks.register('installIC2', Copy) {
|
||||||
|
dependsOn "deinstallIC2"
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*industrialcraft-2*.jar"
|
||||||
|
into file("/run/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.register('deinstallIC2', Delete) {
|
||||||
|
delete fileTree(dir: "/run/mods", include: "*industrialcraft-2*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
// TOP
|
||||||
|
tasks.register('installTop', Copy) {
|
||||||
|
dependsOn["deinstallTop"]
|
||||||
|
from { configurations.mods }
|
||||||
|
include "**/*TheOneProbe*.jar"
|
||||||
|
into file("/run/mods")
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.register('deinstallTop', Delete) {
|
||||||
|
delete fileTree(dir: "/run/mods", include: "*TheOneProbe*.jar")
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* This file is part of Applied Energistics 2.
|
|
||||||
* Copyright (c) 2013 - 2020, AlgorithmX2, All rights reserved.
|
|
||||||
*
|
|
||||||
* Applied Energistics 2 is free software: you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* Applied Energistics 2 is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
*g GNU Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with Applied Energistics 2. If not, see <http://www.gnu.org/licenses/lgpl>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
spotless {
|
|
||||||
java {
|
|
||||||
target 'src/*/java/appeng/**/*.java'
|
|
||||||
|
|
||||||
indentWithSpaces()
|
|
||||||
eclipse().configFile 'codeformat/codeformat.xml'
|
|
||||||
importOrderFile 'codeformat/ae2.importorder'
|
|
||||||
}
|
|
||||||
format 'json', {
|
|
||||||
target 'src/*/resources/**/*.json'
|
|
||||||
targetExclude 'src/generated/resources/**'
|
|
||||||
prettier().config(['parser': 'json'])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Vendored
BIN
Binary file not shown.
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
|
||||||
|
networkTimeout=10000
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
@@ -1,78 +1,129 @@
|
|||||||
#!/usr/bin/env sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright © 2015-2021 the original authors.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
##
|
#
|
||||||
## Gradle start up script for UN*X
|
# Gradle start up script for POSIX generated by Gradle.
|
||||||
##
|
#
|
||||||
|
# Important for running:
|
||||||
|
#
|
||||||
|
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||||
|
# noncompliant, but you have some other compliant shell such as ksh or
|
||||||
|
# bash, then to run this script, type that shell name before the whole
|
||||||
|
# command line, like:
|
||||||
|
#
|
||||||
|
# ksh Gradle
|
||||||
|
#
|
||||||
|
# Busybox and similar reduced shells will NOT work, because this script
|
||||||
|
# requires all of these POSIX shell features:
|
||||||
|
# * functions;
|
||||||
|
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||||
|
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||||
|
# * compound commands having a testable exit status, especially «case»;
|
||||||
|
# * various built-in commands including «command», «set», and «ulimit».
|
||||||
|
#
|
||||||
|
# Important for patching:
|
||||||
|
#
|
||||||
|
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||||
|
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||||
|
#
|
||||||
|
# The "traditional" practice of packing multiple parameters into a
|
||||||
|
# space-separated string is a well documented source of bugs and security
|
||||||
|
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||||
|
# options in "$@", and eventually passing that to Java.
|
||||||
|
#
|
||||||
|
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||||
|
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||||
|
# see the in-line comments for details.
|
||||||
|
#
|
||||||
|
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||||
|
# Darwin, MinGW, and NonStop.
|
||||||
|
#
|
||||||
|
# (3) This script is generated from the Groovy template
|
||||||
|
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||||
|
# within the Gradle project.
|
||||||
|
#
|
||||||
|
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||||
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# Attempt to set APP_HOME
|
# Attempt to set APP_HOME
|
||||||
# Resolve links: $0 may be a link
|
|
||||||
PRG="$0"
|
|
||||||
# Need this for relative symlinks.
|
|
||||||
while [ -h "$PRG" ] ; do
|
|
||||||
ls=`ls -ld "$PRG"`
|
|
||||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
||||||
if expr "$link" : '/.*' > /dev/null; then
|
|
||||||
PRG="$link"
|
|
||||||
else
|
|
||||||
PRG=`dirname "$PRG"`"/$link"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
SAVED="`pwd`"
|
|
||||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
|
||||||
APP_HOME="`pwd -P`"
|
|
||||||
cd "$SAVED" >/dev/null
|
|
||||||
|
|
||||||
APP_NAME="Gradle"
|
# Resolve links: $0 may be a link
|
||||||
APP_BASE_NAME=`basename "$0"`
|
app_path=$0
|
||||||
|
|
||||||
|
# Need this for daisy-chained symlinks.
|
||||||
|
while
|
||||||
|
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||||
|
[ -h "$app_path" ]
|
||||||
|
do
|
||||||
|
ls=$( ls -ld "$app_path" )
|
||||||
|
link=${ls#*' -> '}
|
||||||
|
case $link in #(
|
||||||
|
/*) app_path=$link ;; #(
|
||||||
|
*) app_path=$APP_HOME$link ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# This is normally unused
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
APP_BASE_NAME=${0##*/}
|
||||||
|
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||||
|
|
||||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
DEFAULT_JVM_OPTS=""
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
|
|
||||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
MAX_FD="maximum"
|
MAX_FD=maximum
|
||||||
|
|
||||||
warn () {
|
warn () {
|
||||||
echo "$*"
|
echo "$*"
|
||||||
}
|
} >&2
|
||||||
|
|
||||||
die () {
|
die () {
|
||||||
echo
|
echo
|
||||||
echo "$*"
|
echo "$*"
|
||||||
echo
|
echo
|
||||||
exit 1
|
exit 1
|
||||||
}
|
} >&2
|
||||||
|
|
||||||
# OS specific support (must be 'true' or 'false').
|
# OS specific support (must be 'true' or 'false').
|
||||||
cygwin=false
|
cygwin=false
|
||||||
msys=false
|
msys=false
|
||||||
darwin=false
|
darwin=false
|
||||||
nonstop=false
|
nonstop=false
|
||||||
case "`uname`" in
|
case "$( uname )" in #(
|
||||||
CYGWIN* )
|
CYGWIN* ) cygwin=true ;; #(
|
||||||
cygwin=true
|
Darwin* ) darwin=true ;; #(
|
||||||
;;
|
MSYS* | MINGW* ) msys=true ;; #(
|
||||||
Darwin* )
|
NONSTOP* ) nonstop=true ;;
|
||||||
darwin=true
|
|
||||||
;;
|
|
||||||
MINGW* )
|
|
||||||
msys=true
|
|
||||||
;;
|
|
||||||
NONSTOP* )
|
|
||||||
nonstop=true
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||||
|
|
||||||
|
|
||||||
# Determine the Java command to use to start the JVM.
|
# Determine the Java command to use to start the JVM.
|
||||||
if [ -n "$JAVA_HOME" ] ; then
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
# IBM's JDK on AIX uses strange locations for the executables
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||||
else
|
else
|
||||||
JAVACMD="$JAVA_HOME/bin/java"
|
JAVACMD=$JAVA_HOME/bin/java
|
||||||
fi
|
fi
|
||||||
if [ ! -x "$JAVACMD" ] ; then
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||||
@@ -81,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the
|
|||||||
location of your Java installation."
|
location of your Java installation."
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
JAVACMD="java"
|
JAVACMD=java
|
||||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
|
||||||
Please set the JAVA_HOME variable in your environment to match the
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
@@ -89,84 +140,105 @@ location of your Java installation."
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Increase the maximum file descriptors if we can.
|
# Increase the maximum file descriptors if we can.
|
||||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||||
MAX_FD_LIMIT=`ulimit -H -n`
|
case $MAX_FD in #(
|
||||||
if [ $? -eq 0 ] ; then
|
max*)
|
||||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||||
MAX_FD="$MAX_FD_LIMIT"
|
# shellcheck disable=SC3045
|
||||||
fi
|
MAX_FD=$( ulimit -H -n ) ||
|
||||||
ulimit -n $MAX_FD
|
warn "Could not query maximum file descriptor limit"
|
||||||
if [ $? -ne 0 ] ; then
|
esac
|
||||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
case $MAX_FD in #(
|
||||||
fi
|
'' | soft) :;; #(
|
||||||
else
|
*)
|
||||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||||
fi
|
# shellcheck disable=SC3045
|
||||||
fi
|
ulimit -n "$MAX_FD" ||
|
||||||
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||||
# For Darwin, add options to specify how the application appears in the dock
|
|
||||||
if $darwin; then
|
|
||||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
|
||||||
fi
|
|
||||||
|
|
||||||
# For Cygwin, switch paths to Windows format before running java
|
|
||||||
if $cygwin ; then
|
|
||||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
|
||||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
|
||||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
|
||||||
|
|
||||||
# We build the pattern for arguments to be converted via cygpath
|
|
||||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
|
||||||
SEP=""
|
|
||||||
for dir in $ROOTDIRSRAW ; do
|
|
||||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
|
||||||
SEP="|"
|
|
||||||
done
|
|
||||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
|
||||||
# Add a user-defined pattern to the cygpath arguments
|
|
||||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
|
||||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
|
||||||
fi
|
|
||||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
|
||||||
i=0
|
|
||||||
for arg in "$@" ; do
|
|
||||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
|
||||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
|
||||||
|
|
||||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
|
||||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
|
||||||
else
|
|
||||||
eval `echo args$i`="\"$arg\""
|
|
||||||
fi
|
|
||||||
i=$((i+1))
|
|
||||||
done
|
|
||||||
case $i in
|
|
||||||
(0) set -- ;;
|
|
||||||
(1) set -- "$args0" ;;
|
|
||||||
(2) set -- "$args0" "$args1" ;;
|
|
||||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
|
||||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
|
||||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
|
||||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
|
||||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
|
||||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
|
||||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Escape application args
|
# Collect all arguments for the java command, stacking in reverse order:
|
||||||
save () {
|
# * args from the command line
|
||||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
# * the main class name
|
||||||
echo " "
|
# * -classpath
|
||||||
}
|
# * -D...appname settings
|
||||||
APP_ARGS=$(save "$@")
|
# * --module-path (only if needed)
|
||||||
|
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||||
|
|
||||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
if "$cygwin" || "$msys" ; then
|
||||||
|
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||||
|
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
|
||||||
|
|
||||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
|
||||||
cd "$(dirname "$0")"
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||||
|
for arg do
|
||||||
|
if
|
||||||
|
case $arg in #(
|
||||||
|
-*) false ;; # don't mess with options #(
|
||||||
|
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||||
|
[ -e "$t" ] ;; #(
|
||||||
|
*) false ;;
|
||||||
|
esac
|
||||||
|
then
|
||||||
|
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||||
|
fi
|
||||||
|
# Roll the args list around exactly as many times as the number of
|
||||||
|
# args, so each arg winds up back in the position where it started, but
|
||||||
|
# possibly modified.
|
||||||
|
#
|
||||||
|
# NB: a `for` loop captures its iteration list before it begins, so
|
||||||
|
# changing the positional parameters here affects neither the number of
|
||||||
|
# iterations, nor the values presented in `arg`.
|
||||||
|
shift # remove old arg
|
||||||
|
set -- "$@" "$arg" # push replacement arg
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Collect all arguments for the java command;
|
||||||
|
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
||||||
|
# shell script including quotes and variable substitutions, so put them in
|
||||||
|
# double quotes to make sure that they get re-expanded; and
|
||||||
|
# * put everything else in single quotes, so that it's not re-expanded.
|
||||||
|
|
||||||
|
set -- \
|
||||||
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||||
|
-classpath "$CLASSPATH" \
|
||||||
|
org.gradle.wrapper.GradleWrapperMain \
|
||||||
|
"$@"
|
||||||
|
|
||||||
|
# Stop when "xargs" is not available.
|
||||||
|
if ! command -v xargs >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
die "xargs is not available"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use "xargs" to parse quoted args.
|
||||||
|
#
|
||||||
|
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||||
|
#
|
||||||
|
# In Bash we could simply go:
|
||||||
|
#
|
||||||
|
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||||
|
# set -- "${ARGS[@]}" "$@"
|
||||||
|
#
|
||||||
|
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||||
|
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||||
|
# character that might be a shell metacharacter, then use eval to reverse
|
||||||
|
# that process (while maintaining the separation between arguments), and wrap
|
||||||
|
# the whole thing up as a single "set" statement.
|
||||||
|
#
|
||||||
|
# This will of course break if any of these variables contains a newline or
|
||||||
|
# an unmatched quote.
|
||||||
|
#
|
||||||
|
|
||||||
|
eval "set -- $(
|
||||||
|
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||||
|
xargs -n1 |
|
||||||
|
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||||
|
tr '\n' ' '
|
||||||
|
)" '"$@"'
|
||||||
|
|
||||||
exec "$JAVACMD" "$@"
|
exec "$JAVACMD" "$@"
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
maven {
|
||||||
|
// RetroFuturaGradle
|
||||||
|
name 'GTNH Maven'
|
||||||
|
//noinspection HttpUrlsUsage
|
||||||
|
url 'http://jenkins.usrv.eu:8081/nexus/content/groups/public/'
|
||||||
|
allowInsecureProtocol = true
|
||||||
|
//noinspection GroovyAssignabilityCheck
|
||||||
|
mavenContent {
|
||||||
|
includeGroup 'com.gtnewhorizons'
|
||||||
|
includeGroup 'com.gtnewhorizons.retrofuturagradle'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gradlePluginPortal()
|
||||||
|
mavenCentral()
|
||||||
|
mavenLocal()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
// Automatic toolchain provisioning
|
||||||
|
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.4.0'
|
||||||
|
}
|
||||||
|
|
||||||
|
rootProject.name = rootProject.projectDir.getName()
|
||||||
@@ -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,52 +23,45 @@
|
|||||||
|
|
||||||
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 appeng.api.definitions.IItemDefinition;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.item.BlockItem;
|
|
||||||
import net.minecraft.item.Item;
|
|
||||||
import net.minecraft.util.IItemProvider;
|
|
||||||
import net.minecraft.util.text.ITextComponent;
|
|
||||||
import net.minecraft.util.text.TranslationTextComponent;
|
|
||||||
|
|
||||||
public enum Upgrades {
|
public enum Upgrades {
|
||||||
/**
|
/**
|
||||||
* Gold Tier Upgrades.
|
* Gold Tier Upgrades.
|
||||||
*/
|
*/
|
||||||
CAPACITY(0), REDSTONE(0), CRAFTING(0),
|
CAPACITY(0),
|
||||||
|
REDSTONE(0),
|
||||||
|
CRAFTING(0),
|
||||||
|
MAGNET(0),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Diamond Tier Upgrades.
|
* Diamond Tier Upgrades.
|
||||||
*/
|
*/
|
||||||
FUZZY(1), SPEED(1), INVERTER(1);
|
FUZZY(1),
|
||||||
|
SPEED(1),
|
||||||
|
INVERTER(1),
|
||||||
|
PATTERN_EXPANSION(1),
|
||||||
|
QUANTUM_LINK(1);
|
||||||
|
|
||||||
private final int tier;
|
private final int tier;
|
||||||
private final List<Supported> supported = new ArrayList<>();
|
private final Map<ItemStack, Integer> supportedMax = new HashMap<>();
|
||||||
private List<ITextComponent> supportedTooltipLines;
|
|
||||||
|
|
||||||
Upgrades(final int tier) {
|
Upgrades(final int tier) {
|
||||||
this.tier = tier;
|
this.tier = tier;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return list of Items/Blocks that support this upgrade, and how many it
|
* @return list of Items/Blocks that support this upgrade, and how many it supports.
|
||||||
* supports.
|
|
||||||
*/
|
*/
|
||||||
public List<Supported> getSupported() {
|
public Map<ItemStack, Integer> getSupported() {
|
||||||
return this.supported;
|
return this.supportedMax;
|
||||||
}
|
|
||||||
|
|
||||||
public void registerItem(final IItemProvider item, final int maxSupported) {
|
|
||||||
this.registerItem(item, maxSupported, null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -76,98 +69,24 @@ public enum Upgrades {
|
|||||||
*
|
*
|
||||||
* @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
|
|
||||||
* the items have different maxSupported values, the highest
|
|
||||||
* will be shown.
|
|
||||||
*/
|
*/
|
||||||
public void registerItem(final IItemProvider item, final int maxSupported, @Nullable String tooltipGroup) {
|
public void registerItem(final IItemDefinition item, final int maxSupported) {
|
||||||
Preconditions.checkNotNull(item);
|
item.maybeStack(1).ifPresent(is -> this.registerItem(is, maxSupported));
|
||||||
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) {
|
||||||
|
if (stack != null) {
|
||||||
for (int i = 0; i < supported.size(); i++) {
|
this.supportedMax.put(stack, maxSupported);
|
||||||
Supported supported = this.supported.get(i);
|
|
||||||
ITextComponent name = supported.item.getName();
|
|
||||||
|
|
||||||
// If the group was already added by a previous item, skip this
|
|
||||||
if (supported.getTooltipGroup() != null && namesAdded.contains(supported.getTooltipGroup())) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If any of the following items would be of the same group, use the group name
|
|
||||||
// instead
|
|
||||||
if (supported.getTooltipGroup() != null) {
|
|
||||||
for (int j = i + 1; j < this.supported.size(); j++) {
|
|
||||||
ITextComponent otherGroup = this.supported.get(j).getTooltipGroup();
|
|
||||||
if (supported.getTooltipGroup().equals(otherGroup)) {
|
|
||||||
name = supported.getTooltipGroup();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (namesAdded.add(name)) {
|
|
||||||
// append the supported count only if its > 1
|
|
||||||
if (supported.maxCount > 1) {
|
|
||||||
name = name.deepCopy().appendString(" (" + supported.maxCount + ")");
|
|
||||||
}
|
|
||||||
supportedTooltipLines.add(name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return supportedTooltipLines;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTier() {
|
public int getTier() {
|
||||||
return this.tier;
|
return this.tier;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Supported {
|
|
||||||
private final Item item;
|
|
||||||
private final Block block;
|
|
||||||
private final int maxCount;
|
|
||||||
// Translation key of the tooltip group
|
|
||||||
@Nullable
|
|
||||||
private final String tooltipGroup;
|
|
||||||
|
|
||||||
public Supported(Item item, int maxCount, @Nullable String tooltipGroup) {
|
|
||||||
this.item = item;
|
|
||||||
if (item.getItem() instanceof BlockItem) {
|
|
||||||
this.block = ((BlockItem) item.getItem()).getBlock();
|
|
||||||
} else {
|
|
||||||
this.block = null;
|
|
||||||
}
|
|
||||||
this.maxCount = maxCount;
|
|
||||||
this.tooltipGroup = tooltipGroup;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getMaxCount() {
|
|
||||||
return maxCount;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSupported(Block block) {
|
|
||||||
return block != null && this.block == block;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSupported(Item item) {
|
|
||||||
return item != null && this.item == item;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ITextComponent getTooltipGroup() {
|
|
||||||
return this.tooltipGroup != null ? new TranslationTextComponent(this.tooltipGroup) : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,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,100 @@
|
|||||||
|
|
||||||
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 wirelessCraftingTerminal();
|
||||||
|
|
||||||
IItemDefinition chargedStaff();
|
IItemDefinition wirelessPatternTerminal();
|
||||||
|
|
||||||
IItemDefinition massCannon();
|
IItemDefinition wirelessFluidTerminal();
|
||||||
|
|
||||||
IItemDefinition memoryCard();
|
IItemDefinition biometricCard();
|
||||||
|
|
||||||
IItemDefinition networkTool();
|
IItemDefinition chargedStaff();
|
||||||
|
|
||||||
IItemDefinition portableCell();
|
IItemDefinition massCannon();
|
||||||
|
|
||||||
IItemDefinition cellCreative();
|
IItemDefinition memoryCard();
|
||||||
|
|
||||||
IItemDefinition viewCell();
|
IItemDefinition networkTool();
|
||||||
|
|
||||||
IItemDefinition cell1k();
|
IItemDefinition portableCell();
|
||||||
|
|
||||||
IItemDefinition cell4k();
|
IItemDefinition cellCreative();
|
||||||
|
|
||||||
IItemDefinition cell16k();
|
IItemDefinition viewCell();
|
||||||
|
|
||||||
IItemDefinition cell64k();
|
IItemDefinition cell1k();
|
||||||
|
|
||||||
IItemDefinition fluidCell1k();
|
IItemDefinition cell4k();
|
||||||
|
|
||||||
IItemDefinition fluidCell4k();
|
IItemDefinition cell16k();
|
||||||
|
|
||||||
IItemDefinition fluidCell16k();
|
IItemDefinition cell64k();
|
||||||
|
|
||||||
IItemDefinition fluidCell64k();
|
IItemDefinition fluidCell1k();
|
||||||
|
|
||||||
IItemDefinition spatialCell2();
|
IItemDefinition fluidCell4k();
|
||||||
|
|
||||||
IItemDefinition spatialCell16();
|
IItemDefinition fluidCell16k();
|
||||||
|
|
||||||
IItemDefinition spatialCell128();
|
IItemDefinition fluidCell64k();
|
||||||
|
|
||||||
IItemDefinition facade();
|
IItemDefinition spatialCell2();
|
||||||
|
|
||||||
IItemDefinition certusCrystalSeed();
|
IItemDefinition spatialCell16();
|
||||||
|
|
||||||
IItemDefinition fluixCrystalSeed();
|
IItemDefinition spatialCell128();
|
||||||
|
|
||||||
IItemDefinition netherQuartzSeed();
|
IItemDefinition facade();
|
||||||
|
|
||||||
IItemDefinition dummyFluidItem();
|
IItemDefinition crystalSeed();
|
||||||
|
|
||||||
// rv1
|
// rv1
|
||||||
IItemDefinition encodedPattern();
|
IItemDefinition encodedPattern();
|
||||||
|
|
||||||
IItemDefinition colorApplicator();
|
IItemDefinition colorApplicator();
|
||||||
|
|
||||||
AEColoredItemDefinition coloredPaintBall();
|
AEColoredItemDefinition coloredPaintBall();
|
||||||
|
|
||||||
AEColoredItemDefinition coloredLumenPaintBall();
|
AEColoredItemDefinition coloredLumenPaintBall();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
package appeng.api.definitions;
|
package appeng.api.definitions;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of all materials in AE
|
* A list of all materials in AE
|
||||||
*/
|
*/
|
||||||
@@ -87,6 +88,12 @@ public interface IMaterials {
|
|||||||
|
|
||||||
IItemDefinition cardCapacity();
|
IItemDefinition cardCapacity();
|
||||||
|
|
||||||
|
IItemDefinition cardPatternExpansion();
|
||||||
|
|
||||||
|
IItemDefinition cardQuantumLink();
|
||||||
|
|
||||||
|
IItemDefinition cardMagnet();
|
||||||
|
|
||||||
IItemDefinition cardFuzzy();
|
IItemDefinition cardFuzzy();
|
||||||
|
|
||||||
IItemDefinition cardInverter();
|
IItemDefinition cardInverter();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user